:root{--bg-base:#04060a;--bg-surface:#0a0e15;--bg-elevated:#10151f;--bg-hover:#161d2a;--bg-active:#1d2638;--bg-header:rgba(10,14,21,0.92);--bg-glass:rgba(16,21,31,0.65);--bg-glass-strong:rgba(16,21,31,0.85);--text-primary:#f2f5fa;--text-secondary:#c0cbde;--text-muted:#b0c4dd;--text-disabled:#8a9db5;--line-default:rgba(168,182,201,0.08);--line:var(--line-default);--line-faint:rgba(168,182,201,0.04);--line-strong:rgba(168,182,201,0.16);--line-accent:rgba(90,140,255,0.35);--line-glow:rgba(90,140,255,0.12);--accent:#5a8cff;--accent-2:#00d4ff;--accent-soft:rgba(90,140,255,0.12);--accent-glow:rgba(90,140,255,0.45);--accent-hover:#4174f0;--accent-gradient:#4f8df7;--up:#ff3b3b;--up-bright:#ff5757;--up-soft:rgba(255,59,59,0.10);--up-glow:rgba(255,59,59,0.40);--down:#00c853;--down-bright:#00e676;--down-soft:rgba(0,200,83,0.10);--down-glow:rgba(0,200,83,0.40);--flat:#6b7a8f;--warn:#f5a623;--warn-bright:#ffbd3d;--danger:#ff4757;--warn-soft:rgba(245,166,35,0.12);--warn-glow:rgba(245,166,35,0.35);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 2px 8px rgba(0,0,0,0.35);--shadow-md:0 4px 20px rgba(0,0,0,0.40);--shadow-lg:0 10px 40px rgba(0,0,0,0.50);--shadow-glow:0 0 24px rgba(90,140,255,0.12);--shadow-card:0 2px 12px rgba(0,0,0,0.30),0 0 1px rgba(168,182,201,0.08);--shadow-hover:0 8px 30px rgba(0,0,0,0.45),0 0 20px rgba(90,140,255,0.08);--bg-tooltip:rgba(15,20,28,0.96);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--font-mono:"SFMono-Regular","JetBrains Mono","Fira Code",Consolas,"Liberation Mono",Menlo,monospace;--sidebar-width:300px;--header-height:84px;--bottom-nav-height:84px;--ticker-height:50px;--ease-out:cubic-bezier(0.22, 1, 0.36, 1);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-smooth:cubic-bezier(0.4, 0, 0.2, 1);--bg-card:var(--bg-elevated);--border:var(--line-default);--text:var(--text-primary);--text-dim:var(--text-muted);--shadow-xl:0 20px 60px rgba(0,0,0,0.60);--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--text-xs:10px;--text-sm:11px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:23px;--text-3xl:31px;--z-base:0;--z-header:100;--z-dropdown:200;--z-sticky:300;--z-sidebar:400;--z-fab:900;--z-fab-panel:950;--z-modal-backdrop:1000;--z-modal:1100;--z-toast:2000;--z-tooltip:9000;--z-max:9999;--dur-fast:0.15s;--dur-normal:0.25s;--dur-slow:0.4s;color-scheme:dark
  --white: #ffffff;
  --black: #000000;
  --gold: #ffc107;
  --gold-soft: #fbbf24;
  --red-alert: #e74c3c;
  --blue-link: #58a6ff;
  --blue-light: #60a5fa;
  --blue-cyan: #4fd1ff;
  --wechat-green: #07c160;
  --orange: #ff6b35;
  --purple: #c084fc;
  --green-bright: #22d86e

--c-white:#ffffff;
--c-slate-300:#aab4c8;
--c-slate-400:#7889a0;
--c-slate-500:#8a95a5;
--c-slate-600:#5e6b80;
--c-surface-1:#0a0e15;
--c-surface-2:#1a2030;
--c-surface-3:#16203a;
--c-blue-300:#7fb0ff;
--c-blue-400:#60a5fa;
--c-blue-500:#5a8cff;
--c-blue-600:#4174f0;
--c-cyan-400:#00d4ff;
--c-gray-700:#2a3346;
--c-gray-800:#1a2030;
}*,::after,::before{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;height:100%;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility;font-feature-settings:'tnum' 1}html{scroll-behavior:smooth}body::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:#0e1422,#0e1422,#0e1422}body::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:#0e1422,#0e1422;}button,input,select,textarea{font:inherit;color:inherit;border:none;outline:0;background:0 0}button{cursor:pointer}a{color:var(--accent);transition:color var(--dur-fast) var(--ease-smooth);text-decoration:none}a:hover{color:var(--accent-2);text-decoration:underline;text-decoration-color:rgba(90,140,255,0.40);text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.autocomplete-item.active:focus-visible,.bottom-nav-item:focus-visible,.btn-tab:focus-visible,.nav-item:focus-visible,.rs-index-item:focus-visible,.rs-watch-item:focus-visible,.search-result:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s;animation-iteration-count:1;transition-duration:0s;scroll-behavior:auto}body::after{animation:none}}.autocomplete-item,.bottom-nav-item,.btn-tab,.card,.nav-item,.panel,.rs-index-item,.rs-watch-item,.search-result,.ticker-item,.toast,button{transition:background var(--dur-fast) var(--ease-smooth),color var(--dur-fast) var(--ease-smooth),border-color var(--dur-fast) var(--ease-smooth),transform var(--dur-fast) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth)}.glass,.glass-strong{}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:rgba(168,182,201,.06);border-radius:5px}::-webkit-scrollbar-thumb{background:rgba(168,182,201,.35);border-radius:5px;border:2px solid transparent;background-clip:padding-box;transition:background .15s}::-webkit-scrollbar-thumb:hover{background:rgba(168,182,201,.55);background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:auto;scrollbar-color:rgba(168,182,201,0.35) rgba(168,182,201,0.06)}::selection{background:rgba(90,140,255,.25);color:var(--text-primary)}::-moz-selection{background:rgba(90,140,255,.25);color:var(--text-primary)}.icon{width:25px;height:25px;display:inline-block;vertical-align:middle;color:currentColor;flex-shrink:0}.icon-sm{width:19.5px;height:19.5px}.icon-lg{width:31px;height:31px}.icon-nav{width:28px;height:28px}.app{display:flex;width:100%;height:100%;overflow:hidden}.sidebar{width:var(--sidebar-width);height:100%;background:#0e1422;border-right:1px solid var(--line-strong);display:flex;flex-direction:column;flex-shrink:0;z-index:100;saturate(1.3);saturate(1.3);position:relative;transition:width .25s cubic-bezier(.4,0,.2,1)}.sidebar::after{content:'';position:absolute;right:0;top:0;bottom:0;width:1px;background:#0e1422;pointer-events:none}.ticker{height:var(--ticker-height);background:#0e1422;border-bottom:1px solid var(--line-strong);display:flex;align-items:center;overflow:hidden;padding:0;gap:0;font-size:15px;color:var(--text-secondary);position:relative}.ticker::before{content:'';position:absolute;left:0;top:0;bottom:0;width:40px;background:#0e1422;pointer-events:none;z-index:2}.ticker::after{content:'';position:absolute;right:0;top:0;bottom:0;width:40px;background:#0e1422;pointer-events:none;z-index:2}.ticker::-webkit-scrollbar{display:none}.ticker-track{display:flex;align-items:center;gap:24px;white-space:nowrap;padding:0 16px;flex-shrink:0;animation:none;will-change:auto}.ticker-track:hover{animation:none}@keyframes ticker-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.ticker-item{display:inline-flex;align-items:center;gap:8px;padding:0 18px;border-right:1px solid var(--line-faint)}.ticker-name{color:var(--text-muted);font-weight:500}.ticker-value{color:var(--text-primary);font-family:var(--font-mono)}.ticker-change.up{color:var(--up)}.ticker-change.down{color:var(--down)}.header{height:var(--header-height);background:var(--bg-header);border-bottom:1px solid var(--line-strong);display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0;saturate(1.3);saturate(1.3);position:relative}.header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:#0e1422}.header-left,.header-right{display:flex;align-items:center;gap:14px}.header-status{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--text-muted);padding:5px 10px;border:1px solid var(--line-default);border-radius:20px;background:var(--bg-elevated)}.header-status .dot{width:6px;height:6px;border-radius:50%;background:var(--down);animation:none;box-shadow:none !important;}.header-status.live .dot{background:var(--up);box-shadow:none !important;}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}.search-box{position:relative;width:260px}.search-box input{width:100%;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:8px 12px 8px 36px;font-size:15px;color:var(--text-primary);transition:border-color .2s,box-shadow .2s,background .2s}.search-box input:hover{background:var(--bg-hover)}.search-box input:focus{border-color:var(--accent);box-shadow:none !important;background:var(--bg-hover)}.search-box input::placeholder{color:var(--text-muted)}.search-box .icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-result:hover{background:var(--bg-hover)}.search-result-empty{color:var(--text-secondary)}.content{flex:1;min-height:0;overflow:hidden;position:relative;display:flex;flex-direction:column;scroll-behavior:smooth}.tab-content{display:none;flex:1;min-width:0;width:100%;-webkit-overflow-scrolling:touch}.tab-content.active{display:block}.tab-content>.panel:first-child{margin-top:0}.bottom-nav{display:none;height:var(--bottom-nav-height);background:var(--bg-header);border-top:1px solid var(--line-default);position:fixed;bottom:0;left:0;right:0;z-index:120;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav-inner{display:flex;justify-content:space-around;align-items:center;height:100%}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:15px;color:var(--text-muted);height:100%}.bottom-nav-item .icon{width:31px;height:31px}.sidebar.collapsed{width:60px}.sidebar.collapsed .sidebar-header{padding:16px 14px}.sidebar.collapsed .nav-item{justify-content:center;margin:0 8px;padding:11px 0}.sidebar.collapsed .nav-item .icon{margin:0 auto}.sidebar.collapsed .nav-item::after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:var(--bg-tooltip);color:var(--text-primary);padding:4px 10px;border-radius:4px;font-size:15px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:200;margin-left:8px;box-shadow:none !important;}.sidebar.collapsed .nav-item:hover::after{opacity:1}.sidebar.collapsed .sidebar-user{justify-content:center}.sidebar.collapsed .sidebar.collapsed .market-status{justify-content:center;padding:8px 0}.sidebar.collapsed .market-status-dot{margin:0}.sidebar-header{padding:14px 16px 14px 18px;border-bottom:1px solid var(--line-default);display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:96px}.sidebar-collapse-btn{height:32px;transition:opacity .15s,transform .25s}.sidebar.collapsed .sidebar-collapse-btn{height:32px;transform:rotate(180deg)}.market-status{display:flex;align-items:center;color:var(--text-muted);border-bottom:1px solid var(--line-faint);background:#0e1422;position:relative}.market-status::after{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:0 0;transition:background .3s}.market-status.open::after{background:var(--up);box-shadow:none !important;}.market-status.lunch::after{background:var(--warn);box-shadow:none !important;}.market-status.closed::after{background:var(--text-muted)}.market-status-dot{flex-shrink:0;background:var(--text-muted);transition:background .3s}.market-status-dot.open{background:var(--up);box-shadow:none !important;}.market-status-dot.closed{background:var(--text-muted)}.market-status-dot.lunch{background:var(--warn);box-shadow:none !important;}@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.4}}.market-status-meta{display:flex;align-items:center;font-family:var(--font-mono);font-size:15px;opacity:.7}.market-status-date{color:var(--text-muted);font-weight:500}.sidebar-nav{flex:1 1 0;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:rgba(255,255,255,0.55) rgba(255,255,255,0.08)}.sidebar-nav::-webkit-scrollbar{width:14px;background:rgba(255,255,255,.06)}.sidebar-nav::-webkit-scrollbar-track{margin:0;border-left:1px solid rgba(255,255,255,.04)}.sidebar-nav::-webkit-scrollbar-thumb{background-clip:padding-box;box-shadow:none !important;transition:background .2s,box-shadow .2s}.sidebar-nav::-webkit-scrollbar-thumb:hover{box-shadow:none !important;}.sidebar-nav:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.7)}.tab-content::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:7px;margin:0}.tab-content::-webkit-scrollbar-thumb{min-height:56px;box-shadow:none !important;transition:background .2s}.tab-content::-webkit-scrollbar-thumb:hover{box-shadow:none !important;}.tab-content{scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:rgba(255,255,255,0.45) rgba(255,255,255,0.08);animation:viewFadeIn .35s var(--ease-out)}.sidebar-section{margin-bottom:4px}.sidebar-section-title{padding:11px 18px 6px;font-size:15px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:700;cursor:pointer;user-select:none;display:flex;align-items:center;gap:5px;transition:color .15s;position:relative}.sidebar-section-title::before{content:'';position:absolute;left:16px;right:16px;bottom:0;height:1px;background:var(--line-faint)}.sidebar-section-title:hover{color:var(--text-secondary)}.sidebar-section-arrow{opacity:.45}.sidebar-section-title:hover .sidebar-section-arrow{opacity:.75}.sidebar-section-body{max-height:600px;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .25s,padding .25s;padding-top:2px;opacity:1}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:0 10px 2px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s var(--ease-out)}.nav-item::after{content:'';position:absolute;inset:0;background:#0e1422;transform:translateX(-100%);transition:transform .5s var(--ease-out)}.nav-item:hover::after{transform:translateX(100%)}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active,.nav-item[aria-current=page]{background:#4f8df7;color:var(--text-primary);border:1px solid rgba(90,140,255,.3);box-shadow:none !important;}.nav-item.active::before{content:'';background:var(--accent-gradient);box-shadow:none !important;}.nav-item.active .icon{color:var(--accent);filter:none !important;}.nav-item .live-badge{margin-left:auto;font-size:12px;color:var(--up);border:1px solid rgba(255,59,59,.35);padding:1px 5px;border-radius:3px;font-family:var(--font-mono);font-weight:600;background:rgba(255,59,59,.08);box-shadow:none !important;transition:.15s}.nav-item:hover .live-badge{border-color:rgba(255,59,59,.6);background:rgba(255,59,59,.12)}.nav-item .nav-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--c-white);font-size:15px;font-weight:700;font-family:var(--font-mono);display:flex;align-items:center;justify-content:center;margin-left:4px;line-height:1;box-shadow:none !important;}.nav-shortcut{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);opacity:0;padding:1px 4px;border:1px solid var(--line-faint);border-radius:3px;min-width:14px;text-align:center;margin-left:4px;transition:opacity .15s,border-color .15s;pointer-events:none}.nav-item:hover .nav-shortcut{opacity:.55;border-color:var(--line-strong)}.nav-item.active .nav-shortcut{opacity:.45}.nav-item.active:hover .nav-shortcut{opacity:.75}.sidebar-footer{position:relative;border-top:1px solid var(--line-default);padding:10px 12px;flex-shrink:0;background:#0e1422}.sidebar-user{display:flex;align-items:center;border-radius:var(--radius-md);border:1px solid transparent}.sidebar-user:hover{background:var(--bg-hover);border-color:var(--line-default)}.sidebar-user-info{flex:1;overflow:hidden}.sidebar-user-name{color:var(--text-primary)}.sidebar-user-role{color:var(--accent);margin-top:1px;font-weight:600;letter-spacing:.4px}.sidebar-user-settings{opacity:.45}.sidebar-user:hover .sidebar-user-settings{opacity:.85}.sidebar-user-settings:hover{opacity:1;transform:rotate(30deg)}.user-menu{background:var(--bg-glass-strong);saturate(1.3);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:none !important;transition:all .2s var(--ease-out)}.user-menu-item{display:flex;align-items:center;border-radius:var(--radius-md);color:var(--text-secondary)}.user-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.user-menu-item .icon{flex-shrink:0;pointer-events:none}.user-menu-divider{background:var(--line-default)}.user-menu-header .name{color:var(--text-primary)}.user-menu-header .role{color:var(--text-muted)}.panel{background:var(--bg-glass);border:1px solid var(--line-strong);border-radius:var(--radius-lg);overflow:hidden;box-shadow:none !important;transition:box-shadow .3s var(--ease-out),border-color .3s,transform .3s;saturate(1.2);saturate(1.2)}.panel::before{content:'';pointer-events:none;z-index:1}.panel::after{content:'';position:absolute;top:16px;left:0;width:3px;height:26px;background:var(--accent-gradient);border-radius:0 2px 2px 0;opacity:.6;transition:opacity .3s,height .3s;pointer-events:none;z-index:1}.panel:hover{box-shadow:none !important;border-color:rgba(90,140,255,.2)}.panel:hover::after{opacity:1;height:36px}.panel-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-strong);background:#0e1422;position:relative}.panel-header::after{content:'';position:absolute;bottom:-1px;left:20px;width:40px;height:2px;background:var(--accent-gradient);border-radius:2px;box-shadow:none !important;}.panel-header .title{display:flex;align-items:center;color:var(--text-primary);letter-spacing:.3px}.panel-header .title .icon{color:var(--accent)}.panel-header .title svg:not(.icon){width:39px;height:39px;flex-shrink:0}.panel-header .subtitle{font-size:15px;color:var(--text-muted);font-weight:400;margin-left:8px}.panel-body>.table-wrap{border:none;border-radius:0;box-shadow:none !important;background:0 0;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}.panel-body>.table-wrap .table{border:none;border-radius:0;min-width:0;width:100%}.panel-body>.table-wrap .table td,.panel-body>.table-wrap .table th{border-right:1px solid var(--line-faint)}.panel-body>.table-wrap .table td:last-child,.panel-body>.table-wrap .table th:last-child{border-right:none}.panel-body>.table-wrap .table tbody tr:last-child td{border-bottom:none}.panel-body>.table-wrap .empty{padding:50px 24px;background:0 0}.panel-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:16px;position:relative;overflow:hidden}.card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#0e1422}.card:hover{border-color:var(--line-strong)}.card-title{color:var(--text-muted);display:flex;align-items:center}.card-value{font-size:28px;font-weight:600;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:-.5px;font-variant-numeric:tabular-nums}.card-sub{color:var(--text-secondary);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:var(--radius-md);font-size:15px;font-weight:500;background:var(--bg-elevated);border:1px solid var(--line-default);color:var(--text-secondary);transition:all .2s var(--ease-out);white-space:nowrap;position:relative;overflow:hidden}.btn::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:rgba(255,255,255,.08)}.btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--line-strong);transform:translateY(-1px);box-shadow:none !important;}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.loading{color:transparent;pointer-events:none}.btn.loading::after{content:'';position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--c-white);border-radius:50%;animation:.8s linear infinite spin}.btn-primary.loading::after{border-top-color:var(--c-white)}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{background:var(--accent-gradient);border-color:transparent;color:var(--c-white);box-shadow:none !important;font-weight:600}.btn-primary:hover{box-shadow:none !important;}.btn-ghost{background:0 0;border-color:transparent}.btn-ghost:hover{background:var(--bg-hover)}.btn-danger{background:rgba(255,59,59,.15);border-color:rgba(255,59,59,.4);color:var(--up)}.btn-danger:hover{background:rgba(255,59,59,.25)}.btn-success{background:rgba(0,200,83,.15);border-color:rgba(0,200,83,.4);color:var(--down)}.btn-success:hover{background:rgba(0,200,83,.25)}.btn-xs{padding:4px 8px;font-size:15px}.btn-icon{padding:7px}.btn-icon .icon{width:22.5px;height:22.5px}.table-wrap{border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--bg-glass);box-shadow:none !important;}.table-wrap::-webkit-scrollbar{height:6px}.table-wrap::-webkit-scrollbar-thumb{background:rgba(168,182,201,.35);border-radius:3px;transition:background .15s}.table-wrap::-webkit-scrollbar-thumb:hover{background:rgba(168,182,201,.55)}.table-wrap::-webkit-scrollbar-track{background:0 0}.table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;font-size:15px;table-layout:fixed}.table td,.table th{padding:0 12px;text-align:left;border-bottom:1px solid var(--line-default);white-space:nowrap;height:52px;vertical-align:middle;border-right:1px solid var(--line-faint);box-sizing:border-box}.table td:last-child,.table th:last-child{border-right:none}.table th{color:var(--text-secondary);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:1.2px;background:transparent;position:sticky;top:0;z-index:10;border-bottom:2px solid var(--line-strong);font-family:var(--font-sans);height:42px}.table th::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#0e1422}.table td{color:var(--text-primary);font-weight:500;transition:background .12s;position:relative}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg-hover)}.table tbody tr:hover .col-code .table-name{color:var(--accent)}.table-row{position:relative}.table-row:hover{background:rgba(90,140,255,.06)}.table-row:hover td{color:var(--text-primary)}.table-row:hover td:first-child::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);box-shadow:none !important;}.table-row.selected{background:rgba(90,140,255,.1);box-shadow:none !important;}.table tbody tr.up{box-shadow:none !important;}.table tbody tr.down{box-shadow:none !important;}.table tbody tr.flat{box-shadow:none !important;}.table tbody tr:hover.up td{background:#ff3b3b}.table tbody tr:hover.down td{background:#00c853}.table tbody tr:hover.flat td{background:var(--bg-hover)}.table td.col-rank,.table th.col-rank{text-align:center;padding-left:14px;padding-right:6px;width:56px;min-width:56px}.table td.col-code,.table th.col-code{text-align:left;padding-left:14px;padding-right:12px;width:190px;min-width:190px}.table td.col-amount,.table td.col-change,.table td.col-num,.table td.col-pct,.table td.col-price,.table td.col-volume,.table th.col-amount,.table th.col-change,.table th.col-num,.table th.col-pct,.table th.col-price,.table th.col-volume{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:15px;letter-spacing:-.1px;padding-left:12px;padding-right:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table td.col-price,.table th.col-price{width:105px;min-width:105px}.table td.col-change,.table td.col-pct,.table th.col-change,.table th.col-pct{width:100px;min-width:100px}.table td.col-volume,.table th.col-volume{width:110px;min-width:110px}.table td.col-amount,.table th.col-amount{width:120px;min-width:120px}.table td.col-action,.table th.col-action{text-align:center;padding-left:8px;padding-right:8px;width:72px;min-width:72px}.table td.col-change_pct,.table th.col-change_pct{width:100px;min-width:100px}.table td.col-actions,.table th.col-actions{width:72px;min-width:72px}.rank-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-family:var(--font-mono);background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--line-default)}.rank-badge.rank-top{background:#0e1422;border-color:var(--warn);box-shadow:none !important;}.table-name{color:var(--text-primary);font-weight:700;font-size:15px;display:block;line-height:1.2}.table-code{color:var(--text-muted);font-family:var(--font-mono);font-size:15px;font-weight:500;display:block;margin-top:3px;letter-spacing:.3px}.table-cell-group{display:block;line-height:1.25}.table-cell-primary{color:var(--text-primary);font-weight:600}.table-cell-secondary{color:var(--text-muted);font-size:15px}.col-change.up,.col-pct.up,.table-row .up{color:var(--up);text-shadow:none !important;}.col-change.down,.col-pct.down,.table-row .down{color:var(--down);text-shadow:none !important;}.col-change.flat,.col-pct.flat,.table-row .flat{color:var(--text-muted)}.col-change.up,.col-pct.up{background:transparent;border-radius:0}.col-change.down,.col-pct.down{background:transparent;border-radius:0}.btn-star{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:0 0;color:var(--text-muted);border:1px solid transparent;cursor:pointer;transition:color .15s,background .15s,border-color .15s,transform .15s}.btn-star:hover{color:var(--warn);background:rgba(245,166,35,.1);border-color:rgba(245,166,35,.25);transform:scale(1.05)}.btn-star.active{color:var(--warn);background:rgba(245,166,35,.12);border-color:rgba(245,166,35,.3)}.btn-star.active:hover{color:var(--warn-bright);background:rgba(245,166,35,.18)}.table .btn-star{display:inline-flex;align-items:center;justify-content:center;width:30px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--line-faint);background:0 0;color:var(--text-muted);cursor:pointer;transition:.15s;padding:0}.table .btn-star:hover{color:var(--warn);border-color:rgba(245,166,35,.3);background:rgba(245,166,35,.08);transform:scale(1.08)}.table .btn-star.active{color:var(--warn);background:rgba(245,166,35,.12);border-color:rgba(245,166,35,.3)}.table .btn-star.active svg{fill:currentColor}.table .btn-star svg{width:16px;height:16px}.table-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.table-change{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums}.table-row-actions{opacity:.4;transition:opacity .15s}.table-row:hover .table-row-actions{opacity:1}.sort-btn{color:var(--text-muted);transition:color .15s}.sort-btn:hover{color:var(--text-primary)}.sort-btn.active{color:var(--accent)}@media (max-width:768px){.table-wrap{border:none;background:0 0}.table thead{display:none}.table,.table tbody,.table td,.table tr{display:block;width:100%}.table tr{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:10px}.table td{border:none;padding:4px 0;display:flex;justify-content:space-between;align-items:center}.table td::before{content:attr(data-label);color:var(--text-muted);font-size:15px;font-weight:600;letter-spacing:.5px}.table td:first-child,.table td:last-child{padding-left:0;padding-right:0}.table-row-actions{opacity:1}}.index-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.index-card{background:var(--bg-glass);border:1px solid var(--line-default);border-radius:var(--radius-lg);padding:18px;transition:all .35s var(--ease-out);min-height:116px;display:flex;flex-direction:column;justify-content:space-between}.index-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;transition:.35s}.index-card::after{content:'';top:0;left:0;right:0;height:1px;pointer-events:none;opacity:.6}.index-card:hover{border-color:var(--line-strong);box-shadow:none !important;}.index-card:hover::before{width:5px}.index-card-name{font-size:15px;color:var(--text-muted);margin-bottom:2px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.index-card-price{font-size:28px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.5px;line-height:1.2}.index-card-change{font-size:15px;margin-top:4px;font-family:var(--font-mono);font-weight:700;display:flex;align-items:center;gap:6px}.index-card-change .change-extra{font-size:15px;opacity:.65;font-weight:500;margin-left:2px}.index-card.up::before{background:var(--up);box-shadow:none !important;}.index-card.down::before{background:var(--down);box-shadow:none !important;}.index-card.flat::before{background:var(--flat)}.index-card.up .index-card-price{color:var(--up-bright);text-shadow:none !important;}.index-card.down .index-card-price{color:var(--down-bright);text-shadow:none !important;}.index-card.up .index-card-change{color:var(--up);text-shadow:none !important;}.index-card.down .index-card-change{color:var(--down);text-shadow:none !important;}.index-card.flat .index-card-change{color:var(--flat)}.stock-detail{display:flex;flex-direction:column;gap:14px}.stock-header{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;background:var(--bg-glass);border:1px solid var(--line-strong);border-radius:var(--radius-lg);position:relative;overflow:hidden}.stock-header::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#0e1422}.stock-name{color:var(--text-primary);letter-spacing:.5px}.stock-code{color:var(--text-muted);font-family:var(--font-mono)}.stock-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-1px}.stock-info-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.info-cell{background:var(--bg-glass);border:1px solid var(--line-default);border-radius:var(--radius-md);transition:all .2s var(--ease-out)}.info-cell:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:none !important;}.info-label{font-size:15px;color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase}.info-value{font-weight:700;font-family:var(--font-mono);color:var(--text-primary);font-variant-numeric:tabular-nums}.sd-price-value{font-size:40px;font-weight:800;font-family:var(--font-mono);letter-spacing:-1px}.sd-change-value{font-size:15px;font-weight:700;font-family:var(--font-mono)}.up-glow{text-shadow:none !important;}.down-glow{text-shadow:none !important;}.flat{color:var(--text-secondary)}.chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line-faint);margin-bottom:12px}.chart-toolbar .toolbar-label{font-size:15px;font-weight:600;color:var(--text-secondary)}.chart-container{flex:1;min-height:400px;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:10px;position:relative;overflow:hidden;display:flex;flex-direction:column}.chart-container::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#0e1422}kline-viewer{display:flex;flex-direction:column;width:100%;flex:1;min-height:400px}stock-detail{display:block;width:100%}.kline-chart-box{flex:1;min-height:400px;position:relative;overflow:hidden;display:flex;flex-direction:column}.kline-chart-box .chart-wrapper{width:100%;flex:1;min-height:300px}.chart-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);background:rgba(11,15,22,.8);z-index:10}.chart-loading .spinner{width:36px;height:36px;border:2px solid var(--line-default);border-top-color:var(--accent);border-radius:50%;animation:1s linear infinite spin;margin-bottom:12px}.form-group{margin-bottom:0}.form-label{display:block;font-size:15px;color:var(--text-muted);margin-bottom:5px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.form-control{width:100%;box-sizing:border-box;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:0 12px;font-size:15px;line-height:36px;color:var(--text-primary)}.form-control:hover{background:var(--bg-hover)}.form-control:focus{border-color:var(--accent);box-shadow:none !important;background:var(--bg-hover)}.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;line-height:38px;padding:0 28px 0 12px;font-size:15px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d6e85' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.form-select::-ms-expand{display:none}.form-row{display:flex;gap:14px;align-items:flex-end}.form-row .form-group{flex:1}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-default);margin-bottom:14px}.tab{padding:9px 16px;font-size:15px;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;font-weight:500}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:4px;font-size:15px;font-weight:600;font-family:var(--font-mono)}.badge-up{background:var(--up-soft);color:var(--up)}.badge-down{background:var(--down-soft);color:var(--down)}.badge-flat{background:var(--bg-active);color:var(--flat)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 24px;color:var(--text-muted);text-align:center}.empty-state .icon{width:61.5px;height:61.5px;margin-bottom:14px;opacity:.45}.skeleton{background:#0e1422;border-radius:4px}@keyframes skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-text{height:14px;margin:6px 0}.skeleton-block{height:80px}.skeleton-row{height:30px;margin:6px 0}.skeleton-chart{height:200px}.skeleton-large{height:100px}.tabular{font-variant-numeric:tabular-nums;font-variant-numeric:tabular-nums;font-feature-settings:'tnum'}.add-row{display:flex;margin:0 16px 12px}.add-row .add-input{flex:1}.empty-compact{padding:24px}.empty-compact p{font-size:15px;color:var(--text-muted)}.spinner-text{margin-top:8px;font-size:15px;color:var(--text-muted)}.toast-container{position:fixed;top:18px;right:18px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:var(--bg-glass-strong);border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:var(--radius-md);box-shadow:none !important;color:var(--text-primary);min-width:260px;pointer-events:auto;transform:translateX(120%);transition:transform .4s var(--ease-spring);saturate(1.2);saturate(1.2)}.toast.show{transform:translateX(0)}.toast.error{border-left-color:var(--up)}.toast.success{border-left-color:var(--down)}@media (max-width:1200px){.index-cards,.stock-info-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1024px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:100;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4, 0, .2, 1);display:flex}.sidebar.open{transform:translateX(0);box-shadow:none !important;}.sidebar-overlay{display:none}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99}.stock-info-grid{grid-template-columns:repeat(3,1fr)}.search-box{width:200px}}@media (min-width:1025px){.sidebar{display:flex}.sidebar-overlay{display:none}}@media (max-width:768px){:root{--header-height:76px}.app{padding-bottom:var(--bottom-nav-height)}.sidebar{transform:translateX(-100%)}.bottom-nav{display:block}.ticker{display:none}.header{padding:0 14px}.search-box{width:150px}.panel-body,.panel-header{padding:12px 14px}.index-cards,.stock-info-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stock-name{font-size:18px}.stock-price{font-size:28px}.info-cell{padding:10px}.chart-container{min-height:320px}.chart-wrapper{height:320px}kline-viewer{min-height:320px}.form-row{flex-direction:column;gap:12px;align-items:stretch}}@media (max-width:480px){.index-cards,.stock-info-grid{grid-template-columns:repeat(2,1fr)}.card-value{font-size:22px}.panel-header{flex-wrap:wrap;gap:10px}.chart-toolbar{gap:8px}.chart-toolbar .btn{padding:6px 10px;font-size:15px;min-height:36px}}@media (max-width:374px){.index-cards{grid-template-columns:1fr;gap:8px}.stock-info-grid{grid-template-columns:repeat(2,1fr);gap:6px}.index-card-price{font-size:18px}.panel-body,.panel-header{padding:10px 12px}.search-box{width:120px}.card-value{font-size:18px}.stock-price{font-size:24px}.stock-name{font-size:18px}.chat-quick{gap:6px}.quick-q{padding:6px 10px;font-size:15px}.dashboard-header .dashboard-title{font-size:18px}.panel-title{font-size:15px}}@supports (padding:max(0px)){.bottom-nav{padding-bottom:max(0px,env(safe-area-inset-bottom))}.header{padding-top:max(0px,env(safe-area-inset-top))}}.backtest-lab,.bigscreen,.dashboard,.factors-view,.kline-wrapper,.paper-trading,.risk-dashboard,.strategy-builder,.system-view,.watchlist{display:flex;flex-direction:column;gap:16px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 14px;margin-bottom:6px;border-bottom:1px solid var(--line-default)}.dashboard-header .dashboard-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:var(--text-primary);letter-spacing:.5px}.dashboard-header .dashboard-title .icon{color:var(--accent);width:31px;height:31px}.dashboard-header .dashboard-meta{display:flex;align-items:center;gap:10px}.dashboard-header .update-time{font-size:15px;font-family:var(--font-mono);letter-spacing:.3px}.dashboard-header .btn-refresh{width:32px;height:32px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--line-default);color:var(--text-secondary);transition:.2s}.dashboard-header .btn-refresh:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent);box-shadow:none !important;}.dashboard-header .btn-refresh .icon{width:22.5px;height:22.5px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.factors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.risk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.paper-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.account-body,.correlation-body,.drawdown-body,.explanation-body,.heatmap-body,.overview-body,.positions-body,.quotes-body,.rank-body,.realtime-body,.resources-body,.risk-breakdown,.risk-gauge-body,.risk-matrix-body,.risk-stats-body,.scores-body,.sectors-body,.sentiment-body,.services-body,.stocks-body,.trades-body,.watchlist-body,.watchlist-preview{padding:14px;display:flex;flex-direction:column;gap:8px}.quote-list,.rank-panel,.realtime-panel,.result-list,.sector-list,.stock-list{display:flex;flex-direction:column;gap:0}.quote-list>div,.result-list>div,.sector-list>div,.stock-list>div{padding:10px 14px;border-bottom:1px solid var(--line-faint);display:flex;align-items:center;justify-content:space-between;gap:8px}.result-list>div:hover,.sector-list>div:hover,.stock-list>div:hover{background:rgba(168,182,201,.03);cursor:pointer}.result-count{font-size:15px;color:var(--text-muted);padding:8px 0}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.btn-add,.btn-add-condition,.btn-clear,.btn-close-modal,.btn-del,.btn-del-strategy,.btn-load-more,.btn-load-more-trades,.btn-load-strategy,.btn-refresh,.btn-remove-condition,.btn-reset,.btn-retry,.btn-run,.btn-save-strategy,.btn-scan,.btn-start-trade,.btn-submit-trade,.btn-tab,.btn-test-strategy,.btn-trade{padding:8px 16px;border-radius:var(--radius-sm);font-size:15px;border:1px solid var(--line-default);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:6px}.btn-load-more-trades:hover,.btn-load-more:hover,.btn-refresh:hover,.btn-retry:hover,.btn-run:hover,.btn-save-strategy:hover,.btn-scan:hover,.btn-start-trade:hover,.btn-test-strategy:hover,.btn-trade:hover{border-color:var(--accent);color:var(--accent)}.btn-del,.btn-del-strategy,.btn-remove-condition{color:var(--down);border-color:rgba(0,200,83,.2)}.btn-del-strategy:hover,.btn-del:hover,.btn-remove-condition:hover{background:rgba(0,200,83,.08)}.btn-add,.btn-add-condition{color:var(--up);border-color:rgba(255,59,59,.2)}.btn-add-condition:hover,.btn-add:hover{background:rgba(255,59,59,.08)}.btn-close-modal{position:absolute;top:12px;right:12px;padding:4px 8px}.param-panel{display:flex;flex-direction:column;gap:12px}.param-group{display:flex;flex-direction:column;gap:6px}.param-group label{font-size:15px;color:var(--text-secondary)}.param-actions{display:flex;gap:8px;flex-wrap:wrap}.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.logic-row{display:flex;align-items:center;gap:8px}.conditions-list{display:flex;flex-direction:column;gap:8px}.stock-indicators-grid{display:grid;grid-template-columns:repeat(5,1fr)}.indicator-cell{background:var(--bg-glass);border:1px solid var(--line-default);border-radius:var(--radius-md);transition:all .2s var(--ease-out);position:relative;overflow:hidden}.indicator-cell::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);opacity:0;transition:opacity .2s}.indicator-cell:hover{border-color:var(--accent);transform:translateY(-1px)}.indicator-cell:hover::after{opacity:.6}.indicator-label{font-size:15px;color:var(--text-muted);margin-bottom:4px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.indicator-value{font-weight:700;font-family:var(--font-mono);color:var(--text-primary);font-variant-numeric:tabular-nums}.indicator-cell .indicator-value.up{color:var(--up-bright)}.indicator-cell .indicator-value.down{color:var(--down-bright)}.strategy-builder{display:grid;grid-template-columns:1fr 1fr;gap:16px}.strategy-builder>.panel:first-child{grid-column:1/-1}.strategy-builder .param-group label{display:block;font-size:15px;color:var(--text-secondary);font-weight:600}.strategy-builder .strategy-name-row label{font-size:15px;color:var(--text-secondary);font-weight:600}.strategy-builder .logic-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:15px;color:var(--text-secondary)}.strategy-builder .logic-row label{display:flex;align-items:center;gap:4px;cursor:pointer}.condition-row{display:flex;align-items:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-sm)}.condition-row:hover{border-color:var(--line-strong)}.condition-row input[type=number],.condition-row select{background:var(--bg-card);border:1px solid var(--line-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono)}.condition-row input:focus,.condition-row select:focus{border-color:var(--accent);box-shadow:none !important;}.condition-row input[type=number]{width:80px}.condition-row .between-sep{color:var(--text-muted);margin:0 2px}.condition-actions{display:flex;gap:8px;flex-wrap:wrap}.condition-actions .btn{padding:8px 16px;font-size:15px;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:.2s}.condition-actions .btn-add-condition{background:rgba(59,130,246,.1);color:var(--blue-light);border:1px solid rgba(59,130,246,.2)}.condition-actions .btn-add-condition:hover{background:rgba(59,130,246,.2)}.condition-actions .btn-test-strategy{background:rgba(168,85,247,.1);color:var(--purple);border:1px solid rgba(168,85,247,.2)}.condition-actions .btn-test-strategy:hover{background:rgba(168,85,247,.2)}.condition-actions .btn-save-strategy{background:rgba(34,197,94,.1);color:var(--accent);border:1px solid rgba(34,197,94,.2)}.condition-actions .btn-save-strategy:hover{background:rgba(34,197,94,.2)}.scoring-tip{font-size:15px;color:var(--text-muted);margin-top:8px;line-height:1.5}.test-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.test-summary .stat-card{min-width:0}.factor-curve h4,.factor-desc h4,.factor-scores h4{font-size:15px;color:var(--text-secondary);margin-bottom:8px;font-weight:600}.paper-trading .paper-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.paper-trading .account-body .stat-cards{grid-template-columns:repeat(3,1fr)}.table-row .down,.table-row .flat,.table-row .up{font-weight:700}.quick-entries{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.quick-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px 6px;background:var(--bg-glass);border:1px solid var(--line-default);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:15px;font-weight:500;transition:all .35s var(--ease-out)}.quick-entry::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-gradient);transform:scaleX(0);transition:transform .35s var(--ease-out);transform-origin:left}.quick-entry::after{content:'';position:absolute;inset:0;background:#0e1422;opacity:0;transition:opacity .35s;pointer-events:none}.quick-entry:hover{background:var(--bg-hover);border-color:rgba(90,140,255,.35);color:var(--accent);box-shadow:none !important;}.quick-entry:hover::before{transform:scaleX(1)}.quick-entry:hover::after{opacity:1}.quick-entry .icon-wrap{width:59px;height:59px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(90,140,255,.08);border:1px solid rgba(90,140,255,.12);transition:all .35s var(--ease-out)}.quick-entry:hover .icon-wrap{background:rgba(90,140,255,.16);border-color:rgba(90,140,255,.28);box-shadow:none !important;}.quick-entry .icon{width:31px;height:31px;color:var(--accent);transition:transform .35s var(--ease-spring);filter:none !important;}.quick-entry:hover .icon{transform:scale(1.12)}@media (max-width:1200px){.quick-entries{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.quick-entries{grid-template-columns:repeat(2,1fr);gap:8px}.quick-entry{padding:14px 2px;font-size:15px}.quick-entry .icon-wrap{width:50.5px;height:50.5px}.quick-entry .icon{width:28px;height:28px}}.fund-flow .stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fund-flow .stat-card{padding:16px}.fund-flow .stat-card.up .card-value{color:var(--up);text-shadow:none !important;}.fund-flow .stat-card.down .card-value{color:var(--down);text-shadow:none !important;}.fund-flow .stat-card .card-label{font-size:15px;margin-bottom:8px}.fund-flow .stat-card .card-value{font-size:24px;font-weight:700;letter-spacing:-.5px;font-family:var(--font-mono)}.fund-distribution-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-top:18px;background:var(--bg-elevated)}.dist-seg{height:100%;transition:width .4s cubic-bezier(.22, 1, .36, 1)}.dist-legend{display:flex;gap:18px;margin-top:12px;font-size:15px;color:var(--text-secondary);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.up{background:var(--up)}.legend-dot.flat{background:var(--text-muted)}.legend-dot.down{background:var(--down)}.dist-seg.up{background:var(--up)}.dist-seg.flat{background:var(--text-muted)}.dist-seg.down{background:var(--down)}.bar-container{background:var(--bg-elevated)}.bar-fill.up{background:var(--up)}.bar-fill.down{background:var(--down)}.fund-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fund-rank-table{width:100%;border-collapse:collapse;font-size:15px;table-layout:fixed}.fund-rank-table td,.fund-rank-table th{padding:10px 12px;border-bottom:1px solid var(--line-faint);vertical-align:middle}.fund-rank-table th{color:var(--text-muted);font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.fund-rank-table td{font-weight:500}.fund-rank-table td.col-code{text-align:left}.fund-rank-table td.col-change,.fund-rank-table td.col-num,.fund-rank-table td.col-pct{text-align:right}.fund-rank-table td.col-action{text-align:center}.fund-rank-table tr:hover td{background:var(--bg-hover)}.fund-rank-table .rank{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:15px;font-family:var(--font-mono);background:var(--bg-active);color:var(--text-secondary)}.fund-rank-table tr:first-child .rank{background:rgba(255,59,59,.2);color:var(--up)}.fund-rank-table tr:nth-child(2) .rank{background:rgba(255,160,0,.2);color:#ffa000}.fund-rank-table tr:nth-child(3) .rank{background:rgba(0,200,83,.2);color:var(--down)}@media (max-width:1024px){.fund-grid{grid-template-columns:1fr}.fund-flow .stat-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.fund-flow .stat-cards{grid-template-columns:1fr}}.sys-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.resource-bar{display:flex;align-items:center;gap:14px;margin-bottom:14px}.res-label{width:80px;display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-secondary)}.res-track{flex:1;height:8px;background:var(--bg-elevated);border-radius:4px;overflow:hidden}.res-fill{height:100%;border-radius:4px;transition:width .4s cubic-bezier(.22, 1, .36, 1)}.res-fill.up{background:var(--up)}.res-fill.down{background:var(--down)}.res-fill.accent{background:var(--accent)}.res-fill.warn{background:var(--warn)}.res-fill.glow{box-shadow:none !important;}.res-value{width:80px;text-align:right;font-size:15px;font-family:var(--font-mono);color:var(--text-primary)}.log-list{font-family:var(--font-mono);font-size:15px;max-height:400px;overflow-y:auto}.log-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-faint);color:var(--text-secondary)}.log-row.down{color:var(--up)}.log-row.up{color:var(--down)}.log-time{color:var(--text-muted);width:140px;flex-shrink:0}.log-level{width:50px;flex-shrink:0;font-weight:700}.log-level.error{color:var(--up)}.log-level.warn{color:var(--warn)}.log-level.info{color:var(--down)}.log-level.debug{color:var(--text-muted)}@media (max-width:1024px){.sys-grid{grid-template-columns:1fr}}.bigscreen-grid{display:grid;grid-template-columns:2fr 1fr;margin-bottom:20px}.heatmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.heat-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:transform .15s,box-shadow .15s}.heat-cell:hover{transform:scale(1.05);box-shadow:none !important;}.heat-val{font-weight:700;font-size:15px;font-family:var(--font-mono)}.heat-name{font-size:15px;opacity:.95;margin-bottom:3px}.sentiment-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;margin:14px 0}.bar-up{background:var(--up)}.bar-down{background:var(--down)}.sentiment-bar .bar-down,.sentiment-bar .bar-up{transition:width .5s var(--ease-out)}.sentiment-legend{display:flex;justify-content:space-between;font-size:15px;margin-top:4px}.sentiment-legend .up{color:var(--up)}.sentiment-legend .down{color:var(--down)}.sentiment-gauge{display:block}.gauge-value{font-size:36px;font-family:var(--font-mono);font-weight:700}.gauge-label{font-size:15px;fill:var(--text-secondary)}@media (max-width:1024px){.bigscreen-grid{grid-template-columns:1fr}}.ai-chat{display:flex;flex-direction:column;height:100%}.ai-chat .chat-panel{flex:1;display:flex;flex-direction:column}.ai-chat .chat-messages{flex:1;min-height:0;-webkit-overflow-scrolling:touch}.chat-msg{display:flex;gap:12px;margin-bottom:16px}.msg-avatar{width:36px;height:36px;align-items:center;justify-content:center;flex-shrink:0}.msg-avatar .icon{width:18px;height:18px}.msg-avatar.ai-girl{width:36px;height:36px;border-radius:50%;overflow:hidden;box-shadow:none !important;}.msg-avatar.ai-girl img,.msg-avatar.ai-girl svg{width:100%;height:100%;border-radius:50%}.msg-content{max-width:calc(100% - 52px)}.msg-text{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:12px 14px;color:var(--text-primary);font-size:13px;line-height:1.65;white-space:pre-wrap}.msg-user .msg-avatar{color:var(--text-secondary)}.msg-user .msg-text{background:var(--accent-soft);border-color:var(--accent)}.msg-time{font-size:15px;color:var(--text-muted);margin-top:5px}.chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;border-top:1px solid var(--line-faint)}.chat-quick button{background:var(--bg-elevated);border:1px solid var(--line-default);color:var(--text-secondary);border-radius:20px;padding:6px 14px;font-size:15px;cursor:pointer;transition:.15s}.chat-quick button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chat-input-row{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line-default)}.chat-input{flex:1;background:var(--bg-base);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:10px 14px;color:var(--text-primary);font-size:15px;transition:.2s}.chat-input:focus{border-color:var(--accent);outline:0;box-shadow:none !important;}.chat-input-row .btn-send{background:var(--accent);color:var(--c-white);border:none;border-radius:var(--radius-md);padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;transition:.2s;min-width:48px;display:flex;align-items:center;justify-content:center;gap:6px}.chat-input-row .btn-send:hover{background:var(--accent-hover);box-shadow:none !important;transform:scale(1.05)}.chat-input-row .btn-send:active{transform:scale(.96)}.chat-input-row .btn-send.sending{opacity:.6;pointer-events:none}.chat-input-row .btn-send.sending .icon{animation:1s linear infinite spin}.chat-input-row .btn-send .icon{width:25px;height:25px;pointer-events:none}.thinking-dots{display:flex;gap:4px;padding:10px 0}.thinking-dots span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:none}.thinking-dots span:first-child{animation-delay:0s}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,100%,80%{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary)}.empty .icon{width:67px;height:67px;opacity:.55;filter:none !important;}.empty h4{color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:700}.empty p{font-size:15px;color:var(--text-muted)}.empty .btn{margin-top:16px}.autocomplete-list{position:absolute;top:100%;left:0;right:0;max-height:220px;overflow-y:auto;background:var(--bg-glass-strong);border:1px solid var(--line-strong);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);z-index:200;box-shadow:none !important;}.autocomplete-item{padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-faint);color:var(--text-primary);font-size:15px;transition:background .15s}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item.active,.autocomplete-item:hover{background:var(--accent-soft);color:var(--accent-2)}.autocomplete-item .ac-code{font-family:var(--font-mono);color:var(--text-muted);font-size:15px}.autocomplete-item.active .ac-code,.autocomplete-item:hover .ac-code{color:var(--accent-2)}.autocomplete-empty{padding:12px;text-align:center;color:var(--text-muted);font-size:15px}.autocomplete-wrap{position:relative}.btn-icon:focus-visible,.btn:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none !important;}.btn:active{transform:scale(.97)}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.85}.card-label,.form-group label,.info-label,.param-group label,.stat-label{color:var(--text-secondary);font-weight:600}.msg-text ul{margin:6px 0;padding-left:18px}.msg-text li{margin:3px 0;color:var(--text-secondary)}.msg-text ol.suggestion-list{margin:6px 0;padding-left:0;list-style:none}.msg-text ol.suggestion-list li{margin:4px 0}.suggestion-btn{display:inline-block;width:100%;text-align:left;padding:8px 14px;margin:0;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);font-size:15px;color:var(--text-primary);cursor:pointer;transition:.2s;user-select:none}.suggestion-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-hover);transform:translateY(-1px);box-shadow:none !important;}.suggestion-btn:active{transform:scale(.97)}.scanner .filter-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;align-items:end}.scanner .filter-actions{display:flex;align-items:flex-end;grid-column:1/-1;margin-top:4px}.scanner .filter-group{display:flex;flex-direction:column;gap:5px}.scanner .btn-star{color:var(--text-muted)}.scanner .btn-star:hover{color:var(--accent);transform:scale(1.1)}.scanner .btn-star.active{color:var(--warn)}.scanner .btn-star.active:hover{color:var(--warn-bright)}.scanner .panel-body{padding:0}.scanner .table-wrap{border-radius:0;border-left:none;border-right:none;border-bottom:none;box-shadow:none !important;}.scanner .result-count{font-size:15px;color:var(--text-muted);font-weight:500;font-family:var(--font-mono);letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px}.scanner .result-count::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:none !important;}.scanner .panel-header .title{font-size:18px}.is-hidden{display:none}.spinner{width:18px;height:18px;border:2px solid var(--line-default);border-top-color:var(--accent);border-radius:50%}.spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:12px}.update-time{font-size:15px;color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;border:1px solid}.status-badge.up{background:var(--down-soft);border-color:rgba(0,200,83,.3);color:var(--down)}.status-badge.down{background:var(--up-soft);border-color:rgba(255,59,59,.3);color:var(--up);box-shadow:none !important;}.status-badge .icon{width:19.5px;height:19.5px}.thinking-label{color:var(--text-muted)}.stock-identity{display:flex;flex-direction:column;gap:2px}.stock-price-block{display:flex;flex-direction:column;align-items:flex-end}.card-glow{position:absolute;inset:0;background:#0e1422;pointer-events:none}.rank-circle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:700;font-size:15px;font-family:var(--font-mono);background:var(--bg-active);color:var(--text-secondary)}.rank-gold{background:rgba(255,59,59,.15);color:var(--up);box-shadow:none !important;}.rank-1{background:rgba(255,215,0,.15);color:gold;box-shadow:none !important;}.rank-2{background:rgba(192,192,192,.15);color:silver}.rank-3{background:rgba(205,127,50,.15);color:#cd7f32}.dragging{opacity:.5;background:var(--accent-soft)}.drag-handle{cursor:grab;color:var(--text-muted)}.drag-handle:hover{color:var(--text-secondary)}.ai-avatar-img,.msg-avatar,.msg-avatar img,.panel-header .title img,.thinking-dots-container img{border-radius:50%;overflow:hidden;border:none;outline:0;box-shadow:none !important;background:0 0;-webkit-mask-image:none;mask-image:none;filter:none !important;display:block;object-fit:cover}.fab-ai .ai-avatar,.fab-ai img.ai-avatar{border-radius:0;overflow:visible;border:none;outline:0;background:0 0;-webkit-mask-image:none;mask-image:none;display:block;object-fit:contain;filter:none !important;}.panel-header .title img.ai-avatar-img{width:28px;height:28px;flex-shrink:0;vertical-align:middle}.table-wrap{overflow-x:auto}.chat-panel{display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.chat-messages{overflow-y:auto;overflow-x:hidden;flex:1;min-height:200px}.sentiment-body{overflow:auto}.bigscreen-grid{overflow:visible}.scroll-thin::-webkit-scrollbar{width:4px;height:4px}.scroll-thin{scrollbar-width:thin}code{background:rgba(0,0,0,.2);padding:1px 4px;border-radius:3px;font-family:var(--font-mono);font-size:12px}.model-select{max-width:200px;min-width:140px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:15px}.model-select option{background:var(--bg-card);color:var(--text-primary)}.thinking-label{font-size:15px;color:var(--text-muted);margin-left:8px}@keyframes viewFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.flash-up{animation:flashUp .6s var(--ease-out)}.flash-down{animation:flashDown .6s var(--ease-out)}.stat-card{background:var(--bg-glass);border:1px solid var(--line-default);border-radius:var(--radius-lg);padding:18px;transition:all .3s var(--ease-out);position:relative;overflow:hidden}.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#0e1422}.stat-card:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:none !important;}.stat-card .card-glow{position:absolute;inset:0;pointer-events:none;background:#0e1422;opacity:.7}.stat-card.up .card-glow{background:#ff3b3b}.stat-card.down .card-glow{background:#00c853}.stat-card .card-label{font-size:15px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.stat-card .card-value{font-size:32px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.25}.stat-card.up .card-value{color:var(--up-bright);text-shadow:none !important;}.stat-card.down .card-value{color:var(--down-bright);text-shadow:none !important;}.stat-card .card-sub{font-size:15px;color:var(--text-secondary);margin-top:8px;font-weight:500}.heat-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 4px;border-radius:var(--radius-md);min-height:64px;color:var(--c-white);font-size:15px;text-align:center;cursor:pointer;transition:all .25s var(--ease-out);border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}.heat-cell::before{content:'';position:absolute;inset:0;background:#0e1422;pointer-events:none}.heat-cell:hover{transform:scale(1.08) translateY(-2px);z-index:2;box-shadow:none !important;}.modal-overlay{inset:0;display:flex;align-items:center;justify-content:center;animation:modalFadeIn .25s var(--ease-out)}@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-glass-strong);border:1px solid var(--line-strong);border-radius:var(--radius-xl);box-shadow:none !important;saturate(1.3);saturate(1.3);animation:modalSlideUp .3s var(--ease-spring)}@keyframes modalSlideUp{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.panel-header .title .icon,.panel-header .title svg.icon{color:var(--accent);filter:none !important;}.factor-select,.form-control,.form-select,.model-select,.sort-select{background:var(--bg-glass);border:1px solid var(--line-default);border-radius:var(--radius-md);transition:all .2s var(--ease-out)}.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:none !important;background:var(--bg-hover)}.tab-bar{border-bottom:1px solid var(--line-strong)}.btn-tab{color:var(--text-muted);transition:all .2s var(--ease-out);font-weight:500;position:relative}.btn-tab:hover{color:var(--text-primary)}.btn-tab.active,.btn-tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);text-shadow:none !important;}.btn-tab.active::after,.btn-tab[aria-selected=true]::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--accent);border-radius:2px;box-shadow:none !important;}.spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;color:var(--text-muted);gap:14px}.spinner-wrap .spinner{width:40px;height:40px;border-width:3px}.spinner-wrap p{font-size:15px;letter-spacing:.5px}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:15px;font-weight:700;background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--line-default)}.rank-badge.rank-top{background:#0e1422;color:var(--c-white);border-color:var(--warn);box-shadow:none !important;font-weight:800}.bar-container{display:inline-block;width:70px;height:6px;background:var(--bg-elevated);border-radius:3px;margin-right:8px;vertical-align:middle;overflow:hidden;position:relative}.bar-fill{height:100%;border-radius:3px;transition:width .5s var(--ease-out)}.bar-fill.up{background:var(--up);box-shadow:none !important;}.bar-fill.down{background:var(--down);box-shadow:none !important;}.sentiment-gauge{filter:none !important;}.sidebar-collapse-btn{height:32px;width:28px;padding:0;opacity:.5;transition:all .2s var(--ease-out);border-radius:var(--radius-sm)}.sidebar-collapse-btn:hover{opacity:1;background:var(--bg-hover)}.market-status-dot.open{background:var(--up);box-shadow:none !important;animation:none}.code-block{background:rgba(0,0,0,.35);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:10px 14px;margin:8px 0;font-family:var(--font-mono);font-size:15px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.bottom-nav{background:var(--bg-header);border-top:1px solid var(--line-strong);saturate(1.3);saturate(1.3)}.table tbody tr,.table tbody tr td{height:48px}.empty-cell{text-align:center;color:var(--text-muted);padding:20px}.chart-error-box{text-align:center}.chart-error-icon{font-size:32px;margin-bottom:8px}.chart-error-retry{margin-top:12px}.cond-num{color:var(--text-muted);min-width:24px}.factor-select,.model-select,.sort-select{height:32px;box-sizing:border-box;padding:0 26px 0 10px;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:15px;line-height:30px;-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%235d6e85' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.factor-select::-ms-expand,.model-select::-ms-expand,.sort-select::-ms-expand{display:none}.saved-strategies{display:flex;flex-direction:column;gap:8px}.strategy-test-panel{margin-top:16px}.drawdown-chart,.equity-chart,.factor-chart,.factor-curve{width:100%;height:300px;min-height:200px}.chart-error{display:flex;align-items:center;justify-content:center}.chart-label{font-size:15px;color:var(--text-muted)}.risk-gauge{display:flex;align-items:center;justify-content:center}.gauge-wrap{position:relative;width:120px;height:120px}.gauge-wrap svg{width:160px;height:96px}.gauge-wrap text{font-family:var(--font-sans)}.gauge-score{font-size:32px;font-weight:700}.gauge-level{font-size:15px;color:var(--text-muted)}.risk-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.breakdown-item{display:flex;flex-direction:column;gap:4px}.breakdown-label{font-size:15px;color:var(--text-muted)}.breakdown-val{font-size:18px;font-weight:600}.breakdown-bar{height:6px;background:var(--line-default);border-radius:3px;overflow:hidden}.breakdown-fill{height:100%;border-radius:3px;transition:width .3s}.factor-explanation{margin-top:12px}.test-result{padding:12px;background:var(--bg-elevated);border-radius:var(--radius-sm)}.correlation-matrix{width:100%;border-collapse:collapse}.matrix-label{font-size:15px;color:var(--text-muted);padding:4px 8px}.matrix-val{font-size:15px;padding:4px 8px;text-align:center}.matrix-legend{display:flex;gap:12px;font-size:15px;color:var(--text-muted);margin-top:8px}.confirm-modal:not(.is-hidden),.settings-modal:not(.is-hidden),.trade-modal:not(.is-hidden){position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center}.modal-overlay{position:fixed;inset:0;background:rgba(5,7,10,.7);z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:20px;max-width:500px;width:90%;position:relative;z-index:1001;max-height:80vh;overflow-y:auto;box-shadow:none !important;}.modal-header{font-size:18px;font-weight:600;margin-bottom:16px}.modal-body{display:flex;flex-direction:column;gap:12px}.trade-modal .modal-content{max-width:440px}.trade-dir-group{display:flex;gap:8px}.btn-dir{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:.2s;font-size:15px}.btn-dir-buy.active{background:var(--up-soft);border-color:var(--up);color:var(--up)}.btn-dir-sell.active{background:var(--down-soft);border-color:var(--down);color:var(--down)}.btn-dir:hover{background:var(--bg-hover);border-color:var(--line-strong)}.trade-stock-info{background:var(--bg-card);border:1px solid var(--line-default);border-radius:8px;padding:10px 14px}.trade-info-row{display:flex;align-items:center;gap:10px}.trade-info-name{font-weight:600;font-size:15px;color:var(--text-primary)}.trade-info-code{font-size:15px;color:var(--text-muted)}.trade-info-price{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.trade-info-pct{font-size:15px;font-variant-numeric:tabular-nums}.trade-info-error,.trade-info-loading{font-size:15px;color:var(--text-muted);padding:4px 0}.trade-preview{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:8px;padding:12px;margin-top:8px}.trade-preview-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tp-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;font-size:15px}.tp-label{color:var(--text-muted)}.tp-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:500}.tp-error{color:var(--up);font-weight:600;grid-column:1/-1;justify-content:center}.form-hint{font-size:15px;color:var(--text-muted);margin-top:4px}.btn-sm{padding:4px 8px;font-size:15px;border-radius:4px;display:inline-flex;align-items:center;gap:3px}.btn-sm:hover{background:var(--bg-hover)}.btn-buy-pos{border-color:var(--up-glow);color:var(--up)}.btn-buy-pos:hover{background:var(--up-soft)}.btn-sell-pos{border-color:var(--down-glow);color:var(--down)}.btn-sell-pos:hover{background:var(--down-soft)}.col-action{text-align:center;white-space:nowrap}.col-action>*{display:inline-flex;gap:4px;align-items:center;justify-content:center}.quote-warn .icon{width:17px;height:17px;color:var(--text-muted)}.empty-state-pt{text-align:center;padding:32px 16px}.empty-state-pt .empty-icon{width:48px;height:48px;margin:0 auto 12px;color:var(--text-muted)}.empty-state-pt h4{font-size:18px;color:var(--text-primary);margin-bottom:6px}.empty-state-pt p{font-size:15px;color:var(--text-muted);margin-bottom:16px}.btn-start-trade{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:var(--accent-gradient);color:var(--c-white);border:none;border-radius:8px;font-size:15px;cursor:pointer;transition:.2s}.btn-start-trade:hover{transform:translateY(-1px);filter:none !important;}.hot-stocks{margin-top:20px}.hot-label{color:var(--text-muted);margin-bottom:10px}.hot-stock-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.pt-hot-stock{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;font-size:15px;font-weight:500;background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:8px;color:var(--text-secondary);cursor:pointer;user-select:none;transition:.15s;box-shadow:none !important;}.pt-hot-stock::before{content:'+';font-size:15px;font-weight:700;color:var(--accent);margin-right:2px}.pt-hot-stock:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-hover);transform:translateY(-1px);box-shadow:none !important;}.pt-hot-stock:active{transform:translateY(0)}.pt-hot-stock:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-modal .modal-content{max-width:400px}.settings-warning{font-size:15px;color:var(--up);margin-top:12px;text-align:center}.confirm-modal .modal-content{max-width:360px}.confirm-message{font-size:15px;color:var(--text-primary);text-align:center;padding:20px 0;line-height:1.8}.btn-buy-quick{background:var(--up-soft);border:1px solid rgba(255,59,59,.3);color:var(--up);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;gap:4px;transition:.2s}.btn-buy-quick:hover{background:rgba(255,59,59,.2)}.btn-sell-quick{background:var(--down-soft);border:1px solid rgba(0,200,83,.3);color:var(--down);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;gap:4px;transition:.2s}.btn-sell-quick:hover{background:rgba(0,200,83,.2)}.card-sub{font-size:15px;color:var(--text-muted);margin-top:2px}.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--line-default);margin-bottom:12px}.btn-tab{padding:8px 16px;border:none;background:0 0;color:var(--text-muted);font-size:15px;cursor:pointer;border-bottom:2px solid transparent;transition:.2s}.btn-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.msg-ai{display:flex;gap:10px;align-items:flex-start}.msg-thinking{font-style:italic;color:var(--text-muted)}.quick-q{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;margin:4px;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:16px;font-size:15px;cursor:pointer;transition:.2s;color:var(--text-secondary);user-select:none}.quick-q:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-hover);transform:translateY(-1px)}.quick-q:active{transform:scale(.97)}.quick-q-icon{font-size:15px;line-height:1;filter:none !important;}.loading-state{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted)}.text-muted{color:var(--text-muted)}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.link-more{font-size:15px;color:var(--accent);cursor:pointer}.panel-footer{padding:12px 14px;border-top:1px solid var(--line-faint)}.add-input,.add-row{display:flex;gap:8px;align-items:center}.add-input input{flex:1}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}.drawdown-chart,.equity-chart,.factor-chart,.factor-curve{height:240px}.stat-cards{grid-template-columns:repeat(2,1fr)}.risk-stats{grid-template-columns:1fr}.stock-indicators-grid,.stock-info-grid{grid-template-columns:repeat(2,1fr)}.strategy-builder{grid-template-columns:1fr}.strategy-builder>.panel:first-child{grid-column:1}.paper-trading .paper-grid{grid-template-columns:1fr}.test-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.paper-trading .account-body .stat-cards,.stock-indicators-grid,.test-summary{grid-template-columns:1fr 1fr}}.text-up,.up{color:var(--up)}.down,.text-down{color:var(--down)}.flat,.text-flat{color:var(--flat)}.bg-up{background:var(--up)}.bg-down{background:var(--down)}.scoring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0}.scoring-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.scoring-item label{display:block;font-size:15px;color:var(--text-secondary);margin-bottom:6px}.scoring-item input[type=range]{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:var(--border);border-radius:2px;outline:0}.scoring-item input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer}.scoring-item input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.scoring-item .scoring-val{font-size:15px;font-weight:600;color:var(--text);margin-left:6px}.signal-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;margin:8px 0;background:var(--bg-card);border:1px solid var(--border)}.signal-card.signal-BULLISH,.signal-card.signal-BUY{border-left:3px solid var(--up);background:rgba(220,38,38,.06)}.signal-card.signal-BEARISH,.signal-card.signal-SELL{border-left:3px solid var(--down);background:rgba(22,163,74,.06)}.signal-card.signal-HOLD{border-left:3px solid var(--text-muted)}.signal-card .signal-action{font-size:18px;font-weight:700}.signal-card .signal-confidence{font-size:15px;color:var(--text-secondary)}.signal-card .signal-reason{font-size:15px;color:var(--text-muted);margin-left:auto}.factor-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:8px 0}.factor-score-item{text-align:center;padding:8px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border)}.factor-score-item .factor-label{font-size:15px;color:var(--text-muted);margin-bottom:4px}.factor-score-item .factor-value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.strategy-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:15px;font-weight:500;background:rgba(59,130,246,.15);color:var(--blue-light);margin-right:4px}.strategy-tag.tag-strategy{background:rgba(168,85,247,.15);color:var(--purple)}.btn-share-pt,.btn-share-stock{font-size:15px;padding:4px 12px;border-radius:6px;background:rgba(59,130,246,.12);color:var(--blue-light);border:1px solid rgba(59,130,246,.2);cursor:pointer;transition:background .2s}.btn-share-pt:hover,.btn-share-stock:hover{background:rgba(59,130,246,.22)}.equity-curve-wrap{margin:8px 0}.equity-curve-wrap h4{font-size:15px;color:var(--text-secondary);margin-bottom:4px}.sidebar{overflow:hidden;display:flex;flex-direction:column}.sidebar-nav{flex:1 1 auto;min-height:0;overflow-y:scroll;overflow-x:hidden;scrollbar-gutter:stable both-edges;padding:8px 6px 16px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.55) rgba(255,255,255,0.08)}.sidebar-nav::-webkit-scrollbar,.sidebar-nav:hover::-webkit-scrollbar{width:10px;display:block;background:rgba(255,255,255,.08)}.sidebar-nav::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.55);border-radius:5px;min-height:48px;border:2px solid transparent}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.8)}.sidebar.collapsed .sidebar-nav{padding:8px 0 16px;scrollbar-gutter:auto;overflow-y:auto}.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.tab-content{height:100%;overflow-y:auto;overflow-x:hidden;padding:20px 22px 28px;scrollbar-gutter:stable both-edges}.tab-content::-webkit-scrollbar{width:10px;background:rgba(255,255,255,.06)}.tab-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.45);border-radius:5px;border:2px solid transparent;background-clip:padding-box}.tab-content::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.7)}.panel{border-radius:var(--radius-lg);border:1px solid var(--line-default);background:var(--bg-glass);box-shadow:none !important;margin-bottom:18px}.panel-header{padding:14px 18px;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-faint)}.panel-header .title{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--text-primary)}.panel-body{padding:18px 20px}.panel-body.flush{padding:0}.stock-detail{gap:16px}.stock-header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px;padding:18px 22px;flex-wrap:nowrap}.stock-identity{display:flex;flex-direction:column;gap:3px;min-width:140px}.stock-name{font-size:24px;font-weight:800}.stock-code{font-size:15px}.stock-price-block{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;min-width:140px}.stock-price{font-size:36px;font-weight:800;margin:0}.stock-change{font-family:var(--font-mono);font-size:15px;font-weight:700}.btn-watch-stock{display:inline-flex;align-items:center;justify-content:center;width:38px;height:36px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--line-default);color:var(--text-muted);cursor:pointer;transition:.2s}.btn-watch-stock:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-hover)}.btn-watch-stock.active{color:var(--gold-soft);border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.1)}.btn-watch-stock.active svg{fill:currentColor}.btn-watch-stock .icon{width:28px;height:28px}.stock-actions{display:flex;align-items:center;gap:10px}.btn-share-stock{width:38px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-md)}.btn-share-stock .icon{width:25px;height:25px}.stock-info-grid{grid-template-columns:repeat(6,1fr);gap:12px}.info-cell{padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between;min-height:72px}.info-label{margin-bottom:8px}.info-value{font-size:18px}.stock-indicators-grid{grid-template-columns:repeat(5,1fr);gap:12px}.indicator-cell{padding:14px 16px;min-height:72px;display:flex;flex-direction:column;justify-content:space-between}.indicator-value{font-size:18px}.stock-fund-flow{margin-top:16px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.fund-flow-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--line)}.fund-flow-title{font-size:15px;font-weight:700;color:var(--text-primary)}.fund-flow-summary{font-size:15px;font-weight:600}.fund-flow-error,.fund-flow-loading{display:flex;align-items:center;gap:8px;padding:24px 16px;justify-content:center;color:var(--text-muted);font-size:15px}.spinner-sm{width:16px;height:16px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:.8s linear infinite spin;display:inline-block;flex-shrink:0}.fund-flow-table-wrap{max-height:400px;overflow-y:auto}.fund-flow-table{font-size:15px}.fund-flow-table th{position:sticky;top:0;background:var(--bg-elevated);z-index:1}.fund-flow-table td{padding:8px 12px;white-space:nowrap}.scanner .filter-panel{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));padding:18px 20px}.scanner .filter-group .form-label{color:var(--text-secondary)}.scanner .filter-group .form-control,.scanner .filter-group .form-select{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);color:var(--text-primary)}.scanner .filter-group .form-control:focus,.scanner .filter-group .form-select:focus{border-color:var(--accent);box-shadow:none !important;}.scanner .filter-actions{display:flex;align-items:flex-end;grid-column:1/-1;justify-content:flex-start}.scanner .filter-actions .btn{border-radius:var(--radius-md)}.scanner .table td,.scanner .table th{vertical-align:middle}.scanner .btn-star{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:0 0;border:1px solid var(--line-default);color:var(--text-muted);cursor:pointer;transition:.2s}.scanner .btn-star:hover{border-color:var(--gold-soft);color:var(--gold-soft)}.scanner .btn-star.active{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.4);color:var(--gold-soft)}.scanner .btn-star.active svg{fill:currentColor}.backtest-lab .param-form,.backtest-lab .param-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.backtest-lab .param-group{display:flex;flex-direction:column;gap:6px}.backtest-lab .param-group label{font-size:15px;font-weight:600;color:var(--text-secondary)}.backtest-lab .param-group input,.backtest-lab .param-group select{width:100%;height:40px;box-sizing:border-box;padding:0 12px;line-height:38px;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px}.backtest-lab .param-group input:focus,.backtest-lab .param-group select:focus{border-color:var(--accent);box-shadow:none !important;}.backtest-lab .param-group select{padding-right:28px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d6e85' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.backtest-lab .param-group select::-ms-expand{display:none}.backtest-lab .form-actions,.backtest-lab .param-actions{display:flex;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--line-faint);grid-column:1/-1;justify-content:flex-start}.backtest-lab .form-actions .btn,.backtest-lab .param-actions .btn{padding:10px 20px;font-size:15px;font-weight:600;border-radius:var(--radius-md)}.strategy-builder{gap:18px}.strategy-builder .panel{margin-bottom:0}.strategy-builder .strategy-name-row{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:12px;margin-bottom:14px}.strategy-builder .strategy-name-row label{margin:0}.strategy-builder .strategy-name-wrap{display:flex;align-items:center;gap:10px}.strategy-builder .strategy-name-wrap select{width:150px;flex-shrink:0;height:38px;box-sizing:border-box;padding:0 28px 0 12px;border-radius:var(--radius-md);font-size:15px;background:var(--bg-elevated);border:1px solid var(--line-default);color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.strategy-builder .strategy-name-wrap select:focus{border-color:var(--accent);box-shadow:none !important;outline:0}.strategy-builder .strategy-name-wrap input{flex:1;min-width:0;height:38px;box-sizing:border-box;padding:0 12px;border-radius:var(--radius-md);font-size:15px;background:var(--bg-elevated);border:1px solid var(--line-default);color:var(--text-primary)}.strategy-builder .strategy-name-wrap input:focus{border-color:var(--accent);box-shadow:none !important;outline:0}.strategy-builder .param-group{margin-bottom:14px}.strategy-builder .param-group label{margin-bottom:6px}.strategy-builder .param-group input,.strategy-builder .param-group select{height:38px;box-sizing:border-box;padding:0 12px;border-radius:var(--radius-md);font-size:15px;line-height:36px}.strategy-builder .param-group select{padding-right:28px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d6e85' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.strategy-builder .param-group select::-ms-expand{display:none}.condition-row{align-items:center}.condition-row input[type=number],.condition-row select{height:36px;box-sizing:border-box;padding:0 10px;line-height:34px;font-size:15px}.condition-row select{padding-right:26px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d6e85' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}.condition-row select::-ms-expand{display:none}.condition-actions{margin-top:14px;gap:10px}.scoring-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.scoring-item{padding:14px}.saved-strategies .saved-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);margin-bottom:8px}.saved-strategies .saved-item:hover{border-color:var(--line-strong)}.ai-chat .chat-panel{display:flex;flex-direction:column;height:calc(100vh - var(--header-height) - var(--ticker-height) - 40px);min-height:480px}.ai-chat .chat-messages{flex:1;overflow-y:auto;padding:16px 18px;scroll-behavior:smooth}.ai-chat .chat-msg{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start}.ai-chat .msg-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-elevated);border:1px solid var(--line-default)}.ai-chat .msg-avatar img{width:100%;height:100%;object-fit:cover}.ai-chat .msg-content{max-width:calc(100% - 60px);padding:12px 16px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--line-default);line-height:1.6}.ai-chat .msg-user .msg-content{margin-left:auto;background:var(--accent-soft);border-color:var(--line-accent)}.ai-chat .msg-thinking{color:var(--text-muted);font-style:italic}.ai-chat .chat-quick{padding:12px 18px;border-top:1px solid var(--line-faint);display:flex;flex-wrap:wrap;gap:8px}.ai-chat .chat-input-row{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--line-faint)}.ai-chat .chat-input-row input{flex:1;padding:11px 14px;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px}.ai-chat .chat-input-row input:focus{border-color:var(--accent);box-shadow:none !important;}.ai-chat .chat-input-row{position:relative}.chat-focus-suggest

