:root{--bg: #ffffff;--text: #0f172a;--muted: #6b7280;--card-bg: #f8fafc;--surface: #ffffff;--border: #e5e7eb;--button-bg: #4f46e5;--button-text: #ffffff;--link: #2563eb;--ring: 60 100% 50%;--shadow: 0 1px 2px rgba(0,0,0,.06), 0 4px 10px rgba(0,0,0,.06);--shadow-lg: 0 10px 30px rgba(0,0,0,.1);--nav-bg: #ffffff;--nav-text: #0b1220;--muted-contrast: #334155;--accent: #2563eb;--accent-contrast: #ffffff;--accent-border: transparent;--focus-ring: #93c5fd;--focus-ring-width: 2px;--pw-eye: #0b1220}html[data-theme=dark]{--bg: #0b1220;--text: #e5e7eb;--muted: #9ca3af;--card-bg: #111827;--surface: #0f172a;--border: #1f2937;--button-bg: #6366f1;--button-text: #f9fafb;--link: #60a5fa;--ring: 214 95% 68%;--shadow: 0 1px 2px rgba(0,0,0,.35), 0 6px 14px rgba(0,0,0,.35);--shadow-lg: 0 20px 40px rgba(0,0,0,.45);--nav-bg: rgba(11,18,32,.94);--nav-text: #e5e7eb;--muted-contrast: #cbd5e1;--accent: #60a5fa;--accent-contrast: #0b1220;--accent-border: transparent;--focus-ring: #93c5fd;--focus-ring-width: 2px;--pw-eye: #cbd5e1;--tab-bg: transparent;--tab-text: var(--muted-contrast);--tab-border: var(--border);--tab-selected-bg: var(--accent);--tab-selected-text: var(--accent-contrast);--tab-selected-border: var(--accent-border)}html[data-theme=solarized]{--bg: #fdf6e3;--text: #073642;--muted: #657b83;--card-bg: #eee8d5;--surface: #fffdf5;--border: #e9e2c6;--button-bg: #b58900;--button-text: #fff;--link: #268bd2;--ring: 205 69% 45%;--shadow: 0 1px 2px rgba(7,54,66,.05), 0 6px 14px rgba(7,54,66,.08);--shadow-lg: 0 20px 40px rgba(7,54,66,.12);--nav-bg: #fdf6e3;--nav-text: #002b36;--muted-contrast: #425b67;--accent: #268bd2;--accent-contrast: #ffffff;--accent-border: transparent;--focus-ring: #268bd2;--focus-ring-width: 2px;--pw-eye: #002b36;--tab-bg: transparent;--tab-text: var(--muted-contrast);--tab-border: var(--border);--tab-selected-bg: var(--accent);--tab-selected-text: var(--accent-contrast);--tab-selected-border: var(--accent-border)}html[data-theme=high-contrast]{--bg: #000;--text: #fff;--muted: #cfcfcf;--card-bg: #0d0d0d;--surface: #000;--border: #2a2a2a;--button-bg: #ff0000;--button-text: #ffffff;--link: #00ffff;--ring: 180 100% 50%;--shadow: none;--shadow-lg: none;--nav-bg: #000;--nav-text: #fff;--muted-contrast: #d1d5db;--accent: #ffff00;--accent-contrast: #000000;--accent-border: #00ffff;--focus-ring: #00ffff;--focus-ring-width: 3px;--pw-eye: #faa89f;--tab-bg: transparent;--tab-text: var(--muted-contrast);--tab-border: #888;--tab-selected-bg: var(--accent);--tab-selected-text: var(--accent-contrast);--tab-selected-border: var(--accent-border)}@media (prefers-contrast: more){html[data-theme=dark]{--accent: #a7f3d0;--accent-contrast: #052e2b;--focus-ring: #22d3ee;--focus-ring-width: 3px}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.5;background:radial-gradient(1200px 800px at 20% -10%,rgba(99,102,241,.08),transparent 60%),radial-gradient(1000px 600px at 120% 10%,rgba(96,165,250,.08),transparent 60%),var(--bg);color:var(--text);transition:background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3{margin:0 0 .5rem;line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(1.4rem,1.2rem + 1vw,2rem)}h2{font-size:clamp(1.2rem,1.1rem + .6vw,1.5rem)}p{margin:.25rem 0 .75rem;color:var(--text)}.small{font-size:.875rem;color:var(--muted)}.container{width:min(1100px,92vw);margin:0 auto}.stack-8>*+*{margin-top:.5rem}.stack-12>*+*{margin-top:.75rem}.stack-16>*+*{margin-top:1rem}.card{background:linear-gradient(180deg,var(--surface),var(--card-bg));border:1px solid var(--border);border-radius:16px;padding:1.25rem;box-shadow:0 4px 6px #00000012,0 2px 4px #0000000d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 6px #00000012,0 2px 4px #0000000d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1)}button,.button,.button--ghost{background:var(--button-bg);color:var(--button-text);padding:.6rem 1rem;border:1px solid transparent;border-radius:12px;cursor:pointer;font-weight:600;letter-spacing:.01em;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;position:relative;overflow:hidden}button:before,.button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1)}button:hover,.button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #00000026,0 6px 6px #0000001a}button:hover:before,.button:hover:before{opacity:1}button:active,.button:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.button--secondary{background:linear-gradient(180deg,#6366f11f,#6366f10f);color:var(--text);border-color:var(--border)}.button--ghost{background:transparent;color:var(--text);border:1px solid var(--border)}button:focus-visible,.button:focus-visible{outline:none;box-shadow:0 0 0 3px hsla(var(--ring)/.35),0 0 0 6px hsla(var(--ring)/.22);text-decoration:none}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:none;box-shadow:0 0 0 3px hsla(var(--ring)/.35);border-radius:6px}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:.65rem .85rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;font-size:.95rem}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}input:hover,select:hover,textarea:hover{border-color:hsla(var(--ring)/.3)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:hsla(var(--ring)/.6);box-shadow:0 0 0 3px hsla(var(--ring)/.15),0 1px 2px #0000000d;transform:translateY(-1px)}.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.table thead th{text-align:left;font-size:.85rem;color:var(--muted);background:linear-gradient(180deg,rgba(0,0,0,.02),transparent);padding:.75rem .9rem;border-bottom:1px solid var(--border)}.table tbody td{padding:.75rem .9rem;border-bottom:1px solid var(--border)}.table tbody tr:hover{background:#6366f10f}.app-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(180deg,rgba(99,102,241,.08),transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(140%) blur(6px);backdrop-filter:saturate(140%) blur(6px);position:sticky;top:0;z-index:10}.tabs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);background:var(--surface)}.tabs button{background:transparent;color:var(--text);border:none;padding:.9rem .5rem;border-radius:0}.tabs button.active{box-shadow:inset 0 -3px hsla(var(--ring)/.65);font-weight:700}.bottom-tabs{background:var(--nav-bg);color:var(--nav-text);border-top:1px solid var(--border)}.bottom-tabs button,.bottom-tabs .tab-btn{color:var(--nav-text)!important;background:transparent!important;border:none!important;font-weight:800;letter-spacing:.01em;text-shadow:none;opacity:1}.bottom-tabs button[aria-pressed=true],.bottom-tabs .tab-btn[aria-pressed=true]{box-shadow:inset 0 -3px hsla(var(--ring)/.75)}.watchlist{margin:0;padding:0;list-style:none}.watchlist li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem;height:60px;padding:0 3.5rem 0 .75rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease,transform .06s ease,height .12s ease}.watchlist li>:first-child{min-width:0}.watchlist .name{font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}.watchlist .symbol{opacity:.75;font-weight:600;margin-left:.35rem;font-size:.8rem}.watchlist .meta{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watchlist.compact li{height:16px}.watchlist.compact .name{font-size:.78rem}.watchlist.compact .symbol{font-size:.7rem}.watchlist.compact .meta{font-size:.68rem}.watchlist li:hover{background:#6366f114}.watchlist li:active{transform:scale(.995)}.change-pos{color:#10b981;font-weight:700}.change-neg{color:#ef4444;font-weight:700}.watchlist li{position:relative}.watchlist .row-actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;gap:6px;opacity:0;transition:opacity .15s ease;pointer-events:none;z-index:20}.watchlist li:hover .row-actions{opacity:1;pointer-events:auto}.icon-btn{background:transparent;border:1px solid var(--border);border-radius:8px;padding:6px;cursor:pointer}.icon-btn:hover{background:#6366f114}.icon-btn.danger{border-color:#ef4444;color:#ef4444}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;z-index:50}.modal-backdrop--top{place-items:start center;padding-top:80px}.modal{width:min(520px,92vw);background:var(--surface);border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:14px}.sheet-backdrop{position:fixed;inset:0;background:#00000080;display:grid;place-items:end center}.sheet{width:100%;max-width:520px;background:var(--surface);border-top-left-radius:14px;border-top-right-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:14px}.avatar-btn{width:40px;height:40px;border-radius:999px;border:2px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--card-bg));color:var(--text);display:grid;place-items:center;font-weight:900;font-size:.95rem;cursor:pointer;box-shadow:var(--shadow);transition:transform .06s ease,box-shadow .2s ease,border-color .2s ease}.avatar-btn--xl{width:48px;height:48px;font-size:1.05rem}.avatar-btn:hover,.avatar-btn:focus-visible{outline:none;border-color:hsla(var(--ring)/.6);box-shadow:0 0 0 4px hsla(var(--ring)/.25),var(--shadow-lg);transform:translateY(-1px)}.avatar-btn--accent{background:linear-gradient(135deg,#6366f138,#60a5fa2e)}.dropdown{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:6px;position:absolute;z-index:2000}.dropdown .item{display:flex;align-items:center;gap:8px;padding:10px;border-radius:8px;color:var(--text);text-decoration:none;background:transparent;border:none;width:100%;text-align:left;cursor:pointer}.dropdown .item:hover{background:#6366f114}.dropdown .item.danger{color:#ef4444}.dropdown .sep{height:1px;background:var(--border);margin:6px 4px}.submenu{position:relative}.subtrigger{display:flex;align-items:center;gap:8px;padding:10px;border-radius:8px;width:100%;background:transparent;border:none;color:var(--text);cursor:pointer}.subtrigger:hover{background:#6366f114}.subcontent{position:absolute;left:calc(100% + 8px);top:0;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:6px}.dropdown .subcontent{display:none}.dropdown .submenu:hover .subcontent{display:block}.settings-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}@media (min-width: 960px){.settings-grid{grid-template-columns:1fr 1fr;gap:18px 18px}}.settings-card{padding:1rem;border-radius:14px;background:linear-gradient(180deg,var(--surface),var(--card-bg));border:1px solid var(--border);box-shadow:var(--shadow)}.settings-card h2{margin:0 0 .75rem;font-size:1.1rem}.settings-form{display:grid;gap:10px}.settings-inline{display:grid;grid-template-columns:1fr auto;gap:10px}.settings-row{display:grid;gap:8px}.settings-row label{font-weight:600;font-size:.92rem}.settings-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.form-error{color:#ef4444}.form-ok{color:#10b981}.chart-controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chart-controls-block{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:0 0 auto}.strategy-inline{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;flex:0 0 auto;min-width:0}.strategy-inline .segmented{flex:0 0 auto}.strategy-inline select{flex:0 0 auto;max-width:150px}.segmented{display:inline-flex;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--card-bg));box-shadow:var(--shadow)}.segmented .btn3d{border-radius:0;border:none}.btn3d{appearance:none;background:linear-gradient(180deg,var(--surface),var(--card-bg));color:var(--text);border:1px solid var(--border);padding:.5rem .9rem;font-weight:700;cursor:pointer;box-shadow:0 2px #00000026,inset 0 0 #0000;transition:transform .05s ease,box-shadow .15s ease,background .2s ease,border-color .2s ease}.btn3d:hover{transform:translateY(-1px);box-shadow:0 3px #0000002e,var(--shadow);border-color:hsla(var(--ring)/.4)}.btn3d:active,.btn3d.active,.btn3d.is-selected{transform:translateY(0);background:linear-gradient(180deg,#6366f11a,#6366f10a);box-shadow:inset 0 2px 6px #00000026;border-color:hsla(var(--ring)/.6)}.btn3d[aria-pressed=true]{transform:translateY(0);box-shadow:inset 0 2px 6px #00000026}.select3d{font-weight:700;border-radius:10px;box-shadow:0 2px #00000026}.select3d:hover{border-color:hsla(var(--ring)/.4)}.select3d.is-selected{background:linear-gradient(180deg,#6366f11a,#6366f10a);border-color:hsla(var(--ring)/.6);box-shadow:inset 0 1px 3px #0000001f}.loading-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,transparent,transparent);z-index:5}.spinner-wheel{width:42px;height:42px;border-radius:999px;border:4px solid rgba(100,116,139,.25);border-top-color:#6366f1e6;animation:spin .9s linear infinite;box-shadow:0 1px 4px #0000001f,inset 0 0 0 1px #ffffff0f}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#split-container>*{min-width:0}.chart-area{width:100%}.chart-tabs{background:linear-gradient(180deg,var(--surface),var(--card-bg));border:1px solid var(--border);border-radius:14px;margin:8px 12px;padding:8px;box-shadow:var(--shadow)}.chart-tabs .segmented{border-radius:999px;padding:3px;background:linear-gradient(180deg,var(--surface),var(--card-bg));border:1px solid var(--border);box-shadow:inset 0 0 0 1px #00000008}.chart-tabs .segmented .btn3d{border-radius:999px;padding:.45rem .9rem;border:none;background:transparent;box-shadow:none;transition:background .15s ease,color .15s ease,transform .05s ease}.chart-tabs .segmented .btn3d[aria-selected=true],.chart-tabs .segmented .btn3d.active{background:var(--tab-selected-bg, var(--accent));color:var(--tab-selected-text, var(--accent-contrast));border:1px solid var(--tab-selected-border, transparent);box-shadow:inset 0 2px 6px #0000001f}.chart-graph .panel,.chart-graph .card{border-image:linear-gradient(90deg,rgba(99,102,241,.45),transparent) 1}.chart-stats .panel{border-image:linear-gradient(90deg,rgba(16,185,129,.45),transparent) 1}.chart-desc .panel,.chart-desc .card{border-image:linear-gradient(90deg,rgba(96,165,250,.45),transparent) 1}.section-chip{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.02em;padding:.35rem .6rem;border-radius:999px;font-size:.8rem;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--card-bg));box-shadow:var(--shadow);margin:0 0 8px}.section-chip--graph{border-color:hsla(var(--ring)/.45)}.section-chip--stats{border-color:#10b98173}.section-chip--desc{border-color:#60a5fa73}.chart-stats .table thead th{background:linear-gradient(180deg,rgba(16,185,129,.08),transparent)}.chart-stats .table tbody tr:hover{background:#10b98114}.chart-desc .card{line-height:1.6;font-size:.95rem;background:linear-gradient(180deg,var(--surface),var(--card-bg));border:1px solid var(--border);box-shadow:var(--shadow)}.chart-graph .plot-wrap{border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--card-bg));box-shadow:var(--shadow);overflow:hidden}.chart-sticky-shadow{position:sticky;top:0;z-index:50}html[data-theme=dark] .chart-sticky-shadow{box-shadow:0 6px 20px #00000059}.compact-bar{padding:4px 8px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border)}.compact-bar select,.compact-bar button{margin:0}.segmented--sm{border-radius:10px}.segmented--sm .btn3d,.btn3d--sm,.select3d--sm{padding:.35rem .55rem;font-size:.85rem}.chart-toolbar.panel{padding:6px;margin-bottom:6px;gap:6px}.chart-toolbar .btn3d,.chart-toolbar .button--secondary{padding:.35rem .6rem;font-size:.85rem}.chart-tabs{margin:6px 8px;padding:6px;border-radius:12px}.plot-wrap{border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--card-bg));box-shadow:var(--shadow);overflow:visible;z-index:0;position:relative}.js-plotly-plot .modebar{z-index:20}.chart-graph .plot-wrap{border-image:linear-gradient(90deg,rgba(99,102,241,.45),transparent) 1}@media (max-width: 640px){.section-chip{display:none}}@media (max-width: 640px){.table thead th,.table tbody td{padding:.5rem .6rem}}.btn-pill{padding:.4rem .7rem;border-radius:.75rem;border:1px solid var(--tab-border, var(--border));background:var(--tab-bg, transparent);color:var(--tab-text, var(--muted-contrast));font-weight:600;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.btn-pill--lg{padding:.6rem 1rem;font-size:1rem;border-radius:999px;font-weight:700}.tab-wide{min-width:8.5rem;justify-content:center}.btn-pill[aria-selected=true],.btn-pill.is-selected{background:var(--tab-selected-bg, var(--accent));color:var(--tab-selected-text, var(--accent-contrast));border-color:var(--tab-selected-border, transparent);box-shadow:inset 0 2px 6px #0000001f}.btn-pill:hover{background:color-mix(in oklab,var(--tab-selected-bg, var(--accent)) 14%,transparent),var(--tab-bg, transparent)}.btn-pill:focus-visible{outline:none;box-shadow:0 0 0 var(--focus-ring-width, 2px) hsl(var(--ring) / .9)}html[data-theme=high-contrast] .btn-pill{border-width:2px}html[data-theme=high-contrast] .btn-pill[aria-selected=true]{text-decoration:underline;text-decoration-thickness:2px}.is-dragging .chart-area{pointer-events:none}.is-dragging .watchlist,.is-dragging .watchlist *{pointer-events:auto!important}.chart-graph .plot-wrap,.plot-wrap{overflow:visible!important;height:auto!important;min-height:0!important;max-height:none!important}.chart-graph,.chart-graph .plot-wrap>.js-plotly-plot{min-height:0;height:auto}.chart-area,.chart-graph,.plot-wrap,.js-plotly-plot{box-sizing:border-box;width:100%!important;max-width:100vw!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:visible!important}html,body,#root,.app-root{overflow-x:hidden!important;height:auto!important;min-height:100%!important;max-height:none!important}.chart-area,.chart-graph{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;align-items:stretch!important}.plot-wrap{overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;box-sizing:border-box;max-height:none!important}.js-plotly-plot{width:100%!important;min-height:0!important;height:auto!important;max-height:none!important}[class*=chart],.chart-tabs,.chart-toolbar,.chart-desc,.chart-stats{overflow:visible!important}html,body,#root{overflow-x:hidden!important;box-sizing:border-box!important}.chart-area,.chart-graph,.plot-wrap,.plot-wrap>.js-plotly-plot,.js-plotly-plot{width:100%!important;max-width:100vw!important;box-sizing:border-box!important;overflow-x:hidden!important}#split-container>*{min-width:0!important}.plot-wrap,.chart-area,.chart-graph{box-sizing:border-box;width:100%!important;max-width:100vw!important}.mobile-scrollbar{position:absolute;width:8px;border-radius:6px;background:#0000005c;transition:opacity .18s ease,background .18s ease;z-index:120;box-shadow:0 1px 4px #00000026}html[data-theme=dark] .mobile-scrollbar{background:#ffffff2e;box-shadow:0 1px 6px #0000005c}.plot-wrap[data-mobile="1"]>*:not(.mobile-scrollbar){padding-right:12px}html,body,#root,.app-root{overflow-x:hidden!important;box-sizing:border-box!important}.chart-area,.chart-graph,.plot-wrap,.plot-wrap>.js-plotly-plot,js-plotly-plot{box-sizing:border-box;width:100%!important;max-width:100vw!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:visible!important}.plot-wrap[style*=height],.chart-area[style*=height],.chart-graph[style*=height]{height:auto!important;overflow-y:visible!important;overflow-x:hidden!important}.plot-wrap[data-mobile="1"]{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative}.scroll-fade-top,.scroll-fade-bottom{pointer-events:none;position:absolute;left:0;right:0;height:28px;z-index:60;transition:opacity .16s ease}.scroll-fade-top{top:0;background:linear-gradient(to bottom,#0000001f,#0000)}.scroll-fade-bottom{bottom:0;background:linear-gradient(to top,#0000001f,#0000)}html[data-theme=dark] .scroll-fade-top,html[data-theme=dark] .scroll-fade-bottom{background:linear-gradient(to bottom,#ffffff0f,#fff0)}.mobile-scrollbar{position:absolute;width:12px;border-radius:8px;right:8px;background:#0000006b;box-shadow:0 2px 6px #0000002e;transition:opacity .16s ease,background .16s ease;z-index:140;pointer-events:none}html[data-theme=dark] .mobile-scrollbar{background:#ffffff38;box-shadow:0 2px 6px #0000005c}.plot-wrap[data-mobile="1"]>*:not(.mobile-scrollbar){padding-right:18px}*{box-sizing:border-box}.pw-eye{color:var(--pw-eye)}.pw-eye:hover{opacity:.9}.pw-eye svg{color:var(--pw-eye)}.pw-input::placeholder{color:var(--muted)}.pw-input:focus{border-color:var(--focus-ring, #93c5fd);box-shadow:0 0 0 var(--focus-ring-width, 2px) #93c5fd66}.settings-card,.settings-card *{pointer-events:auto!important}.dropdown,.modal,.sheet{-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:rgba(var(--surface-rgb, 255, 255, 255),.95);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #00000026}html[data-theme=dark] .dropdown,html[data-theme=dark] .modal,html[data-theme=dark] .sheet{background:#0f172af2;border:1px solid rgba(255,255,255,.08)}html[data-theme=high-contrast] .dropdown,html[data-theme=high-contrast] .modal,html[data-theme=high-contrast] .sheet{background:#000;-webkit-backdrop-filter:none;backdrop-filter:none;border:2px solid #fff}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1)}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px hsla(var(--ring)/.2),0 0 0 6px hsla(var(--ring)/.1),0 1px 2px #0000000d;text-decoration:none}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skeleton{background:linear-gradient(90deg,var(--card-bg) 0%,var(--surface) 50%,var(--card-bg) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.toast{position:fixed;bottom:24px;right:24px;max-width:420px;padding:16px 20px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 40px #00000026,0 4px 6px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:toast-slide-in .3s cubic-bezier(.4,0,.2,1);z-index:9999}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast.toast-success{border-left:4px solid #10b981}.toast.toast-error{border-left:4px solid #ef4444}.toast.toast-info{border-left:4px solid #3b82f6}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--card-bg);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6366f166,#60a5fa66);border-radius:10px;border:2px solid var(--card-bg)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#6366f199,#60a5fa99)}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6366f14d,#60a5fa4d)}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#6366f180,#60a5fa80)}.gradient-text{background:linear-gradient(135deg,#6366f1,#60a5fa,#34d399);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:gradient-shift 3s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.float-animation{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.table tbody tr{transition:all .2s cubic-bezier(.4,0,.2,1)}.table tbody tr:hover{background:#6366f114;transform:scale(1.01);box-shadow:0 2px 8px #0000000d}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600;background:linear-gradient(135deg,#6366f126,#60a5fa26);border:1px solid rgba(99,102,241,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.button-shine{position:relative;overflow:hidden}.button-shine:after{content:"";position:absolute;inset:-50%;background:linear-gradient(to bottom,#fff0,#ffffff1a,#fff0);transform:rotate(60deg) translate(-5em,7.5em)}.button-shine:hover:after{animation:shine .75s forwards}@keyframes shine{to{transform:rotate(60deg) translate(1em,-9em)}}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.card-grid>*{animation:fade-in-up .6s ease-out backwards}.card-grid>*:nth-child(1){animation-delay:.1s}.card-grid>*:nth-child(2){animation-delay:.2s}.card-grid>*:nth-child(3){animation-delay:.3s}.card-grid>*:nth-child(4){animation-delay:.4s}.card-grid>*:nth-child(5){animation-delay:.5s}.card-grid>*:nth-child(6){animation-delay:.6s}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.progress-bar{height:4px;background:var(--card-bg);border-radius:9999px;overflow:hidden;position:relative}.progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#6366f1,#60a5fa);transform:translate(-100%);animation:progress 1.5s ease-in-out infinite}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(100%)}}.spinner-modern{width:48px;height:48px;position:relative;animation:spinner-modern-rotate 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-modern:before,.spinner-modern:after{content:"";position:absolute;border-radius:50%;border:3px solid transparent}.spinner-modern:before{inset:0;border-top-color:#6366f1;border-right-color:#6366f1;animation:spinner-modern-dash 1.5s ease-in-out infinite}.spinner-modern:after{inset:8px;border-top-color:#60a5fa;border-right-color:#60a5fa;animation:spinner-modern-dash 1.5s ease-in-out infinite reverse}@keyframes spinner-modern-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner-modern-dash{0%{border-width:3px}50%{border-width:1px}to{border-width:3px}}html[data-theme=dark] .spinner-modern:before{border-top-color:#818cf8;border-right-color:#818cf8}html[data-theme=dark] .spinner-modern:after{border-top-color:#93c5fd;border-right-color:#93c5fd}.spinner-dots{display:flex;gap:8px;align-items:center}.spinner-dots:before,.spinner-dots:after{content:"";width:12px;height:12px;border-radius:50%;background:#6366f1;animation:spinner-dots-bounce 1.4s ease-in-out infinite}.spinner-dots:before{animation-delay:-.32s}.spinner-dots:after{animation-delay:.16s}@keyframes spinner-dots-bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}html[data-theme=dark] .spinner-dots:before,html[data-theme=dark] .spinner-dots:after{background:#818cf8}