.lx-daily-picks{border:1px solid var(--line-default);border-radius:12px;background:var(--bg-elevated);margin:14px 18px 0;padding:18px 20px}
.lx-daily-picks .dp-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line-faint)}
.lx-daily-picks .dp-title-wrap{display:flex;align-items:center;gap:10px}
.lx-daily-picks .dp-title{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:.2px}
.lx-daily-picks .dp-badge{font-size:12px;line-height:1;padding:4px 8px;border-radius:10px;border:1px solid var(--accent);color:var(--accent);background:var(--accent-soft)}
.lx-daily-picks .dp-summary{flex:1;min-width:220px;font-size:13px;color:var(--text-secondary);line-height:1.5}
.lx-daily-picks .dp-more{font-size:13px;color:var(--accent);background:none;border:none;cursor:pointer;padding:6px 10px;border-radius:8px}
.lx-daily-picks .dp-more:hover{background:var(--accent-soft)}
.lx-daily-picks .dp-list{display:flex;flex-direction:column}
.lx-daily-picks .dp-item{display:grid;grid-template-columns:24px minmax(80px,1fr) 74px 64px 40px 74px 52px minmax(140px,1.5fr);align-items:center;gap:10px;padding:12px 6px;border-bottom:1px solid var(--line-faint);cursor:pointer;transition:background .15s}
.lx-daily-picks .dp-item:last-child{border-bottom:none}
.lx-daily-picks .dp-item:hover{background:var(--accent-soft)}
.lx-daily-picks .dp-rank{font-size:15px;font-weight:700;color:var(--accent);text-align:center}
.lx-daily-picks .dp-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lx-daily-picks .dp-code{font-size:12px;color:var(--text-tertiary,#7a8aa5)}
.lx-daily-picks .dp-chg{font-size:13px;font-weight:600;text-align:right}
.lx-daily-picks .dp-chg.up{color:var(--up,#f0483e)}
.lx-daily-picks .dp-chg.down{color:var(--down,#22d86e)}
.lx-daily-picks .dp-score{font-size:13px;font-weight:700;color:var(--accent);text-align:right}
.lx-daily-picks .dp-score::after{content:"分";font-size:12px;color:var(--text-tertiary);font-weight:400}
.lx-daily-picks .dp-reason{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lx-daily-picks .dp-stop{font-size:12px;color:var(--text-secondary);white-space:nowrap;text-align:right}
.lx-daily-picks .dp-pos{font-size:12px;font-weight:600;color:var(--text-primary);text-align:right;white-space:nowrap}
.lx-daily-picks .dp-record{display:flex;align-items:center;gap:16px;padding:10px 6px 2px;font-size:12px;border-top:1px solid var(--line-faint);margin-top:2px}
.lx-daily-picks .dp-rec-label{color:var(--text-tertiary,#7a8aa5)}
.lx-daily-picks .dp-rec-hr{font-weight:700}
.lx-daily-picks .dp-rec-hr.good{color:var(--up,#f0483e)}
.lx-daily-picks .dp-rec-hr.bad{color:var(--down,#22d86e)}
.lx-daily-picks .dp-rec-ar{color:var(--text-secondary)}
@media (max-width:900px){
  .lx-daily-picks{margin:10px 10px 0;padding:14px}
  .lx-daily-picks .dp-item{grid-template-columns:20px minmax(70px,1fr) 60px 30px 40px;gap:8px}
  .lx-daily-picks .dp-reason{display:none}
  .lx-daily-picks .dp-code{display:none}
  .lx-daily-picks .dp-stop{display:none}
  .lx-daily-picks .dp-record{flex-wrap:wrap;gap:10px}
  .lx-daily-picks .dp-summary{min-width:100%;order:3}
  .lx-daily-picks .dp-more{margin-left:auto}
}{position:absolute;left:0;right:0;bottom:calc(100% + 6px);max-height:320px;overflow-y:auto;background:var(--bg-panel,#0f1424);border:1px solid var(--line-default);border-radius:var(--radius-md,10px);box-shadow:none !important;padding:8px;z-index:30;animation:cfsIn .15s ease-out}.chat-focus-suggest[hidden]{display:none}.chat-focus-suggest .cfs-title{font-size:12px;color:var(--text-secondary);padding:6px 10px 4px;font-weight:600}.chat-focus-suggest .cfs-section{font-size:12px;color:var(--text-tertiary,#7a8aa5);padding:6px 10px 2px;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.chat-focus-suggest .cfs-list{display:flex;flex-direction:column;gap:2px}.chat-focus-suggest .cfs-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;color:var(--text-primary);font-size:13px;line-height:1.4;width:100%}.chat-focus-suggest .cfs-item:hover,.chat-focus-suggest .cfs-item.active{background:var(--accent-soft,rgba(90,140,255,.12));color:var(--accent)}.chat-focus-suggest .cfs-icon{font-size:14px;flex:0 0 auto;width:20px;text-align:center}.chat-focus-suggest .cfs-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-focus-suggest .cfs-hint{font-size:12px;color:var(--text-tertiary,#7a8aa5);padding:6px 10px 2px;border-top:1px solid var(--line-faint);margin-top:4px}@keyframes cfsIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ai-chat .btn-send{width:42px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent);color:var(--c-white)}.ai-chat .btn-send.sending{opacity:.6;pointer-events:none}.ai-chat .btn-voice{background:0 0;color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}.ai-chat .btn-voice:hover{color:var(--accent);border-color:var(--accent);box-shadow:none !important;}.ai-chat .btn-voice:active{transform:scale(.95)}.ai-chat .btn-voice.recording{border-color:var(--danger);color:var(--danger);animation:none}.ai-chat .btn-voice .icon{width:25px;height:25px;pointer-events:none}@keyframes voice-pulse{0%,100%{box-shadow:none !important;}50%{box-shadow:none !important;}}.welcome-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:6px 0 16px 50px;max-width:calc(100% - 50px);animation:.5s ease-out both welcome-cards-in}@keyframes welcome-cards-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.welcome-card{position:relative;display:flex;align-items:center;gap:14px;padding:16px;text-align:left;background:#0e1422;border:1px solid var(--line-default);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;transition:transform .25s cubic-bezier(.34, 1.56, .64, 1),border-color .2s,box-shadow .2s,background .2s;animation:.45s ease-out both welcome-card-in;animation-delay:calc(var(--wc-index, 0) * 90ms);color:var(--text-primary);-webkit-tap-highlight-color:transparent}@keyframes welcome-card-in{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-card:hover{transform:translateY(-3px) scale(1.01);border-color:var(--accent);box-shadow:none !important;}.welcome-card:active{transform:translateY(-1px) scale(.985)}.welcome-card:focus-visible{outline:0;box-shadow:none !important;border-color:var(--accent)}.welcome-card-glow{position:absolute;inset:0;opacity:0;background:#4f8df7;transition:opacity .3s;pointer-events:none}.welcome-card:hover .welcome-card-glow{opacity:1}.welcome-card-icon{width:42px;height:42px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent);transition:transform .3s,background .3s}.welcome-card-icon .icon{width:31px;height:31px}.welcome-card:hover .welcome-card-icon{transform:scale(1.08) rotate(-3deg);background:rgba(56,189,248,.22)}.welcome-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.welcome-card-title{font-size:15px;font-weight:600;line-height:1.35}.welcome-card-desc{font-size:15px;color:var(--text-secondary);line-height:1.45}.welcome-card-arrow{width:24px;height:24px;flex-shrink:0;color:var(--text-muted);transition:transform .25s,color .2s}.welcome-card-arrow .icon{width:25px;height:25px}.welcome-card:hover .welcome-card-arrow{transform:translateX(3px);color:var(--accent)}.welcome-card-ripple{position:absolute;border-radius:50%;background:rgba(56,189,248,.35);transform:scale(0);animation:.55s linear welcome-ripple;pointer-events:none}@keyframes welcome-ripple{to{transform:scale(4);opacity:0}}@media (max-width:768px){.welcome-cards{grid-template-columns:1fr;margin-left:44px;max-width:calc(100% - 44px);gap:10px}.welcome-card{padding:14px}.welcome-card-icon{width:38px;height:38px}.welcome-card-icon .icon{width:28px;height:28px}.welcome-card-title{font-size:15px}.welcome-card-desc{font-size:15px}}@media (prefers-reduced-motion:reduce){.ai-chat .btn-voice.recording{animation:none}.welcome-card,.welcome-card-arrow,.welcome-card-icon,.welcome-cards{animation:none;transition:none}.welcome-card:hover{transform:none}}.bigscreen-grid,.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.heatmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.heatmap-cell{padding:16px;border-radius:var(--radius-md);text-align:center;font-weight:700}.heatmap-cell:hover{transform:translateY(-2px)}@media (max-width:1200px){.bigscreen-grid,.dashboard-grid{grid-template-columns:1fr}.stock-header{grid-template-columns:auto 1fr auto}.stock-price-block{grid-column:2}.stock-actions{grid-column:3}}@media (max-width:768px){.stock-indicators-grid,.stock-info-grid{grid-template-columns:repeat(2,1fr)}.stock-header{grid-template-columns:1fr auto;gap:12px}.stock-price-block{align-items:flex-start}.scanner .filter-panel{grid-template-columns:1fr 1fr}.scanner .filter-actions{grid-column:1/-1}.strategy-builder{grid-template-columns:1fr}.strategy-builder>.panel:first-child{grid-column:1}.strategy-builder .strategy-name-row{grid-template-columns:1fr;gap:6px}.strategy-builder .strategy-name-wrap{flex-direction:column;align-items:stretch;gap:8px}.strategy-builder .strategy-name-wrap select{width:100%}.backtest-lab .param-form{grid-template-columns:1fr}}@media (max-width:480px){.scanner .filter-panel{grid-template-columns:1fr}.stock-indicators-grid,.stock-info-grid{grid-template-columns:repeat(2,1fr);gap:8px}.indicator-cell,.info-cell{padding:10px;min-height:60px}}.btn,.btn-icon,.card,.heatmap-cell,.index-card,.indicator-cell,.info-cell,.nav-item,.panel,.quick-entry,.search-result,.table-row{transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s,opacity .18s}.panel:hover{border-color:var(--line-strong);box-shadow:none !important;}.panel-header .title{transition:color .2s}.panel:hover .panel-header .title{color:var(--accent-2)}.nav-item{overflow:hidden}.nav-item.active::before{content:'';transform:translateY(-50%);height:60%;background:var(--accent-gradient);box-shadow:none !important;}.nav-item.active{background:#4f8df7}.nav-item:hover:not(.active){background:var(--bg-hover)}.table-row{cursor:pointer}.table-row:hover{background:var(--bg-hover)}.table-row:hover .table-name{color:var(--accent-2)}.index-card{position:relative;overflow:hidden;cursor:pointer}.index-card::after{content:'';position:absolute;inset:0;background:#0e1422;pointer-events:none}.index-card:hover{transform:translateY(-3px);box-shadow:none !important;}.index-card.up:hover{border-color:rgba(255,59,59,.3)}.index-card.down:hover{border-color:rgba(0,200,83,.3)}.quick-entry{cursor:pointer;position:relative;overflow:hidden}.quick-entry:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:none !important;}.quick-entry:hover .icon-wrap{color:var(--accent-2);transform:scale(1.15)}.quick-entry .icon-wrap{transition:color .2s,transform .2s}.search-results{position:absolute;top:calc(100% + 6px);left:auto;right:0;min-width:280px;width:max-content;max-width:min(420px, calc(100vw - 24px));max-height:320px;overflow-y:auto;background:var(--bg-glass-strong);border:1px solid var(--line-strong);border-radius:var(--radius-lg);z-index:var(--z-dropdown);box-shadow:none !important;padding:6px 0}.search-result{display:flex;align-items:center;gap:12px;padding:8px 14px;white-space:nowrap;cursor:pointer;border-bottom:1px solid var(--line-faint);font-size:12px;line-height:1.4;transition:background .15s}.search-result:hover{background:var(--accent-soft)}.search-result:hover .search-result-name{color:var(--accent-2)}.search-result-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-primary);font-size:12px}.search-result-code{flex:0 0 auto;white-space:nowrap;font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.search-result-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:15px}.bottom-nav-item{cursor:pointer;transition:color .2s,transform .2s}.bottom-nav-item.active{color:var(--accent-2)}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-item .icon{transition:transform .2s}.bottom-nav-item.active .icon{filter:none !important;transform:scale(1.15)}.ticker:hover .ticker-track{animation:none}.ticker-name{font-size:15px;color:var(--text-secondary);margin-right:6px}.ticker-value{font-size:15px;font-weight:700;margin-right:6px}.ticker-change{font-family:var(--font-mono);font-size:15px;font-weight:700}.ai-chat .model-select{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:7px 10px;color:var(--text-primary);font-size:13px;cursor:pointer;max-width:180px}.ai-chat .model-select:focus{border-color:var(--accent);box-shadow:none !important;outline:0}.ai-chat .btn-clear{background:0 0;border:1px solid var(--line-default);border-radius:var(--radius-md);padding:7px;color:var(--text-muted);cursor:pointer;transition:.2s}.ai-chat .btn-clear:hover{border-color:var(--up);color:var(--up);background:var(--up-soft)}.user-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--bg-glass-strong);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:none !important;padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:500}.user-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.user-menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:15px;cursor:pointer;transition:background .15s,color .15s}.user-menu-item:hover{background:var(--accent-soft);color:var(--accent-2)}.user-menu-item .icon{width:22.5px;height:22.5px}.user-menu-header{padding:8px 12px}.user-menu-header .name{font-size:15px;font-weight:700;color:var(--text-primary)}.user-menu-header .role{font-size:15px;color:var(--text-muted);margin-top:2px}.user-menu-divider{height:1px;background:var(--line-faint);margin:4px 0}.sidebar-section .sidebar-section-title{cursor:pointer;user-select:none;transition:color .2s,background .2s;border-radius:var(--radius-md);margin:0 8px;padding:9px 12px 8px}.sidebar-section .sidebar-section-title:hover{color:var(--accent-2);background:var(--bg-hover)}.sidebar-section .sidebar-section-title:active{background:var(--bg-active)}.sidebar-section-arrow{transition:transform .25s cubic-bezier(.4,0,.2,1);width:14px;height:14px;flex-shrink:0;opacity:.6}.sidebar-section-title:hover .sidebar-section-arrow{opacity:1}.sidebar-section.collapsed .sidebar-section-arrow{transform:rotate(-90deg)}.sidebar-section.collapsed .sidebar-section-body{max-height:0;opacity:0;padding-top:0}.form-control,.form-select,input[type=number],input[type=text],select{transition:border-color .2s,box-shadow .2s,background .2s}.form-control:focus,.form-select:focus,input:focus,select:focus{outline:0}.toast{padding:12px 18px;border-radius:var(--radius-md);font-size:15px;font-weight:600;box-shadow:none !important;pointer-events:auto;animation:.3s toast-in,.3s 2.7s forwards toast-out;max-width:360px}.toast.success{background:rgba(0,200,83,.15);border:1px solid rgba(0,200,83,.3);color:var(--down-bright)}.toast.error{background:rgba(255,59,59,.15);border:1px solid rgba(255,59,59,.3);color:var(--up-bright)}.toast.info{background:var(--accent-soft);border:1px solid var(--line-accent);color:var(--accent-2)}@keyframes toast-in{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes toast-out{to{opacity:0;transform:translateX(40px)}}.chat-messages::-webkit-scrollbar,.search-results::-webkit-scrollbar,.user-menu::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb,.search-results::-webkit-scrollbar-thumb,.user-menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover,.search-results::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.4)}@media (max-width:1024px){.toast-container{bottom:72px;right:12px}.ai-chat .model-select{max-width:140px}}@media (max-width:480px){.toast-container{left:12px;right:12px;bottom:72px}.toast{max-width:100%}.ai-chat .chat-panel{height:calc(100vh - 120px)}.panel-header{min-height:44px;padding:10px 14px}.panel-header .title{font-size:18px}.stock-price{font-size:32px}.stock-name{font-size:18px}}.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:16px;color:var(--text-muted)}.chart-loading p{font-size:15px;margin:0}.chart-error{display:flex;align-items:center;justify-content:center;padding:48px}.chart-error .empty{padding:20px}.chart-error h4{font-size:18px;margin-bottom:12px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background .2s;position:relative}.sidebar-user:hover{background:var(--bg-hover)}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:15px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:15px;color:var(--text-muted)}.sidebar-user-settings{flex-shrink:0;opacity:.6;transition:opacity .2s}.sidebar-user:hover .sidebar-user-settings{opacity:1}.market-status{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:15px;border-bottom:1px solid var(--line-faint)}.market-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.market-status.open .market-status-dot{background:var(--up);box-shadow:none !important;animation:none}.market-status.lunch .market-status-dot{background:var(--warn);box-shadow:none !important;}.market-status.closed .market-status-dot{background:var(--flat)}.market-status-text{font-weight:600;color:var(--text-secondary)}.market-status-meta{margin-left:auto;display:flex;gap:8px}.market-status-session{font-size:15px;color:var(--text-muted)}.market-status-time{font-variant-numeric:tabular-nums;font-size:15px;color:var(--text-muted);font-family:var(--font-mono)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-up{color:var(--up)}.text-down{color:var(--down)}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--flat)}.up-glow{text-shadow:none !important;}.down-glow{text-shadow:none !important;}.w-full{width:100%}.no-wrap{white-space:nowrap}.cursor-pointer{cursor:pointer}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.template-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--line-default);cursor:pointer;transition:all .2s var(--ease-out);position:relative;overflow:hidden}.template-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transition:transform .25s var(--ease-out)}.template-card:hover{background:var(--bg-hover);border-color:var(--accent);transform:translateY(-2px);box-shadow:none !important;}.template-card:hover::before{transform:scaleY(1)}.template-card:active{transform:translateY(0)}.template-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:rgba(90,140,255,.12);color:var(--accent);flex-shrink:0}.template-icon .icon{width:31px;height:31px}.template-info{flex:1;min-width:0}.template-name{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.template-desc{font-size:15px;color:var(--text-muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-intro{margin-bottom:16px;padding:10px 14px;border-radius:var(--radius-sm);background:rgba(90,140,255,.06);border-left:3px solid var(--accent)}.bt-intro p{font-size:15px;color:var(--text-secondary);margin:0}.bt-info-bar{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px;margin-bottom:16px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--line-faint)}.bt-info-item{font-size:15px;color:var(--text-secondary)}.bt-info-item strong{color:var(--text-primary);margin-right:4px}.strategy-desc-bar{margin-top:12px;padding:10px 14px;font-size:15px;color:var(--text-muted);background:var(--bg-elevated);border-radius:var(--radius-sm);border-left:3px solid var(--accent-2)}.condition-row{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--line-faint);transition:border-color .2s}.condition-row:hover{border-color:var(--accent)}.cond-num{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(90,140,255,.15);color:var(--accent);font-size:15px;font-weight:700;flex-shrink:0}.cond-unit{font-size:15px;color:var(--text-muted);min-width:20px}.sel-indicator,.sel-operator{min-width:110px}.cross-label{font-size:15px;color:var(--text-muted);white-space:nowrap}.input-sm{width:70px}.logic-row{display:flex;align-items:center;gap:16px;margin-bottom:12px;padding:8px 0}.logic-label{font-size:15px;color:var(--text-secondary);font-weight:600}.logic-option{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--text-secondary);cursor:pointer}.panel-hint{font-size:15px;margin-left:8px}.scanner .filter-panel{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;align-items:stretch}.scanner .filter-group{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-width:0}.scanner .filter-group .form-label{font-size:15px;font-weight:600;color:var(--text-secondary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scanner .filter-group .form-control,.scanner .filter-group .form-select{width:100%;height:40px;min-height:40px;padding:0 12px;line-height:38px;font-size:15px;box-sizing:border-box;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--line-default);color:var(--text-primary)}.scanner .filter-group .form-select{padding-right:28px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d6e85' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.scanner .filter-group .form-control:focus,.scanner .filter-group .form-select:focus{border-color:var(--accent);box-shadow:none !important;background:var(--bg-hover);outline:0}.scanner .filter-actions{display:flex;align-items:flex-end;gap:10px;grid-column:1/-1;justify-content:flex-start;padding-top:2px}.scanner .filter-actions .btn{height:40px;padding:0 18px;font-size:15px;font-weight:600;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:6px}.table-scanner td,.table-scanner th{vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-wx-share{color:var(--wechat-green);position:relative}.btn-wx-share:hover{color:var(--green-bright);background:rgba(7,193,96,.1)}.btn-wx-share .icon{width:28px;height:28px}.wx-section .nav-item{color:var(--wechat-green)}.wx-section .nav-item:hover{background:rgba(7,193,96,.08);color:var(--green-bright)}.wx-section .nav-item svg{color:var(--wechat-green)}.wx-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:10001;display:flex;align-items:center;justify-content:center;padding:20px}.wx-modal{background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);max-width:360px;width:100%;padding:22px;text-align:center;box-shadow:none !important;}.wx-modal-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:6px;display:flex;align-items:center;justify-content:center;gap:8px}.wx-modal-title svg{color:var(--wechat-green)}.wx-modal-desc{font-size:15px;color:var(--text-muted);margin-bottom:18px}.wx-qr-wrap{width:160px;height:160px;margin:0 auto 16px;background:var(--c-white);border-radius:var(--radius-md);padding:10px;display:flex;align-items:center;justify-content:center}.wx-qr-wrap img{width:140px;height:140px;border-radius:4px}.wx-modal-hint{font-size:15px;color:var(--text-secondary);margin-bottom:18px}.wx-modal-actions{display:flex;flex-direction:column;gap:10px}.wx-modal-actions .btn{width:100%;justify-content:center}.fab-wx{position:fixed;right:22px;bottom:92px;width:48px;height:48px;border-radius:50%;background:var(--wechat-green);color:var(--c-white);display:flex;align-items:center;justify-content:center;box-shadow:none !important;cursor:pointer;z-index:var(--z-fab);transition:transform .2s,box-shadow .2s}.fab-wx:hover{transform:translateY(-2px);box-shadow:none !important;}.fab-wx .icon{width:24px;height:24px}.panel-header .btn-back{margin-right:8px;color:var(--text-secondary)}.panel-header .btn-back:hover{color:var(--text-primary);background:var(--bg-hover)}@media (max-width:768px){.scanner .filter-panel{grid-template-columns:1fr 1fr}.fab-wx{right:16px;bottom:82px}}.btn-load-more:focus-visible,.btn-star:focus-visible,.btn-tab:focus-visible,.btn:focus-visible,.factor-select:focus,.form-control:focus,.form-select:focus,.model-select:focus,.sort-select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent);box-shadow:none !important;}.form-control:hover,.form-select:hover{border-color:var(--text-muted)}.table tbody tr{transition:background-color .15s;transition:background var(--dur-fast) var(--ease-smooth)}.confirm-modal,.settings-modal,.share-panel-overlay,.trade-modal{outline:0}.empty{text-align:center;padding:32px 16px;color:var(--text-muted)}.empty .icon,.empty svg{opacity:.4;margin-bottom:8px}.empty p{margin:4px 0}.empty .text-muted{font-size:15px;opacity:.7}.btn:active:not(:disabled){transform:scale(.97)}.form-control::placeholder{color:var(--text-muted);opacity:.6}.col-amount,.col-change,.col-num,.col-pct,.col-price,.col-volume{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.right-sidebar{width:280px;flex-shrink:0;border-left:1px solid var(--line-strong);background:#0e1422;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column;gap:12px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(168,182,201,0.35) transparent}.right-sidebar::-webkit-scrollbar{width:6px}.right-sidebar::-webkit-scrollbar-track{background:0 0}.right-sidebar::-webkit-scrollbar-thumb{background:rgba(168,182,201,.35);border-radius:3px;transition:background .15s}.right-sidebar::-webkit-scrollbar-thumb:hover{background:rgba(168,182,201,.55)}.rs-section{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);overflow:hidden}.rs-header{font-size:15px;font-weight:700;color:var(--text-secondary);padding:10px 14px;border-bottom:1px solid var(--line-default);display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px};cursor:default.rs-header.is-clickable{cursor:pointer;user-select:none;transition:color .15s,background .15s}.rs-header.is-clickable:hover{color:var(--text-primary);background:rgba(255,255,255,.04)}.rs-header.is-clickable::after{content:"\203A";margin-left:auto;font-weight:700;color:var(--accent);opacity:.65;transition:transform .15s,opacity .15s}.rs-header.is-clickable:hover::after{transform:translateX(2px);opacity:1}.rs-body{padding:8px 0}.rs-index-item{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;cursor:pointer;transition:background .15s}.rs-index-item:hover{background:var(--bg-hover)}.rs-index-name{font-size:15px;color:var(--text-secondary);font-weight:500}.rs-index-value{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.rs-index-pct{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-mono);min-width:50px;text-align:right}.rs-watch-item{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;cursor:pointer;transition:background .15s}.rs-watch-item:hover{background:var(--bg-hover)}.rs-watch-name{font-size:15px;color:var(--text-primary);font-weight:500}.rs-watch-code{font-size:15px;color:var(--text-muted)}.rs-watch-price{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.rs-watch-pct{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-mono);min-width:45px;text-align:right}.rs-empty{padding:20px 14px;text-align:center;font-size:15px;color:var(--text-muted)}.rs-loading{padding:16px 14px;text-align:center}.rs-loading .spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--line-default);border-top-color:var(--accent);border-radius:50%;animation:.8s linear infinite spin}.rs-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 12px}.rs-quick-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;font-size:15px;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--line-default);border-radius:8px;cursor:pointer;transition:.15s}.rs-quick-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-hover)}.rs-quick-btn .icon{width:25px;height:25px}@media (max-width:1280px){.right-sidebar{display:none}}@media (min-width:1281px){.right-sidebar{display:flex}}.quick-trade-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px}.quick-trade-bar .btn-buy-quick,.quick-trade-bar .btn-sell-quick{padding:8px 18px;font-size:15px;font-weight:600;border-radius:8px;border-width:1px}.quick-trade-sep{width:1px;height:24px;background:var(--line-default);margin:0 4px}.quick-hot-list{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.trade-modal .form-group label{font-size:15px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;display:block}.trade-modal .form-group input[type=number],.trade-modal .form-group input[type=text]{width:100%;box-sizing:border-box;height:38px;background:var(--bg-card);border:1px solid var(--line-default);border-radius:8px;padding:0 12px;font-size:15px;color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.trade-modal .form-group input:focus{border-color:var(--accent);box-shadow:none !important;outline:0}.trade-modal .btn-submit-trade{width:100%;padding:12px;font-size:15px;font-weight:700;border-radius:8px;border:none;cursor:pointer;background:var(--accent-gradient);color:var(--c-white);transition:.2s}.trade-modal .btn-submit-trade:hover{filter:none !important;transform:translateY(-1px)}.trade-modal .btn-submit-trade:active{transform:translateY(0)}.confirm-message strong{color:var(--up)}.risk-panel-body{padding:16px 20px}.risk-presets{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.risk-preset-btn{padding:6px 16px;font-size:15px;font-weight:600;border-radius:20px;border:1px solid var(--line-default);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:.2s}.risk-preset-btn:hover{border-color:var(--accent);color:var(--accent)}.risk-preset-btn.active{border-color:var(--accent);background:var(--accent-gradient);color:var(--c-white)}.risk-preset-btn.preset-conservative.active{background:#4f8df7}.risk-preset-btn.preset-moderate.active{background:#4f8df7}.risk-preset-btn.preset-aggressive.active{background:#4f8df7}.risk-params-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.risk-param-item{background:var(--bg-card);border:1px solid var(--line-default);border-radius:10px;padding:12px 14px}.risk-param-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.risk-param-header label{font-size:15px;font-weight:600;color:var(--text-primary)}.risk-param-value{font-size:15px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.risk-param-slider{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:var(--line-default);border-radius:2px;outline:0;margin:4px 0}.risk-param-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-card)}.risk-param-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-card)}.risk-param-desc{font-size:15px;margin-top:6px;line-height:1.4}.risk-tip{margin-top:12px;padding:8px 12px;background:var(--bg-hover);border-radius:8px;font-size:15px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.risk-tip .icon{width:19.5px;height:19.5px;flex-shrink:0}.stock-analysis-card{margin:12px 0;background:var(--bg-card);border:1px solid var(--line-default);border-radius:12px;padding:14px 16px;animation:.3s fadeIn}.sa-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.sa-name{font-size:18px;font-weight:700;color:var(--text-primary)}.sa-code{font-size:15px;color:var(--text-muted);background:var(--bg-hover);padding:2px 8px;border-radius:4px}.sa-price{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto}.sa-pct{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.sa-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}.sa-metric-item{display:flex;flex-direction:column;gap:2px}.sa-metric-label{font-size:15px;color:var(--text-muted)}.sa-metric-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.sa-advice{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:15px;line-height:1.5}.sa-advice-tag{padding:2px 10px;border-radius:12px;font-size:15px;font-weight:700;white-space:nowrap}.advice-bullish{background:rgba(220,53,69,.12)}.advice-bullish .sa-advice-tag{background:var(--up);color:var(--c-white)}.advice-slight-bull{background:rgba(255,193,7,.1)}.advice-slight-bull .sa-advice-tag{background:var(--gold);color:#000}.advice-neutral{background:var(--bg-hover)}.advice-neutral .sa-advice-tag{background:var(--text-muted);color:var(--c-white)}.advice-bearish{background:rgba(25,135,84,.12)}.advice-bearish .sa-advice-tag{background:var(--down);color:var(--c-white)}.sa-error,.sa-loading{padding:20px;text-align:center;color:var(--text-muted);font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px}.sa-loading .icon{animation:1s linear infinite spin;width:22.5px;height:22.5px}.test-grade-row{margin-bottom:16px}.test-grade{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:12px;background:var(--bg-card);border:1px solid var(--line-default)}.grade-letter{font-size:36px;font-weight:900;line-height:1}.grade-desc{font-size:15px;font-weight:600;color:var(--text-primary)}.grade-score{font-size:15px;color:var(--text-muted);margin-left:auto}.grade-a{border-color:rgba(220,53,69,.4);background:rgba(220,53,69,.08)}.grade-a .grade-letter{color:var(--up)}.grade-b{border-color:rgba(255,193,7,.4);background:rgba(255,193,7,.08)}.grade-b .grade-letter{color:var(--gold)}.grade-c{border-color:var(--line-default)}.grade-c .grade-letter{color:var(--text-muted)}.grade-d{border-color:rgba(25,135,84,.3);background:rgba(25,135,84,.05)}.grade-d .grade-letter{color:var(--down)}.risk-summary{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px;padding:8px 14px;background:var(--bg-hover);border-radius:8px}.rs-item{font-size:15px;color:var(--text-secondary);padding:2px 8px;background:var(--bg-card);border-radius:4px}.scoring-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.scoring-desc{font-size:15px;margin-top:4px;line-height:1.4}.frozen-tag{display:inline-flex;align-items:center;gap:2px;font-size:15px;padding:1px 6px;border-radius:3px;background:rgba(255,193,7,.15);color:var(--gold);white-space:nowrap;animation:none;will-change:opacity}.frozen-tag .icon{width:14px;height:14px}td.frozen{color:var(--text-muted)}.trade-info-limits{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.limit-tag{font-size:15px;padding:2px 8px;border-radius:4px;background:var(--bg-hover);color:var(--text-secondary);font-variant-numeric:tabular-nums}.limit-tag.up{color:var(--up)}.limit-tag.down{color:var(--down)}.order-type-group{display:flex;gap:8px}.btn-otype{flex:1;padding:8px 12px;font-size:15px;font-weight:600;border-radius:8px;border:1px solid var(--line-default);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:.2s;text-align:center}.btn-otype:hover{border-color:var(--accent)}.btn-otype.active{border-color:var(--accent);background:rgba(90,140,255,.15);color:var(--accent)}.price-shortcuts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.price-shortcuts .btn{flex:1 1 auto;min-width:70px;padding:6px 10px;font-size:15px;font-weight:600;border-radius:6px;border:1px solid var(--line-default);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:.2s;text-align:center}.price-shortcuts .btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(90,140,255,.08)}.price-shortcuts .btn-price-upper:hover{border-color:var(--up);color:var(--up);background:rgba(239,68,68,.08)}.price-shortcuts .btn-price-lower:hover{border-color:var(--down);color:var(--down);background:rgba(34,197,94,.08)}.qty-shortcuts{display:flex;gap:6px;margin-top:6px}.qty-shortcuts .btn{flex:0 0 auto}.risk-tag{display:inline-block;font-size:15px;padding:1px 6px;border-radius:3px;margin-left:4px;white-space:nowrap}.risk-high{background:rgba(220,53,69,.15);color:var(--up);animation:none;will-change:box-shadow}.risk-medium{background:rgba(255,193,7,.15);color:var(--gold)}.pt-stats-panel .stat-cards{gap:10px}.pt-stats-panel .stat-card{min-width:0}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.risk-params-row{grid-template-columns:repeat(2,1fr)}.sa-metrics{grid-template-columns:repeat(3,1fr)}.test-grade{flex-wrap:wrap}.grade-score{margin-left:0;width:100%}.risk-summary,.rs-item{font-size:15px}.order-type-group{flex-direction:row}.qty-shortcuts{flex-wrap:wrap}.bottom-nav-item,.btn,.btn-icon,.btn-otype,.chat-quick button,.qty-shortcuts .btn,.quick-entry,.risk-preset-btn,.scanner .btn-star,.tab,.watchlist .btn-icon{min-height:61.5px;min-width:61.5px}.chat-quick button{padding:8px 16px;font-size:15px}.tab{padding:12px 14px;font-size:15px}.btn{padding:10px 16px;font-size:15px}.btn-icon{padding:10px}.form-control,.form-select{height:44px;line-height:42px;font-size:15px}.form-label{font-size:15px;margin-bottom:6px}}@media (max-width:480px){.risk-params-row,.scanner .filter-panel{grid-template-columns:1fr}.sa-metrics{grid-template-columns:repeat(2,1fr)}.risk-presets{flex-direction:column}.risk-preset-btn{width:100%;text-align:center}}@media (max-width:768px){.table-wrap-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md)}.table-wrap-scroll .table{min-width:600px}.table-wrap-scroll .table thead{display:table-header-group}.table-wrap-scroll .table,.table-wrap-scroll .table tbody,.table-wrap-scroll .table td,.table-wrap-scroll .table tr{display:revert;width:auto}.table-wrap-scroll .table tr{background:0 0;border:none;border-radius:0;padding:0;margin:0}.table-wrap-scroll .table td{display:table-cell;border:none;padding:8px 10px;border-bottom:1px solid var(--line-faint)}.table-wrap-scroll .table td::before{content:none}.strategy-builder .sa-metrics{grid-template-columns:repeat(2,1fr);gap:8px}.strategy-builder .sa-metric{padding:8px}.strategy-builder .sa-metric .sa-label{font-size:15px}.strategy-builder .sa-metric .sa-value{font-size:15px}.strategy-builder .condition-row{flex-direction:column;gap:6px}.strategy-builder .condition-row>*{width:100%}.strategy-builder .scoring-grid{grid-template-columns:1fr;gap:10px}.strategy-builder .scoring-item{padding:10px}.strategy-builder .risk-params-row{grid-template-columns:repeat(2,1fr);gap:8px}.strategy-builder .risk-param{padding:8px}.strategy-builder .risk-param label{font-size:15px}.strategy-builder .risk-param input[type=range]{width:100%;height:28px}.strategy-builder .risk-param .param-value{font-size:15px}.strategy-builder .stock-analysis-card{padding:12px}.strategy-builder .stock-analysis-card .sa-header{flex-wrap:wrap;gap:6px}.strategy-builder .grade-badge{width:36px;height:36px;font-size:18px}.strategy-builder .grade-score{font-size:15px}.strategy-builder .panel-header{flex-wrap:wrap;gap:8px}.strategy-builder .panel-header .panel-actions{width:100%;justify-content:flex-end}}@media (max-width:480px){.strategy-builder .sa-metrics{grid-template-columns:1fr 1fr}.strategy-builder .risk-params-row{grid-template-columns:1fr}.strategy-builder .risk-presets{flex-direction:column}.strategy-builder .scoring-grid{gap:8px}.strategy-builder .grade-score{font-size:15px}}@media (max-width:768px){.paper-trading .pt-stats-panel .stat-cards{grid-template-columns:repeat(2,1fr);gap:8px}.paper-trading .pt-stats-panel .stat-card{padding:10px}.paper-trading .pt-stats-panel .stat-card .stat-label{font-size:15px}.paper-trading .pt-stats-panel .stat-card .stat-value{font-size:18px}.paper-trading .order-form{flex-direction:column;gap:10px}.paper-trading .order-form>*{width:100%}.paper-trading .order-type-group{flex-direction:row}.paper-trading .qty-shortcuts{flex-wrap:wrap}.paper-trading .qty-shortcuts .btn{flex:0 0 auto;min-width:56px}.paper-trading .positions-table-wrap,.paper-trading .trades-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.paper-trading .positions-table-wrap .table,.paper-trading .trades-table-wrap .table{min-width:500px}.paper-trading .account-info{flex-direction:column;gap:10px}.paper-trading .account-info .stat-cards{grid-template-columns:repeat(2,1fr)}.paper-trading .trade-info-limits{gap:6px}.paper-trading .limit-tag{font-size:15px;padding:2px 6px}.ai-chat .chat-messages{padding:10px}.ai-chat .chat-quick{padding:8px 10px;gap:6px}.ai-chat .chat-quick button{padding:6px 12px;font-size:13px}.ai-chat .chat-input-row{padding:10px;gap:8px}.ai-chat .chat-input{padding:8px 12px;font-size:13px;min-height:44px}.ai-chat .chat-input-row .btn-send{padding:8px 14px;min-width:44px;min-height:44px}.ai-chat .msg-avatar,.ai-chat .msg-avatar.ai-girl{width:32px;height:32px}.ai-chat .msg-content{max-width:calc(100% - 44px)}.ai-chat .msg-text{padding:10px 12px;font-size:13px;line-height:1.6}.ai-chat .chat-header{padding:10px 12px}.ai-chat .chat-header .chat-title{font-size:13px}.ai-chat .model-select{font-size:13px;height:36px}}@media (max-width:480px){.paper-trading .account-info .stat-cards,.paper-trading .pt-stats-panel .stat-cards{grid-template-columns:1fr}.paper-trading .order-type-group{flex-direction:column}}@media (max-width:768px){.bottom-nav{height:var(--bottom-nav-height);padding:0}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;min-height:61.5px;transition:color .2s,background .2s;border-top:2px solid transparent}.bottom-nav-item.active{border-top-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.bottom-nav-item .icon{width:31px;height:31px}.bottom-nav-item .nav-label{font-size:15px;font-weight:600}#ai-avatar-fab.fab-ai{}.fab-wx{bottom:calc(84px + env(safe-area-inset-bottom,0px));left:16px;right:auto}}.kline-touch-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-glass-strong);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:10px 16px;font-size:15px;color:var(--text-secondary);text-align:center;z-index:5;pointer-events:none;opacity:0;transition:opacity .4s;max-width:80%}.kline-touch-hint.show{opacity:1}.kline-touch-hint .icon{width:22.5px;height:22.5px;vertical-align:middle;margin-right:4px}@media (max-width:768px){.search-box{width:140px}.search-box .search-input{font-size:15px;height:40px}.autocomplete-list{max-height:200px}.autocomplete-item{padding:12px 14px;min-height:44px}.dashboard-grid{grid-template-columns:1fr;gap:12px}.dashboard-header{flex-wrap:wrap;gap:8px;padding:4px 2px 10px}.dashboard-header .dashboard-title{font-size:18px}.dashboard-header .dashboard-meta{width:100%;justify-content:flex-end}.watchlist-preview{max-height:280px;overflow-y:auto}.quick-entries{gap:6px}.quick-entry{padding:12px 2px}.quick-entry .icon-wrap{width:45px;height:45px}.quick-entry .icon{width:25px;height:25px}.quick-entry .quick-label{font-size:15px}.risk-grid{grid-template-columns:1fr 1fr;gap:8px}.risk-dashboard .resource-bar{height:8px}.risk-dashboard .resource-bar-fill{transition:width .4s var(--ease-out)}.factors-grid{grid-template-columns:1fr 1fr;gap:8px}.factors-view .correlation-heatmap{overflow-x:auto;-webkit-overflow-scrolling:touch}.factors-view .correlation-heatmap table{min-width:400px}.fund-flow .stat-cards{grid-template-columns:1fr 1fr;gap:8px}.fund-flow .fund-grid{grid-template-columns:1fr}.fund-flow .sector-flow-list{max-height:300px;overflow-y:auto}.bigscreen-grid{grid-template-columns:1fr;gap:12px}.bigscreen .heatmap-body{overflow-x:auto;-webkit-overflow-scrolling:touch}.bigscreen .sentiment-body{flex-direction:column}.backtest-lab .bt-params{grid-template-columns:1fr;gap:10px}.backtest-lab .bt-result{flex-direction:column;gap:10px}.backtest-lab .bt-chart{width:100%;min-height:200px}.backtest-lab .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.backtest-lab .table{min-width:500px}.sys-grid{grid-template-columns:1fr;gap:12px}.system-view .resource-bar{height:8px}.system-view .services-body{gap:6px}.scanner .filter-panel{grid-template-columns:1fr 1fr;gap:10px}.scanner .filter-actions{flex-direction:column;gap:8px}.scanner .filter-actions .btn{width:100%}.scanner .result-count{padding:8px 14px}.scanner .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.scanner .table{min-width:0;width:100%;table-layout:fixed}.scanner .table thead{display:table-header-group}.scanner .table tbody{display:table-row-group}.scanner .table tr{display:table-row}.scanner .table td{display:table-cell;padding:8px 10px;border-bottom:1px solid var(--line-faint)}.scanner .table td::before{content:none}.stock-header{padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.stock-name{font-size:18px}.stock-code{font-size:15px}.stock-price{font-size:32px;margin-left:0}.stock-change{font-size:15px}.stock-info-grid{grid-template-columns:1fr 1fr;gap:8px}.info-cell{padding:10px}.info-label{font-size:15px}.info-value{font-size:15px}.chart-toolbar{gap:6px}.chart-toolbar .btn{padding:6px 10px;font-size:15px}.chart-container{min-height:280px}.chart-wrapper{height:280px}kline-viewer{min-height:280px}.watchlist .add-row{margin:0 12px 10px}.watchlist .add-row .add-input{font-size:15px;height:40px}.watchlist .watchlist-body{max-height:320px;overflow-y:auto}.fab-wx{position:fixed;left:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:48px;height:48px;border-radius:50%;background:rgba(7,193,96,.9);color:var(--c-white);display:flex;align-items:center;justify-content:center;box-shadow:none !important;cursor:pointer;z-index:90;transition:transform .2s,box-shadow .2s}.fab-wx:active{transform:scale(.92)}.fab-wx .icon{width:24px;height:24px}.wx-modal-overlay{padding:20px}.wx-modal{width:100%;max-width:320px;padding:20px 16px;border-radius:var(--radius-lg)}.wx-modal-title{font-size:18px}.wx-modal-desc{font-size:15px}.wx-qr-wrap img{width:120px;height:120px}.wx-modal-actions{flex-direction:column;gap:8px}.wx-modal-actions .btn{width:100%}}.strategy-builder input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--bg-active);outline:0;cursor:pointer;transition:background .2s}.strategy-builder input[type=range]:hover{background:var(--line-strong)}.strategy-builder input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-base);cursor:pointer;transition:.2s;box-shadow:none !important;}.strategy-builder input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:none !important;}.strategy-builder input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-base);cursor:pointer;box-shadow:none !important;}.grade-badge.grade-A{background:#4f8df7;border-color:rgba(0,200,83,.5);color:var(--down-bright);box-shadow:none !important;}.grade-badge.grade-B{background:#00c853;border-color:rgba(90,140,255,.5);color:var(--accent-2);box-shadow:none !important;}.grade-badge.grade-C{background:#4f8df7;border-color:rgba(255,193,7,.5);color:var(--gold);box-shadow:none !important;}.grade-badge.grade-D{background:#0e1422;border-color:rgba(255,59,59,.5);color:var(--up-bright);box-shadow:none !important;}.pt-stats-panel .stat-card{transition:transform .25s var(--ease-out),border-color .25s,box-shadow .25s}.pt-stats-panel .stat-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:none !important;}.pt-stats-panel .stat-card .stat-value{transition:color .2s}.btn-otype.active{box-shadow:none !important;}.btn-otype:active{transform:scale(.97)}@keyframes freezePulse{0%,100%{opacity:1}50%{opacity:.7}}@keyframes riskPulse{0%,100%{box-shadow:none !important;}50%{box-shadow:none !important;}}.skeleton{opacity:.7}.skeleton:first-child{animation-delay:0s}.skeleton:nth-child(2){animation-delay:.1s}.skeleton:nth-child(3){animation-delay:.2s}.skeleton:nth-child(4){animation-delay:.3s}.skeleton:nth-child(5){animation-delay:.4s}.panel{animation:panelSlideIn .35s var(--ease-out) backwards}@keyframes panelSlideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media print{body{background:var(--c-white);color:#000}#ai-avatar-fab.fab-ai,.bottom-nav,.chat-panel,.fab-wx,.sidebar,.ticker{display:none}.panel{border:1px solid #ccc;box-shadow:none !important;page-break-inside:avoid}#ai-avatar-fab.fab-ai.ai-dock{display:none}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s;animation-iteration-count:1;transition-duration:0s}}.chat-input-row{display:flex;gap:6px;align-items:center}.btn-stop{flex-shrink:0;width:38px;height:36px;border-radius:50%;border:2px solid var(--danger);background:rgba(239,68,68,.1);color:var(--danger);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;padding:0}.btn-stop:hover{background:rgba(239,68,68,.2);transform:scale(1.05)}.btn-stop:active{transform:scale(.95)}.btn-stop.is-hidden{display:none}.btn-stop svg{width:16px;height:16px}.btn-trade-stock{color:var(--accent);position:relative}.btn-trade-stock:hover{color:var(--accent-hover);background:var(--accent-soft)}.btn-trade-stock svg{width:18px;height:18px}.advisory-container{max-width:900px;margin:0 auto;padding:12px}.advisory-header{text-align:center;margin-bottom:16px}.advisory-title{font-size:1.3rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.advisory-title svg{width:24px;height:24px;color:var(--accent)}.advisory-subtitle{font-size:12px;color:var(--text-secondary);margin-top:4px}.advisory-search-box{margin-bottom:16px}.advisory-input-row{display:flex;gap:8px;margin-bottom:4px}.advisory-input{flex:1;height:42px}.advisory-btn-analyze{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 20px;height:40px;white-space:nowrap}.advisory-btn-analyze svg{width:18px;height:18px}.advisory-content{min-height:300px}.advisory-empty{text-align:center;padding:60px 20px;color:var(--text-secondary)}.advisory-empty svg{width:48px;height:48px;opacity:.4;margin-bottom:12px}.advisory-empty p{margin:4px 0}.advisory-empty-hint{font-size:12px;opacity:.7}.advisory-loading{text-align:center;padding:60px 20px;color:var(--text-secondary)}.advisory-spinner{width:40px;height:40px;margin:0 auto 12px;border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:.8s linear infinite advisory-spin}.advisory-spinner-sm{width:16px;height:16px;display:inline-block;vertical-align:middle;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:.8s linear infinite advisory-spin}@keyframes advisory-spin{to{transform:rotate(360deg)}}.advisory-loading-hint{font-size:12px;opacity:.6;margin-top:4px}.advisory-error{text-align:center;padding:40px 20px;color:var(--danger)}.advisory-report{display:flex;flex-direction:column;gap:12px}.report-stock-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-radius:10px;background:var(--bg-glass);border:1px solid var(--line-strong)}.report-stock-bar .stock-info{display:flex;align-items:baseline;gap:8px}.report-stock-bar .stock-name{font-size:1.1rem;font-weight:700}.report-stock-bar .stock-code{font-size:12px;color:var(--text-secondary)}.report-stock-bar .stock-price-block{text-align:right}.report-stock-bar .stock-price{font-size:1.5rem;font-weight:800;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.report-stock-bar .stock-change{font-size:.95rem;margin-left:8px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.report-rating-card{display:flex;align-items:center;gap:20px;padding:20px;border-radius:12px;border:2px solid;background:var(--bg-glass)}.rating-left{text-align:center;min-width:100px}.rating-score{font-size:2.5rem;font-weight:800;line-height:1;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.rating-score-label{font-size:12px;color:var(--text-secondary);margin-top:4px}.rating-right{flex:1}.rating-stars{display:flex;gap:2px;margin-bottom:4px}.rating-stars svg{width:20px;height:20px}.rating-label{font-size:1.2rem;font-weight:700}.rating-desc{font-size:12px;color:var(--text-secondary);margin-top:4px}.report-suggestion-card{padding:16px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg-glass)}.suggestion-header{display:flex;align-items:center;gap:6px;font-weight:700;margin-bottom:12px}.suggestion-header svg{width:18px;height:18px;color:var(--accent)}.suggestion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:12px}.sg-item{text-align:center;padding:10px 8px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--line-faint)}.sg-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.sg-value{font-size:1.1rem;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sg-value small{font-size:12px;opacity:.7}.suggestion-action-row{display:flex;gap:8px;justify-content:center}.suggestion-action-row .btn{display:flex;align-items:center;gap:4px}.suggestion-action-row .btn svg{width:16px;height:16px}.report-ai-card,.report-dims-card,.report-indicators-card{padding:16px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg-glass)}.card-title{display:flex;align-items:center;gap:6px;font-weight:700;margin-bottom:12px;font-size:.95rem}.card-title svg{width:18px;height:18px;color:var(--accent)}.dims-list{display:flex;flex-direction:column;gap:10px}.dim-item{display:grid;grid-template-columns:80px 1fr 36px;grid-template-rows:auto auto;gap:2px 8px;align-items:center}.dim-header{grid-column:1;grid-row:1;display:flex;flex-direction:column}.dim-label{font-size:12px;font-weight:600}.dim-weight{font-size:12px;color:var(--text-secondary)}.dim-bar-wrap{grid-column:2;grid-row:1;height:8px;border-radius:4px;background:var(--bg-surface);overflow:hidden}.dim-bar{height:100%;border-radius:4px;transition:width .6s}.dim-score{grid-column:3;grid-row:1;text-align:right;font-weight:700;font-size:.95rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim-details{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.dim-tag{font-size:12px;padding:1px 6px;border-radius:4px;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--line-faint)}.ind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.ind-cell{text-align:center;padding:8px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--line-faint)}.ind-cell span{display:block;font-size:12px;color:var(--text-secondary)}.ind-cell b{font-size:.95rem;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ai-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);padding:12px 0}.ai-content{line-height:1.7;font-size:.9rem;padding:8px 0}.ai-fallback{line-height:1.7;font-size:.88rem;color:var(--text-secondary);padding:8px 0}.advisory-disclaimer{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px;border-radius:8px;background:var(--bg-surface);font-size:12px;color:var(--text-secondary);line-height:1.5;border:1px solid var(--line-faint)}.advisory-disclaimer svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:#eab308}.advisory-history,.advisory-hot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px}.history-label,.hot-label{color:var(--text-secondary);font-size:12px;flex-shrink:0}.history-tag,.hot-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;border:1px solid var(--line-strong);background:var(--bg-surface);color:var(--text-primary);font-size:12px;cursor:pointer;transition:.2s}.history-tag:hover,.hot-tag:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.history-clear{margin-left:auto;padding:2px 8px;border-radius:10px;border:1px solid var(--line-strong);background:0 0;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:.2s}.history-clear:hover{color:var(--danger);border-color:var(--danger)}@media (max-width:768px){.advisory-container{padding:8px}.advisory-input-row{flex-direction:column}.advisory-btn-analyze{width:100%;justify-content:center}.report-rating-card{flex-direction:column;text-align:center;gap:10px}.rating-stars{justify-content:center}.suggestion-grid{grid-template-columns:repeat(2,1fr)}.dim-item{grid-template-columns:70px 1fr 30px}}.paper-trading .pt-quick-trade-panel .panel-header .text-muted{font-family:var(--font-mono);font-size:15px;letter-spacing:.3px}.paper-trading .quick-trade-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.paper-trading .btn-buy-quick{background:#4f8df7;color:var(--c-white);font-weight:700;padding:8px 20px;border-radius:6px;display:flex;align-items:center;gap:4px;box-shadow:none !important;transition:.2s}.paper-trading .btn-buy-quick:hover{transform:translateY(-1px);box-shadow:none !important;}.paper-trading .btn-buy-quick svg{width:16px;height:16px}.paper-trading .btn-sell-quick{background:#ff3b3b;color:var(--c-white);font-weight:700;padding:8px 20px;border-radius:6px;display:flex;align-items:center;gap:4px;box-shadow:none !important;transition:.2s}.paper-trading .btn-sell-quick:hover{transform:translateY(-1px);box-shadow:none !important;}.paper-trading .btn-sell-quick svg{width:16px;height:16px}.paper-trading .quick-trade-sep{width:1px;height:24px;background:var(--line-strong);margin:0 4px}.paper-trading .pt-stats-panel .stat-card{border:1px solid var(--line-faint);background:var(--bg-surface);transition:.2s}.paper-trading .pt-stats-panel .stat-card:hover{border-color:var(--line-strong);box-shadow:none !important;}.paper-trading .pt-stats-panel .stat-card .card-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.paper-trading .trade-modal .modal-content{max-width:480px;background:var(--bg-glass-strong);border:1px solid var(--line-strong);box-shadow:none !important;}.paper-trading .trade-modal .modal-body{padding:20px}.paper-trading .trade-modal .form-group label{font-size:15px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-weight:600;margin-bottom:6px;display:block}.paper-trading .trade-modal input[type=number],.paper-trading .trade-modal input[type=text]{width:100%;height:40px;padding:0 12px;background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:6px;font-family:var(--font-mono);font-size:15px;color:var(--text-primary);transition:.15s}.paper-trading .trade-modal input[type=number]:focus,.paper-trading .trade-modal input[type=text]:focus{border-color:var(--accent);box-shadow:none !important;}.paper-trading .trade-dir-group{display:flex;gap:8px}.paper-trading .btn-dir{flex:1;height:36px;border-radius:6px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line-strong);background:var(--bg-surface);color:var(--text-secondary);transition:.15s}.paper-trading .btn-dir svg{width:16px;height:16px}.paper-trading .btn-dir-buy.active{background:#4f8df7;color:var(--c-white);border-color:var(--up);box-shadow:none !important;}.paper-trading .btn-dir-sell.active{background:#ff3b3b;color:var(--c-white);border-color:var(--down);box-shadow:none !important;}.paper-trading .order-type-group{display:flex;gap:4px;background:var(--bg-surface);border-radius:6px;padding:3px}.paper-trading .btn-otype{flex:1;height:32px;border-radius:4px;font-size:15px;color:var(--text-muted);transition:.15s}.paper-trading .btn-otype.active{background:var(--bg-active);color:var(--text-primary);font-weight:600}.paper-trading .qty-shortcuts{display:flex;gap:4px;margin-top:6px}.paper-trading .btn-qty-all,.paper-trading .btn-qty-shortcut{flex:1;height:32px;border-radius:4px;font-size:15px;background:var(--bg-surface);border:1px solid var(--line-faint);color:var(--text-secondary);transition:.15s;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.paper-trading .btn-qty-all:hover,.paper-trading .btn-qty-shortcut:hover{border-color:var(--accent);color:var(--accent)}.paper-trading .trade-info-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-surface);border-radius:6px;border:1px solid var(--line-faint)}.paper-trading .trade-info-name{font-weight:700;font-size:15px}.paper-trading .trade-info-code{font-family:var(--font-mono);font-size:15px;color:var(--text-muted)}.paper-trading .trade-info-price{font-family:var(--font-mono);font-size:18px;font-weight:700;margin-left:auto}.paper-trading .trade-info-pct{font-family:var(--font-mono);font-size:15px}.paper-trading .trade-info-limits{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.paper-trading .limit-tag{font-size:15px;padding:2px 8px;border-radius:4px;background:var(--bg-surface);border:1px solid var(--line-faint);font-family:var(--font-mono);color:var(--text-secondary)}.paper-trading .limit-tag.up{color:var(--up);border-color:var(--up-soft)}.paper-trading .limit-tag.down{color:var(--down);border-color:var(--down-soft)}.pt-quote-panel .panel-header{display:flex;align-items:center;gap:8px}.pt-quote-panel .quote-empty{text-align:center;padding:32px 24px;color:var(--text-muted)}.pt-quote-panel .quote-empty .icon{width:45px;height:45px;opacity:.4}.pt-quote-panel .quote-empty h4{margin:12px 0 4px;font-size:15px}.pt-quote-panel .quote-empty p{font-size:15px}.pt-quote-panel .quote-main{padding:16px 0}.pt-quote-panel .quote-header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--bg-surface);border-radius:8px;border:1px solid var(--line-faint);margin-bottom:12px}.pt-quote-panel .quote-stock-name{font-size:18px;font-weight:700;color:var(--text-primary)}.pt-quote-panel .quote-stock-code{font-size:15px;color:var(--text-muted);font-family:var(--font-mono)}.pt-quote-panel .quote-price{font-size:32px;font-weight:800;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.5px}.pt-quote-panel .quote-price.up{color:var(--up)}.pt-quote-panel .quote-price.down{color:var(--down)}.pt-quote-panel .quote-change{font-size:15px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pt-quote-panel .quote-change.up{color:var(--up)}.pt-quote-panel .quote-change.down{color:var(--down)}.pt-quote-panel .quote-detail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;border-radius:6px;overflow:hidden;border:1px solid var(--line-faint);margin-bottom:12px}.pt-quote-panel .quote-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--bg-surface)}.pt-quote-panel .quote-label{font-size:15px;color:var(--text-muted);font-weight:500;letter-spacing:.5px}.pt-quote-panel .quote-value{font-size:15px;color:var(--text-primary);font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pt-quote-panel .quote-value.up{color:var(--up)}.pt-quote-panel .quote-value.down{color:var(--down)}.pt-quote-panel .quote-actions{display:flex;gap:8px;padding:0 16px}.pt-quote-panel .quote-error{text-align:center;padding:32px;color:var(--text-muted);font-size:15px}@media (max-width:768px){.pt-quote-panel .quote-detail-grid{grid-template-columns:repeat(3,1fr)}.pt-quote-panel .quote-header{flex-direction:column;gap:4px}.pt-quote-panel .quote-price{font-size:24px}.pt-quote-panel .quote-actions{flex-wrap:wrap}}@media (max-width:480px){.suggestion-grid{grid-template-columns:1fr}.ind-grid,.pt-quote-panel .quote-detail-grid{grid-template-columns:repeat(2,1fr)}}.paper-trading .trade-preview{margin-top:12px;padding:12px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--line-faint)}.paper-trading .trade-preview-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.paper-trading .tp-item{display:flex;flex-direction:column;gap:2px}.paper-trading .tp-label{font-size:15px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.paper-trading .tp-value{font-size:15px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.paper-trading .tp-error .tp-value{color:var(--danger)}.paper-trading .btn-submit-trade{width:100%;height:40px;border-radius:8px;font-weight:700;font-size:15px;background:#4f8df7;color:var(--c-white);transition:.2s;box-shadow:none !important;}.paper-trading .btn-submit-trade:hover{transform:translateY(-1px);box-shadow:none !important;}.paper-trading .btn-submit-trade:active{transform:translateY(0)}.paper-trading .risk-tag{display:inline-block;font-size:15px;padding:1px 6px;border-radius:3px;margin-left:4px;font-weight:600}.paper-trading .risk-high{background:rgba(220,53,69,.2);color:#ff6b6b;border:1px solid rgba(220,53,69,.3)}.paper-trading .risk-medium{background:rgba(255,193,7,.15);color:var(--gold);border:1px solid rgba(255,193,7,.25)}.paper-trading .frozen-tag{display:inline-flex;align-items:center;gap:2px;font-size:15px;color:var(--text-muted)}.paper-trading .frozen-tag svg{width:12px;height:12px}.paper-trading .quote-warn svg{width:14px;height:14px;color:var(--gold)}.report-stock-bar .stock-price.up{color:var(--up)}.report-stock-bar .stock-price.down{color:var(--down)}.report-stock-bar .stock-price.flat{color:var(--flat)}.report-stock-bar .stock-change.up{color:var(--up)}.report-stock-bar .stock-change.down{color:var(--down)}.report-stock-bar .stock-change.flat{color:var(--flat)}.paper-trading .empty-state-pt{text-align:center;padding:40px 20px;color:var(--text-secondary)}.paper-trading .empty-state-pt .empty-icon svg{width:48px;height:48px;opacity:.3}.paper-trading .empty-state-pt h4{margin:12px 0 4px;font-size:1rem;color:var(--text-primary)}.paper-trading .empty-state-pt p{margin:0 0 16px;font-size:12px}.paper-trading .empty-state-pt .hot-label{font-size:12px;margin-bottom:8px}.paper-trading .empty-state-pt .hot-stock-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.paper-trading .btn-start-trade{background:#4f8df7;color:var(--c-white);padding:10px 28px;border-radius:8px;font-weight:700;display:inline-flex;align-items:center;gap:6px;box-shadow:none !important;transition:.2s}.paper-trading .btn-start-trade:hover{transform:translateY(-2px);box-shadow:none !important;}.paper-trading .btn-start-trade svg{width:18px;height:18px}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded{position:fixed;border-radius:20px 20px 8px 8px;background:transparent !important;background-image:none !important;border:none;display:flex;flex-direction:column;align-items:center;cursor:grab;z-index:1000;transition:width .35s cubic-bezier(.25,.8,.25,1),height .35s cubic-bezier(.25,.8,.25,1),border-radius .35s;animation:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-bg{position:absolute;border-radius:20px 20px 8px 8px;background:#0e1422;saturate(1.2);saturate(1.2);border:1px solid rgba(255,255,255,.06);box-shadow:none !important;z-index:0;overflow:hidden}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-bg::before{display:none}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area{position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:center}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar{position:absolute;border-radius:0;overflow:visible;pointer-events:none;z-index:3;border:none;box-shadow:none !important;filter:none;transition:filter .15s;-webkit-mask-image:none;mask-image:none;--gaze-x:0;--gaze-y:0}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:hover .ai-avatar{filter:none}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.is-listening .ai-avatar,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.is-speaking .ai-avatar{filter:none}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.is-talking .ai-avatar{filter:none}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-info{position:relative;z-index:4;display:flex;align-items:center;gap:8px}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-name{font-size:12px;font-weight:700;color:rgba(255,255,255,.92);letter-spacing:.5px}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-status{font-size:12px;font-weight:600;color:rgba(80,220,120,.9);border-radius:8px;background:rgba(80,220,120,.12);border:1px solid rgba(80,220,120,.2)}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-status::before{content:'';display:inline-block;border-radius:50%;background:rgba(80,220,120,.9);vertical-align:middle;animation:none}@keyframes statusBlink{0%,100%{opacity:1}50%{opacity:.4}}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-toggle{position:absolute;border-radius:50%;border:none;background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s,color .2s,transform .2s}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-toggle .icon{transform:rotate(180deg);transition:transform .35s}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-toggle:hover{background:rgba(255,255,255,.12);color:rgba(255,255,255,.8)}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-bubble{position:relative;transform:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:12px;opacity:0;visibility:hidden;overflow:hidden;transition:opacity .25s,max-height .3s,margin .25s;z-index:5}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-bubble.show{opacity:1;visibility:visible}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-bubble::after{display:none}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-bubble-text{font-size:12px;line-height:1.5;color:rgba(255,255,255,.82);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-bubble-close{position:absolute;border-radius:50%;border:none;background:0 0;color:rgba(255,255,255,.4);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-bubble-close:hover{color:rgba(255,255,255,.8);background:rgba(255,255,255,.08)}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-panel{position:relative;transform:none;display:flex;gap:6px;opacity:1;visibility:visible;pointer-events:auto;z-index:5;border-top:1px solid rgba(255,255,255,.04);justify-content:center;transition:none}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-btn{border-radius:50%;border:1px solid rgba(96,220,255,.35);background:rgba(20,30,50,.55);color:#60dcff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,background .15s,color .15s}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-btn:hover{transform:scale(1.12);background:rgba(255,107,157,.15);color:rgba(255,107,157,.9)}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-btn:active{transform:scale(.92)}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-mic-btn{background:rgba(255,107,157,.2);color:rgba(255,107,157,.95);box-shadow:none !important}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-mic-btn:hover{background:rgba(255,107,157,.3);color:var(--c-white)}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-mic-btn.is-active{background:var(--red-alert);color:var(--c-white);animation:none}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-tts-btn.is-muted{color:rgba(255,255,255,.25);opacity:.5}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-wake-btn.is-on{color:var(--blue-cyan);background:rgba(79,209,255,.12);box-shadow:none !important}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-tooltip{display:none}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .badge{position:absolute;border-radius:50%;background:var(--up);border:none;box-shadow:none !important;z-index:5}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.is-listening .badge{background:#ff6b9d;box-shadow:none !important}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.is-thinking .badge{background:#ffc864;box-shadow:none !important}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed{position:fixed;border-radius:0;background:0 0;border:none;display:flex;align-items:flex-end;justify-content:center;cursor:pointer;z-index:var(--z-fab);transition:transform .25s,filter .25s,width .35s,height .35s;animation:none;user-select:none;-webkit-user-select:none;touch-action:none}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-ambient,#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-bg,#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-glow,#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-info,#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-toggle{display:none}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-avatar-area{position:relative}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar{position:absolute;border-radius:0;overflow:visible;pointer-events:none;z-index:3;border:none;box-shadow:none !important;filter:none;transition:filter .15s;-webkit-mask-image:none;mask-image:none;--gaze-x:0;--gaze-y:0}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed:hover .ai-avatar:hover{filter:none}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed.dragging{transition:none;animation:none;cursor:grabbing;transform:none}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.dragging{transition:none;animation:none;cursor:grabbing}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-toggle{cursor:pointer}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-panel{position:absolute;transform:translateX(-50%) translateY(8px);display:flex;gap:6px;background:var(--bg-elevated,rgba(20,24,35,.92));border:1px solid var(--border,rgba(255,255,255,.08));border-radius:16px;box-shadow:none !important;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none;z-index:1003;white-space:nowrap}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed.panel-open .ai-avatar-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-bubble{position:absolute;transform:translateY(-50%) translateX(8px);background:var(--bg-elevated,rgba(20,24,35,.92));border:1px solid var(--border,rgba(255,255,255,.08));border-radius:14px;box-shadow:none !important;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s;pointer-events:none;z-index:1003}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-bubble.show{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0);pointer-events:auto}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-bubble::after{content:'';position:absolute;transform:translateY(-50%);border:8px solid transparent;border-left-color:var(--bg-elevated,rgba(20,24,35,.92))}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-bubble-text{font-size:12px;line-height:1.55;color:var(--text-primary,rgba(255,255,255,.9));display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-tooltip{position:absolute;transform:translateY(-50%) translateX(8px);background:var(--bg-elevated,rgba(20,24,35,.92));border:1px solid var(--border,rgba(255,255,255,.08));border-radius:12px;box-shadow:none !important;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none;z-index:1001}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-tooltip.show,#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed:hover .ai-avatar-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}@media (max-width:768px){#ai-avatar-fab.fab-ai.ai-dock.dock-expanded{}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-panel{gap:4px}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-name{font-size:12px}#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-bubble-text{font-size:12px}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed{}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-tooltip{display:none}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-panel{gap:4px}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-btn{}#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-btn .icon{}}@media (max-width:480px){#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed{}}#ai-avatar-fab.fab-ai{position:fixed;border-radius:0;background:0 0;border:none;contain:layout style paint;display:flex;align-items:flex-end;justify-content:center;cursor:pointer;z-index:var(--z-fab);transition:transform .25s,filter .25s;animation:none;will-change:transform;user-select:none;-webkit-user-select:none;touch-action:none}
@keyframes aiFloat{0%,100%{transform:translateY(0) translateX(0)}25%{transform:translateY(-6px) translateX(1px)}50%{transform:translateY(-9px) translateX(0)}75%{transform:translateY(-5px) translateX(-1px)}}#ai-avatar-fab.fab-ai:hover{transform:translateY(-10px) scale(1.06);animation:none;filter:none !important}#ai-avatar-fab.fab-ai:active{transform:translateY(0) scale(.96)}#ai-avatar-fab.fab-ai.dragging{transition:none;animation:none;cursor:grabbing;transform:none}#ai-avatar-fab.fab-ai #ai-avatar-fab.fab-ai .ai-avatar{position:absolute;border-radius:0;overflow:visible;pointer-events:none;z-index:3;border:none;box-shadow:none !important;filter:none !important;transition:filter .15s;--gaze-x:0;--gaze-y:0}#ai-avatar-fab.fab-ai:hover .ai-avatar:hover{filter:none !important}#ai-avatar-fab.fab-ai.is-listening .ai-avatar,#ai-avatar-fab.fab-ai.is-speaking .ai-avatar{filter:none !important}#ai-avatar-fab.fab-ai.is-talking .ai-avatar.is-talking{filter:none !important}@keyframes avatarBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}#ai-avatar-fab.fab-ai .badge{position:absolute;border-radius:50%;background:var(--up);border:none;box-shadow:none !important;animation:none;will-change:transform,opacity;z-index:5}@keyframes badgePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}#ai-avatar-fab.fab-ai #ai-avatar-fab.fab-ai.is-listening #ai-avatar-fab.fab-ai.is-thinking @keyframes aiRingPulse{0%,100%{width:60%;opacity:.7}50%{width:80%;opacity:1}}#ai-avatar-fab.fab-ai #ai-avatar-fab.fab-ai.is-standby @keyframes aiStandbyGlow{0%,100%{opacity:.3;width:40%}50%{opacity:.7;width:60%}}@keyframes aiSoundWave{0%{transform:translateX(-50%) scale(.5);opacity:.65}100%{transform:translateX(-50%) scale(1.3);opacity:0}}@keyframes aiSoundBar{0%{transform:scaleY(.5);opacity:.6}100%{transform:scaleY(1.1);opacity:1}}#ai-avatar-fab.fab-ai .ai-avatar-tooltip{position:absolute;transform:translateY(-50%) translateX(8px);background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:12px;box-shadow:none !important;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;pointer-events:none;z-index:1001}#ai-avatar-fab.fab-ai .ai-avatar-tooltip.show,#ai-avatar-fab.fab-ai:hover .ai-avatar-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}#ai-avatar-fab.fab-ai .ai-avatar-tooltip::after{content:'';position:absolute;transform:translateY(-50%);border:7px solid transparent;border-left-color:var(--line-default)}#ai-avatar-fab.fab-ai .ai-avatar-tooltip-title{font-size:12px;font-weight:700;color:var(--text-primary);white-space:nowrap}#ai-avatar-fab.fab-ai .ai-avatar-tooltip-hint{font-size:12px;color:var(--text-muted);white-space:nowrap}#ai-avatar-fab.fab-ai .ai-avatar-panel{position:absolute;transform:translateX(-50%) translateY(-8px);display:flex;flex-direction:row;gap:6px;background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:28px;box-shadow:none !important;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none;z-index:1003;white-space:nowrap}#ai-avatar-fab.fab-ai.panel-open .ai-avatar-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}#ai-avatar-fab.fab-ai .ai-avatar-btn{border-radius:50%;border:none;background:0 0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,background .15s,color .15s;color:var(--text-secondary)}#ai-avatar-fab.fab-ai .ai-avatar-btn .icon{}#ai-avatar-fab.fab-ai .ai-avatar-btn:hover{transform:scale(1.12);background:var(--accent-soft);color:var(--accent)}#ai-avatar-fab.fab-ai .ai-avatar-btn:active{transform:scale(.92)}#ai-avatar-fab.fab-ai .ai-avatar-mic-btn{background:var(--accent);color:var(--c-white);box-shadow:none !important}#ai-avatar-fab.fab-ai .ai-avatar-mic-btn:hover{background:var(--accent);color:var(--c-white);transform:scale(1.15)}#ai-avatar-fab.fab-ai .ai-avatar-mic-btn.is-active{background:var(--red-alert);color:var(--c-white);animation:none}@keyframes micPulse{0%,100%{box-shadow:none !important;}50%{box-shadow:none !important;}}#ai-avatar-fab.fab-ai .ai-avatar-tts-btn.is-muted{color:var(--text-muted);opacity:.5}#ai-avatar-fab.fab-ai .ai-avatar-wake-btn.is-on{color:var(--blue-cyan);background:rgba(79,209,255,.12);box-shadow:none !important}@media (max-width:768px){#ai-avatar-fab.fab-ai{}#ai-avatar-fab.fab-ai .ai-avatar-tooltip{display:none}#ai-avatar-fab.fab-ai .ai-avatar-panel{gap:4px}#ai-avatar-fab.fab-ai .ai-avatar-btn{}#ai-avatar-fab.fab-ai .ai-avatar-btn .icon{}}#ai-avatar-fab.fab-ai .ai-avatar-bubble{position:absolute;transform:translateY(-50%) translateX(12px);background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:14px;box-shadow:none !important;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s;pointer-events:auto;z-index:1003}#ai-avatar-fab.fab-ai .ai-avatar-bubble.show{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}#ai-avatar-fab.fab-ai .ai-avatar-bubble::after{content:'';position:absolute;transform:translateY(-50%);border:8px solid transparent;border-left-color:var(--line-default)}#ai-avatar-fab.fab-ai .ai-avatar-bubble-text{font-size:12px;line-height:1.55;color:var(--text-primary);overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}#ai-avatar-fab.fab-ai .ai-avatar-bubble-close{position:absolute;border:none;border-radius:50%;background:0 0;color:var(--text-muted);font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}#ai-avatar-fab.fab-ai .ai-avatar-bubble-close:hover{color:var(--text-primary);background:var(--accent-soft)}@media (max-width:768px){#ai-avatar-fab.fab-ai .ai-avatar-bubble{transform:translateX(-50%) translateY(8px)}#ai-avatar-fab.fab-ai .ai-avatar-bubble.show{transform:translateX(-50%) translateY(0)}#ai-avatar-fab.fab-ai .ai-avatar-bubble::after{transform:translateX(-50%);border:7px solid transparent;border-top-color:var(--line-default);border-left-color:transparent}}.ai-insight-btn{position:fixed;top:64px;right:24px;display:none;align-items:center;gap:6px;padding:6px 14px 6px 10px;border:1px solid var(--accent,var(--blue-link));border-radius:20px;background:var(--bg-elevated,rgba(20,25,40,.92));color:var(--accent,var(--blue-link));font-size:15px;font-weight:600;cursor:pointer;z-index:999;box-shadow:none !important;transition:.2s;user-select:none}.ai-insight-btn.show{display:flex}.ai-insight-btn:hover{transform:translateY(-2px);box-shadow:none !important;background:var(--accent-soft,rgba(88,166,255,.12))}.ai-insight-btn:active{transform:translateY(0) scale(.97)}.ai-insight-btn .icon{width:22.5px;height:22.5px;flex-shrink:0}.ai-insight-btn .ai-insight-label{white-space:nowrap}.ai-insight-btn.pulse{animation:none}@keyframes aiInsightPulse{0%,100%{box-shadow:none !important;}50%{box-shadow:none !important;}}@media (max-width:768px){.ai-insight-btn{top:56px;right:12px;padding:5px 10px 5px 8px;font-size:15px}.ai-insight-btn .ai-insight-label{display:none}.ai-insight-btn .icon{width:25px;height:25px}}@media print{#ai-avatar-fab.fab-ai,.ai-insight-btn{display:none}}.stock-link{color:var(--accent,var(--blue-link));cursor:pointer;text-decoration:underline;text-decoration-style:dotted;font-weight:600;border-radius:3px;padding:0 2px;transition:background .2s}.stock-link:hover{background:rgba(88,166,255,.15);text-decoration-style:solid}.btn-to-paper{background:rgba(63,185,80,.12);color:#3fb950;border:1px solid rgba(63,185,80,.3)}.btn-to-paper:hover{background:rgba(63,185,80,.22)}.btn-to-backtest{background:rgba(88,166,255,.12);color:var(--blue-link);border:1px solid rgba(88,166,255,.3)}.btn-to-backtest:hover{background:rgba(88,166,255,.22)}.btn-advisory-stock{color:#d29922}.btn-advisory-stock:hover{background:rgba(210,153,34,.15)}body.wx-browser{-webkit-text-size-adjust:100%}body.wx-browser .app{padding-top:44px}body.wx-browser .header,body.wx-browser .sidebar,body.wx-browser .ticker{top:44px}body.wx-browser .bottom-nav{padding-bottom:12px}.wx-top-bar{position:fixed;top:0;left:0;right:0;height:44px;background:var(--bg-glass-strong);border-bottom:1px solid var(--line-default);display:flex;align-items:center;justify-content:space-between;padding:0 12px;z-index:1000}.wx-top-back,.wx-top-share{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:0 0;color:var(--text-primary);cursor:pointer;border-radius:50%;transition:background .15s}.wx-top-back:hover,.wx-top-share:hover{background:var(--bg-hover)}.wx-top-back .icon,.wx-top-share .icon{width:28px;height:28px}.wx-top-title{font-size:15px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.wx-dark{--bg-base:var(--black);--bg-surface:#0d0d0d;--bg-elevated:#191919;--bg-card:#1a1a1a;--bg-hover:rgba(255,255,255,0.06);--text-primary:#e6e6e6;--text-secondary:#8c8c8c;--shadow-sm:0 2px 8px rgba(0,0,0,0.50);--shadow-md:0 4px 20px rgba(0,0,0,0.55);--shadow-lg:0 10px 40px rgba(0,0,0,0.65);--shadow-card:0 2px 12px rgba(0,0,0,0.45),0 0 1px rgba(168,182,201,0.06);--shadow-hover:0 8px 30px rgba(0,0,0,0.60),0 0 20px rgba(90,140,255,0.06);--shadow-xl:0 20px 60px rgba(0,0,0,0.70)}body.wx-dark .wx-top-bar{background:rgba(0,0,0,.85);border-color:rgba(255,255,255,.06)}body.wx-font-md{font-size:18px}body.wx-font-lg{font-size:22px}body.wx-font-lg .nav-text,body.wx-font-md .nav-text{font-size:inherit}.wx-card-modal{background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);max-width:380px;width:100%;padding:20px;text-align:center;box-shadow:none !important;}.wx-card-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.wx-card-img-wrap{width:100%;max-height:480px;overflow-y:auto;border-radius:var(--radius-md);margin-bottom:12px}.wx-card-img-wrap img{width:100%;border-radius:var(--radius-md);display:block}.wx-card-hint{font-size:15px;color:var(--text-muted);margin-bottom:16px}.wx-card-actions{display:flex;gap:10px}.wx-card-actions .btn{flex:1;justify-content:center}.wx-open-prompt{position:fixed;top:44px;left:0;right:0;background:#4f8df7;color:var(--c-white);padding:8px 16px;display:flex;align-items:center;gap:10px;z-index:1001;font-size:15px;font-weight:600;transition:opacity .3s,transform .3s;box-shadow:none !important;}.wx-open-prompt.wx-open-hide{opacity:0;transform:translateY(-100%)}.wx-open-icon{flex-shrink:0;width:20px;height:20px}.wx-open-icon svg{width:20px;height:20px}.wx-open-text{flex:1;letter-spacing:.5px}.wx-open-dismiss{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);border:none;color:var(--c-white);border-radius:50%;cursor:pointer;font-size:15px;transition:background .15s}.wx-open-dismiss:hover{background:rgba(255,255,255,.35)}@media (max-width:768px){.wx-top-bar{padding:0 8px}.wx-top-title{font-size:15px}.wx-open-prompt{font-size:15px;padding:6px 10px}.wx-card-modal{max-width:320px;padding:16px}.wx-card-img-wrap{max-height:360px}}@media (max-width:480px){#ai-avatar-fab.fab-ai{}.wx-card-modal{margin:8px;width:calc(100% - 16px)}.wx-card-img-wrap{max-height:280px}}.gm-container{height:100%;display:flex;flex-direction:column;gap:12px}.gm-header{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap}.gm-tabs{display:flex;gap:4px;background:var(--bg-elevated);padding:3px;border-radius:var(--radius-md)}.gm-tab{padding:6px 16px;border:none;background:0 0;color:var(--text-secondary);font-size:15px;cursor:pointer;border-radius:var(--radius-sm);transition:.2s}.gm-tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.gm-tab:hover:not(.active){color:var(--text-primary);background:var(--bg-hover)}.gm-search{display:flex;align-items:center;gap:6px;flex:1;max-width:300px}.gm-search-input{flex:1;padding:6px 12px;background:var(--bg-elevated);border:1px solid var(--line);color:var(--text-primary);border-radius:var(--radius-sm);font-size:15px;outline:0}.gm-search-input:focus{border-color:var(--accent)}.gm-content{flex:1;overflow-y:auto;display:flex;gap:16px;min-height:0}.gm-list{flex:0 0 auto;min-width:300px;max-width:400px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md)}.gm-main{flex:1;overflow-y:auto}.gm-stock-row{padding:10px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;border-bottom:1px solid var(--line-faint);transition:background .15s}.gm-stock-row:hover{background:var(--bg-hover)}.gm-stock-row.active{background:var(--accent-soft);border-left:3px solid var(--accent)}.gm-stock-info{display:flex;flex-direction:column;gap:2px}.gm-stock-name{font-size:15px;color:var(--text-primary);font-weight:500}.gm-stock-code{font-size:15px;color:var(--text-muted)}.gm-stock-price{text-align:right}.gm-stock-pct{font-size:15px;font-weight:600}.gm-quote-panel{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;margin-bottom:12px}.gm-quote-name{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.gm-quote-price{font-size:32px;font-weight:700}.gm-quote-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:12px}.gm-quote-stat{display:flex;flex-direction:column}.gm-quote-stat .label{font-size:15px;color:var(--text-muted)}.gm-quote-stat .value{font-size:15px;color:var(--text-primary);font-weight:500}.gm-kline-area{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px}.gm-kline-chart{width:100%;height:360px}.gm-empty,.gm-error,.gm-loading{text-align:center;padding:40px;color:var(--text-muted);font-size:15px}.gm-indices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.gm-index-card{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px}.l2-container{height:100%;display:flex;flex-direction:column;gap:12px}.l2-header{flex-shrink:0}.l2-search-box{display:flex;gap:6px;max-width:400px}.l2-search-input{flex:1;padding:6px 12px;background:var(--bg-elevated);border:1px solid var(--line);color:var(--text-primary);border-radius:var(--radius-sm);font-size:15px;outline:0}.l2-search-input:focus{border-color:var(--accent)}.l2-search-btn{padding:6px 14px;background:var(--accent);color:var(--c-white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:15px}.l2-content{flex:1;overflow-y:auto}.l2-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.l2-empty-icon{margin-bottom:12px;opacity:.3}.l2-stock-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;margin-bottom:12px;border-bottom:1px solid var(--line)}.l2-stock-name{font-size:18px;font-weight:700;color:var(--text-primary)}.l2-stock-price{font-size:28px;font-weight:700}.l2-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.l2-orderbook{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px}.l2-ob-title{font-size:15px;color:var(--text-secondary);margin-bottom:8px;font-weight:600}.l2-ob-row{display:flex;justify-content:space-between;align-items:center}.l2-ob-bar{display:flex;align-items:center;padding:0 8px}.l2-ob-bar-bg{position:absolute;right:0;top:0;height:100%;border-radius:2px;opacity:.12}.l2-ob-bar-bg.ask{background:var(--up)}.l2-ob-bar-bg.bid{background:var(--down)}.l2-ob-vol{color:var(--text-secondary);font-size:15px;flex:1;text-align:right;z-index:1}.l2-ticks{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px}.l2-tick-row{display:flex;justify-content:space-between;padding:3px 0;font-size:15px;border-bottom:1px solid var(--line-faint)}.l2-tick-time{color:var(--text-muted)}.l2-tick-price{font-weight:500}.l2-tick-vol{color:var(--text-secondary)}.l2-big-orders{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px;margin-bottom:12px}.l2-bo-title{font-size:15px;font-weight:600;margin-bottom:10px;color:var(--text-primary)}.l2-bo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.l2-bo-item{text-align:center}.l2-bo-item .label{font-size:15px;color:var(--text-muted);margin-bottom:4px}.l2-bo-item .value{font-size:18px;font-weight:700}.l2-bo-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.l2-bo-summary-row .label{color:var(--text-muted)}.l2-bo-hint{margin-top:8px;font-size:15px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.l2-detail{min-height:0}.l2-detail-header{display:flex;align-items:center;gap:12px;padding:12px 0;margin-bottom:12px;border-bottom:1px solid var(--line)}.l2-stock-info{display:flex;flex-direction:column;gap:2px}.l2-stock-code{font-size:15px;color:var(--text-muted)}.l2-stock-change{font-size:15px;font-weight:600}.l2-panels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.l2-panel{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px;overflow:hidden}.l2-panel-title{font-size:15px;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.l2-bigorder-body,.l2-orderbook-body,.l2-ticks-body{max-height:320px;overflow-y:auto}.l2-loading{display:flex;justify-content:center;align-items:center;padding:20px}.l2-error{color:var(--text-muted);text-align:center;padding:20px}.l2-ob-grid{display:flex;flex-direction:column;gap:1px}.l2-ob-row{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:15px;position:relative}.l2-ob-label{width:30px;color:var(--text-muted);flex-shrink:0}.l2-ob-price{z-index:1;font-weight:600;width:70px}.l2-ob-price.up{color:var(--up)}.l2-ob-price.down{color:var(--down)}.l2-ob-bar{position:absolute;right:0;top:0;height:100%;opacity:.1}.l2-ob-bar.ask-bar{background:var(--up)}.l2-ob-bar.bid-bar{background:var(--down)}.l2-ob-divider{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:var(--bg-elevated);margin:2px 0;border-radius:4px}.l2-ob-current{font-size:18px;font-weight:700;color:var(--accent)}.l2-imbalance{display:flex;justify-content:space-between;align-items:center;padding:8px;margin-top:8px;font-size:15px;color:var(--text-secondary);border-top:1px solid var(--line)}.l2-ticks-table{font-size:15px}.l2-bo-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:15px}.l2-bo-label{color:var(--text-muted)}.l2-bo-value{font-weight:600}.l2-bo-pct{color:var(--text-muted);font-size:15px}.l2-bo-net{border-top:1px solid var(--line);margin-top:4px;padding-top:8px}.l2-bo-divider{height:1px;background:var(--line);margin:8px 0}.l2-bo-summary{display:flex;flex-direction:column;gap:4px}.l2-bo-summary-row{display:flex;justify-content:space-between;font-size:15px}.l2-detail-link{margin-left:auto;color:var(--accent);font-size:15px;cursor:pointer}.l2-detail-link:hover{text-decoration:underline}.l2-hot-stocks{margin-top:16px}.l2-hot-label{font-size:15px;color:var(--text-muted);margin-bottom:8px}.l2-hot-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.l2-hot-btn{font-size:15px}.nr-container{height:100%;display:flex;flex-direction:column;gap:12px}.nr-header{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap}.nr-tabs{display:flex;gap:4px;background:var(--bg-elevated);padding:3px;border-radius:var(--radius-md)}.nr-tab{padding:6px 16px;border:none;background:0 0;color:var(--text-secondary);font-size:15px;cursor:pointer;border-radius:var(--radius-sm);transition:.2s}.nr-tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nr-tab:hover:not(.active){color:var(--text-primary)}.nr-search-box{flex:1;max-width:300px}.nr-search-input{width:100%;padding:6px 12px;background:var(--bg-elevated);border:1px solid var(--line);color:var(--text-primary);border-radius:var(--radius-sm);font-size:15px;outline:0}.nr-search-input:focus{border-color:var(--accent)}.nr-content{flex:1;overflow-y:auto}.nr-news-item{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:8px;cursor:pointer;transition:background .15s}.nr-news-item:hover{background:var(--bg-hover)}.nr-news-title{font-size:15px;color:var(--text-primary);font-weight:500;margin-bottom:6px}.nr-news-meta{display:flex;gap:12px;font-size:15px;color:var(--text-muted)}.nr-news-summary{font-size:15px;color:var(--text-secondary);margin-top:6px;line-height:1.5}.nr-research-card{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:8px}.nr-research-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:8px}.nr-research-stock{font-size:15px;font-weight:600;color:var(--text-primary)}.nr-stock-link{color:var(--accent);cursor:pointer;text-decoration:none}.nr-stock-link:hover{text-decoration:underline}.nr-research-rating{padding:2px 10px;border-radius:var(--radius-sm);font-size:15px;font-weight:600}.nr-rating-buy{background:var(--up-soft);color:var(--up-bright)}.nr-rating-hold{background:rgba(255,193,7,.12);color:var(--gold)}.nr-rating-sell{background:var(--down-soft);color:var(--down-bright)}.nr-research-meta{display:flex;gap:12px;font-size:15px;color:var(--text-muted);margin-bottom:6px}.nr-research-summary{font-size:15px;color:var(--text-secondary);line-height:1.5}.nr-ann-item{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}.nr-ann-title{font-size:15px;color:var(--text-primary)}.nr-ann-date{font-size:15px;color:var(--text-muted);white-space:nowrap}.nr-sentiment-gauge{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px;text-align:center;margin-bottom:12px}.nr-sentiment-score{font-size:56px;font-weight:700}.nr-sentiment-label{font-size:15px;color:var(--text-secondary);margin-top:4px}.nr-sentiment-bar{height:8px;background:var(--bg-elevated);border-radius:4px;margin:16px 0 8px;overflow:hidden}.nr-sentiment-fill{height:100%;background:var(--accent-gradient);border-radius:4px;transition:width .5s}.nr-empty{text-align:center;padding:40px;color:var(--text-muted)}.nr-empty-icon{opacity:.3;margin-bottom:12px}.nr-empty-hint{font-size:15px;color:var(--text-disabled);margin-top:6px}.fo-container{height:100%;display:flex;flex-direction:column;gap:12px}.fo-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.fo-tabs{display:flex;gap:4px;background:var(--bg-elevated);padding:3px;border-radius:var(--radius-md)}.fo-tab{padding:6px 16px;border:none;background:0 0;color:var(--text-secondary);font-size:15px;cursor:pointer;border-radius:var(--radius-sm);transition:.2s}.fo-tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.fo-tab:hover:not(.active){color:var(--text-primary)}.fo-refresh{padding:6px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center}.fo-refresh:hover{color:var(--accent);border-color:var(--line-accent)}.fo-content{flex:1;overflow-y:auto}.fo-table-wrap{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.fo-table{width:100%}.fo-table th{padding:10px 12px;font-size:15px;color:var(--text-muted);font-weight:500;text-align:left;background:var(--bg-elevated);border-bottom:1px solid var(--line)}.fo-table td{padding:8px 12px;font-size:15px;border-bottom:1px solid var(--line-faint)}.fo-table tr:hover td{background:var(--bg-hover)}.fo-code{font-weight:600;color:var(--accent)}.fo-ex{font-size:15px;color:var(--text-muted)}.fo-offline{color:var(--text-muted);font-size:15px}.fo-hint{padding:12px;font-size:15px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.fo-loading{text-align:center;padding:40px;color:var(--text-muted)}.fo-options-wrap{display:flex;flex-direction:column;gap:12px}.fo-options-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fo-label{font-size:15px;color:var(--text-secondary)}.fo-select{padding:5px 10px;background:var(--bg-elevated);border:1px solid var(--line);color:var(--text-primary);border-radius:var(--radius-sm);font-size:15px;outline:0}.fo-select:focus{border-color:var(--accent)}.fo-query-btn{padding:5px 16px;background:var(--accent);color:var(--c-white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:15px}.fo-query-btn:hover{background:var(--accent-hover)}.fo-t-table{width:100%}.fo-t-table th{padding:8px 10px;font-size:15px;font-weight:500;text-align:center;background:var(--bg-elevated);border-bottom:1px solid var(--line)}.fo-t-call-h{color:var(--up-bright)}.fo-t-put-h{color:var(--down-bright)}.fo-t-strike-h{color:var(--accent);background:var(--bg-active)}.fo-t-table td{padding:6px 10px;font-size:15px;text-align:center;border-bottom:1px solid var(--line-faint)}.fo-t-table tr.fo-atm td{background:var(--accent-soft)}.fo-strike{font-weight:700;color:var(--accent)}.fo-empty-row{text-align:center;padding:24px;color:var(--text-muted)}.fo-loading-row{text-align:center;padding:24px}.fo-hint-text{font-size:15px;color:var(--text-disabled)}.fo-model-info{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:8px}.fo-info-row{display:flex;gap:20px;flex-wrap:wrap}.fo-info-item{font-size:15px;color:var(--text-secondary)}.fo-info-item b{color:var(--text-primary);font-weight:600}.fo-model-note{margin-top:6px;font-size:15px;color:var(--text-muted);display:flex;align-items:center;gap:6px}@media (max-width:768px){.gm-content{flex-direction:column}.gm-list{flex:none;max-height:280px}.gm-kline-chart{height:260px}.l2-grid,.l2-panels{grid-template-columns:1fr}.l2-bo-grid{grid-template-columns:repeat(3,1fr);gap:8px}.l2-bo-summary{grid-template-columns:1fr 1fr}.fo-table{font-size:15px}.fo-table td,.fo-table th{padding:6px 8px}.fo-t-table{font-size:15px}.fo-t-table td,.fo-t-table th{padding:4px 6px}.nr-ann-item,.nr-news-item,.nr-research-card{padding:10px 12px}.nr-research-header{flex-direction:column;gap:4px}}.pull-refresh-indicator{display:flex;align-items:center;justify-content:center;overflow:hidden;transition:height .2s}.pull-refresh-indicator .spinner{width:20px;height:20px;border:2px solid var(--line-default);border-top-color:var(--accent);border-radius:50%;animation:.6s linear infinite spin;margin-right:8px}@media (max-width:768px){.bottom-nav-inner{display:flex;justify-content:space-around;align-items:center;height:100%}.bottom-nav-item{flex:1;min-width:0;font-size:15px}.bottom-nav-item .icon{width:28px;height:28px}.nav-item{min-height:61.5px}.btn{min-height:40px}.btn-icon{min-width:40px;min-height:40px}.stock-info-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stock-header{padding:12px 14px}.stock-name{font-size:18px}.stock-price{font-size:32px}.info-cell{padding:10px}.info-value{font-size:15px}.info-label{font-size:15px}.index-cards{grid-template-columns:repeat(2,1fr);gap:10px}.index-card{padding:12px;min-height:90px}.index-card-price{font-size:18px}.search-box{flex:1;max-width:none}.search-results{position:fixed;left:8px;right:8px;top:56px;max-height:60vh;overflow-y:auto;border-radius:var(--radius-md);box-shadow:none !important;}.search-result{padding:12px 14px}}@supports (padding:max(0px)){.sidebar{padding-top:max(0px,env(safe-area-inset-top))}.header{padding-top:max(8px,env(safe-area-inset-top))}.bottom-nav{padding-bottom:max(0px,env(safe-area-inset-bottom))}.content{padding-bottom:max(16px,env(safe-area-inset-bottom))}}#main-content.content{min-height:calc(100% - 136px)}@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.skeleton-text{background:#ff3b3b;border-radius:4px;color:transparent}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (max-width:480px){.table tr{padding:10px 12px;margin-bottom:8px}.table td{font-size:15px}.table td::before{font-size:15px}.modal-overlay{padding:0}.modal-content{max-width:100%;width:100%;border-radius:0;min-height:100vh}}@media (max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;z-index:1001;transform:translateX(-100%);transition:transform .25s;box-shadow:none !important;}.sidebar.open{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s}.sidebar-overlay.show{opacity:1;pointer-events:auto}}@media (max-width:1024px){.right-sidebar{display:none}}@media (hover:none) and (pointer:coarse){.index-card:hover,.info-cell:hover,.nav-item:hover{transform:none}.bottom-nav-item,.btn,.nav-item,.search-result{-webkit-tap-highlight-color:transparent}}@media (prefers-reduced-motion:reduce){.aurora-bg,.ticker-track,body::after{animation:none}*{scroll-behavior:auto;transition-duration:0s}.skeleton-text,.tab-content{animation:none}}.market-overview-grid{display:grid;grid-template-columns:1.2fr 0.8fr 1.5fr;gap:12px;margin-bottom:16px}@media (max-width:1024px){.market-overview-grid{grid-template-columns:1fr}}.market-breadth-body{padding:14px 16px}.breadth-stats{display:flex;justify-content:space-around;margin-bottom:12px}.breadth-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.breadth-stat .stat-num{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.breadth-stat.up .stat-num{color:var(--up)}.breadth-stat.down .stat-num{color:var(--down)}.breadth-stat.flat .stat-num{color:var(--text-muted)}.breadth-stat .stat-label{font-size:15px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.breadth-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--bg-elevated);margin-bottom:8px}.breadth-bar .bar-seg{transition:width .4s var(--ease-out)}.breadth-bar .bar-up{background:var(--up)}.breadth-bar .bar-down{background:var(--down)}.breadth-bar .bar-flat{background:var(--flat)}.breadth-limit{display:flex;justify-content:space-between;font-size:15px}.breadth-limit .limit-up{color:var(--up);font-weight:600}.breadth-limit .limit-down{color:var(--down);font-weight:600}.market-sentiment-body{padding:10px 16px;display:flex;align-items:center;justify-content:center}.mini-gauge{text-align:center;width:100%}.mini-gauge svg{max-width:200px;height:auto}.gauge-score-mini{font-size:36px;font-weight:800;font-variant-numeric:tabular-nums}.gauge-label-mini{font-size:15px;text-transform:uppercase;letter-spacing:1px}.gauge-range{display:flex;justify-content:space-between;margin-top:-6px;padding:0 20px;font-size:15px;color:var(--text-muted);text-transform:uppercase}.gauge-range .left{color:var(--down)}.gauge-range .right{color:var(--up)}.empty.mini-empty{padding:24px 0}.empty.mini-empty p{font-size:15px;color:var(--text-muted);margin:4px 0}.sector-heatmap-mini-body{padding:10px 16px}.sector-mini-list{display:flex;flex-direction:column;gap:6px}.sector-mini-row{display:flex;align-items:center;gap:8px;font-size:15px}.sector-mini-row .sector-name{flex:0 0 70px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sector-mini-row .sector-bar-wrap{flex:1;height:14px;background:var(--bg-elevated);border-radius:3px;overflow:hidden;position:relative}.sector-mini-row .sector-bar{height:100%;border-radius:3px;transition:width .4s var(--ease-out)}.sector-mini-row .sector-bar.up{background:var(--up);opacity:.85}.sector-mini-row .sector-bar.down{background:var(--down);opacity:.85}.sector-mini-row .sector-val{flex:0 0 60px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.sector-mini-row .sector-val.up{color:var(--up)}.sector-mini-row .sector-val.down{color:var(--down)}.preset-bar{margin-bottom:12px}.preset-strategies{display:flex;flex-wrap:wrap;gap:6px}.btn-preset{padding:5px 12px;font-size:15px;border-radius:14px;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--line-default);cursor:pointer;transition:all .2s var(--ease-smooth)}.btn-preset:hover{border-color:var(--line-accent);color:var(--text-primary);background:var(--bg-hover)}.btn-preset.active{background:var(--accent-soft);color:var(--accent);border-color:var(--line-accent);font-weight:600}.th-sortable{cursor:pointer;user-select:none;position:relative;transition:color .2s}.th-sortable:hover{color:var(--accent)}.th-sortable .sort-icon{font-size:15px;opacity:.5;margin-left:2px;display:inline-block}.th-sortable.sort-asc .sort-icon,.th-sortable.sort-desc .sort-icon{opacity:1;color:var(--accent)}.th-sortable.sort-asc,.th-sortable.sort-desc{color:var(--accent)}.chart-toolbar .btn-xs[data-ind]{font-size:15px;padding:3px 8px;border-radius:4px}.kline-wrapper .gauge-label-mini{display:none}@media (max-width:768px){.market-overview-grid{gap:8px;margin-bottom:10px}.market-breadth-body,.market-sentiment-body,.sector-heatmap-mini-body{padding:10px 12px}.breadth-stat .stat-num{font-size:18px}.gauge-score-mini{font-size:32px}.sector-mini-row .sector-name{flex-basis:56px;font-size:15px}.sector-mini-row .sector-val{flex-basis:50px;font-size:15px}.btn-preset{padding:4px 10px;font-size:15px}.preset-strategies{gap:4px}.th-sortable .sort-icon{font-size:15px}.chart-toolbar{flex-wrap:wrap;gap:4px}.chart-toolbar .panel-toolbar{gap:2px}.chart-toolbar .btn-xs{padding:2px 6px;font-size:15px}.dashboard-grid .table td,.dashboard-grid .table th{padding:6px 8px}.quick-entries{gap:6px}.quick-entry{padding:8px 6px}.quick-entry .icon-wrap{width:39px;height:39px}.quick-entry .icon-wrap .icon{width:25px;height:25px}.quick-entry span:last-child{font-size:15px}}@media (max-width:768px) and (hover:none){.th-sortable{padding:8px 4px}.btn-preset{padding:6px 12px}.sector-mini-row{padding:2px 0;min-height:28px}}.card:hover{border-color:rgba(90,140,255,.25);box-shadow:none !important;transform:translateY(-2px)}.card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#0e1422;opacity:0;transition:opacity var(--dur-normal) var(--ease-smooth)}.card:hover::after{opacity:1}.panel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#0e1422;pointer-events:none}.nav-item.active{background:#4f8df7}.nav-item.active::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:4px;background:var(--accent-gradient);border-radius:0 2px 2px 0;box-shadow:none !important;}.nav-item:hover{background:rgba(168,182,201,.04)}.table tbody tr:hover{background:rgba(90,140,255,.04)}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{transition:border-color var(--dur-fast) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:none !important;}.btn:active{transform:translateY(0) scale(.98)}.btn-primary{box-shadow:none !important;}.btn-primary:hover{box-shadow:none !important;transform:translateY(-1px)}.btn-primary:active{box-shadow:none !important;transform:translateY(0) scale(.98)}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item.active::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:28px;height:3px;background:var(--accent-gradient);border-radius:1px}.btn-tab.active{color:var(--accent);border-bottom-color:var(--accent);box-shadow:none !important;}.btn-tab.active::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent-gradient);box-shadow:none !important;}.modal-overlay{animation:modalFadeIn var(--dur-normal) var(--ease-smooth)}.modal-content{animation:modalSlideIn var(--dur-normal) var(--ease-spring)}@keyframes modalSlideIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast{animation:toastSlideIn var(--dur-normal) var(--ease-spring)}@keyframes toastSlideIn{from{opacity:0;transform:translateX(120%)}to{opacity:1;transform:translateX(0)}}.panel{position:relative;animation:panelSlideIn var(--dur-normal) var(--ease-out) backwards}.panel:nth-child(2){animation-delay:50ms}.panel:nth-child(3){animation-delay:.1s}.panel:nth-child(4){animation-delay:.15s}.spinner{border-color:rgba(168,182,201,.12);border-top-color:var(--accent);animation:.7s linear infinite spin}.card-value,.tabular,.ticker-change,.ticker-value,[class*=col-num],[class*=col-pct]{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.card-title,.panel-header .title{letter-spacing:.2px}h1,h2,h3{letter-spacing:-.3px}.disabled,[disabled]{opacity:.35;cursor:not-allowed;pointer-events:none}.skeleton,.skeleton-text{background:#0e1422;background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton}.gm-search-box{display:flex;gap:8px;margin-bottom:12px}.gm-search-btn{padding:6px 16px;background:var(--accent);color:var(--c-white);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:15px}.gm-search-btn:hover{background:var(--accent-hover)}.gm-side{display:flex;flex-direction:column;gap:16px}.gm-side-section{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:16px}.gm-side-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.gm-side-body{display:flex;flex-direction:column;gap:8px}.gm-hot{margin-top:8px}.gm-detail{padding:0}.gm-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.gm-back-btn{padding:6px 12px;background:var(--bg-hover);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:15px}.gm-back-btn:hover{background:var(--bg-active);color:var(--text-primary)}.gm-detail-title{flex:1}.gm-detail-name{font-size:18px;font-weight:600;color:var(--text-primary)}.gm-detail-code{font-size:15px;color:var(--text-muted);margin-left:8px}.gm-detail-quote{margin-bottom:16px}.gm-quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gm-quote-main{grid-column:span 2;text-align:center;padding:12px}.gm-quote-main .price{font-size:32px;font-weight:700;font-variant-numeric:tabular-nums}.gm-quote-change{font-size:15px;font-weight:500}.gm-quote-info{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-surface);border-radius:var(--radius-md)}.gm-quote-row{display:flex;justify-content:space-between;font-size:15px}.gm-quote-row .label{color:var(--text-muted)}.gm-quote-row .value{color:var(--text-secondary);font-variant-numeric:tabular-nums}.gm-detail-kline{margin-top:16px}.gm-kline-toolbar{display:flex;gap:8px;margin-bottom:8px}.gm-kline-btn{padding:4px 12px;background:var(--bg-hover);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:15px}.gm-kline-btn:hover{background:var(--bg-active);color:var(--text-primary)}.gm-kline-btn.active{background:var(--accent);color:var(--c-white);border-color:var(--accent)}.gm-index-name{font-size:15px;color:var(--text-muted)}.gm-index-price{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.gm-index-change{font-size:15px}.gm-hot-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer}.gm-hot-item:hover{background:var(--bg-hover)}.nr-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted)}.nr-news-list{display:flex;flex-direction:column;gap:8px}.nr-news-time{font-size:15px;color:var(--text-disabled);font-variant-numeric:tabular-nums}.nr-news-source{font-size:15px;color:var(--text-muted)}.nr-research-list{display:flex;flex-direction:column;gap:12px}.nr-research-item{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;cursor:pointer;transition:border-color .2s}.nr-research-item:hover{border-color:var(--line-accent)}.nr-research-target{font-size:15px;color:var(--accent);font-weight:500;margin-bottom:4px}.nr-research-title{font-size:15px;color:var(--text-primary);line-height:1.4}.nr-ann-list{display:flex;flex-direction:column;gap:8px}.nr-ann-stock{font-size:15px;color:var(--accent);font-weight:500}.nr-sentiment{padding:16px;background:var(--bg-elevated);border-radius:var(--radius-lg)}.nr-sentiment-overview{display:flex;align-items:center;gap:16px;margin-bottom:12px}.nr-sentiment-value{font-size:36px;font-weight:700}.nr-sentiment-desc{font-size:15px;color:var(--text-secondary)}.nr-hot-section{margin-top:16px}.nr-hot-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.nav-item:hover:not(.active){transform:translateX(3px);background:#4f8df7}.nav-item{position:relative;transition:transform .2s var(--ease-smooth),background .2s,color .2s}.bottom-nav-item:hover{color:var(--accent-2)}.bottom-nav-item:hover .icon{transform:scale(1.1);transition:transform .2s}.skeleton-card{background:var(--bg-elevated);border:1px solid var(--line-faint);border-radius:var(--radius-lg);min-height:120px;position:relative;overflow:hidden}.skeleton-card::after{content:'';position:absolute;inset:0;background:#0e1422;animation:1.5s infinite shimmer-slide}@keyframes shimmer-slide{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.skeleton-line{background:rgba(168,182,201,.08)}.skeleton-line.short{width:60%}.skeleton-line.medium{width:80%}.skip-link{position:absolute;top:-100px;left:8px;z-index:10000;background:var(--accent);color:var(--c-white);padding:8px 16px;border-radius:0 0 var(--radius-md) var(--radius-md);font-size:15px;font-weight:600;transition:top .2s}.skip-link:focus{top:0}.chat-quick{gap:6px}.quick-q{min-height:34px}@media (max-width:768px){.table-wrap{-webkit-overflow-scrolling:touch}.table-wrap:not(.no-scroll-hint)::after{content:'← 滑动查看更多 →';display:block;text-align:center;font-size:15px;color:var(--text-muted);padding:4px 0;opacity:.5}.quick-q{min-height:38px;padding:8px 14px;font-size:15px}}.loading-spinner{width:20px;height:20px;border:2px solid var(--line-faint);border-top-color:var(--accent);border-radius:50%;animation:.8s linear infinite spin}.empty-state-enhanced{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;gap:12px}.empty-state-enhanced .icon{width:67px;height:67px;opacity:.3}.empty-state-enhanced h4{font-size:15px;color:var(--text-secondary);font-weight:600}.empty-state-enhanced p{font-size:15px;color:var(--text-muted);max-width:240px}.search-result-item{min-height:44px;display:flex;align-items:center}.sidebar-swipe-zone{position:fixed;left:0;top:0;bottom:0;width:20px;z-index:98;display:none}@media (max-width:1024px){.sidebar-swipe-zone{display:block}}.form-control,.form-select,.search-input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{height:36px;min-height:36px;box-sizing:border-box}textarea{height:auto;min-height:72px}@media (max-width:768px){.scanner .table{min-width:0}.table-wrap{border-radius:var(--radius-md)}.form-control,.form-select,.search-input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select{height:44px;min-height:44px}}input[type=checkbox],input[type=radio]{height:auto;min-height:0}.tab-panel{content-visibility:auto;contain-intrinsic-size:auto 500px}.panel-body{content-visibility:auto;contain-intrinsic-size:auto 300px}.rs-section{content-visibility:auto;contain-intrinsic-size:auto 200px}.fund-flow-table-wrap{content-visibility:auto;contain-intrinsic-size:auto 400px}.watchlist-body{content-visibility:auto;contain-intrinsic-size:auto 300px}.chat-messages{content-visibility:auto;contain-intrinsic-size:auto 600px}.ticker-track{will-change:transform}.sidebar-section-body{will-change:max-height,opacity}.user-menu{will-change:opacity,transform,visibility}.search-results{will-change:opacity}.welcome-card{will-change:transform,opacity}.index-card{will-change:transform,box-shadow}.heatmap-cell{will-change:transform}.kline-tooltip,.modal-overlay,.share-panel-overlay,.toast,.trade-modal{will-change:opacity,transform}.bigscreen .heatmap-body,.chat-messages,.fund-flow-table-wrap,.panel-body,.right-sidebar,.rs-body,.search-results,.table-wrap,.table-wrap-scroll,.watchlist-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s;animation-iteration-count:1;transition-duration:0s;scroll-behavior:auto}.frozen-tag,.market-status-dot,.ticker-track,.welcome-card,.welcome-cards{animation:none}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.grade-score,.indicator-value,.info-value,.rs-index-pct,.rs-index-value,.rs-watch-pct,.rs-watch-price,.sa-metric-value,.sa-pct,.sa-price,.stat-value,.stock-price,.tabular,.ticker-change,.ticker-value{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}.market-countdown{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;background:var(--accent-soft);color:var(--accent-2);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;margin-left:6px}.market-countdown .icon{width:17px;height:17px}.market-countdown.closed{background:rgba(107,122,143,.12);color:var(--text-muted)}.auto-refresh-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:16px;border:1px solid var(--line-default);background:var(--bg-elevated);cursor:pointer;font-size:15px;font-weight:600;color:var(--text-secondary);transition:.2s;user-select:none}.auto-refresh-toggle:hover{border-color:var(--accent);color:var(--accent-2)}.auto-refresh-toggle.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}.auto-refresh-toggle .refresh-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);transition:background .2s}.auto-refresh-toggle.active .refresh-dot{background:var(--accent-2);animation:none}.scanner-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--line-faint)}.scanner-result-count{font-size:15px;font-weight:600;color:var(--text-secondary)}.scanner-result-count strong{color:var(--accent-2);font-size:15px}.scanner-export-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-md);border:1px solid var(--line-default);background:var(--bg-card);color:var(--text-secondary);font-size:15px;font-weight:600;cursor:pointer;transition:.2s}.scanner-export-btn:hover{border-color:var(--accent);color:var(--accent-2);background:var(--accent-soft)}.scanner-export-btn .icon{width:19.5px;height:19.5px}.kline-fullscreen{position:fixed;inset:0;z-index:9999;background:var(--bg-base);border-radius:0;padding:16px}.kline-fullscreen .chart-container{height:calc(100vh - 80px);min-height:400px}.kline-fullscreen .chart-wrapper{height:calc(100vh - 120px)}.kline-fullscreen-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--line-default);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:.2s}.kline-fullscreen-btn:hover{border-color:var(--accent);color:var(--accent-2)}.kline-fullscreen-btn .icon{width:22.5px;height:22.5px}.kline-fullscreen .kline-fullscreen-btn .icon-exit{display:inline-block}.kline-fullscreen .kline-fullscreen-btn .icon-enter,.kline-fullscreen-btn .icon-exit{display:none}.msg-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--line-faint);background:0 0;color:var(--text-muted);font-size:15px;cursor:pointer;opacity:0;transition:opacity .2s,color .2s,border-color .2s;margin-top:6px}.ai-chat .msg-content:hover .msg-copy-btn{opacity:1}.msg-copy-btn:hover{color:var(--accent-2);border-color:var(--accent)}.msg-copy-btn.copied{color:var(--down-bright);border-color:var(--down)}.msg-copy-btn .icon{width:17px;height:17px}.pt-quick-switch{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--line-faint);margin-bottom:10px}.pt-quick-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:14px;border:1px solid var(--line-default);background:var(--bg-card);color:var(--text-secondary);font-size:15px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap}.pt-quick-chip:hover{border-color:var(--accent);color:var(--accent-2)}.pt-quick-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}.pt-quick-chip .chip-pct{font-size:15px;font-variant-numeric:tabular-nums}.skeleton-line{height:12px;border-radius:4px;background:#4f8df7;background-size:200% 100%;animation:1.5s infinite skeleton-shimmer;margin-bottom:8px}.skeleton-line:last-child{margin-bottom:0;width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-card{padding:16px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--line-faint)}.score-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px}.score-ring svg{transform:rotate(-90deg)}.score-ring-bg{stroke:var(--line-default);stroke-width:4;fill:none}.score-ring-fg{stroke-width:4;fill:none;stroke-linecap:round;transition:stroke-dashoffset .6s}.score-ring-text{position:absolute;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary)}.sentiment-gauge{position:relative;width:100%;max-width:240px;margin:0 auto}.sentiment-gauge-bar{height:8px;border-radius:4px;background:#0e1422;position:relative}.sentiment-gauge-pointer{position:absolute;top:-6px;width:4px;height:20px;background:var(--text-primary);border-radius:2px;transform:translateX(-50%);transition:left .5s;box-shadow:none !important;}.sentiment-gauge-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:15px;color:var(--text-muted)}.flow-bar{height:6px;border-radius:3px;overflow:hidden;position:relative;background:var(--bg-hover)}.flow-bar-fill{height:100%;border-radius:3px;transition:width .6s cubic-bezier(.4, 0, .2, 1)}.flow-bar-fill.inflow{background:#0e1422}.flow-bar-fill.outflow{background:#ff3b3b}@supports (padding:env(safe-area-inset-bottom)){.bottom-nav{padding-bottom:env(safe-area-inset-bottom,0)}#ai-avatar-fab,.fab-wx,.toast-container{}}.watch-item.dragging{opacity:.5}.watch-item.drag-over{border-top:2px solid var(--accent)}.factor-card{transition:transform .2s,box-shadow .2s,border-color .2s}.factor-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:none !important;}.factor-card .factor-value{font-variant-numeric:tabular-nums}.resource-bar-fill{transition:width .5s cubic-bezier(.4, 0, .2, 1)}.resource-bar-fill.high{background:var(--up)}.resource-bar-fill.medium{background:var(--warn)}.resource-bar-fill.low{background:var(--down)}.bottom-nav-item:focus-visible,.btn:focus-visible,.index-card:focus-visible,.nav-item:focus-visible,.quick-entry:focus-visible,.search-result:focus-visible,.tab:focus-visible,.table-row:focus-visible,.welcome-card:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}::selection{background:var(--accent-soft);color:var(--accent-2)}::-moz-selection{background:var(--accent-soft);color:var(--accent-2)}img[loading=lazy]{background:var(--bg-elevated)}img.lazy-placeholder{filter:none !important;transition:filter .3s}img.lazy-loaded{filter:none !important;}
@keyframes avThink{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(0.98) rotate(-0.5deg)}}
@keyframes avSpeak{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}

#ai-avatar-fab .ai-avatar-img{display:block;border-radius:50%;pointer-events:none;filter:brightness(1.0) contrast(1.05) saturate(1.02)}
#ai-avatar-fab .ai-dock-avatar-area{position:relative;overflow:hidden;border-radius:18px}
.fab-ai:not(.fullscreen-mode):not(.tv-mode) .ai-dock-avatar-area{overflow:hidden}
#ai-avatar-fab:not(.dock-expanded)::after{content:"";position:absolute;border-radius:50%;background:#0e1422;pointer-events:none;z-index:5}


.ai-dock{background:rgba(10,14,21,.82);border:1px solid rgba(90,140,255,.18);box-shadow:none !important;}




.factors-hero { margin-bottom: 14px}
.factors-hero-stats {
  display: flex;
  gap: 16px;
  padding: 14px 16px 0;
  flex-wrap: wrap}
.hero-stat {
  background: var(--surface, rgba(255,255,255,0.04));
  border: 1px solid var(--border, rgba(255,255,255,0.08));
  border-radius: 10px;
  padding: 10px 16px;
  min-width: 100px;
  text-align: center}
.hero-stat-val {
  font-size: 26px;
  font-weight: 700;
  color: var(--text, var(--c-white));
  line-height: 1.2}
.hero-stat-val.up { color: var(--up, var(--red-alert))}
.hero-stat-label {
  font-size: 16px;
  color: var(--muted, rgba(255,255,255,0.55));
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 0.4px}
.factor-bar-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px}
.factor-val {
  font-size: 16px;
  font-weight: 600}
.factor-bar {
  width: 44px;
  height: 4px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  overflow: hidden}
.factor-bar-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.4s ease}
.factor-bar-fill.bar-up { background: var(--up, var(--red-alert))}
.factor-bar-fill.bar-down { background: var(--down, #27ae60)}
.factor-bar-fill.bar-mid { background: var(--accent, var(--accent))}
.factor-exp-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px}
.factor-exp-name {
  font-size: 22px;
  font-weight: 700;
  color: var(--text, var(--c-white))}
.factor-exp-source {
  font-size: 16px;
  padding: 2px 8px;
  border-radius: 10px;
  background: var(--surface, rgba(255,255,255,0.06));
  border: 1px solid var(--border, rgba(255,255,255,0.08))}
.factor-exp-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
  gap: 10px;
  margin-bottom: 14px}
.factor-exp-stats .stat-card {
  padding: 10px;
  text-align: center}
.factor-exp-stats .stat-card .card-label {
  font-size: 14px;
  color: var(--muted, rgba(255,255,255,0.55));
  margin-bottom: 4px}
.factor-exp-stats .stat-card .card-value {
  font-size: 22px;
  font-weight: 700}
.factor-exp-desc {
  font-size: 16px;
  line-height: 1.55;
  color: var(--muted, rgba(255,255,255,0.7));
  margin-bottom: 14px;
  padding: 10px;
  background: var(--surface, rgba(255,255,255,0.03));
  border-radius: 8px;
  border-left: 3px solid var(--accent, var(--accent))}
.factor-sparkline {
  margin-top: 8px;
  padding: 8px;
  background: var(--surface, rgba(255,255,255,0.02));
  border-radius: 8px;
  border: 1px solid var(--border, rgba(255,255,255,0.06))}
.corr-table th,
.corr-table td {
  padding: 8px 4px}
.col-corr-h {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.3px}
.col-corr-label {
  font-size: 16px;
  font-weight: 600}


.factors-pool-info{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;background:var(--panel-bg);border-radius:8px;border:1px solid var(--border);font-size:0.9rem;color:var(--text-secondary)}
.pool-info-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;background:var(--primary);color:var(--c-white);font-size:12px}
.pool-info-desc{flex:1}
.factors-rank-panel .panel-header .toolbar{display:flex;gap:6px}
.factor-bar-cell{display:flex;align-items:center;gap:8px}
.factor-val{min-width:36px;text-align:right;font-variant-numeric:tabular-nums}
.factor-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden;min-width:40px}
.factor-bar-fill{height:100%;border-radius:3px}
.bar-up{background:var(--up)}
.bar-down{background:var(--down)}
.bar-mid{background:var(--text-tertiary)}
.btn-export,.btn-ic-summary,.pool-select{height:32px}
.ic-summary .panel-subtitle{color:var(--text-secondary);font-size:12px;margin-bottom:10px}

#ai-dock-status-text{transition:color .2s}


.factors-ic-panel{margin-top:12px}
.ic-chart-body{padding:16px;min-height:300px}
.ic-chart-container{width:100%;overflow-x:auto}
.ic-chart-svg{max-width:100%;height:auto}
.ic-chart-pool-tag{font-size:12px;color:var(--text-secondary,#888);padding:2px 8px;background:var(--bg-secondary,#1a1a2e);border-radius:4px}


.ai-avatar-bubble.show .ai-avatar-bubble-text{animation:none}
@keyframes streamPulse{0%{opacity:0.7}100%{opacity:1}}


.ai-dock-avatar-area{position:relative;display:flex;align-items:center;justify-content:center}





@keyframes avPulseOnce{0%{transform:scale(1)}40%{transform:scale(1.08)}70%{transform:scale(0.96)}100%{transform:scale(1)}}
@keyframes avNod{0%,100%{transform:translateY(0)}30%{transform:translateY(4px)}60%{transform:translateY(-2px)}}
@keyframes avGazeFloat{0%,100%{transform:translate(0,0)}25%{transform:translate(var(--gaze-x,0),var(--gaze-y,0))}50%{transform:translate(calc(var(--gaze-x,0)*0.6),calc(var(--gaze-y,0)*0.6))}75%{transform:translate(calc(var(--gaze-x,0)*-0.3),calc(var(--gaze-y,0)*-0.3))}}


#ai-avatar-fab .ai-dock-avatar-area{animation:none;animation:none}
#ai-avatar-fab.is-hovering .ai-dock-avatar-area,#ai-avatar-fab.is-speaking .ai-dock-avatar-area,#ai-avatar-fab.is-listening .ai-dock-avatar-area{animation-play-state:running}










#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode){border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-avatar-area{border-radius:0}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-living-canvas{border-radius:0}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-info{order:2}

@media (max-width:768px){
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode){}
}


.is-listening #ai-dock-status-text{color:var(--accent)}
.is-thinking #ai-dock-status-text{color:var(--accent)}
.is-speaking #ai-dock-status-text{color:var(--accent)}


#ai-avatar-fab.pulse-once .ai-dock-avatar-area{animation:none}




.sb-smart-mode{display:flex;flex-direction:column;gap:16px}
.sb-wizard{display:flex;flex-direction:column;gap:20px}
.sb-step{background:var(--bg-elevated);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line)}
.sb-step-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--bg-surface);border-bottom:1px solid var(--line)}
.sb-step-num{width:28px;height:28px;border-radius:50%;background:var(--accent-gradient);color:var(--c-white);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}
.sb-step-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}
.sb-step-body{padding:16px}
.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.template-card{position:relative;padding:14px;background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease-out);display:flex;align-items:flex-start;gap:12px}
.template-card:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-2px)}
.template-card.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:none !important;}
.template-icon{width:36px;height:36px;flex-shrink:0;color:var(--accent)}
.template-icon svg{width:100%;height:100%}
.template-info{flex:1;min-width:0}
.template-name{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:2px}
.template-desc{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}
.template-tag{position:absolute;top:8px;right:8px;font-size:15px;padding:2px 8px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-weight:600}
.risk-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.risk-preset-card{padding:16px;background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:center}
.risk-preset-card:hover{border-color:var(--accent);background:var(--bg-hover)}
.risk-preset-card.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:none !important;}
.risk-preset-name{font-size:var(--text-md);font-weight:700;color:var(--text-primary);margin-bottom:4px}
.risk-preset-desc{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:8px}
.risk-preset-stats{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.risk-preset-stats span{font-size:15px;color:var(--text-secondary);background:var(--bg-elevated);padding:2px 8px;border-radius:10px}
.sb-target-row{display:flex;gap:12px;align-items:flex-end}
.sb-target-input{flex:1}
.sb-test-btn{height:40px;padding:0 24px;font-size:var(--text-base);font-weight:600;white-space:nowrap}
.sb-quick-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0}
.sb-mode-switch{text-align:center;padding:8px 0}
.btn-mode-toggle{background:var(--bg-elevated);border:1px solid var(--line);color:var(--text-secondary);padding:8px 20px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:all .2s}
.btn-mode-toggle:hover{border-color:var(--accent);color:var(--accent)}
.sb-expert-mode{border-top:1px dashed var(--line-strong);padding-top:16px}


.bt-quick-panel .bt-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.bt-template-card{padding:14px;background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}
.bt-template-card:hover{border-color:var(--accent);background:var(--bg-hover);transform:translateY(-2px)}
.bt-template-card.active{border-color:var(--accent);background:var(--accent-soft)}
.bt-template-name{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:4px}
.bt-template-desc{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:8px;line-height:1.4}
.bt-template-tags{display:flex;gap:6px}
.bt-template-tags span{font-size:15px;color:var(--text-secondary);background:var(--bg-elevated);padding:2px 8px;border-radius:10px}
.bt-param-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}
.bt-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn-lg{height:40px;padding:0 28px;font-size:var(--text-md);font-weight:600}
.bt-strategy-desc{margin-top:12px;padding:8px 12px;background:var(--bg-surface);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-muted)}
.bt-code-group{grid-column:span 2}


.factors-insights-panel{background:#0e1422}
.factors-insights{padding:0 16px 12px}
.insights-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.insight-card{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px}
.insight-card-header{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:10px}
.insight-icon{width:18px;height:18px;color:var(--accent)}
.insight-card-body{display:flex;flex-direction:column;gap:6px}
.insight-stock{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}
.insight-stock:hover{background:var(--bg-hover)}
.insight-stock-rank{font-size:var(--text-xs);font-weight:700;color:var(--accent);min-width:24px}
.insight-stock-name{flex:1;font-size:var(--text-sm);color:var(--text-primary)}
.insight-stock-score{font-size:var(--text-sm);font-weight:700}
.insight-factor{display:flex;align-items:center;gap:8px}
.insight-factor-name{font-size:var(--text-xs);color:var(--text-secondary);min-width:60px}
.insight-factor-bar{flex:1;height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}
.insight-factor-fill{height:100%;background:var(--accent-gradient);border-radius:3px;transition:width .3s}
.insight-factor-val{font-size:var(--text-xs);color:var(--text-primary);font-weight:600;min-width:30px;text-align:right}
.factors-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:768px){.factors-grid{grid-template-columns:1fr}.insights-row{grid-template-columns:1fr}.risk-preset-grid{grid-template-columns:1fr}.bt-code-group{grid-column:span 1}.sb-target-row{flex-direction:column}}





.user-menu-usage{padding:10px 16px;border-bottom:1px solid var(--line)}
.usage-label{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:4px}
.usage-bar{height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden;margin-bottom:4px}
.usage-fill{height:100%;background:var(--accent-gradient);border-radius:2px;transition:width .3s}
.usage-text{font-size:var(--text-xs);color:var(--text-secondary)}


.vip-gated{position:relative;opacity:.6;pointer-events:none}
.vip-gated::after{content:'PRO';position:absolute;top:4px;right:4px;font-size:12px;padding:1px 6px;border-radius:8px;background:var(--gold);color:#000;font-weight:700}


.fab-ai.body-mode {
  height: 320px !important;
  min-height: 320px !important;
  max-width: 280px !important;
  right: 20px !important;
  left: auto !important;
  bottom: 16px !important;
  top: auto !important;
  margin:0}
.fab-ai.body-mode .ai-avatar-living-canvas {
  height: 320px !important}
.fab-ai.body-mode .ai-dock-avatar-area {
  height: 280px !important}


#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode{position:fixed!important;border-radius:12px;z-index:99999!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;background:transparent}#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-dock-avatar-area{}#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-dock-info,#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-avatar-panel{display:none!important}#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-avatar-bubble{font-size:12px}
.fab-ai.fullscreen-mode .ai-dock-info {display: none !important}
.fab-ai.fullscreen-mode .ai-dock-toggle {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  z-index: 100000 !important}
.fab-ai.fullscreen-mode .ai-avatar-panel {
  position: relative !important;
  flex-direction: column !important;
  gap:8px;
  margin-left: 40px !important}
.fab-ai.fullscreen-mode .ai-avatar-bubble {
  position: relative !important;
  max-width: 500px !important;
  font-size:12px;
  line-height:1.5;
  padding:0;
  margin-left: 40px !important;
  background:transparent;
  border:1px solid var(--line-default)}
.fab-ai.fullscreen-mode .ai-avatar-bubble-text {
  font-size:12px}
.fab-ai.fullscreen-mode .ai-dock-bg,
.fab-ai.fullscreen-mode .ai-dock-glow,
.fab-ai.fullscreen-mode .ai-dock-ambient {
  display: none !important}


.ai-avatar-body-btn,
.ai-avatar-fullscreen-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important}
.fab-ai.body-mode .ai-avatar-body-btn {
  background:transparent;
  color:var(--accent)}
.fab-ai.fullscreen-mode .ai-avatar-fullscreen-btn {
  background:transparent;
  color:var(--accent)}


.tl-container{padding:16px;max-width:1200px;margin:0 auto}
.tl-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.tl-title{font-size:22px;font-weight:600;color:var(--text-primary,#e0e6ed);margin:0}
.tl-subtitle{font-size:15px;color:var(--text-secondary,var(--c-slate-500));flex:1}
.tl-refresh{display:flex;align-items:center;gap:4px}
.tl-pipeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:stretch;margin-bottom:24px;padding:12px;background:var(--bg-card,#131820);border-radius:12px;border:1px solid var(--border-color,#1e2530)} 
.stage-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;transition:all .3s;min-width:0;overflow:hidden;opacity:.5;position:relative}
.stage-item.active{opacity:1;background:rgba(80,160,255,.12)}
.stage-item.completed{opacity:.7}
.stage-item.completed .stage-icon{color:var(--success,#4caf50)}
.stage-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated,var(--c-surface-2));border-radius:50%;color:var(--text-secondary,var(--c-slate-500))}
.stage-item.active .stage-icon{color:var(--accent,var(--c-blue-400));background:rgba(80,160,255,.15)}
.stage-info{min-width:0;flex:1;overflow:hidden}
.stage-name{font-size:15px;font-weight:600;color:var(--text-primary,#e0e6ed);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage-desc{font-size:14px;color:var(--text-tertiary,#5a6575);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage-connector{display:none} 
@media (max-width:768px){.tl-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-desc{font-size:13px}}
@media (max-width:480px){.tl-pipeline{grid-template-columns:1fr}}
.tl-content{min-height:300px;margin-bottom:24px}
.tl-panel{animation:none}
.tl-form-card{background:var(--bg-card,#131820);border:1px solid var(--border-color,#1e2530);border-radius:12px;padding:24px}
.tl-form-title{font-size:18px;font-weight:600;color:var(--text-primary,#e0e6ed);margin:0 0 16px 0}
.tl-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:16px}
.tl-form-group{display:flex;flex-direction:column;gap:6px}
.tl-form-group label{font-size:15px;color:var(--text-secondary,var(--c-slate-500));font-weight:500}
.tl-form-group input,.tl-form-group select{background:var(--bg-elevated,var(--c-surface-2));border:1px solid var(--border-color,#2a3545);border-radius:8px;padding:8px 12px;color:var(--text-primary,#e0e6ed);font-size:15px}
.tl-form-group input:focus{outline:none;border-color:var(--accent,var(--c-blue-400))}
.tl-form-action{justify-content:flex-end}
.tl-dir-toggle{display:flex;gap:4px}
.tl-dir-btn{flex:1;padding:8px 12px;background:var(--bg-elevated,var(--c-surface-2));border:1px solid var(--border-color,#2a3545);border-radius:6px;color:var(--text-secondary,var(--c-slate-500));cursor:pointer;font-size:15px;transition:all .2s}
.tl-dir-btn.active{background:rgba(80,160,255,.15);color:var(--accent,var(--c-blue-400));border-color:var(--accent,var(--c-blue-400))}
.tl-quick-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border-color,#1e2530)}
.tl-quick-label{font-size:15px;color:var(--text-tertiary,#5a6575)}
.tl-quick-btn{padding:4px 10px;background:var(--bg-elevated,var(--c-surface-2));border:1px solid var(--border-color,#2a3545);border-radius:12px;color:var(--text-secondary,var(--c-slate-500));cursor:pointer;font-size:15px;transition:all .2s}
.tl-quick-btn:hover{background:rgba(80,160,255,.1);color:var(--accent,var(--c-blue-400))}
.tl-info-bar{display:flex;gap:16px;flex-wrap:wrap;padding:12px;background:var(--bg-elevated,var(--c-surface-2));border-radius:8px;margin-bottom:16px}
.tl-info-item{display:flex;flex-direction:column;gap:2px}
.tl-info-label{font-size:15px;color:var(--text-tertiary,#5a6575)}
.tl-info-value{font-size:15px;font-weight:600;color:var(--text-primary,#e0e6ed)}
.tl-info-value.up{color:var(--up-color,#ef4444)}
.tl-info-value.down{color:var(--down-color,#22c55e)}
.tl-spread-analysis{display:flex;gap:16px;padding:12px;background:rgba(80,160,255,.05);border-radius:8px;margin:12px 0}
.tl-spread-item{font-size:15px;color:var(--text-secondary,var(--c-slate-500))}
.tl-spread-item span{font-weight:600}
.tl-spread-item span.up{color:var(--up-color,#ef4444)}
.tl-spread-item span.down{color:var(--down-color,#22c55e)}
.tl-warnings{margin:12px 0}
.tl-warning-item{padding:8px 12px;background:rgba(255,180,0,.08);border:1px solid rgba(255,180,0,.2);border-radius:6px;color:#ffb400;font-size:15px;margin-bottom:6px}
.tl-fee-preview{margin-top:16px;padding:12px;background:var(--bg-elevated,var(--c-surface-2));border-radius:8px}
.tl-fee-row{display:flex;justify-content:space-between;padding:4px 0;font-size:15px;color:var(--text-secondary,var(--c-slate-500))}
.tl-fee-row span:last-child{font-weight:600;color:var(--text-primary,#e0e6ed)}
.tl-fee-total{border-top:1px solid var(--border-color,#2a3545);margin-top:4px;padding-top:8px;font-weight:600}
.tl-stage-actions{display:flex;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color,#1e2530)}
.tl-contract-card{position:relative}
.tl-contract-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.tl-contract-no{font-size:15px;color:var(--text-tertiary,#5a6575)}
.tl-contract-body{padding:16px;background:var(--bg-elevated,var(--c-surface-2));border-radius:8px;margin-bottom:16px}
.tl-contract-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border-color,#1e2530);font-size:15px}
.tl-contract-row span:first-child{color:var(--text-tertiary,#5a6575)}
.tl-contract-row span:last-child{font-weight:500;color:var(--text-primary,#e0e6ed)}
.tl-contract-total{font-weight:600;background:rgba(80,160,255,.05);padding:8px 0}
.tl-contract-net{font-weight:600;font-size:18px;color:var(--accent,var(--c-blue-400))}
.tl-contract-terms{margin:16px 0}
.tl-contract-terms h4{font-size:15px;color:var(--text-primary,#e0e6ed);margin-bottom:8px}
.tl-contract-terms ol{padding-left:20px}
.tl-contract-terms li{font-size:15px;color:var(--text-secondary,var(--c-slate-500));margin-bottom:6px;line-height:1.6}
.tl-contract-seal{position:absolute;top:24px;right:80px;text-align:center;color:rgba(200,30,30,.4);font-size:15px;border:2px solid rgba(200,30,30,.3);border-radius:50%;padding:12px 8px;transform:rotate(-15deg);pointer-events:none}
.tl-settlement-table{margin-top:16px}
.tl-settlement-total td{font-weight:600;background:rgba(80,160,255,.05)}
.tl-settlement-net td{font-weight:600;color:var(--accent,var(--c-blue-400))}
.tl-history{background:var(--bg-card,#131820);border:1px solid var(--border-color,#1e2530);border-radius:12px;padding:16px}
.tl-history-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.tl-history-header h3{font-size:15px;font-weight:600;color:var(--text-primary,#e0e6ed);margin:0}
.tl-history-count{font-size:15px;color:var(--text-tertiary,#5a6575)}
.tl-empty{text-align:center;padding:24px;color:var(--text-tertiary,#5a6575);font-size:15px}


.ai-avatar-voice-settings{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99998;display:flex;align-items:center;justify-content:center}
.ai-avatar-voice-settings.is-hidden{display:none!important}
.vs-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6)}
.vs-dialog{position:relative;background:var(--bg-card,#131820);border:1px solid var(--border-color,#1e2530);border-radius:16px;padding:24px;width:90%;max-width:440px;max-height:80vh;overflow-y:auto;z-index:1}
.vs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.vs-header h3{font-size:18px;font-weight:600;color:var(--text-primary,#e0e6ed);margin:0}
.vs-close{background:none;border:none;font-size:28px;color:var(--text-secondary,var(--c-slate-500));cursor:pointer;padding:0 4px}
.vs-body{display:flex;flex-direction:column;gap:16px}
.vs-section{display:flex;flex-direction:column;gap:6px}
.vs-label{font-size:15px;color:var(--text-secondary,var(--c-slate-500));font-weight:500;display:flex;align-items:center;justify-content:space-between}
.vs-voice-select,.vs-lang-filter{background:var(--bg-elevated,var(--c-surface-2));border:1px solid var(--border-color,#2a3545);border-radius:8px;padding:8px 12px;color:var(--text-primary,#e0e6ed);font-size:15px}
.vs-hint{font-size:15px;color:var(--text-tertiary,#5a6575)}
.vs-slider{width:100%;height:4px;background:var(--bg-elevated,var(--c-surface-2));border-radius:2px;appearance:none;outline:none}
.vs-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:var(--accent,var(--c-blue-400));border-radius:50%;cursor:pointer}
.vs-value{font-size:15px;color:var(--accent,var(--c-blue-400));font-weight:600}
.vs-preview,.vs-save{margin-top:8px}


.ai-avatar-broadcast-btn.is-on,.ai-avatar-tv-btn.is-on{background:transparent;color:var(--accent)}
.fab-ai.tv-mode{width:100vw!important;height:100vh!important;max-width:100vw!important;border-radius:12px;position:fixed!important;top:0!important;right:auto!important;bottom:auto!important;left:0!important;z-index:99999!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;background:transparent}
.fab-ai.tv-mode .ai-dock-avatar-area{width:280px!important;height:360px!important}
.fab-ai.tv-mode .ai-avatar-living-canvas{width:280px!important;height:360px!important}
.fab-ai.tv-mode .ai-avatar-panel{position:relative!important;flex-direction:column!important;gap:8px;margin-top:30px!important}
.fab-ai.tv-mode .ai-avatar-bubble{position:relative!important;max-width:600px!important;font-size:12px;line-height:1.5;padding:0;background:transparent;border:1px solid var(--line-default)}
.fab-ai.tv-mode .ai-dock-bg,.fab-ai.tv-mode .ai-dock-glow,.fab-ai.tv-mode .ai-dock-ambient,.fab-ai.tv-mode .ai-dock-info{display:none!important}
.fab-ai.tv-mode .ai-dock-toggle{position:fixed!important;top:20px!important;right:20px!important;z-index:100000!important}


.ai-dock-info{white-space:nowrap!important;overflow:hidden!important}
.panel-header .title{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ai-dock-name{white-space:nowrap!important;display:inline-block!important;max-width:140px!important;overflow:hidden!important;text-overflow:ellipsis!important}
.model-select{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.panel-header .title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:60%}.icon-sm{width:19.5px;height:19.5px}.panel-padded{padding:20px}

.gm-detail-l2{margin-top:14px}
.l2-panel{border:1px solid var(--border);border-radius:14px;background:var(--bg-elevated,rgba(255,255,255,.02));padding:12px 14px;box-shadow:none !important;}
.l2-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.l2-title{font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--text-primary,#e8eef6)}
.l2-badge{padding:2px 8px;border-radius:999px;font-size:15px;font-weight:600;line-height:1.6}
.l2-synth{background:rgba(255,176,32,.14);color:#ffb020;border:1px solid rgba(255,176,32,.35)}
.l2-upd{margin-left:auto;font-size:15px;color:var(--text-secondary,#8a98ad);font-variant-numeric:tabular-nums}
.l2-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:12px}
@media(max-width:1080px){.l2-grid{grid-template-columns:1fr}}
.l2-card{border:1px solid var(--border);border-radius:10px;background:var(--bg-panel,rgba(0,0,0,.18));padding:10px;min-width:0}
.l2-card-title{font-size:14px;font-weight:600;color:var(--text-secondary,#aab6c8);margin-bottom:8px;letter-spacing:.03em}
.l2-loading,.l2-empty{padding:18px 6px;text-align:center;color:var(--text-secondary,#8a98ad);font-size:15px}

.l2-ob-rows{font-variant-numeric:tabular-nums}
.l2-ob-row{display:grid;grid-template-columns:42px 1fr 1fr 56px;align-items:center;padding:3px 6px;border-radius:6px;font-size:14px}
.l2-ob-row .l2-lv{color:var(--text-secondary,#8a98ad);font-size:15px}
.l2-ob-row .l2-px{text-align:right;font-weight:600}
.l2-ob-row .l2-vol{text-align:right;color:var(--text-primary,#d7e0ec)}
.l2-ob-row .l2-ord{text-align:right;color:var(--text-secondary,#8a98ad);font-size:15px}
.l2-ob-row.ask{background:rgba(0,200,83,.05)}
.l2-ob-row.bid{background:rgba(255,59,59,.05)}
.l2-ob-row .l2-px.down{color:var(--down,#00c853)}
.l2-ob-row .l2-px.up{color:var(--up,#ff3b3b)}
.l2-ob-mid{display:flex;align-items:center;gap:10px;padding:7px 6px;margin:4px 0;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border)}
.l2-ob-mid .l2-last{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.l2-ob-mid .l2-last.up{color:var(--up,#ff3b3b)}
.l2-ob-mid .l2-last.down{color:var(--down,#00c853)}
.l2-ob-mid .l2-spread,.l2-ob-mid .l2-imb{font-size:15px;color:var(--text-secondary,#8a98ad)}
.l2-ob-mid .l2-imb.up{color:var(--up,#ff3b3b)}
.l2-ob-mid .l2-imb.down{color:var(--down,#00c853)}
.l2-ob-tot{margin-top:8px}
.l2-ob-bar{display:flex;height:8px;border-radius:6px;overflow:hidden;background:var(--border)}
.l2-bar-bid{background:var(--up,#ff3b3b)}
.l2-bar-ask{background:var(--down,#00c853)}
.l2-ob-leg{display:flex;justify-content:space-between;margin-top:5px;font-size:15px}
.l2-ob-leg .up{color:var(--up,#ff3b3b)}
.l2-ob-leg .down{color:var(--down,#00c853)}

.l2-ticks-leg{display:flex;gap:10px;flex-wrap:wrap;font-size:15px;margin-bottom:6px}
.l2-ticks-leg .up{color:var(--up,#ff3b3b)}
.l2-ticks-leg .down{color:var(--down,#00c853)}
.l2-ticks-list{max-height:240px;overflow:auto}
.l2-tick-row{display:grid;grid-template-columns:1fr 1fr 1fr 48px;gap:4px;padding:3px 4px;font-size:15px;border-radius:5px;font-variant-numeric:tabular-nums}
.l2-tick-row:nth-child(odd){background:rgba(255,255,255,.02)}
.l2-tick-time{color:var(--text-secondary,#8a98ad)}
.l2-tick-px{text-align:right;color:var(--text-primary,#d7e0ec)}
.l2-tick-vol{text-align:right;color:var(--text-primary,#d7e0ec)}
.l2-tick-side{text-align:right;font-weight:600}
.l2-tick-side.up{color:var(--up,#ff3b3b)}
.l2-tick-side.down{color:var(--down,#00c853)}

.l2-opt-sum{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-bottom:8px}
.l2-opt-item{display:flex;justify-content:space-between;align-items:baseline;font-size:15px}
.l2-opt-k{color:var(--text-secondary,#8a98ad)}
.l2-opt-v{font-weight:700;font-variant-numeric:tabular-nums}
.l2-opt-v.up{color:var(--up,#ff3b3b)}
.l2-opt-v.down{color:var(--down,#00c853)}
.l2-opt-title{font-size:12px;color:var(--text-secondary,#aab6c8);margin:6px 0 4px;letter-spacing:.03em}
.l2-opt-list{display:flex;flex-direction:column;gap:3px}
.l2-opt-row{display:grid;grid-template-columns:1fr 28px 1fr 1fr 40px;gap:4px;align-items:center;padding:3px 4px;font-size:12px;border-radius:5px;background:rgba(255,255,255,.02);font-variant-numeric:tabular-nums}
.l2-opt-strike{color:var(--text-primary,#d7e0ec)}
.l2-opt-type{font-weight:800;text-align:center}
.l2-opt-type.up{color:var(--up,#ff3b3b)}
.l2-opt-type.down{color:var(--down,#00c853)}
.l2-opt-vol{text-align:right;color:var(--text-primary,#d7e0ec)}
.l2-opt-sig{text-align:right;font-weight:600;font-size:12px}
.l2-opt-sig.up{color:var(--up,#ff3b3b)}
.l2-opt-sig.down{color:var(--down,#00c853)}
.l2-opt-score{text-align:right;color:var(--text-secondary,#8a98ad)}
.l2-opt-note{font-size:12px;color:var(--text-secondary,#8a98ad);line-height:1.6;padding:6px 2px}
.l2-foot{margin-top:10px;padding-top:8px;border-top:1px solid var(--border);font-size:15px;color:var(--text-secondary,#8a98ad);line-height:1.5}
.l2-foot b{color:#ffb020}

.ops-wrap { padding: 4px 2px 24px}
.ops-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 16px}
.ops-title { font-size: 26px; font-weight: 700; color: var(--text, #e0e7f0); margin: 0}
.ops-sub { font-size: 16px; color: var(--text-muted, var(--c-slate-400)); margin-top: 4px}
.ops-refresh {
  background: rgba(234,198,94,0.12); border: 1px solid rgba(234,198,94,0.3);
  color: #EAC65E; padding: 7px 16px; border-radius: 10px; font-size: 16px; cursor: pointer;
  transition: all .2s}
.ops-refresh:hover { background: rgba(234,198,94,0.22)}
.ops-state { padding: 14px; border-radius: 12px; font-size: 16px; margin-bottom: 14px}
.ops-state.is-hidden { display: none}
.ops-loading { background: rgba(20,30,50,0.6); color: var(--text-muted, var(--c-slate-400)); display: flex; align-items: center; gap: 10px}
.ops-error { background: rgba(220,60,60,0.12); color: #ff8a8a; border: 1px solid rgba(220,60,60,0.3)}
.ops-denied { background: rgba(234,198,94,0.1); color: #EAC65E; border: 1px solid rgba(234,198,94,0.28); display: flex; align-items: center; gap: 12px}
.ops-denied-icon { font-size: 28px}
.ops-body.is-hidden { display: none}
.ops-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 16px}
.ops-card-mini {
  background: rgba(20,30,50,0.55); border: 1px solid rgba(100,150,220,0.16);
  border-radius: 14px; padding: 16px}
.ops-card-mini.ops-up { border-color: rgba(234,198,94,0.4)}
.ops-card-mini.ops-warn { border-color: rgba(255,150,60,0.4)}
.ops-mini-k { font-size: 16px; color: var(--text-muted, var(--c-slate-400))}
.ops-mini-v { font-size: 36px; font-weight: 700; color: var(--text, #e0e7f0); margin: 6px 0 2px}
.ops-card-mini.ops-up .ops-mini-v { color: #EAC65E}
.ops-mini-sub { font-size: 16px; color: var(--text-muted, var(--c-slate-400))}
.ops-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; margin-bottom: 16px}
.ops-card {
  background: rgba(20,30,50,0.55); border: 1px solid rgba(100,150,220,0.16);
  border-radius: 14px; padding: 16px}
.ops-card-title { font-size: 18px; font-weight: 600; color: var(--text, #e0e7f0); margin-bottom: 12px}
.ops-chart { width: 100%; height: 240px}
.ops-dist { display: flex; flex-direction: column; gap: 12px}
.ops-dist-row { display: grid; grid-template-columns: 84px 1fr 36px; align-items: center; gap: 10px}
.ops-dist-name { font-size: 16px; color: var(--text, #e0e7f0)}
.ops-dist-name.pro { color: #6fb1ff}
.ops-dist-name.inst { color: #b18bff}
.ops-dist-name.sup { color: #EAC65E}
.ops-dist-bar { background: rgba(255,255,255,0.06); border-radius: 6px; height: 10px; overflow: hidden}
.ops-dist-bar span { display: block; height: 100%; background: #0e1422; border-radius: 6px}
.ops-dist-count { font-size: 16px; color: var(--text-muted, var(--c-slate-400)); text-align: right}
.ops-table-wrap { overflow-x: auto}
.ops-table { width: 100%; border-collapse: collapse; font-size: 16px}
.ops-table th, .ops-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid rgba(120,137,160,0.12); white-space: nowrap}
.ops-table th { color: var(--text-muted, var(--c-slate-400)); font-weight: 600; font-size: 16px}
.ops-table td { color: var(--text, #e0e7f0)}
.ops-num { text-align: right}
.ops-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 16px}
.ops-up { color: #ff5b5b}
.ops-tag-test { display: inline-block; margin-left: 4px; font-size: 14px; padding: 1px 5px; border-radius: 6px; background: rgba(120,137,160,0.2); color: var(--text-muted, var(--c-slate-400))}
.ops-badge { display: inline-block; padding: 2px 9px; border-radius: 8px; font-size: 16px}
.ops-badge.ok { background: rgba(40,160,90,0.18); color: #5fd99a}
.ops-badge.pending { background: rgba(255,150,60,0.18); color: #ffb05a}
.ops-badge.fail { background: rgba(220,60,60,0.18); color: #ff8a8a}
.ops-empty { color: var(--text-muted, var(--c-slate-400)); font-size: 16px; padding: 18px; text-align: center}
.ops-bars { display: flex; flex-direction: column; gap: 6px; max-height: 220px; overflow-y: auto}
.ops-bar-row { display: grid; grid-template-columns: 52px 1fr 88px; align-items: center; gap: 8px; font-size: 16px}
.ops-bar-date { color: var(--text-muted, var(--c-slate-400))}
.ops-bar-track { background: rgba(255,255,255,0.06); height: 8px; border-radius: 4px; overflow: hidden}
.ops-bar-track i { display: block; height: 100%; background: #0e1422}
.ops-bar-val { color: var(--text, #e0e7f0); text-align: right}
@media (max-width: 900px) {
  .ops-cards { grid-template-columns: repeat(2, 1fr)}
  .ops-grid { grid-template-columns: 1fr}
}

.nav-badge.ops-badge-sup {
  margin-left: auto; font-size:12px; font-weight: 700; letter-spacing: 0.5px;
  padding: 1px 6px; border-radius: 6px;
  background: rgba(234,198,94,0.18); color: #EAC65E;
  border: 1px solid rgba(234,198,94,0.35)}


.ops-head-act { display: flex; align-items: center; gap: 10px}
.ops-lock-chip {
  font-size: 16px; padding: 4px 10px; border-radius: 8px;
  background: rgba(40,160,90,0.16); color: #5fd99a; border: 1px solid rgba(40,160,90,0.3)}
.ops-lock-chip.is-hidden { display: none}
.ops-cards { grid-template-columns: repeat(5, 1fr)}
.ops-down { color: #2fbd6e}
.ops-dim  { color: var(--text-muted, var(--c-slate-400))}
.ops-badge.refund { background: rgba(47,189,110,0.16); color: #5fd99a}
.ops-note { margin-top: 12px; font-size: 16px; line-height: 1.7; color: var(--text-muted, var(--c-slate-400))}
.ops-basis { display: inline-block; padding: 1px 8px; border-radius: 6px; font-size: 14px; margin-right: 4px}
.ops-basis.ok   { background: rgba(40,160,90,0.18); color: #5fd99a}
.ops-basis.warn { background: rgba(255,150,60,0.18); color: #ffb05a}


.ops-gate.is-hidden { display: none}
.ops-gate { display: flex; justify-content: center; padding: 40px 12px}
.ops-gate-card {
  background: rgba(20,30,50,0.72); border: 1px solid rgba(234,198,94,0.24);
  border-radius: 18px; padding: 34px 32px; max-width: 460px; width: 100%; text-align: center;
  box-shadow:none !important;}
.ops-gate-icon { font-size: 56px; margin-bottom: 10px}
.ops-gate-title { font-size: 24px; font-weight: 700; color: var(--text, #e0e7f0); margin-bottom: 10px}
.ops-gate-desc { font-size: 16px; line-height: 1.8; color: var(--text-muted, var(--c-slate-400)); margin-bottom: 18px}
.ops-gate-err {
  font-size: 16px; color: #ff8a8a; background: rgba(220,60,60,0.1);
  border: 1px solid rgba(220,60,60,0.28); border-radius: 10px; padding: 9px 12px; margin-bottom: 14px}
.ops-gate-form { display: flex; gap: 10px}
.ops-pin-input {
  flex: 1; background: rgba(8,14,26,0.7); border: 1px solid rgba(100,150,220,0.24);
  border-radius: 10px; padding: 11px 14px; color: var(--text, #e0e7f0);
  font-size: 18px; letter-spacing: 3px; outline: none; transition: border-color .2s}
.ops-pin-input:focus { border-color: rgba(234,198,94,0.55)}
.ops-pin-input:disabled { opacity: .5}
.ops-pin-btn {
  background: #0e1422; border: none; border-radius: 10px;
  color: #1a1305; font-weight: 700; font-size: 18px; padding: 0 22px; cursor: pointer; transition: filter .2s}
.ops-pin-btn:hover { filter: brightness(1.08)}
.ops-pin-btn:disabled { opacity: .5; cursor: not-allowed}


.ops-funnel { display: flex; flex-direction: column; gap: 10px}
.ops-fn-row { display: grid; grid-template-columns: 92px 1fr 96px; align-items: center; gap: 10px}
.ops-fn-label { font-size: 16px; color: var(--text-muted, var(--c-slate-400))}
.ops-fn-track { position: relative; height: 26px; background: rgba(8,14,26,0.55); border-radius: 7px; overflow: hidden}
.ops-fn-fill { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 7px; transition: width .5s ease}
.ops-fn-fill.lv0 { background: #0e1422}
.ops-fn-fill.lv1 { background: #0e1422}
.ops-fn-fill.lv2 { background: #0e1422}
.ops-fn-fill.lv3 { background: #0e1422}
.ops-fn-fill.lv4 { background: #0e1422}
.ops-fn-fill.lv5 { background: #0e1422}
.ops-fn-num { position: absolute; right: 9px; top: 50%; transform: translateY(-50%);
  font-size: 16px; font-weight: 700; color: var(--text, #e0e7f0)}
.ops-fn-conv { font-size: 15px; color: var(--text-muted, var(--c-slate-400)); text-align: right}
.ops-fn-drop { display: block; font-size: 14px; color: #2fbd6e}


.ops-retain { display: flex; flex-direction: column; gap: 12px}
.ops-rt-active { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px}
.ops-rt-a {
  background: rgba(8,14,26,0.5); border: 1px solid rgba(100,150,220,0.14);
  border-radius: 10px; padding: 10px 12px; text-align: center}
.ops-rt-a span { display: block; font-size: 16px; color: var(--text-muted, var(--c-slate-400))}
.ops-rt-a b { display: block; font-size: 26px; font-weight: 700; color: #EAC65E; margin-top: 3px}
.ops-rt-table td, .ops-rt-table th { font-size: 16px}
.ops-rt-pct { display: block; font-style: normal; font-size: 14px; color: var(--text-muted, var(--c-slate-400))}


.ops-rf-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px}
.ops-rf-item {
  background: rgba(8,14,26,0.5); border: 1px solid rgba(100,150,220,0.14);
  border-radius: 10px; padding: 11px 12px}
.ops-rf-item span { display: block; font-size: 16px; color: var(--text-muted, var(--c-slate-400))}
.ops-rf-item b { display: block; font-size: 22px; font-weight: 700; margin-top: 4px}
.ops-rf-trend { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px}
.ops-rf-tr {
  background: rgba(47,189,110,0.08); border: 1px solid rgba(47,189,110,0.2);
  border-radius: 9px; padding: 7px 11px; font-size: 16px}
.ops-rf-tr span { color: var(--text-muted, var(--c-slate-400)); margin-right: 6px}
.ops-rf-tr b { font-size: 16px}
.ops-rf-tr i { font-style: normal; color: var(--text-muted, var(--c-slate-400)); margin-left: 6px}
.ops-rf-empty { padding: 14px}

@media (max-width: 1180px) {
  .ops-cards { grid-template-columns: repeat(3, 1fr)}
  .ops-rf-grid { grid-template-columns: repeat(3, 1fr)}
}
@media (max-width: 780px) {
  .ops-cards { grid-template-columns: repeat(2, 1fr)}
  .ops-grid { grid-template-columns: 1fr}
  .ops-rf-grid { grid-template-columns: repeat(2, 1fr)}
  .ops-fn-row { grid-template-columns: 76px 1fr 72px}
}


.ops-stamp{
  margin-top:14px; padding:10px 14px; border-radius:8px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06);
  color:var(--text-3,#8b93a7); font-size:15px; line-height:1.7; letter-spacing:.2px}
.ops-stamp b{ color:var(--text-2,#c3cad9); font-weight:600}


.ops-rt-uncovered{ opacity:.72}
.ops-tag-na{
  display:inline-block; margin-left:6px; padding:1px 6px; border-radius:4px;
  font-size:15px; line-height:16px; font-weight:600; letter-spacing:.3px;
  background:rgba(255,183,77,.12); color:#ffb74d; border:1px solid rgba(255,183,77,.28)}


.strategy-builder > .sb-mode-switch,
.strategy-builder > .sb-expert-mode{grid-column:1/-1;width:100%}
.sb-mode-switch{text-align:center;padding:14px 0 6px;position:relative}
.sb-mode-switch::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;
  background:#0e1422
  var(--line-strong,rgba(255,255,255,.12)) 78%,transparent);z-index:0}
.sb-mode-switch .btn-mode-toggle{position:relative;z-index:1;
  background:var(--bg-elevated,#141a26);border:1px solid var(--line-strong,rgba(255,255,255,.14));
  padding:9px 20px;border-radius:999px;font-weight:600;font-size:15px;
  color:var(--text-secondary,#9aa6b8);display:inline-flex;align-items:center;gap:8px;
  transition:all .22s cubic-bezier(.4,0,.2,1)}
.sb-mode-switch .btn-mode-toggle:hover{color:var(--text-primary,#e8eef7);
  border-color:var(--accent,var(--accent));box-shadow:none !important;transform:translateY(-1px)}
.sb-expert-mode{border-top:1px dashed var(--line-strong,rgba(255,255,255,.12));padding-top:18px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;align-items:start}
.sb-expert-mode.is-hidden{display:none}

.sb-expert-mode > .panel:first-child{grid-column:1/-1}
.sb-expert-mode .conditions-list{display:flex;flex-direction:column;gap:10px}
.sb-expert-mode .scoring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.sb-expert-mode .risk-params-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.sb-expert-mode #risk-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
@media(max-width:900px){
  .sb-expert-mode{grid-template-columns:1fr}
}


#ai-avatar-fab .ai-avatar-living-canvas{display:block;border-radius:18px;background:transparent}
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-avatar-area{border-radius:50%}
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-avatar-area::after{border-radius:50%}
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-living-canvas{border-radius:50%}


.fab-ai.body-mode .ai-avatar-living-canvas,
.fab-ai.fullscreen-mode .ai-avatar-living-canvas,
.fab-ai.tv-mode .ai-avatar-living-canvas{border-radius:18px}

@media (prefers-reduced-motion:no-preference){
  @keyframes lxSpark{0%,100%{opacity:.26}50%{opacity:.60}}
}

.nav-item.is-hot{position:relative}
.nav-item.is-hot::before{content:"";position:absolute;left:-1px;top:20%;bottom:20%;width:4px;border-radius:2px;background:#0e1422;box-shadow:none !important;transition:opacity .2s}
.sidebar.collapsed .nav-item.is-hot::before{left:50%;top:auto;bottom:-3px;width:22.5px;height:4px;transform:translateX(-50%)}
.sidebar-section.collapsed .sidebar-section-body{display:none}
.sidebar-section .sidebar-section-body{animation:none}
@keyframes lxFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}


@media (max-width: 768px) {
  .header-right{max-width:calc(100vw - 120px);overflow:visible;flex-shrink:1}
  .header-right .search-box{display:none!important}   
  .header-right .btn-wx-share{display:none!important} 
  .header-left{flex-shrink:0}
  .header-lang{margin-right:0!important}
  .header-right .btn{padding:0}
}


@media (max-width: 768px){
  .algo-slice-grid{grid-template-columns:repeat(auto-fill,minmax(26px,1fr))!important;gap:4px;max-width:100%!important}
  .algo-slices{max-width:100%!important;overflow-x:auto!important}
  .flw-table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .flw-table thead,.flw-table tbody{display:table!important;width:100%!important}
  .algo-table,.paper-grid table,.rank-table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
}


.lx-boost-cta{position:relative;display:flex;align-items:center;margin:0 22px 14px;padding:14px 18px;border-radius:14px;
  background:#0e1422;
  border:1px solid var(--line-accent);
  transition:opacity .3s,transform .3s,height .3s,margin .3s,padding .3s;overflow:hidden}
.lx-boost-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;flex-wrap:wrap}
.lx-boost-cta-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.lx-boost-cta-title{font-size:16px;font-weight:700;color:var(--text,#e8ecf4)}
.lx-boost-cta-sub{font-size:15px;color:var(--text-dim,#8b93a7)}
.lx-boost-cta-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.lx-boost-cta .btn-primary{background:var(--accent-gradient);border:none;color:var(--c-white);padding:7px 16px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s}
.lx-boost-cta .btn-primary:hover{transform:translateY(-1px);box-shadow:none !important;}
.lx-boost-cta .btn-outline{background:transparent;border:1px solid var(--line-accent);color:var(--accent);padding:6px 14px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}
.lx-boost-cta .btn-outline:hover{background:var(--accent-soft)}
.lx-boost-close{position:absolute;top:6px;right:10px;background:none;border:none;color:var(--text-dim,#8b93a7);font-size:18px;cursor:pointer;line-height:1;padding:4px}
.lx-boost-close:hover{color:var(--text,#e8ecf4)}
.lx-boost-hide{opacity:0;transform:translateY(-6px);margin:0;padding:0;height:0;border-width:0;pointer-events:none}
.lx-boost-quota{display:flex;align-items:center;margin:0 22px 10px;padding:8px 14px;border-radius:10px;
  background:rgba(240,160,32,.08);border:1px solid rgba(240,160,32,.25)}
.lx-boost-quota-inner{display:flex;align-items:center;gap:8px;width:100%;flex-wrap:wrap}
.lx-boost-quota-icon{color:#f0a020;font-size:15px}
.lx-boost-quota-text{font-size:15px;color:var(--text-dim,#8b93a7);flex:1;min-width:200px}
@media(max-width:768px){
  .lx-boost-cta{margin:0 12px 10px;padding:12px 14px}
  .lx-boost-cta-inner{flex-direction:column;align-items:flex-start}
  .lx-boost-cta-actions{width:100%}
  .lx-boost-cta .btn-primary,.lx-boost-cta .btn-outline{flex:1;text-align:center}
  .lx-boost-quota{margin:0 12px 8px}
}



#ai-avatar-fab .ai-dock-avatar-area{box-shadow:none !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area::after{content:'';position:absolute;border-radius:0;pointer-events:none;z-index:6;background:#0e1422}

#ai-avatar-fab.fab-ai.ai-dock.dock-expanded{border:1px solid rgba(255,255,255,.06);box-shadow:none !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-bg::before{background:#0e1422}

#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:hover .ai-dock-avatar-area .ai-avatar{transform:scale(1.012)}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area .ai-avatar{transition:transform .35s cubic-bezier(.22,1,.36,1)}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.is-speaking .ai-dock-avatar-area::after{animation:none}
@keyframes lxV18SpeakRing{
  0%,100%{opacity:.55}
  50%{opacity:1}
}
@keyframes lxV18Glow{
  0%,100%{opacity:.65;transform:translateX(-50%) scale(1)}
  50%{opacity:1;transform:translateX(-50%) scale(1.04)}
}

#ai-avatar-fab .ai-dock-name{font-size:12px;font-weight:700;letter-spacing:.4px;background:#0e1422;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
#ai-avatar-fab .ai-dock-status{font-size:12px;color:rgba(255,255,255,.55)}
#ai-avatar-fab .ai-dock-status::before{animation:none}
@keyframes lxV18Dot{0%,100%{opacity:1}50%{opacity:.45}}

#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-avatar-area{box-shadow:none !important;transition:box-shadow .3s,transform .3s}
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed:hover .ai-dock-avatar-area{box-shadow:none !important;transform:scale(1.05)}

.fab-ai.fullscreen-mode .ai-dock-avatar-area{border-radius:22px;box-shadow:none !important}



#ai-avatar-fab .ai-dock-avatar-area{box-shadow:none !important;border:1px solid var(--line-default);background:transparent}
#ai-avatar-fab .ai-dock-avatar-area::before,
#ai-avatar-fab .ai-dock-avatar-area::after{display:none !important;content:none !important;box-shadow:none !important;background:transparent;animation:none !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-bg::before{display:none !important;content:none !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar{filter:none !important;transform:none !important;animation:none !important;transition:transform .35s cubic-bezier(.22,1,.36,1) !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-avatar-area{box-shadow:none !important;border:1px solid var(--line-default)}
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed:hover .ai-dock-avatar-area{box-shadow:none !important;transform:none !important}
.fab-ai.fullscreen-mode .ai-dock-avatar-area{box-shadow:none !important;border:1px solid var(--line-default)}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-bg{box-shadow:none !important}

.is-listening #ai-dock-status-text{color:var(--accent)}
.is-thinking #ai-dock-status-text{color:var(--accent)}
.is-speaking #ai-dock-status-text{color:var(--accent)}



@media (max-width:768px){
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded{}
  #ai-avatar-fab.fab-ai.ai-dock.dock-collapsed{}
}


#tab-ai-chat{max-width:960px!important;margin:0 auto;width:100%;padding:24px;box-sizing:border-box}
#tab-ai-chat .ai-chat{max-width:920px;margin:0 auto;width:100%}
#tab-ai-chat .chat-panel{max-width:920px;border-radius:16px;margin:0 auto}
#tab-ai-chat .chat-messages{max-height:calc(100vh - 380px);overflow-y:auto}
@media (max-width:1024px){
  #tab-ai-chat{max-width:100%!important;padding:16px}
  #tab-ai-chat .chat-panel{max-width:100%;border-radius:12px}
}


.msg-fb-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:none;background:rgba(255,255,255,.05);color:rgba(255,255,255,.45);cursor:pointer;margin-left:6px;padding:0;transition:all .18s}
.msg-fb-btn .icon{width:18px;height:18px}
.msg-fb-btn:hover{background:rgba(120,160,255,.18);color:#8fb4ff;transform:scale(1.08)}
.msg-fb-btn.fb-up.active{background:rgba(46,204,143,.2);color:#2ecc8f}
.msg-fb-btn.fb-down.active{background:rgba(90,140,255,.2);color:var(--accent)}
.chat-msg .msg-content{display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.chat-msg .msg-text{width:100%}
.msg-fb-btn{opacity:0;transition:opacity .2s}
.chat-msg:hover .msg-fb-btn,.msg-fb-btn.active{opacity:1}


#tab-ai-chat.tab-content.active{
  display:block!important;
  position:fixed!important;
  left:50%!important;top:80px!important;
  transform:translateX(-50%)!important;
  width:min(720px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 140px)!important;
  overflow-y:auto!important;
  z-index:50;
  margin:0;padding:0}
#tab-ai-chat .ai-chat,#tab-ai-chat .chat-panel{width:100%;max-width:100%;margin:0;box-sizing:border-box}
#tab-ai-chat .chat-messages{max-height:calc(100vh - 380px);overflow-y:auto}
@media (max-width:768px){
  #tab-ai-chat.tab-content.active{top:64px!important;width:calc(100vw - 16px)!important;max-height:calc(100vh - 100px)!important}
}


.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:.5px;color:var(--text-primary);min-width:0}
.sidebar-header .brand{flex:1;min-width:0}
.sidebar.collapsed .brand{justify-content:center}

.eb-recover{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:10000;display:flex;align-items:center;gap:14px;max-width:92vw;padding:12px 16px;background:var(--bg-glass-strong);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:none !important;color:var(--text-primary);font-size:15px;saturate(1.2);saturate(1.2)}
.eb-recover-btn{margin-left:auto;flex-shrink:0;padding:7px 16px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--c-white);font-size:15px;cursor:pointer;transition:filter var(--dur-fast) var(--ease-smooth)}
.eb-recover-btn:hover{filter:brightness(1.1)}

.chat-panel .panel-header .title .ai-avatar-img{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;border-radius:12px;margin:0;object-fit:cover;vertical-align:middle;display:inline-block}


.nb-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}
.nb-panel{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:16px;box-shadow:none !important;}
.nb-panel-h{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line-faint)}
.nb-factors{display:flex;flex-direction:column}
.nb-factor-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;padding-right:4px}
.nb-factor-row{display:grid;grid-template-columns:1fr 110px 44px;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--line-faint)}
.nb-factor-row:hover{background:var(--bg-hover)}
.nb-chk{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-secondary);cursor:pointer;user-select:none}
.nb-chk input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
.nb-range{-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--line-strong);outline:0;cursor:pointer}
.nb-range:disabled{opacity:.4;cursor:not-allowed}
.nb-range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-elevated)}
.nb-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-elevated)}
.nb-wval{font-size:15px;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}
.nb-note{margin-top:12px;font-size:15px;color:var(--text-muted);line-height:1.6}
.nb-params{display:flex;flex-direction:column}
.nb-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:15px;color:var(--text-secondary)}
.nb-sel,.nb-num{background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text-primary);padding:7px 10px;font-size:15px;min-width:120px;outline:0}
.nb-sel:focus,.nb-num:focus{border-color:var(--accent)}
.nb-run{margin-top:6px;padding:11px 16px;border:0;border-radius:var(--radius-sm);background:var(--accent-gradient);color:var(--c-white);font-size:15px;font-weight:600;cursor:pointer;transition:filter var(--dur-fast) var(--ease-smooth)}
.nb-run:hover{filter:brightness(1.08)}
.nb-run:active{transform:translateY(1px)}
.nb-status{margin-top:12px;font-size:15px;color:var(--text-muted);min-height:16px}
.nb-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.nb-stat{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:14px 16px;box-shadow:none !important;}
.nb-stat.up{border-left:3px solid var(--up)}
.nb-stat.down{border-left:3px solid var(--down)}
.nb-stat-v{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.nb-stat.up .nb-stat-v{color:var(--up)}
.nb-stat.down .nb-stat-v{color:var(--down)}
.nb-stat-t{font-size:15px;color:var(--text-muted);margin-top:4px}
.nb-charts{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nb-card{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:14px;box-shadow:none !important;}
.nb-wide{grid-column:1/-1}
.nb-card-h{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:10px}
.nb-chart{width:100%;height:320px}
.nb-wide .nb-chart{height:360px}


.fi-grid{display:grid;grid-template-columns:320px 1fr;gap:16px;padding:16px;align-items:start}
.fi-panel{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:16px;box-shadow:none !important;position:sticky;top:16px}
.fi-panel-h{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line-faint)}
.fi-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:15px;color:var(--text-secondary)}
.fi-sel,.fi-num{background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text-primary);padding:7px 10px;font-size:15px;width:150px;outline:0}
.fi-sel:focus,.fi-num:focus{border-color:var(--accent)}
.fi-run{margin-top:6px;width:100%;padding:11px 16px;border:0;border-radius:var(--radius-sm);background:var(--accent-gradient);color:var(--c-white);font-size:15px;font-weight:600;cursor:pointer;transition:filter var(--dur-fast) var(--ease-smooth)}
.fi-run:hover{filter:brightness(1.08)}
.fi-status{margin-top:12px;font-size:15px;color:var(--text-muted);min-height:16px}
.fi-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.fi-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.fi-stat{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:14px 16px;box-shadow:none !important;}
.fi-stat-v{font-size:22px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}
.fi-stat-t{font-size:15px;color:var(--text-muted);margin-top:4px}
.fi-card{background:var(--bg-elevated);border:1px solid var(--line-default);border-radius:var(--radius-md);padding:14px;box-shadow:none !important;}
.fi-card-h{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:10px}
.fi-chart{width:100%;height:360px}
.fi-table-wrap{overflow-x:auto}
.fi-table{width:100%;border-collapse:collapse;font-size:15px}
.fi-table th,.fi-table td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--line-faint);white-space:nowrap}
.fi-table th{color:var(--text-muted);font-weight:600;position:sticky;top:0;background:var(--bg-elevated);z-index:1}
.fi-table td:first-child,.fi-table th:first-child{text-align:left}
.fi-table tbody tr:hover{background:var(--bg-hover)}
.fi-table .up{color:var(--up)}
.fi-table .down{color:var(--down)}
.fi-tag{display:inline-block;padding:1px 7px;border-radius:4px;font-size:15px;background:var(--accent-soft);color:var(--accent)}
@media (max-width:900px){.fi-grid{grid-template-columns:1fr}.fi-panel{position:static}.nb-charts{grid-template-columns:1fr}}
@media (max-width:768px){.nb-grid{grid-template-columns:1fr}.nb-panel{grid-column:1/-1}.nb-chart{height:260px}.nb-wide .nb-chart{height:300px}}


.brand-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:1;min-width:0;max-width:100%}
.brand-logo img{display:block;height:64px;width:auto;max-width:208px;object-fit:contain;
  filter:none !important;
  transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1),filter .25s ease;
  image-rendering:-webkit-optimize-contrast;
  -webkit-font-smoothing:antialiased;
  will-change:transform}
.brand-logo:hover img{opacity:.98;transform:translateY(-1px) scale(1.03);filter:none !important;}
.brand-logo:active img{transform:scale(.97)}
.brand-logo-svg{height:50px;width:200px}
.brand-logo-png{height:64px!important;background:transparent;width:auto!important;max-width:208px!important}
.sidebar.collapsed .brand-logo{justify-content:center}
.sidebar.collapsed .brand-logo img{height:44px;width:44px;object-fit:cover}


.ai-dock.holo-3d{border:1px solid rgba(96,220,255,.28);box-shadow:none !important;}
.ai-dock.holo-3d .ai-dock-bg{background:#0e1422}

.ai-dock-avatar-area .ai-holo-layer{pointer-events:none}

.ai-dock.holo-3d .ai-dock-avatar-area::after{content:"";position:absolute;transform:translateX(-50%);background:#0e1422;filter:blur(2px);pointer-events:none;animation:none}
@keyframes aiHoloBeam{
  0%,100%{opacity:.65;transform:translateX(-50%) scaleX(1)}
  50%{opacity:1;transform:translateX(-50%) scaleX(1.12)}
}

.ai-dock.holo-3d .ai-avatar-living-canvas{animation:none;transform-origin:50% 78%}
@keyframes aiHoloFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  25%{transform:translateY(-1.1px) rotate(.18deg)}
  55%{transform:translateY(.4px) rotate(-.14deg)}
  80%{transform:translateY(-.5px) rotate(.08deg)}
}

.ai-dock.holo-3d.is-speaking{border-color:rgba(140,240,255,.45);box-shadow:none !important;}


.smart-strategy-btn.active{transform:scale(1.05);box-shadow:none !important;filter:brightness(1.2)}
.smart-strategy-btn{transition:all .2s cubic-bezier(.4,0,.2,1)}
.smart-strategy-btn:hover{transform:translateY(-1px);filter:brightness(1.1)}

.smart-results > div[style*="grid"] > div[style*="cursor:pointer"]:hover{border-color:var(--accent);background:transparent;transform:translateY(-2px);transition:all .2s}

.smart-results span[style*="border-radius:4px"]{font-weight:500;letter-spacing:.3px}





#ai-avatar-fab .ai-avatar,
#ai-avatar-fab.fab-ai .ai-avatar{filter:none !important;transform:none !important;box-shadow:none !important;border:1px solid var(--line-default);outline:none !important;background:transparent;animation:none !important;mix-blend-mode:normal !important;opacity:1 !important}


#ai-avatar-fab .ai-dock-avatar-area,
#ai-avatar-fab.fab-ai .ai-dock-avatar-area{filter:none !important;box-shadow:none !important;border:1px solid var(--line-default);background:transparent;animation:none !important;transform:none !important}


#ai-avatar-fab.fab-ai.ai-dock.dock-expanded{box-shadow:none !important;border:1px solid var(--line-default);background:transparent;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed{box-shadow:none !important;border:1px solid var(--line-default)}


#ai-avatar-fab .ai-dock-bg,
#ai-avatar-fab.fab-ai .ai-dock-bg{background:transparent;box-shadow:none !important;border:1px solid var(--line-default);animation:none !important}
#ai-avatar-fab .ai-dock-bg::before,
#ai-avatar-fab .ai-dock-bg::after{display:none !important;content:none !important}


#ai-avatar-fab .ai-dock-glow,
#ai-avatar-fab .ai-dock-ambient{display:none !important;opacity:0 !important;background:transparent;box-shadow:none !important;animation:none !important}


#ai-avatar-fab .ai-holo-layer{display:none !important}


@keyframes avGazeFloat,
@keyframes avHeadTilt,
@keyframes lxV18SpeakRing,
@keyframes lxV18Glow,
@keyframes badgePulse{
  0%,100%{transform:none !important}
  50%{transform:none !important}
}


#ai-dock-status-text{background:transparent}


#ai-avatar-fab .ai-dock-name{background:transparent;text-shadow:none !important}





#ai-avatar-fab .ai-dock-bg,
#ai-avatar-fab.fab-ai .ai-dock-bg,
#ai-avatar-fab .ai-avatar-panel,
#ai-avatar-fab.fab-ai .ai-avatar-panel,
#ai-avatar-fab .ai-avatar-bubble,
#ai-avatar-fab.fab-ai .ai-avatar-bubble,
#ai-avatar-fab .ai-avatar-bubble.show,
#ai-avatar-fab.fab-ai .ai-avatar-bubble.show,
#ai-avatar-fab .ai-avatar-tooltip,
#ai-avatar-fab.fab-ai .ai-avatar-tooltip,
#ai-avatar-fab .ai-avatar-btn,
#ai-avatar-fab.fab-ai .ai-avatar-btn,
#ai-avatar-fab .ai-avatar-mic-btn,
#ai-avatar-fab.fab-ai .ai-avatar-mic-btn,
#ai-avatar-fab .ai-avatar-tts-btn,
#ai-avatar-fab.fab-ai .ai-avatar-tts-btn,
#ai-avatar-fab .ai-avatar-wake-btn,
#ai-avatar-fab.fab-ai .ai-avatar-wake-btn,
#ai-avatar-fab .ai-avatar-body-btn,
#ai-avatar-fab.fab-ai .ai-avatar-body-btn,
#ai-avatar-fab .ai-avatar-fullscreen-btn,
#ai-avatar-fab.fab-ai .ai-avatar-fullscreen-btn,
#ai-avatar-fab .ai-avatar-tv-btn,
#ai-avatar-fab.fab-ai .ai-avatar-tv-btn,
#ai-avatar-fab .ai-avatar-broadcast-btn,
#ai-avatar-fab.fab-ai .ai-avatar-broadcast-btn,
#ai-avatar-fab .ai-avatar-voice-btn,
#ai-avatar-fab.fab-ai .ai-avatar-voice-btn,
#ai-avatar-fab .ai-avatar-chat-btn,
#ai-avatar-fab.fab-ai .ai-avatar-chat-btn,
#ai-avatar-fab .ai-insight-btn,
#ai-avatar-fab.fab-ai .ai-insight-btn,
#ai-avatar-fab .ai-insight-btn.show,
#ai-avatar-fab.fab-ai .ai-insight-btn.show{box-shadow:none !important;filter:none !important;-webkit-filter:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background-image:none !important;text-shadow:none !important;border:1px solid var(--line-default);outline:none !important}


.brand-logo-png{
  filter:none !important;
  -webkit-filter:none !important;
  text-shadow:none !important;}


#ai-avatar-fab *,
#ai-avatar-fab.fab-ai *{box-shadow:none !important}


#ai-avatar-fab.fab-ai,
#ai-avatar-fab.fab-ai:hover,
#ai-avatar-fab.fab-ai .ai-avatar,
#ai-avatar-fab.fab-ai:hover .ai-avatar,
#ai-avatar-fab.fab-ai.is-listening .ai-avatar,
#ai-avatar-fab.fab-ai.is-speaking .ai-avatar,
#ai-avatar-fab.fab-ai.is-talking .ai-avatar{filter:none !important;-webkit-filter:none !important}


#ai-avatar-fab *,
#ai-avatar-fab.fab-ai *{filter:none !important;-webkit-filter:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}


#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-bg,
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-bg,
#ai-avatar-fab.ai-dock.dock-expanded .ai-dock-bg,
#ai-avatar-fab.ai-dock.dock-collapsed .ai-dock-bg,
#ai-avatar-fab.ai-dock .ai-dock-bg,
.ai-dock.holo-3d.dock-expanded .ai-dock-bg,
.ai-dock.holo-3d.dock-collapsed .ai-dock-bg,
.ai-dock.dock-expanded .ai-dock-bg,
.ai-dock.dock-collapsed .ai-dock-bg{box-shadow:none !important;filter:none !important;-webkit-filter:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background-image:none !important}


#ai-avatar-fab .ai-dock-bg,
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-bg{background:transparent;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;border-radius:12px;box-shadow:none !important}
#ai-avatar-fab .ai-dock-bg::before,
#ai-avatar-fab .ai-dock-bg::after{display:none !important;content:none !important}




@media (min-width: 481px){
  
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded{border-radius:12px;justify-content:flex-start !important;box-shadow:none !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area{overflow:hidden !important;display:block !important;border-radius:12px}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-btn{border-radius:12px;background:transparent;border:1px solid var(--line-default)}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-btn:hover{transform:translateY(-1px) !important;background:transparent;border-color:var(--accent);box-shadow:none !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-panel{gap:6px;border-top:1px solid rgba(255,255,255,.05) !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-info{}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-name{font-size:12px}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-status{font-size:12px}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-panel{}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-btn{}
}

#ai-avatar-fab .ai-dock-bg,
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-bg{background:transparent;border:1px solid var(--line-default);box-shadow:none !important}


#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area::after{content:'' !important;position:absolute !important;background:transparent;border-radius:12px;box-shadow:none !important;pointer-events:none !important;z-index:5 !important}

#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area::before{content:'' !important;position:absolute !important;background:transparent;pointer-events:none !important;z-index:5 !important;border-radius:12px}

#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area::before{content:'' !important;position:absolute !important;background:transparent;pointer-events:none !important;z-index:5 !important;border-radius:12px}

#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-info{background:transparent;border-radius:12px;backdrop-filter:none !important}


@media (min-width: 481px){
  
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode){border-radius:12px;background:transparent;border:1px solid var(--line-default);box-shadow:none !important;overflow:hidden !important;display:flex !important;flex-direction:column !important;align-items:stretch !important;box-sizing:border-box !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-bg{display:none !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-avatar-area{position:relative !important;border-radius:12px;overflow:hidden !important;background:transparent}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-living-canvas{border-radius:12px;display:block !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-info{order:2 !important;background:transparent}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-name{font-size:12px;letter-spacing:normal}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-status{font-size:12px;border-radius:12px;background:transparent}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-panel{order:3 !important;gap:6px;border-top:none !important;justify-content:center !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-btn{border-radius:12px;background:transparent;border:1px solid var(--line-default);transition:background .15s, border-color .15s, transform .15s !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-btn:hover{transform:translateY(-1px) !important;background:transparent;border-color:var(--accent)}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-btn .icon{}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-toggle{border-radius:12px;background:transparent;border:1px solid var(--line-default)}
}

@media (max-width: 480px){
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode){border-radius:12px}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-avatar-area{border-radius:12px}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-btn{}
}


@media (min-width: 481px){
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode{
    width:300px !important;
    min-height:0 !important;
    max-height:min(620px,90vh) !important;
    height:auto !important;
    padding:0;
    border-radius:12px;
    background:transparent;
    border:1px solid var(--line-default);
    box-shadow:none !important;
    right:20px !important;
    bottom:calc(18px + env(safe-area-inset-bottom,0px)) !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    box-sizing:border-box !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-dock-bg{display:block !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-dock-avatar-area{
    position:relative !important;
    width:100% !important;
    height:auto !important;
    flex:0 0 auto !important;
    aspect-ratio:648/794 !important;
    border-radius:12px;
    overflow:hidden !important;
    margin:0;
    background:transparent}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-avatar-living-canvas{
    width:100% !important;
    height:100% !important;
    border-radius:12px;
    display:block !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-dock-info{
    order:2 !important;
    margin-top:10px !important;
    padding:0;
    flex:0 0 auto !important;
    background:transparent}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-avatar-bubble{order:2 !important;margin:0}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-avatar-panel{
    order:3 !important;
    margin-top:0 !important;
    padding:0;
    gap:6px;
    flex:0 0 auto !important;
    justify-content:center !important;
    border-top:none !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-avatar-btn{width:32px !important;height:32px !important;border-radius:12px;background:transparent;border:1px solid var(--line-default)}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-dock-toggle{top:8px !important;right:8px !important;width:26px !important;height:26px !important}
}


@media (min-width: 481px){
  
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode{
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
    min-height:0 !important;
    max-height:min(620px,90vh) !important;
    height:auto !important;
    padding:0;
    align-items:stretch !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-dock-avatar-area,
  .fab-ai.body-mode .ai-dock-avatar-area{
    width:100% !important;
    min-width:100% !important;
    max-width:none !important;
    max-height:none !important;
    height:auto !important;
    aspect-ratio:648/794 !important;
    flex:0 0 auto !important;
    margin:0}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-avatar-living-canvas{
    width:100% !important;
    height:100% !important}

  
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode{
    justify-content:flex-start !important;
    padding:0;
    box-sizing:border-box !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-dock-avatar-area{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:70vh !important;
    aspect-ratio:648/794 !important;
    flex:0 0 auto !important;
    margin:0;
    align-self:center !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-avatar-living-canvas{
    width:100% !important;
    height:100% !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-avatar-bubble{
    width:100% !important;
    max-width:none !important;
    padding:0;
    font-size:12px;
    line-height:1.5;
    margin:0;
    flex:0 0 auto !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-avatar-panel{
    flex:0 0 auto !important;
    margin-top:0 !important;
    padding:0;
    gap:6px;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:center !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    border-top:none !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-avatar-bubble-text{font-size:12px}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-avatar-btn{
    width:32px !important;
    height:32px !important;
    border-radius:12px;
    flex:0 0 auto !important}
}


@media (max-width: 480px){
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode{
    width:min(300px,calc(100vw - 32px)) !important;
    min-width:auto !important;
    max-width:none !important;
    padding:0}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-dock-avatar-area,
  .fab-ai.body-mode .ai-dock-avatar-area{
    width:100% !important;
    max-width:none !important;
    max-height:none !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode{padding:0}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-dock-avatar-area{
    width:100% !important;
    max-height:50vh !important}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-avatar-bubble{
    padding:0;
    font-size:12px;
    margin:0}
  #ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-avatar-bubble-text{font-size:12px}
}


.sidebar-header .brand-logo:hover img,.sidebar-header .brand-logo-png:hover{transform:none!important;filter:none!important;-webkit-filter:none!important}
.sidebar-header .brand-logo img{transition:opacity .2s ease!important}

#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode,#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode{position:fixed!important;border-radius:12px;z-index:99999!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;background:#0e1422!important}
#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-dock-avatar-area,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-dock-avatar-area{}

#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-avatar-fs-bg,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-avatar-fs-bg{position:absolute!important;filter:blur(42px) brightness(.5) saturate(1.15)!important;-webkit-filter:blur(42px) brightness(.5) saturate(1.15)!important;transform:scale(1.28)!important;transform-origin:center center!important;z-index:1!important;pointer-events:none!important;display:none;background:#0b1020}

#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-avatar-idle-video,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-avatar-idle-video,#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-avatar-broadcast-video,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-avatar-broadcast-video{}
#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-dock-info,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-dock-info,#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-avatar-panel,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-avatar-panel{display:none!important}
#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-avatar-bubble,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-avatar-bubble{font-size:12px}

.flywheel-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:none !important;}
.flywheel-card:hover .fw-arrow{color:var(--accent);transform:translateX(3px)}
.flywheel-card.fw-indices:hover{border-color:var(--accent);box-shadow:none !important;}
.flywheel-card.fw-wallet:hover{border-color:var(--accent);box-shadow:none !important;}
.flywheel-card.fw-pool:hover{border-color:var(--accent);box-shadow:none !important;}
.flywheel-card.fw-exchange:hover{border-color:var(--accent);box-shadow:none !important;}



#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode,#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode{display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;align-content:center!important;flex-direction:row!important}
#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-dock-avatar-area,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-dock-avatar-area{position:absolute!important;transform:translate(-50%,-50%)!important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode,#ai-avatar-fab.fab-ai.ai-dock.body-mode{display:flex!important;flex-direction:column!important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-dock-avatar-area,#ai-avatar-fab.fab-ai.ai-dock.body-mode .ai-dock-avatar-area{flex:1 1 auto!important;min-height:0!important;width:100%!important;aspect-ratio:648/794!important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-avatar-panel,#ai-avatar-fab.fab-ai.ai-dock.body-mode .ai-avatar-panel{margin-top:8px!important;flex:0 0 auto!important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.body-mode .ai-dock-info,#ai-avatar-fab.fab-ai.ai-dock.body-mode .ai-dock-info{flex:0 0 auto!important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.tv-mode .ai-dock-avatar-area{align-self:center!important}

#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-dock-growth,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-dock-growth,#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-dock-ask,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-dock-ask,#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-dock-reset,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-dock-reset{display:none!important}
#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode .ai-dock-avatar-area,#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode .ai-dock-avatar-area{position:absolute!important;transform:translate(-50%,-50%)!important;z-index:5!important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-living-canvas{display:block!important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-info{}

html body #ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-living-canvas {}


#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar.ai-avatar-living-canvas{position: static !important;display: block !important;pointer-events: none !important}


#ai-avatar-fab .ai-dock-ambient,
#ai-avatar-fab .ai-dock-ambient::before,
#ai-avatar-fab .ai-dock-ambient::after,
#ai-avatar-fab .ai-dock-glow,
#ai-avatar-fab .ai-dock-glow::before,
#ai-avatar-fab .ai-dock-glow::after,
#ai-avatar-fab .ai-dock-bg,
#ai-avatar-fab .ai-dock-status::before,
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed,
#ai-avatar-fab .ai-avatar-btn.is-active,
#ai-avatar-fab .ai-avatar-mic-btn.is-active,
#ai-avatar-fab .badge {animation: none !important;transition: none !important}
#ai-avatar-fab .ai-dock-status::before {display: none !important}


body::after,
body::before {
  animation: none !important}
.ticker-track,
.ticker-track * {
  animation: none !important}
.header-status .dot,
.header-status .dot::before,
.header-status .dot::after {
  animation: none !important}
.flash-up,
.flash-down,
.flash-up *,
.flash-down * {
  animation: none !important;
  transition: none !important}
.btn.loading::after,
.chart-loading .spinner,
.chat-input-row .btn-send.sending .icon,
.thinking-dots span {
  animation: none !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area {transition: transform 0.3s ease !important;will-change: transform !important}

#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-img-base {transition: transform 0.3s ease, opacity 0.3s ease !important}



#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-bg {background-image: #0e1422, #0e1422 !important;background-size: cover !important;background-position: center !important;background-blend-mode: normal !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area::after {content: '' !important;position: absolute !important;background:transparent;pointer-events: none !important;z-index: 3 !important}




#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed {border-radius:12px;filter:none !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-dock-avatar-area {border-radius:12px;overflow: hidden !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed .ai-avatar-img-base {border-radius:12px}

#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed::after {content: '' !important;position: absolute !important;border-radius:12px;background:transparent;border:1px solid var(--line-default);box-shadow:none !important}

.chat-msg.user .msg-content {
  background:transparent;
  color:var(--accent);
  border-radius:12px;
  box-shadow:none !important;}
.chat-msg.ai .msg-content, .chat-msg.bot .msg-content, .chat-msg.assistant .msg-content {
  background:transparent;
  border:1px solid var(--line-default);
  border-radius:12px}

.thinking-indicator, .ai-thinking {
  display: inline-flex !important;
  align-items: center !important;
  gap:6px;
  color:var(--accent);
  font-size:15px}
.thinking-indicator span, .ai-thinking span {
  width: 5px !important;
  height: 5px !important;
  border-radius:12px;
  background:transparent;
  opacity: 0.4 !important}
.thinking-indicator span:nth-child(1), .ai-thinking span:nth-child(1) { animation: none !important}
.thinking-indicator span:nth-child(2), .ai-thinking span:nth-child(2) { animation: none !important}
.thinking-indicator span:nth-child(3), .ai-thinking span:nth-child(3) { animation: none !important}
@keyframes thinkDot { 0%,100% { opacity: 0.3} 50% { opacity: 1} }


#ai-avatar-fab.fab-ai.ai-dock.dock-expanded,
#ai-avatar-fab.fab-ai.ai-dock.dock-collapsed {touch-action: none !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area,
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-img-base {touch-action: none !important}




#ai-avatar-fab .ai-dock-avatar-area::after,
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-dock-avatar-area::after,
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.is-speaking .ai-dock-avatar-area::after {display: none !important}
#ai-avatar-fab .ai-avatar-img-base {filter: none !important}
#ai-avatar-fab .ai-dock-avatar-area .ai-avatar,
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:hover .ai-dock-avatar-area .ai-avatar {transform: none !important;transition: none !important}
#ai-avatar-fab .ai-dock-avatar-area {box-shadow:none !important}
#ai-avatar-fab .ai-dock-avatar-area{border-radius:20px;box-shadow:none !important}

#ai-avatar-fab.fab-ai.ai-dock:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-avatar-area > .ai-avatar-img-base,
#ai-avatar-fab.fab-ai.ai-dock:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-avatar-area > .ai-avatar-living-canvas,
#ai-avatar-fab.fab-ai.ai-dock:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-avatar-area > .ai-avatar-idle-video,
#ai-avatar-fab.fab-ai.ai-dock:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-avatar-area > .ai-avatar-broadcast-video,
#ai-avatar-fab.fab-ai.ai-dock:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-avatar-area > video{}


.refresh-dot,
.refresh-dot::before,
.refresh-dot::after {
  animation: none !important}
.auto-refresh-toggle .refresh-dot {
  animation: none !important}

* {
  animation-duration: 0.5s !important;
  animation-iteration-count: 1 !important}


.lx-boost-cta,.lx-boost-cta-inner,.lx-boost-cta-text,.lx-boost-cta-title,.lx-boost-cta-sub,.lx-boost-cta-actions,.lx-boost-cta .btn-primary,.lx-boost-cta .btn-outline,.lx-boost-close{display:none!important;visibility:hidden!important;height:0!important;max-height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important}


.pricing-section{flex:1 1 auto;width:100%;min-width:0;padding:18px 24px 24px;background:var(--bg-elev);border:1px solid var(--line-default);border-radius:8px;margin:12px 20px 0;animation:pricingFade .25s ease;max-width:1280px;box-sizing:border-box}@media (max-width:1024px){.pricing-section{padding:14px 16px;margin:8px 12px}}@media (max-width:640px){.pricing-section{padding:12px 10px;margin:6px 8px}}@media (max-width:1024px){.sidebar{transform:translateX(-100%)!important}}@media (max-width:1024px){.app{padding-left:0!important}}@media (max-width:640px){.app{padding-left:0!important}}
.pricing-section.is-hidden{display:none}
@keyframes pricingFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.pricing-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.pricing-title{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:.5px;margin:0}
.btn-icon-close{background:transparent;border:0;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0 8px;line-height:1}
.btn-icon-close:hover{color:var(--text-primary)}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px;}@media (max-width:1280px){.pricing-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:640px){.pricing-grid{grid-template-columns:1fr!important;gap:10px!important}}
.pricing-card{background:var(--bg-card);border:1px solid var(--line-default);border-radius:8px;padding:16px 14px;position:relative;display:flex;flex-direction:column;transition:border-color .15s,transform .15s}
.pricing-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.pricing-card h3{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 8px}
.pricing-amount{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:4px}
.pricing-amount span{font-size:15px;font-weight:400;color:var(--text-secondary);margin-left:2px}
.pricing-yearly{font-size:15px;color:var(--accent);margin-bottom:10px}
.pricing-features{list-style:none;padding:0;margin:0 0 14px;flex:1;font-size:15px;color:var(--text-secondary);line-height:1.7}
.pricing-features li::before{content:"✓ ";color:var(--accent);margin-right:4px}
.pricing-card .btn{width:100%;padding:8px 0;border-radius:6px;border:1px solid var(--line-default);background:var(--bg-elev);color:var(--text-primary);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s}
.pricing-card .btn-current{background:var(--bg-base);color:var(--text-secondary);cursor:default}
.pricing-card .btn-buy:hover{background:var(--accent);color:var(--c-white);border-color:var(--accent)}
.pricing-card-popular{border-color:var(--accent);background:#4f8df7}
.pricing-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--c-white);font-size:15px;font-weight:700;padding:3px 10px;border-radius:10px;letter-spacing:1px}
.pricing-discounts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding-top:10px;border-top:1px dashed var(--line-default)}
.discount-tag{font-size:15px;color:var(--text-secondary);background:var(--bg-base);padding:4px 10px;border-radius:12px;border:1px solid var(--line-default);white-space:nowrap}@media (max-width:640px){.discount-tag{font-size:15px;padding:3px 7px}}
.btn-pro-upgrade:hover{background:#ff3b3b!important;border-color:rgba(110,168,255,.7)!important;transform:translateY(-1px)}
@media (max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.pricing-grid{grid-template-columns:1fr}}@media (max-width:768px){.pricing-section{padding:14px 14px 18px!important;margin:8px 10px 0!important}.pricing-title{font-size:18px!important}.pricing-amount{font-size:24px!important}#lx-pricing-agree{padding:12px 4px!important;font-size:15px!important;gap:6px!important}#lx-pricing-agree a{white-space:nowrap}.pricing-card{padding:12px 10px!important}.pricing-card h3{font-size:15px!important}.pricing-card ul li{font-size:15px!important}.pricing-features{padding-left:14px!important}}

#ai-avatar-fab .ai-avatar-living-canvas,
#ai-avatar-fab .ai-avatar-img-base,
#ai-avatar-fab video{filter: contrast(1.18) saturate(1.15) brightness(0.97);-webkit-filter: contrast(1.18) saturate(1.15) brightness(0.97)}


#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-avatar-area{}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-dock-info{}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode) .ai-avatar-panel{overflow:visible !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded:not(.fullscreen-mode):not(.tv-mode):not(.body-mode){overflow:visible !important}
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded .ai-avatar-panel{overflow:visible !important}



.lx-card-share-btn:hover{background:rgba(100,150,220,0.2)!important;border-color:rgba(100,150,220,0.4)!important;transform:scale(1.05)}
.lx-row-share:hover{color:#64b5f6!important}
.lx-batch-share:hover{color:#64b5f6!important}
.lx-chat-share-bar{opacity:.7;transition:opacity .2s}
.lx-chat-share-bar:hover{opacity:1}
.lx-chat-fwd-btn:hover{background:rgba(100,150,220,0.15)!important;border-color:rgba(100,150,220,0.35)!important}
#lx-invite-fab:hover{transform:scale(1.1)!important;box-shadow:none !important;}
@media(max-width:768px){
  #lx-invite-fab{bottom:140px!important;right:12px!important;width:40px!important;height:40px!important}
  .lx-card-share-btn{font-size: 14px!important;padding:2px 6px!important}
  .lx-chat-fwd-btn{font-size: 16px!important;padding:2px 8px!important}
}


.lx-quick-bar{flex-shrink:0;min-height:44px!important}
.ticker{flex-shrink:0}
#main-content.content{min-height:calc(100% - 136px)!important;overflow-y:auto!important}
@media(max-width:768px){.ticker{display:flex!important}}


.sidebar-user-menu{position:absolute;bottom:calc(100% + 8px);left:8px;right:8px;min-width:160px;background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:none !important;padding:4px;z-index:120;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.sidebar-user.menu-open .sidebar-user-menu{opacity:1;visibility:visible;transform:translateY(0)}
.sidebar-user-menu-item{padding:10px 12px;border-radius:var(--radius-sm);color:#aab4c8;font-size:12px;cursor:pointer;transition:background .15s,color .15s}
.sidebar-user-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}


#ai-avatar-fab.fab-ai.ai-dock.fullscreen-mode,
#ai-avatar-fab.fab-ai.ai-dock.dock-expanded.fullscreen-mode {position: fixed !important;border-radius: 0 !important;transform: none !important;z-index: 99999 !important}


:root{
  --brand-deep:#0a0f1c;
  --brand-blue:#4f8df7;
  --brand-violet:#7c5cf0;
  --brand-glow:rgba(90,140,255,.45);
  --brand-grad:#4f8df7;
}
.lx-daily-hero{display:none;position:relative;margin:16px 18px 6px;padding:26px 28px;border-radius:20px;
  background:var(--bg-elevated,#0e1626);
  border:1px solid rgba(79,141,247,.22);
  box-shadow:none;
  overflow:hidden;}
.lx-daily-hero.show{display:block;animation:lx-hero-in .5s cubic-bezier(0.22,1,0.36,1);}
.lx-daily-hero::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:var(--brand-blue,#4f8df7);opacity:.85;pointer-events:none;}
@keyframes lx-hero-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.lx-dh-inner{display:flex;gap:18px;align-items:center;position:relative;z-index:1}
.lx-dh-avatar{position:relative;width:88px;height:88px;flex:0 0 88px;border-radius:50%;
  background:#0c1430;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(120,170,255,.40);box-shadow:none}
.lx-dh-face-img{border-radius:50%;object-fit:cover;width:100%;height:100%}
.lx-dh-ring{position:absolute;inset:-5px;border-radius:50%;border:2px solid transparent;border-top-color:var(--brand-blue);border-right-color:var(--brand-violet);animation:lx-spin 3.4s linear infinite}
@keyframes lx-spin{to{transform:rotate(360deg)}}
.lx-dh-face{font-size:26px;font-weight:700;color:#cfe0ff;letter-spacing:1px}
.lx-dh-body{flex:1;min-width:0}
.lx-dh-kicker{font-size:12px;font-weight:600;letter-spacing:2.5px;color:var(--brand-blue);text-transform:uppercase}
.lx-dh-title{font-size:24px;font-weight:700;color:#eaf1fb;margin:6px 0;line-height:1.28;letter-spacing:-.01em}
.lx-dh-sub{font-size:14px;color:#9fb0cc;line-height:1.5}
.lx-dh-indices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.lx-dh-chip{font-size:13px;padding:4px 10px;border-radius:10px;background:rgba(90,140,255,.10);border:1px solid rgba(90,140,255,.22);color:#cfe0ff}
.lx-dh-chip.up b{color:#ff7a7a}.lx-dh-chip.down b{color:#5fe0a0}
.lx-dh-picks{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.lx-dh-picks-label{font-size:13px;color:#8fa2c0;letter-spacing:1px;margin-bottom:6px;grid-column:1/-1}
.lx-dh-pick{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;
  background:rgba(255,255,255,.03);border:1px solid rgba(168,182,201,.10)}
.lx-dh-pick-name{font-size:14px;color:#e6edf7;font-weight:600}
.lx-dh-pick-name i{font-style:normal;font-size:12px;color:#7e90ad;margin-left:6px}
.lx-dh-pick-pct{font-size:14px;font-weight:700}
.lx-dh-pick-pct.up{color:#ff6b6b}.lx-dh-pick-pct.down{color:#4fd98a}
.lx-dh-hint{font-size:13px;color:#8597b3}
.lx-hero-pulse{animation:lx-hero-pulse 1.6s ease}
@keyframes lx-hero-pulse{0%,100%{box-shadow:none !important;}40%{box-shadow:none !important;}}
.nav-item.lx-daily-nav{background:rgba(79,141,247,.12)!important;color:var(--c-white)!important;border-radius:10px}
.nav-item.lx-daily-nav .nav-text{color:var(--c-white)!important;font-weight:700}
.nav-item.lx-daily-nav .icon{filter:none}
.lx-nav-group{color:rgba(120,160,220,.7)!important}




.factors-view .panel,
.strategy-builder .panel,
.backtest-lab .panel {
  border-radius: var(--radius-lg);
  border: 1px solid var(--line-default);
  box-shadow:none !important;
  background: var(--bg-glass);
}
.factors-view .panel-header,
.strategy-builder .panel-header,
.backtest-lab .panel-header {
  border-bottom: 1px solid var(--line-default);
}

.factors-view .active,
.strategy-builder .active,
.backtest-lab .active,
.strategy-builder .template-card.active,
.backtest-lab .bt-template-card.active {
  box-shadow:none !important;
}
.strategy-builder .template-card.active,
.backtest-lab .bt-template-card.active {
  background: var(--accent-soft);
}


:root{
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"HarmonyOS Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
}
h1,h2,h3,h4,.panel-title,.panel-header .title,.brand,.brand-logo{
  letter-spacing:-.012em;
}
.num,.price,.stat-val,.hero-stat-val,.index-val,[data-num]{
  font-feature-settings:'tnum' 1,'lnum' 1;
  letter-spacing:-.004em;
}


:root{
  
  --text-secondary:#c8d3e6;
  --text-muted:#c3d2e6;
  --text-disabled:#9fb1c9;
}

body{line-height:1.62}

::selection{background:rgba(90,140,255,.32);color:#fff}

#ai-avatar-fab.fab-ai .ai-avatar-fs-mini{position:absolute;border-radius:50%;border:1px solid rgba(96,220,255,.45);background:rgba(16,21,31,.72);color:#60dcff;display:none;align-items:center;justify-content:center;z-index:12;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:none !important;transition:transform .15s,background .15s,color .15s}
#ai-avatar-fab.fab-ai .ai-avatar-fs-mini .icon{}
#ai-avatar-fab.fab-ai .ai-avatar-fs-mini:hover{transform:scale(1.1);background:rgba(96,220,255,.18);color:#9fe8ff}
#ai-avatar-fab.fab-ai.dock-collapsed .ai-avatar-fs-mini{display:flex}
#ai-avatar-fab.fab-ai.dock-expanded .ai-avatar-fs-mini{display:none}

@keyframes lxVsShimmer{0%{background-position:220% 0}100%{background-position:-220% 0}}
