:root{--bg: #07110e;--bg-2: #0d1a15;--panel: rgba(18, 36, 30, .82);--panel-solid: #12241e;--line: rgba(168, 201, 176, .16);--text: #e8f2ea;--muted: #9bb5a4;--sage: #8fbf98;--sage-deep: #5f8f6d;--gold: #d6b57a;--danger: #e08a7a;--accent: #8fbf98;--shadow: 0 24px 60px rgba(0, 0, 0, .35);--radius: 22px;--font-display: ui-serif, "Fraunces", Georgia, serif;--font-body: ui-sans-serif, "Outfit", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body:has(.app-shell-no-scroll){height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);overflow:hidden}body{margin:0;font-family:var(--font-body);color:var(--text);background:radial-gradient(1200px 700px at 10% -10%,rgba(95,143,109,.28),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(214,181,122,.14),transparent 45%),linear-gradient(160deg,var(--bg),var(--bg-2) 45%,#09140f);background-attachment:fixed}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--gold)}:root.scott-light{--bg: #f4f7ff;--bg-2: #eef2ff;--panel: #ffffff;--panel-solid: #ffffff;--line: rgba(30, 41, 59, .14);--text: #0f172a;--muted: #475569;--sage: #16a34a;--sage-deep: #15803d;--gold: #d97706;--danger: #dc2626;--accent: #2563eb;--shadow: 0 8px 24px rgba(15, 23, 42, .08)}:root.scott-light body{background:radial-gradient(900px 500px at 0% 0%,rgba(59,130,246,.12),transparent 55%),radial-gradient(700px 400px at 100% 0%,rgba(250,204,21,.14),transparent 50%),linear-gradient(160deg,var(--bg),var(--bg-2))}:root.scott-light .panel{border-width:2px}:root.scott-light .quote-card.up{border-color:#22c55e;background:#f0fdf4}:root.scott-light .quote-card.down{border-color:#f97316;background:#fff7ed}:root.scott-light .market-chat-panel{border-color:#3b82f6;background:#eff6ff}:root.scott-light .nav-spread button.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}:root.scott-light .nav-spread button:hover{background:#2563eb1a;border-color:#93c5fd;color:#1e3a8a}:root.scott-light .bubble{background:#fff;border-color:#cbd5e1}:root.scott-light .bubble.user{background:#dcfce7;border-color:#22c55e}:root.scott-light .bubble.assistant{background:#fef9c3;border-color:#eab308}:root.scott-light .stat{background:#f8fafc;border-color:#94a3b8}:root.scott-light .field input,:root.scott-light .field textarea,:root.scott-light .field select,:root.scott-light .market-chat-composer textarea{background:#fff;border-color:#94a3b8;color:var(--text)}:root.scott-light .btn{background:linear-gradient(135deg,#22c55e,#15803d);color:#fff}:root.scott-light .btn.secondary{background:#fff;border-color:#3b82f6;color:#1d4ed8}:root.scott-light .market-voice-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:0}.app-shell{width:min(1180px,calc(100% - 1rem));margin:0 auto;padding:.65rem 0 .5rem;max-width:100%;overflow:hidden}.app-shell-wide{width:100%;max-width:none;padding:.35rem .7rem .3rem}.app-shell-no-scroll{height:100dvh;display:flex;flex-direction:column;min-height:0}.app-shell-no-scroll .topbar{flex-shrink:0;margin-bottom:.5rem}.app-shell-no-scroll .nav{flex-shrink:0;margin-bottom:.45rem;overflow-x:auto;flex-wrap:nowrap}.app-shell-no-scroll .app-error{flex-shrink:0;margin:0 0 .35rem}.tab-panel{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.tab-panel-home,.tab-panel-ideas,.tab-panel-backtests,.tab-panel-admin,.tab-panel-progress{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.tab-panel-ai,.tab-panel-market{overflow:hidden}.tab-panel-market::-webkit-scrollbar{width:10px}.tab-panel-market::-webkit-scrollbar-track{background:#f1f5f9d9}.tab-panel-market::-webkit-scrollbar-thumb{background:#4755698c;border-radius:5px}.tab-panel>.grid,.tab-panel>.ideas-shell,.tab-panel>.market-shell,.tab-panel>.panel,.tab-panel>section{flex:1;min-height:0;overflow:hidden}.tab-panel-market>.market-shell.market-page-fit{flex:1 1 auto;min-height:0;height:100%;overflow:hidden}.chat-auto-hint,.market-auto-hint{margin:0;font-size:.78rem;flex-shrink:0}.ideas-page-fit{display:flex;flex-direction:column;min-height:0;overflow:hidden;gap:.45rem}.ideas-page-fit .ideas-view{flex:1;min-height:0;overflow-y:auto}.ideas-view-compact .field textarea{min-height:72px}:root.scott-light .panel{border-width:3px}:root.scott-light .panel.home-panel{border-color:#8b5cf6;background:#faf5ff}:root.scott-light .ideas-view{border-color:#f59e0b;background:#fffbeb}:root.scott-light .tab-panel-backtests .panel{border-color:#06b6d4;background:#ecfeff}:root.scott-light .chat-layout.chat-layout-minimal{border-color:#3b82f6;background:#eff6ff}.chrome{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;flex-shrink:0;margin:0 0 .35rem;padding:.12rem 0 .42rem;border-bottom:1px solid var(--line)}.chrome .brand strong{font-size:1.32rem;line-height:1}.chrome .brand span{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.nav-spread{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin:0;width:100%;overflow:visible}.nav-spread button{width:100%;text-align:center;font-weight:600;font-size:.98rem;padding:.72rem .4rem;border-radius:12px;border:1px solid transparent;letter-spacing:.01em}.nav-spread button.active{background:#2563eb24;border-color:#2563eb;color:#1e3a8a;box-shadow:0 0 0 1px #2563eb33}.chrome-phone-only,.pack-short{display:none}.chrome-end{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.more-wrap{position:relative}.more-btn.active{border-color:#2563eb;color:#1d4ed8}.more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:140px;display:grid;padding:.35rem;border-radius:12px;border:1px solid var(--line);background:var(--panel-solid);box-shadow:var(--shadow)}.more-menu button{border:0;background:transparent;color:var(--text);text-align:left;padding:.55rem .7rem;border-radius:8px}.more-menu button:hover,.more-menu button.active{background:#2563eb1a}.market-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;flex-shrink:0}.market-max-chart-btn{flex:0 0 auto;margin-left:auto;min-height:38px;padding-inline:1rem;white-space:nowrap}.market-max-chart-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.app-shell-no-scroll .chrome{margin-bottom:.28rem}.app-shell-no-scroll .chrome .nav{margin-bottom:0;overflow:visible;flex-wrap:nowrap}.brand{display:flex;flex-direction:column;gap:.15rem}.brand strong{font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.35rem);font-weight:700;letter-spacing:-.03em}.brand span{color:var(--muted);font-size:.92rem}.nav{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem}.nav button{border:1px solid transparent;background:transparent;color:var(--muted);padding:.65rem .95rem;border-radius:999px;transition:.2s ease}.nav button.active,.nav button:hover{color:var(--text);background:#8fbf981f;border-color:var(--line)}.chrome .nav.nav-spread{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:0;width:100%;overflow:visible;flex-wrap:nowrap}.chrome .nav-spread button{width:100%;text-align:center;font-weight:650;font-size:.95rem;padding:.66rem .35rem;border-radius:11px;border:1px solid var(--line);background:#ffffff9e;color:var(--text);letter-spacing:.02em}.chrome .nav-spread button:hover{background:#2563eb1a;border-color:#93c5fd;color:#1e3a8a}.chrome .nav-spread button.active,:root.scott-light .chrome .nav-spread button.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff;box-shadow:0 6px 16px #1d4ed838}.chrome-end .btn{padding:.48rem .78rem;font-size:.82rem;border-radius:10px;white-space:nowrap}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(14px);padding:1.25rem}.hero{display:grid;gap:1rem;margin-bottom:1.25rem}.hero h1{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,5vw,3rem);line-height:1.05;letter-spacing:-.03em}.hero p{margin:0;color:var(--muted);max-width:42rem;line-height:1.55}.grid{display:grid;gap:1rem}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stat{padding:1rem;border-radius:18px;background:#07110e73;border:1px solid var(--line)}.stat label{display:block;color:var(--muted);font-size:.8rem;margin-bottom:.35rem}.stat strong{font-family:var(--font-display);font-size:1.55rem}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:#8fbf9824;color:var(--sage);font-size:.82rem}.badge.warn{background:#d6b57a24;color:var(--gold)}.badge.bad{background:#e08a7a24;color:var(--danger)}.field{display:grid;gap:.4rem;margin-bottom:.85rem}.field label{color:var(--muted);font-size:.86rem}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#07110e8c;color:var(--text);border-radius:14px;padding:.85rem .95rem;outline:none}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#8fbf988c;box-shadow:0 0 0 3px #8fbf981f}.btn{border:0;border-radius:999px;padding:.8rem 1.2rem;background:linear-gradient(135deg,var(--sage),var(--sage-deep));color:#06110c;font-weight:600}.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--muted);border:0;padding:.4rem .6rem}.btn.ghost.active{background:#2563eb24;color:#1d4ed8}.btn:disabled{opacity:.55;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.model-picker{display:flex;flex-direction:column;gap:.2rem;min-width:150px}.model-picker select{padding:.45rem .6rem;border-radius:10px;border:1px solid var(--line);background:#0003;color:var(--text);font-size:.85rem}.chat-composer-actions{align-items:flex-end}.list{display:grid;gap:.75rem}.card{padding:1rem;border-radius:18px;background:#07110e66;border:1px solid var(--line)}.card h3{margin:0 0 .35rem;font-size:1.05rem}.card p{margin:0;color:var(--muted);line-height:1.5;white-space:pre-wrap}.meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;align-items:center}.columns{display:grid;gap:.85rem}.column{background:#07110e59;border:1px solid var(--line);border-radius:18px;padding:.85rem;min-height:180px}.column h3{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.1rem}.answer{margin-top:1rem;padding:1rem;border-radius:18px;background:#8fbf9814;border:1px solid var(--line);line-height:1.6;white-space:pre-wrap}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.login-card{width:min(440px,100%)}.login-card h1{margin:0 0 .4rem;font-family:var(--font-display);font-size:2.3rem}.login-card p{margin:0 0 1.25rem;color:var(--muted);line-height:1.5}.error{color:var(--danger);margin:.5rem 0 0;font-size:.9rem}.empty{color:var(--muted);padding:.5rem 0}@media(min-width:760px){.topbar{margin-bottom:.75rem}.nav{margin-bottom:.85rem}.app-shell-no-scroll .nav{flex-wrap:wrap}.chat-layout.chat-layout-minimal .chat-main{padding:.85rem 1.1rem 1rem}.chat-layout.chat-layout-minimal .chat-composer textarea{min-height:3.25rem}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{grid-template-columns:1.4fr 1fr;align-items:end}.split{grid-template-columns:1fr 1.1fr}.columns{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.market-desk{grid-template-areas:"watch" "chart" "split" "chat";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(140px,var(--desk-chart-fr, 50fr)) 16px minmax(140px,var(--desk-chat-fr, 50fr))}.market-watchlist{flex-direction:row;overflow-x:auto}.market-watch-row{flex:1 1 0;min-width:5.5rem}.market-chart-pane{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;justify-self:stretch}}@container market (max-width: 1100px){.market-desk{grid-template-areas:"watch" "chart" "split" "chat";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(140px,var(--desk-chart-fr, 50fr)) 16px minmax(140px,var(--desk-chat-fr, 50fr))}.market-watchlist{flex-direction:row;overflow-x:auto}.market-chart-pane{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;justify-self:stretch}}@media(max-height:900px){.market-page-fit{gap:.2rem}.market-page-fit .market-status-strip{display:none}.market-desk{gap:.45rem}.market-page-fit>.market-chat-panel,.market-desk>.market-chat-panel{min-height:0;overflow:hidden;padding:.4rem .55rem .5rem}.market-chat-head{margin-bottom:0}.market-chat-head strong{font-size:.95rem}.quote-day-chart.interactive{min-height:140px}.quote-chart-zoom-hint,.market-auto-hint,.market-watch-hint{display:none}.market-chat-composer{gap:.25rem}.market-chat-composer textarea{min-height:2rem;padding:.4rem .55rem}.market-voice-btn,.market-ask-btn{padding:.5rem .75rem;font-size:.86rem}}@media(max-width:1100px){.chrome{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav end";gap:.3rem .45rem;padding-bottom:.38rem;align-items:center}.chrome .brand{grid-area:brand}.chrome .nav-spread,.chrome .nav.nav-spread{grid-area:nav}.chrome-end{grid-area:end}}@media(max-width:759px){.topbar{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:.4rem;gap:.5rem}.brand{min-width:0}.brand strong{font-size:1.25rem;line-height:1.1}.brand span{display:none}.nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.15rem;margin-bottom:.35rem;-webkit-overflow-scrolling:touch}.nav button{white-space:nowrap;padding:.4rem .65rem;font-size:.8rem}.chrome .nav.nav-spread{overflow:visible}.chrome .nav-spread button{padding:.5rem .15rem;font-size:.78rem;border-radius:9px}.chrome .brand span{display:none}.chrome .brand strong{font-size:1.18rem}.chrome-end .btn{padding:.38rem .55rem;font-size:.75rem}.app-shell{width:calc(100% - .5rem);padding:.35rem 0 .25rem;padding-bottom:max(.25rem,env(safe-area-inset-bottom))}.app-shell-wide{width:100%;padding-inline:.45rem}.actions{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.35rem;flex-shrink:0}.actions .btn{width:auto;padding:.45rem .7rem;font-size:.8rem;white-space:nowrap}.market-status-strip{gap:.3rem}.market-status-strip .badge,.market-status-strip .small{font-size:.72rem}.market-quotes-compact{gap:.35rem}.market-quotes-compact .quote-card{padding:.4rem .5rem;border-radius:14px;cursor:pointer}.market-quotes-compact .quote-card-head{margin-bottom:.2rem}.market-quotes-compact .quote-symbol{font-size:.88rem}.market-quotes-compact .quote-price{font-size:1.05rem;margin:0}.market-quotes-compact .quote-card.skeleton{min-height:140px;aspect-ratio:1 / 1}.quote-day-chart-wrap.square-mini{aspect-ratio:1 / 1}.quote-day-chart-wrap{width:100%;margin-top:.15rem}.quote-day-chart{height:58px}.quote-chart-toolbar.compact{gap:.2rem}.quote-chart-toolbar.compact .quote-chart-toolbar-label{display:none}.quote-chart-timeframes button{padding:.2rem .35rem;font-size:.68rem}.chart-tool-btn{padding:.2rem .4rem;font-size:.72rem}.market-quotes-compact .quote-pill{padding:.2rem .45rem;font-size:.72rem}.market-quotes-compact .quote-tap{display:none}.market-chat-panel{padding:.45rem;gap:.35rem}.market-auto-hint{display:none}.market-chat-composer textarea{min-height:2.2rem;padding:.45rem .55rem;font-size:.9rem}.market-chat-actions{grid-template-columns:1fr auto;gap:.35rem}.market-voice-btn{padding:.55rem .75rem;font-size:.9rem}.market-chat-head{margin-bottom:.15rem}.market-chat-head strong{font-size:.92rem}.market-watch-hint{font-size:.72rem}.market-chat-actions-single{grid-template-columns:1fr auto 1fr;gap:.35rem}.market-ask-btn{width:100%;padding:.55rem .75rem;font-size:.9rem}.quote-chart-toolbar-label{display:none}.quote-chart-toolbar{flex-wrap:nowrap;gap:.25rem}.quote-chart-terminal,.quote-chart-terminal-body{min-height:0}.chart-draw-btn{width:34px;height:34px;font-size:.72rem}.chart-draw-tools{min-width:40px}.chart-price-zoom-rail{right:4px;padding:.12rem}.chart-zoom-rail-btn{width:26px;height:26px;font-size:.78rem}.chart-symbol-pill{font-size:.68rem;padding:.14rem .42rem}.chart-volume-label{bottom:24%;font-size:.58rem}.chart-ohlc{font-size:.62rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.quote-chart-terminal-body .quote-day-chart{min-height:120px}.market-terminal{grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:0;flex:1.45 1 0;padding:.45rem}.market-desk{gap:0}.market-page-fit .market-terminal{min-height:0;max-height:none}.market-page-fit>.market-chat-panel,.market-desk>.market-chat-panel{flex:1 1 auto;min-height:0;max-height:none;overflow:hidden;padding:.5rem}.quote-chart-with-tools{min-height:160px}.quote-chart-canvas-wrap .quote-day-chart{min-height:140px}.market-watchlist{flex-direction:row}.market-watch-row{flex:1 1 0}.market-page-fit .market-status-strip{display:none}.market-page-fit{gap:.3rem}.market-page-fit .market-quotes-four{flex:0 0 auto}.quote-day-chart-wrap.square-mini{min-height:88px}.market-quotes-compact .quote-card{display:flex;flex-direction:column;gap:.1rem}.panel{padding:.7rem;border-radius:16px}.hero h1{font-size:1.55rem}.stats{gap:.4rem}.stat{padding:.55rem .65rem;border-radius:12px}.ideas-subnav button{padding:.5rem .35rem;font-size:.78rem;border-radius:12px}.ideas-log-form{min-height:0;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.ideas-log-footer{position:static;padding-bottom:.35rem}html.keyboard-open .chrome,html.keyboard-open .ideas-subnav,html.keyboard-open .ideas-inbox-head,html.keyboard-open .ideas-page-fit>.badge{display:none!important}html.keyboard-open .ideas-log-tools{display:none}html.keyboard-open .tab-panel-ideas,html.keyboard-open .ideas-page-fit,html.keyboard-open .ideas-page-fit .ideas-view{overflow-y:auto;-webkit-overflow-scrolling:touch}html.keyboard-open .ideas-save-btn{position:sticky;bottom:0;z-index:4}.chat-minimal-head{gap:.35rem}.chat-history-btn{padding:.35rem .6rem;font-size:.78rem}.chat-layout.chat-layout-minimal .chat-composer{position:sticky;bottom:0;z-index:2;background:#eff6ff;padding-top:.25rem}.field-row{grid-template-columns:1fr}.chat-layout:not(.chat-layout-minimal){grid-template-columns:1fr;position:relative;height:clamp(400px,calc(100dvh - 11rem),700px)}.chat-layout.chat-layout-minimal{height:100%;display:flex;flex-direction:column}.chat-layout.chat-layout-minimal .chat-composer textarea{min-height:2.4rem}.chat-sidebar{position:absolute;inset:0 auto 0 0;width:min(86vw,300px);z-index:30;transform:translate(-105%);transition:transform .2s ease;box-shadow:var(--shadow)}.chat-sidebar.open{transform:translate(0)}.chat-sidebar-backdrop{display:block;position:absolute;inset:0;z-index:20;border:0;background:#00000073;cursor:pointer}.chat-menu-btn{display:inline-flex}.split{grid-template-columns:1fr}.ideas-form-head{flex-direction:column}.project-row{flex-direction:column;align-items:stretch}.project-actions{width:100%;justify-content:flex-start}}.section-title{margin:0;font-family:var(--font-display);font-size:1.45rem}.muted{color:var(--muted);margin:.35rem 0 1rem;line-height:1.5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.chat-panel{display:grid;gap:1rem}.chat-layout{display:grid;gap:0;padding:0;overflow:hidden;height:clamp(420px,calc(100dvh - 12rem),760px)}.chat-layout:not(.chat-layout-minimal){grid-template-columns:280px minmax(0,1fr)}.chat-layout.chat-layout-minimal{display:flex;flex-direction:column;height:100%;min-height:0;max-height:100%}.chat-layout.chat-layout-minimal .chat-main{flex:1 1 auto;width:100%;min-width:0;min-height:0;padding:.65rem .85rem .75rem;gap:.55rem}.chat-layout.chat-layout-minimal .chat-composer{width:100%}.chat-layout.chat-layout-minimal .chat-composer .field{margin-bottom:.4rem}.chat-layout.chat-layout-minimal .chat-composer textarea{width:100%;min-height:2.75rem;max-height:8rem}.chat-composer-minimal{display:flex;flex-direction:row;align-items:stretch;justify-content:stretch;flex-wrap:wrap;gap:.45rem;width:100%}.chat-composer-minimal .model-picker{flex:1 1 11rem;min-width:0}.chat-composer-minimal .model-picker select{width:100%;min-width:0}.chat-composer-minimal .market-voice-btn{flex:1 1 auto}.chat-composer-minimal .btn.secondary[type=submit]{flex:0 0 auto;min-width:5.5rem}.chat-layout.chat-layout-minimal{position:relative}.chat-layout-minimal .chat-sidebar-drawer{position:absolute;inset:0 auto 0 0;width:min(86vw,320px);z-index:30;transform:translate(-105%);transition:transform .2s ease;box-shadow:var(--shadow)}.chat-layout-minimal .chat-sidebar-drawer.open{transform:translate(0)}.chat-layout-minimal .chat-sidebar-backdrop{display:block;position:absolute;inset:0;z-index:20;border:0;background:#0f172a59;cursor:pointer}.chat-minimal-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0}.chat-history-btn{padding:.4rem .75rem;font-size:.82rem;white-space:nowrap}.chat-minimal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.chat-sidebar-title{font-size:.95rem}.chat-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);background:#07110e59;min-height:0;height:100%;overflow:hidden}.chat-sidebar-head{padding:1rem;border-bottom:1px solid var(--line)}.chat-sidebar-head .btn{width:100%}.chat-list{flex:1;overflow-y:auto;padding:.5rem;display:grid;gap:.35rem;align-content:start}.chat-item{display:grid;grid-template-columns:1fr auto;gap:.15rem;border:1px solid transparent;border-radius:14px;background:#07110e40}.chat-item.active{border-color:#8fbf9873;background:#8fbf981a}.chat-item-main{border:0;background:transparent;color:inherit;text-align:left;padding:.7rem .55rem .7rem .75rem;display:grid;gap:.2rem}.chat-item-main strong{font-size:.92rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-main span{color:var(--muted);font-size:.75rem}.chat-item-delete{align-self:start;margin-top:.35rem;margin-right:.2rem;font-size:1.1rem;line-height:1}.chat-main{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;padding:1rem 1.1rem 1.15rem;gap:.85rem}.chat-header-left{display:flex;gap:.75rem;align-items:flex-start}.chat-menu-btn,.chat-sidebar-backdrop{display:none}.chat-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;flex-shrink:0}.chat-thread{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:.35rem .15rem .5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:0;min-width:0;align-content:start;scrollbar-width:auto}.chat-starters{display:grid;gap:.65rem;padding:.25rem 0}.chat-starters-label{margin:0}.chat-starter-chips{display:flex;flex-wrap:wrap;gap:.45rem}.chat-starter-chip{text-align:left;max-width:100%;white-space:normal;line-height:1.35;padding:.5rem .75rem}.chat-composer{flex-shrink:0}.bubble{max-width:min(92%,640px);min-width:0;padding:.85rem 1rem;border-radius:18px;border:1px solid var(--line);background:#07110e73;overflow-wrap:anywhere;word-break:break-word}.bubble.user{justify-self:end;background:#8fbf981f}.bubble.assistant{justify-self:start}.bubble-label{font-size:.75rem;color:var(--muted);margin-bottom:.35rem;letter-spacing:.02em;text-transform:uppercase}.bubble.compact .bubble-label{font-size:.68rem;font-weight:700;color:#1d4ed8;margin-bottom:.2rem;text-transform:none}.bubble-body{white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;min-width:0}.chat-composer .field{margin-bottom:.65rem}.btn.listening{border-color:#e08a7a8c;color:var(--danger)}.filter-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:.35rem .7rem;font-size:.82rem}.chip.active,.chip:hover{color:var(--text);background:#8fbf981f}.idea-card .summary{color:var(--text);opacity:.92}.idea-card h3{font-family:var(--font-display);letter-spacing:-.02em}.idea-edit-form{display:grid;gap:.65rem}.idea-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.muted.small,.empty.small{font-size:.82rem}.memory-panel{border-top:1px solid var(--line);padding:.85rem;display:grid;gap:.55rem;max-height:34vh;overflow:hidden}.memory-panel h3{margin:0;font-size:.95rem;font-family:var(--font-display)}.memory-form{display:grid;grid-template-columns:1fr auto;gap:.45rem}.memory-form input{border:1px solid var(--line);background:#07110e8c;color:var(--text);border-radius:12px;padding:.55rem .7rem}.memory-list{overflow-y:auto;display:grid;gap:.4rem}.memory-item{display:grid;grid-template-columns:1fr auto;gap:.25rem;padding:.55rem .65rem;border-radius:12px;border:1px solid var(--line);background:#07110e59}.memory-item p{margin:0;font-size:.82rem;line-height:1.45;color:var(--muted)}.project-manager{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);display:grid;gap:.65rem}.project-manager h3{margin:0;font-family:var(--font-display);font-size:1.05rem}.project-add{display:grid;grid-template-columns:1fr auto;gap:.45rem}.project-add input,.project-row input{border:1px solid var(--line);background:#07110e8c;color:var(--text);border-radius:12px;padding:.55rem .7rem}.project-list{display:grid;gap:.45rem}.project-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid rgba(168,201,176,.08)}.project-actions{display:flex;gap:.2rem}.field select{width:100%;border:1px solid var(--line);background:#07110e8c;color:var(--text);border-radius:14px;padding:.85rem .95rem}.ideas-form-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.5rem}.idea-details{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line);display:grid;gap:.25rem}.ideas-shell{display:grid;gap:.75rem;max-width:100%;overflow-x:hidden}.ideas-subnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.ideas-subnav button{border:1px solid var(--line);background:#07110e73;color:var(--muted);border-radius:14px;padding:.75rem .5rem;font-size:.88rem;font-weight:500}.ideas-subnav button.active,.ideas-subnav button:hover{color:var(--text);background:#8fbf9824;border-color:#8fbf9859}.ideas-view{max-width:100%;overflow-x:hidden}.ideas-log-form{display:flex;flex-direction:column;gap:.75rem;min-height:0}.ideas-log-body{display:grid;gap:.75rem;align-content:start;flex:1 1 auto}.ideas-log-footer{display:grid;gap:.55rem;padding-top:.85rem;border-top:1px solid var(--line);background:var(--panel-solid)}.ideas-log-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.ideas-log-tools .btn{width:100%;padding-left:.45rem;padding-right:.45rem;font-size:.82rem}.ideas-save-btn{width:100%}.ideas-inbox-list{max-height:min(68vh,680px);overflow-y:auto}.idea-link a{word-break:break-all}.ideas-search-row{margin-bottom:.85rem}.ideas-search-row input[type=search]{width:100%;padding:.75rem .9rem;border-radius:14px;border:1px solid var(--line);background:#07110e59;color:var(--text)}.ideas-review-filters{margin-bottom:.65rem}.idea-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.35rem}.idea-card-head h3{margin:0}.review-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--line);white-space:nowrap}.review-badge.pending{color:var(--gold);border-color:#d6b57a73}.review-badge.keep{color:var(--sage);border-color:#8fbf9873}.review-badge.later{color:var(--text);border-color:#a8c9b059}.review-badge.drop{color:var(--danger);border-color:#e08a7a73}.idea-review-panel{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line);display:grid;gap:.55rem}.idea-review-panel label{color:var(--muted);font-size:.78rem}.idea-review-actions{display:flex;flex-wrap:wrap;gap:.45rem}.idea-review-note{margin-top:.65rem;padding:.65rem .75rem;border-radius:12px;background:#07110e59;border:1px solid var(--line)}.idea-review-note label{display:block;color:var(--muted);font-size:.74rem;margin-bottom:.25rem}.idea-review-note p{margin:0;line-height:1.45}.project-name{font-weight:600;line-height:1.35;word-break:break-word}.field input,.field textarea,.field select,.project-add input,.project-row input{max-width:100%}.install-steps{margin:0 0 1rem;padding-left:1.2rem;color:var(--muted);line-height:1.55}.install-steps li+li{margin-top:.4rem}.install-actions{margin-top:.25rem}.market-shell{display:grid;gap:.55rem;max-width:100%;overflow:hidden}.market-page-fit{min-height:0;height:100%;display:flex;flex-direction:column;gap:.4rem;overflow:hidden;padding-bottom:.2rem;container-type:inline-size;container-name:market}.market-desk{flex:1 1 auto;min-height:0;display:grid;grid-template-areas:"chart" "split" "chat";grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(140px,var(--desk-chart-fr, 50fr)) 16px minmax(140px,var(--desk-chat-fr, 50fr));gap:0;align-items:stretch}.market-watchlist-desktop{grid-area:watch}.market-chart-pane{grid-area:chart}.desk-resizer{grid-area:split}.market-desk>.market-chat-panel{grid-area:chat}@media(min-width:1101px){.market-desk{grid-template-areas:"watch chart split chat";grid-template-columns:168px minmax(140px,var(--desk-chart-fr, 50fr)) 16px minmax(240px,var(--desk-chat-fr, 50fr));grid-template-rows:minmax(0,1fr);gap:.35rem}.market-desk-chat{grid-template-areas:"chart split chat";grid-template-columns:minmax(140px,var(--desk-chart-fr, 16fr)) 16px minmax(240px,var(--desk-chat-fr, 84fr))}.market-desk-chart{grid-template-areas:"watch chart split chat";grid-template-columns:168px minmax(140px,var(--desk-chart-fr, 84fr)) 16px minmax(220px,var(--desk-chat-fr, 16fr))}}.market-desk-chat .market-watchlist,.market-desk-chart .market-chat-thread,.market-desk-chart .market-long-chat{display:none}.market-desk-chart .market-chat-head{cursor:pointer}@media(max-width:1100px){.market-desk-chat,.market-desk-chart{grid-template-areas:"chart" "split" "chat";grid-template-rows:minmax(235px,var(--desk-chart-fr, 50fr)) 16px minmax(132px,var(--desk-chat-fr, 50fr))}}.desk-resizer{margin:0;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:ns-resize;touch-action:none;z-index:6}.desk-resizer:after{content:"";width:44px;height:5px;border-radius:99px;background:#94a3b8}.market-desk.is-resizing,.market-desk.is-resizing *{user-select:none;cursor:ns-resize}@media(min-width:1101px){.desk-resizer{cursor:ew-resize}.desk-resizer:after{width:5px;height:44px}.market-desk.is-resizing,.market-desk.is-resizing *{cursor:ew-resize}}.desk-pane-expand{position:absolute;inset:0;z-index:8;border:0;border-radius:inherit;background:#f8fafc9e;color:#0f172a;font-weight:700;font-size:.84rem;cursor:pointer}.pane-handles{pointer-events:none}.pane-handle{position:absolute;z-index:7;pointer-events:auto;touch-action:none;background:transparent}.pane-handle-n{top:0;left:20px;right:20px;height:12px;cursor:ns-resize}.pane-handle-s{bottom:0;left:20px;right:20px;height:12px;cursor:ns-resize}.pane-handle-e{top:20px;right:0;bottom:20px;width:12px;cursor:ew-resize}.pane-handle-w{top:20px;left:0;bottom:20px;width:12px;cursor:ew-resize}.pane-handle-ne,.pane-handle-nw,.pane-handle-se,.pane-handle-sw{width:22px;height:22px}.pane-handle-ne{top:0;right:0;cursor:nesw-resize}.pane-handle-nw{top:0;left:0;cursor:nwse-resize}.pane-handle-se{right:0;bottom:0;cursor:nwse-resize}.pane-handle-sw{left:0;bottom:0;cursor:nesw-resize}.pane-handle-se:after,.pane-handle-sw:after,.pane-handle-ne:after,.pane-handle-nw:after{content:"";position:absolute;width:9px;height:9px;border:2px solid #64748b}.pane-handle-se:after{right:4px;bottom:4px;border-top:0;border-left:0}.pane-handle-sw:after{left:4px;bottom:4px;border-top:0;border-right:0}.pane-handle-ne:after{right:4px;top:4px;border-bottom:0;border-left:0}.pane-handle-nw:after{left:4px;top:4px;border-bottom:0;border-right:0}.market-symbol-pills{display:none}.market-symbol-pill{display:inline-flex;align-items:center;gap:.28rem;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.22rem .5rem;font-size:.72rem;font-weight:700;line-height:1}.market-symbol-pill.up{color:#15803d}.market-symbol-pill.down{color:#b91c1c}.market-symbol-pill.active{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb;background:#eff6ff}.desk-mode-btns{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.market-page-fit .market-quotes-four{flex:0 0 auto;overflow:visible}.market-page-fit .market-terminal{display:contents}.market-page-fit>.market-chat-panel,.market-desk>.market-chat-panel{min-height:0;height:100%;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--panel-solid);box-shadow:var(--shadow)}.market-watchset-bar{display:flex;flex-wrap:wrap;gap:.35rem;flex-shrink:0}.market-watchset-chip{border:1px solid var(--line);background:#ffffffb3;color:var(--text);border-radius:999px;padding:.28rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer}.market-watchset-chip.active{border-color:var(--accent);background:#2563eb1f;box-shadow:0 0 0 1px var(--accent)}.market-watchset-label{font-size:.72rem;font-weight:700;color:var(--muted)}.market-watchset-select{min-width:10.5rem;max-width:100%;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:.32rem .55rem;font-size:.82rem;font-weight:600}.chart-tape-synopsis{margin:0 0 .35rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:10px;background:#ffffffd1;font-size:.82rem;line-height:1.35;color:var(--text)}.market-watchset-custom{display:grid;grid-template-columns:1fr auto;gap:.4rem;flex-shrink:0}.market-watchset-custom input{border:1px solid var(--line);border-radius:10px;padding:.4rem .55rem;font-size:.85rem}.composer-key-hint{margin:0;font-size:.72rem}.market-watchlist{display:flex;flex-direction:row;gap:.4rem;min-height:0;overflow-x:auto;padding:.5rem;border-radius:18px;border:1px solid var(--line);background:var(--panel-solid);box-shadow:var(--shadow)}@media(min-width:1101px){.market-watchlist{flex-direction:column;overflow-y:auto;overflow-x:hidden}}.market-watch-row{display:grid;gap:.08rem;padding:.55rem .5rem;border-radius:12px;flex:1 1 0;min-width:5.2rem;border:1px solid var(--line);background:#ffffffb8;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.market-watch-row:hover{border-color:#2563eb59}.market-watch-row.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 4px 14px #2563eb1f;background:#eff6ffd9}.market-watch-symbol{font-weight:700;font-size:.8rem}.market-watch-price{font-size:.82rem;font-weight:600}.market-watch-change{font-size:.68rem;font-weight:600}.market-watch-change.up{color:var(--up, #16a34a)}.market-watch-change.down{color:var(--down, #dc2626)}.market-chart-pane{min-width:0;min-height:0;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;justify-self:stretch;display:flex;flex-direction:column;position:relative;padding:.45rem;border-radius:18px;border:1px solid var(--line);background:var(--panel-solid);box-shadow:var(--shadow);overflow:hidden}@media(min-width:1101px){.market-chart-pane{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;justify-self:stretch;align-self:stretch}}@media(max-width:1100px){.market-desk{grid-template-areas:"watch" "chart" "split" "chat";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(140px,var(--desk-chart-fr, 50fr)) 16px minmax(140px,var(--desk-chat-fr, 50fr))}.market-chart-pane{width:100%;max-width:none;max-height:none;height:100%}.market-chat-composer textarea{min-height:3.2rem}.composer-key-hint,.market-voice-hint,.market-auto-hint{display:none}}.quote-chart-terminal{display:flex;flex-direction:column;gap:.25rem;height:100%;min-height:0;flex:1 1 auto}.quote-chart-terminal-body{flex:1 1 auto;min-height:140px;position:relative}.quote-chart-with-tools{display:flex;flex:1 1 auto;min-height:160px;min-width:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#ffffff80}.quote-chart-with-tools.fullscreen{flex:1 1 auto;min-height:0}.chart-draw-tools{display:flex;flex-direction:column;align-items:center;gap:.18rem;padding:.35rem .25rem;border-right:1px solid var(--line);background:#ffffffeb;flex-shrink:0;position:relative;z-index:4;min-width:44px}.chart-draw-btn{width:36px;height:36px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-size:.78rem;font-weight:800;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}.chart-draw-btn:hover{background:#f8fafc;border-color:#94a3b8}.chart-draw-btn.active{background:#2563eb;border-color:#1d4ed8;color:#fff;box-shadow:0 0 0 2px #2563eb40}.chart-draw-btn.clear{margin-top:.2rem;color:#dc2626;border-color:#fecaca;background:#fef2f2}.chart-draw-btn.clear:hover{background:#fee2e2}.chart-draw-hint{font-size:.58rem;font-weight:700;color:#2563eb;text-align:center;line-height:1.1;max-width:38px}.chart-draw-mode{font-size:.55rem;font-weight:700;color:#64748b;text-align:center;line-height:1.05;max-width:40px}.quote-day-chart-body.is-drawing .quote-day-chart.interactive{cursor:crosshair;touch-action:none}.quote-day-chart-body.is-panning .quote-day-chart.interactive{cursor:grab;touch-action:pan-x pinch-zoom}.quote-day-chart-body.is-panning .quote-day-chart.interactive:active{cursor:grabbing}.chart-price-zoom-rail{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:.12rem;padding:.18rem;border-radius:10px;background:#fffffff0;border:1px solid #cbd5e1;box-shadow:0 2px 8px #0f172a1a;pointer-events:auto}.chart-zoom-rail-btn{width:30px;height:30px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1d4ed8;font-size:.9rem;font-weight:800;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;touch-action:manipulation}.chart-zoom-rail-btn:hover{background:#eff6ff;border-color:#93c5fd}.chart-zoom-rail-btn.fit{font-size:.78rem;color:#475569}.quote-chart-canvas-wrap{flex:1 1 auto;min-width:0;min-height:160px;position:relative;display:flex;flex-direction:column}.quote-chart-canvas-wrap .quote-day-chart-body{flex:1 1 auto;height:100%;min-height:0}.chart-symbol-overlay{position:absolute;top:6px;left:8px;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;pointer-events:none;max-width:calc(100% - 72px)}.chart-ohlc-readout{flex:0 0 auto;padding:0 .2rem .12rem;min-height:0}.chart-ohlc-readout .chart-symbol-overlay{position:static;max-width:100%;top:auto;left:auto}.chart-ohlc-readout .chart-ohlc,.chart-ohlc-readout .chart-ohlc.up,.chart-ohlc-readout .chart-ohlc.down{color:#334155}.chart-ohlc-readout .chart-ohlc.up .chart-ohlc-dot,.chart-ohlc-readout .chart-ohlc.down .chart-ohlc-dot{background:#64748b}.chart-symbol-overlay.is-hovering .chart-symbol-pill{border-color:#64748b;background:#fffffffa}.chart-symbol-pill{display:inline-flex;align-items:center;padding:.18rem .52rem;border:1px solid #cbd5e1;border-radius:999px;background:#fffffff0;font-size:.74rem;font-weight:700;color:#0f172a;box-shadow:0 1px 2px #0f172a0f;white-space:nowrap}.chart-ohlc{font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex;align-items:center;gap:.2rem}.chart-ohlc-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chart-ohlc.up{color:#16a34a}.chart-ohlc.up .chart-ohlc-dot{background:#16a34a}.chart-ohlc.down{color:#dc2626}.chart-ohlc.down .chart-ohlc-dot{background:#dc2626}.chart-volume-label{position:absolute;left:8px;bottom:22%;z-index:2;font-size:.62rem;font-weight:700;color:#64748b;pointer-events:none;letter-spacing:.02em;text-transform:uppercase}.chart-oscillator-labels{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}.chart-oscillator-region{position:absolute;left:0;right:0;border-top:1px solid rgba(100,116,139,.38)}.chart-oscillator-label{position:absolute;top:3px;left:8px;max-width:calc(100% - 78px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.1rem .32rem;border-radius:4px;background:#ffffffe6;font-size:.62rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}.chart-prev-close-label{position:absolute;left:8px;z-index:4;transform:translateY(-50%);max-width:min(46%,220px);overflow:hidden;padding:.14rem .38rem;border-radius:4px;background:#64748beb;color:#fff;font-size:.68rem;font-weight:700;line-height:1;white-space:nowrap;pointer-events:none}.quote-chart-terminal-body .quote-day-chart{height:100%;min-height:140px}.market-chat-head{flex-shrink:0;margin-bottom:.25rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem}.named-agent-form{flex-shrink:0;display:grid;grid-template-columns:minmax(5rem,.8fr) minmax(8rem,1.4fr) auto;gap:.35rem;margin:0 0 .35rem}.named-agent-form input{min-width:0;width:100%;padding:.35rem .5rem;border-radius:10px;border:1px solid var(--line);background:#07110e73;color:var(--text)}.named-agent-note{flex-shrink:0;margin:0 0 .35rem}@media(max-width:700px){.named-agent-form{grid-template-columns:1fr}}.desk-expand-hint{margin:.1rem 0 0;color:#2563eb;font-weight:700}.market-watch-hint{margin:.1rem 0 0}.market-chat-actions-single{grid-template-columns:1fr auto 1fr}.market-ask-btn{width:100%}.market-status-strip{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;flex-shrink:0}.quote-day-chart-body.is-closed .quote-day-chart{background:#f8fafcd9}.daily-backtest-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.daily-backtest-ticker{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0 0}.daily-backtest-chip{border:1px solid var(--border, #d5dde6);background:transparent;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.daily-backtest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.5rem}.daily-backtest-card{padding:.75rem}.daily-backtest-card-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.daily-backtest-pnl{font-size:1.35rem;font-weight:700;margin:.25rem 0}.daily-backtest-pnl.up{color:var(--up, #16a34a)}.daily-backtest-pnl.down{color:var(--down, #dc2626)}.market-quotes-compact{grid-template-columns:1fr 1fr;gap:.45rem}.market-quotes-four{grid-template-columns:1fr 1fr}.market-watchset-bar{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.market-watchset-bar .btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.market-watchset-custom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;align-items:center}.market-watchset-custom .watchset-name{grid-column:1 / -1}.quote-ticker{font-size:.72rem;line-height:1.1}.quote-day-chart-wrap.square-mini{width:100%;aspect-ratio:1 / 1;min-height:108px;flex-shrink:0;margin-top:.35rem;position:relative}.quote-day-chart-wrap.square-mini .quote-day-chart-open{display:block;height:100%;min-height:108px}.quote-day-chart-wrap.square-mini .quote-day-chart-body{height:100%}.quote-day-chart-wrap.square-mini .quote-day-chart{height:100%;min-height:0}.market-quotes-compact .quote-card{padding:.65rem .7rem;min-height:0;display:flex;flex-direction:column}.market-quotes-four .quote-day-chart-wrap{flex:0 0 auto}.market-quotes-compact .quote-card.skeleton{min-height:100px}.market-quotes-compact .quote-symbol{font-size:1rem;font-weight:700}.market-quotes-compact .quote-price{font-size:1.35rem;margin:.2rem 0}.quote-day-chart-wrap{width:100%;margin-top:.25rem}.quote-day-chart-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.quote-day-chart-body{position:relative;width:100%;flex:1 1 auto;min-height:0;height:100%}.quote-day-chart{width:100%;height:76px;border-radius:8px;overflow:hidden;background:#ffffff8c;border:1px solid rgba(148,163,184,.35)}.quote-day-chart.interactive{height:100%;min-height:140px;border-radius:12px}.quote-day-chart-status{position:absolute;inset:0;display:grid;place-items:center;margin:0;pointer-events:none;font-size:.78rem}.quote-chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.3rem;position:relative;z-index:40}.quote-chart-toolbar-label{font-size:.72rem;color:var(--muted);font-weight:600;white-space:nowrap}.quote-chart-timeframes{display:flex;flex-wrap:nowrap;gap:.25rem;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}.quote-chart-timeframes::-webkit-scrollbar{display:none}.quote-chart-timeframes button{flex-shrink:0}.quote-day-chart-body.is-refreshing .quote-day-chart{opacity:.92}.quote-chart-timeframes button{border:1px solid #94a3b8;background:#fff;color:#334155;border-radius:999px;padding:.22rem .5rem;font-size:.72rem;font-weight:600}.quote-chart-timeframes button.active{background:#3b82f6;border-color:#2563eb;color:#fff}.quote-chart-actions{display:flex;gap:.2rem;margin-left:auto}.chart-tool-btn{border:1px solid #94a3b8;background:#fff;color:#1d4ed8;border-radius:8px;padding:.25rem .5rem;font-size:.78rem;font-weight:700;line-height:1}.chart-tool-btn.close{background:#eff6ff}.chart-tool-btn.active{background:#2563eb;color:#fff;border-color:#1d4ed8}.chart-fullscreen-backdrop{position:fixed;inset:0;z-index:1000;background:#0f172a8c;display:flex;align-items:stretch;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.chart-fullscreen-panel{width:min(100%,960px);height:100%;max-height:100dvh;display:flex;flex-direction:column;background:#eff6ff;border-radius:16px;padding:.75rem;gap:.45rem;box-shadow:0 20px 50px #0f172a40}.chart-fullscreen-panel .quote-day-chart-body{flex:1;min-height:0;display:flex;flex-direction:column}.chart-fullscreen-panel .quote-chart-with-tools{flex:1;min-height:0}.chart-fullscreen-panel .quote-day-chart.interactive{flex:1;min-height:240px}.quote-day-chart-body.is-live .quote-day-chart{border-color:#22c55e;animation:chart-live-pulse 2s ease-in-out infinite}@keyframes chart-live-pulse{0%,to{box-shadow:0 0 0 1px #22c55e59}50%{box-shadow:0 0 0 2px #22c55e8c}}.quote-chart-lookback-row{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex-shrink:0}.quote-chart-lookbacks{display:flex;flex-wrap:nowrap;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}.quote-chart-lookbacks::-webkit-scrollbar{display:none}.quote-chart-lookbacks button{flex-shrink:0;border:1px solid #94a3b8;background:#fff;color:#334155;border-radius:999px;padding:.22rem .5rem;font-size:.72rem;font-weight:600}.quote-chart-lookbacks button.active{background:#0f766e;border-color:#0f766e;color:#fff}.quote-chart-lookback-note{margin:0;font-size:.68rem;text-align:center}.quote-chart-toast{margin:0;text-align:center;font-size:.72rem;font-weight:700;color:#0f766e}.chart-indicator-legend{display:flex;flex-wrap:wrap;gap:.35rem;padding:.1rem .2rem .2rem}.chart-indicator-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:700;background:#ffffffeb;border:1px solid currentColor;border-radius:999px;padding:.12rem .28rem .12rem .45rem}.chart-indicator-chip button{border:0;background:transparent;color:inherit;font-size:.85rem;line-height:1;padding:0 .1rem;cursor:pointer}.chart-ind-backdrop{position:fixed;inset:0;z-index:4000;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:max(4.5rem,env(safe-area-inset-top,0px) + 3.2rem) 1rem 1rem}.chart-ind-modal{width:min(420px,100%);max-height:min(72dvh,560px);background:#fff;border:1px solid #94a3b8;border-radius:12px;box-shadow:0 16px 40px #0f172a2e;overflow:hidden;display:flex;flex-direction:column}.chart-ind-head{display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem .4rem}.chart-ind-close{border:0;background:#e2e8f0;font-size:1.45rem;line-height:1;cursor:pointer;color:#0f172a;min-width:44px;min-height:44px;border-radius:10px;touch-action:manipulation}.chart-ind-search{display:block;width:calc(100% - 1.7rem);margin:0 .85rem .55rem;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .6rem;font-size:16px}.chart-ind-kicker{margin:0;padding:.2rem .85rem;font-size:.68rem;font-weight:800;letter-spacing:.04em;color:#64748b}.chart-ind-list{list-style:none;margin:0;padding:0 0 .4rem;max-height:min(52dvh,360px);overflow-y:auto;-webkit-overflow-scrolling:touch}.chart-ind-list button{width:100%;display:flex;align-items:center;gap:.5rem;border:0;background:#fff;text-align:left;padding:.7rem .85rem;font-size:.94rem;font-weight:600;color:#0f172a;cursor:pointer;touch-action:manipulation}.chart-ind-list button:hover,.chart-ind-list button.on{background:#ecfdf5}.chart-ind-dot{width:8px;height:8px;border-radius:99px;flex-shrink:0}.chart-ind-on{margin-left:auto;font-size:.68rem;color:#0f766e;font-weight:800}.chart-ind-done{margin:.35rem .85rem .75rem;width:calc(100% - 1.7rem);border:0;border-radius:10px;background:#0f766e;color:#fff;font-weight:700;padding:.7rem .8rem;min-height:44px;cursor:pointer;touch-action:manipulation}@media(max-width:759px){.chart-ind-backdrop{padding:max(3.4rem,env(safe-area-inset-top,0px) + 2.4rem) .55rem .55rem;align-items:stretch}.chart-ind-modal{width:100%;max-height:calc(100dvh - 4rem);border-radius:14px}.chart-ind-list{max-height:min(58dvh,420px)}.chart-indicator-legend{max-width:100%}}.chart-tools-menu{position:relative}.chart-tools-dropdown{position:absolute;right:0;top:calc(100% + 4px);z-index:50;display:flex;flex-direction:column;min-width:140px;border:1px solid #94a3b8;border-radius:10px;background:#fff;overflow:hidden}.chart-tools-dropdown button{border:0;background:#fff;color:#334155;text-align:left;padding:.4rem .6rem;font-size:.72rem;font-weight:600}.chart-tools-dropdown button.active{background:#0f766e;color:#fff}.quote-chart-canvas-wrap{min-height:160px}.quote-chart-zoom-hint{margin:0;font-size:.72rem;text-align:center}.market-quotes-compact .quote-day-chart-wrap{grid-column:1 / -1}.market-quotes-compact .quote-tap{width:100%;padding:.35rem;font-size:.78rem}.market-chat-panel{display:flex;flex-direction:column;min-height:0;padding:.55rem .65rem .65rem;gap:.35rem;margin:0;position:relative;overflow:hidden}.market-chat-history{position:absolute;inset:0 auto 0 0;width:min(86%,300px);z-index:30;transform:translate(-105%);transition:transform .2s ease;background:var(--panel-solid, #eff6ff);border-right:1px solid var(--line)}.market-chat-history.open{transform:translate(0)}.market-chat-panel>.chat-sidebar-backdrop{display:block;position:absolute;inset:0;z-index:20;border:0;background:#0f172a59;cursor:pointer}.market-long-chat,.market-history-note{margin:0;flex-shrink:0}.market-history-note{padding:0 .65rem .35rem}.market-chat-thread{flex:1 1 auto;min-height:140px;max-height:none;width:100%;max-width:100%;min-width:0;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem;align-content:start;position:relative;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#1d4ed8 #dbeafe;padding-right:.2rem}.market-chat-thread::-webkit-scrollbar,.chat-thread::-webkit-scrollbar{width:22px}.market-chat-thread::-webkit-scrollbar-track,.chat-thread::-webkit-scrollbar-track{background:#dbeafe;border-radius:12px}.market-chat-thread::-webkit-scrollbar-thumb,.chat-thread::-webkit-scrollbar-thumb{background:#2563eb;border-radius:12px;border:3px solid #dbeafe;min-height:56px}@media(min-height:901px){.market-chat-thread{min-height:160px}}.market-chat-hint{margin:0}.market-chat-starters{display:grid;gap:.35rem}.market-starter-chip{border:2px solid var(--accent, #2563eb);background:#2563eb14;color:var(--text);border-radius:12px;padding:.45rem .6rem;text-align:left;font-size:.82rem;line-height:1.3}.bubble-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.35rem}.btn-link.small{border:none;background:transparent;color:var(--accent, #2563eb);font-size:.78rem;padding:0;cursor:pointer}.bubble.compact{max-width:100%;min-width:0;padding:.55rem .7rem;border-radius:14px}.bubble.compact .bubble-body{font-size:.9rem;line-height:1.4}.market-chat-composer{display:grid;gap:.35rem;flex:0 0 auto;flex-shrink:0}.market-chat-composer textarea{width:100%;border:2px solid var(--line);border-radius:12px;background:#fff9;color:var(--text);padding:.7rem .8rem;resize:vertical;min-height:5.5rem}.market-chat-actions,.market-chat-actions-single{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem}.market-voice-btn,.market-pdf-btn,.market-ask-btn{min-height:48px;font-size:1rem;padding:.7rem 1rem;border-radius:14px}.market-voice-btn.listening{animation:chart-live-pulse 1.2s ease-in-out infinite}.market-voice-hint{margin:0;font-size:.72rem}.market-chat-error{margin:0;font-size:.85rem}.ideas-inbox-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.ideas-inbox-head .section-title{margin:0}.market-hero{display:grid;gap:1rem;padding:1.15rem 1.2rem 1.25rem;background:radial-gradient(900px 320px at 100% 0%,rgba(214,181,122,.12),transparent 55%),radial-gradient(700px 280px at 0% 100%,rgba(95,143,109,.16),transparent 50%),var(--panel)}.market-hero-top{display:grid;gap:1rem}.market-hero-badges{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem}.market-title{margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.05;letter-spacing:-.03em}.market-lead{margin:.55rem 0 0;color:var(--muted);line-height:1.55;max-width:46rem}.how-to-use{padding:1.1rem 1.2rem 1.2rem}.how-to-list{margin:.75rem 0 0;padding-left:1.2rem;display:grid;gap:.65rem;color:var(--text);line-height:1.5}.how-to-list li strong{color:var(--gold)}.market-hero-actions{display:grid;gap:.55rem}.market-meta-row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:space-between;padding-top:.85rem;border-top:1px solid var(--line)}.market-quotes-grid{display:grid;gap:.85rem;grid-template-columns:1fr}.quote-card{padding:1.1rem 1.15rem;border-radius:22px;border:1px solid var(--line);background:#07110e6b;box-shadow:var(--shadow);position:relative;overflow:hidden}.quote-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--sage)}.quote-card.down:before{background:var(--danger)}.quote-card.skeleton{min-height:220px;background:linear-gradient(90deg,#07110e59,#8fbf9814,#07110e59);background-size:200% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.quote-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.75rem}.quote-symbol{font-family:var(--font-display);font-size:1.45rem;letter-spacing:-.02em}.quote-name{color:var(--muted);font-size:.86rem;line-height:1.35;margin-top:.15rem}.quote-pill{padding:.35rem .65rem;border-radius:999px;font-size:.82rem;font-weight:600;white-space:nowrap}.quote-pill.up{background:#8fbf9829;color:var(--sage)}.quote-pill.down{background:#e08a7a29;color:var(--danger)}.quote-price{font-family:var(--font-display);font-size:clamp(2rem,7vw,2.8rem);line-height:1;letter-spacing:-.03em;margin-bottom:.45rem;transition:color .25s ease,text-shadow .25s ease}.quote-price.price-flash-up,.quote-card.price-flash-up{animation:pricePulseUp .7s ease}.quote-price.price-flash-down,.quote-card.price-flash-down{animation:pricePulseDown .7s ease}@keyframes pricePulseUp{0%{color:var(--text)}35%{color:#a8e6b5;text-shadow:0 0 18px rgba(143,191,152,.45)}to{color:var(--text)}}@keyframes pricePulseDown{0%{color:var(--text)}35%{color:#f0b0a6;text-shadow:0 0 18px rgba(224,138,122,.45)}to{color:var(--text)}}.quote-change-row{display:flex;flex-wrap:wrap;gap:.55rem 1rem;align-items:center;margin-bottom:1rem}.text-up{color:var(--sage);font-weight:600}.text-down{color:var(--danger);font-weight:600}.quote-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.85rem 0 .95rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-stats label{display:block;color:var(--muted);font-size:.74rem;margin-bottom:.2rem}.quote-stats strong{font-size:.95rem}.quote-card-foot{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;padding-top:.75rem}.market-feed-panel,.market-integration-panel{display:grid;gap:.85rem}.feed-status-grid{display:grid;gap:.75rem}.feed-status-card{padding:.95rem 1rem;border-radius:18px;border:1px solid var(--line);background:#07110e59}.feed-status-card label{display:block;color:var(--muted);font-size:.78rem;margin-bottom:.25rem}.feed-status-card strong{display:block;font-size:1.05rem;margin-bottom:.35rem}.integration-list{display:grid;gap:.75rem}.integration-card{padding:1rem;border-radius:18px;border:1px solid var(--line);background:#07110e59}.integration-card.planned{border-color:#8fbf9847}.integration-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.45rem}.integration-card h3{margin:0;font-size:1rem}.integration-card p{margin:0;color:var(--muted);line-height:1.5;font-size:.9rem}@media(min-width:700px){.market-hero-top{grid-template-columns:1.35fr auto;align-items:end}.market-hero-actions{min-width:220px}.market-quotes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.feed-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:699px){.market-hero-actions .btn{width:100%}.quote-card-foot .btn{width:100%;justify-content:center}}.backtest-shell{display:grid;gap:1.25rem}.backtest-hero{padding:1.35rem 1.4rem}.backtest-hero-top{display:grid;gap:1rem}.backtest-title{margin:.35rem 0 .5rem;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem)}.backtest-lead{margin:0;color:var(--muted);line-height:1.55;max-width:52rem}.backtest-hero-badges{display:flex;flex-wrap:wrap;gap:.5rem}.backtest-grid{display:grid;gap:1.25rem}.backtest-form-grid{margin-top:1rem}.preset-row{margin:1rem 0}.preset-row label{display:block;color:var(--muted);font-size:.82rem;margin-bottom:.45rem}.preset-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.preset-chip-wrap{display:flex;gap:.35rem;align-items:center}.backtest-form-actions{margin-top:1rem}.preset-save-row{display:grid;gap:.65rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}@media(min-width:640px){.preset-save-row{grid-template-columns:1fr auto;align-items:center}}.panel-head-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.75rem}.panel-head-row h2{margin:0}.backtest-run-list{display:grid;gap:.65rem;max-height:420px;overflow-y:auto}.backtest-run-card{text-align:left;width:100%;padding:.85rem 1rem;border-radius:16px;border:1px solid var(--line);background:#07110e59;color:inherit;position:relative}.backtest-run-open{display:block;width:100%;padding:0 4.8rem 0 0;border:0;background:transparent;color:inherit;text-align:left}.backtest-run-card.active{border-color:#8fbf988c;box-shadow:0 0 0 1px #8fbf9833}.backtest-run-card.compare-on{border-color:#d6b57a8c}.backtest-run-card-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.backtest-run-metrics{display:flex;flex-wrap:wrap;gap:.75rem;margin:.35rem 0;font-size:.9rem}.compare-toggle{position:absolute;right:.75rem;bottom:.65rem;min-height:2rem;padding:.3rem .55rem;border:1px solid rgba(214,181,122,.35);border-radius:999px;background:transparent;font-size:.72rem;color:var(--gold);cursor:pointer}.verdict{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.verdict.keep{color:var(--sage);border-color:#8fbf9873}.verdict.drop{color:var(--danger);border-color:#e08a7a73}.verdict.review{color:var(--gold);border-color:#d6b57a73}.backtest-compare-panel{overflow-x:auto}.compare-table{width:100%;border-collapse:collapse;font-size:.92rem}.compare-table th,.compare-table td{padding:.55rem .65rem;border-bottom:1px solid var(--line);text-align:left}.backtest-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.summary-stat label{display:block;color:var(--muted);font-size:.76rem;margin-bottom:.15rem}.summary-stat strong{font-size:1.05rem}.verdict-actions{display:flex;flex-wrap:wrap;gap:.45rem}.notes-row{display:grid;gap:.65rem;margin-bottom:1rem}@media(min-width:640px){.notes-row{grid-template-columns:1fr auto;align-items:start}}.backtest-detail-grid{display:grid;gap:1rem}.trade-list{display:grid;gap:.45rem;max-height:360px;overflow-y:auto}.trade-row{display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;text-align:left;width:100%;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--line);background:#07110e40;color:inherit}.trade-row.active{border-color:#8fbf9880}.backtest-chart-wrap{border:1px solid var(--line);border-radius:18px;padding:.85rem;background:#07110e59;min-width:0}.backtest-chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.backtest-chart-canvas{width:100%;min-height:360px}.backtest-chart-status{margin:0 0 .5rem;font-size:.88rem}.backtest-chart-legend{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.65rem;font-size:.78rem;color:var(--muted)}.legend-item:before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:999px;margin-right:.35rem;vertical-align:middle}.legend-item.range-high:before{background:var(--gold)}.legend-item.range-low:before{background:var(--sage)}.legend-item.entry:before{background:var(--danger)}.legend-item.exit:before{background:var(--gold)}.notice{margin:0;padding:.75rem 1rem;border-radius:14px;border:1px solid rgba(143,191,152,.35);background:#5f8f6d1f;color:var(--text)}.btn.small{padding:.45rem .75rem;font-size:.82rem}.muted.small{font-size:.82rem}@media(min-width:900px){.backtest-grid{grid-template-columns:1fr 1fr;align-items:start}.backtest-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.backtest-detail-grid{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}}.admin-shell{display:grid;gap:1rem}.admin-hero .admin-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.admin-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.admin-card{padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px;background:#0000001f}.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.admin-status{font-size:.75rem;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--line)}.admin-status.ok{color:var(--sage);border-color:#8fbf9859}.admin-status.pending{color:var(--muted)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table th,.admin-table td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--line)}.admin-profile-card .meta{margin:.5rem 0}.admin-note{margin-top:1rem}.admin-note-body{white-space:pre-wrap;font-family:var(--font-body);font-size:.82rem;line-height:1.45;max-height:420px;overflow:auto;margin:0;color:var(--muted)}@media(min-width:700px){.admin-hero .admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:759px){.chrome-desktop-btn{display:none!important}.chrome-phone-only{display:block}.pack-full{display:none}.pack-short{display:inline}.chrome{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav end";gap:.18rem .32rem;margin-bottom:.1rem;padding:.04rem 0 .18rem;align-items:center}.chrome .brand span{display:none}.chrome .brand strong{font-size:.98rem}.chrome .nav.nav-spread{gap:.18rem;overflow:visible}.chrome .nav-spread button{padding:.42rem .1rem;font-size:.72rem;min-height:44px;min-width:44px;border-radius:10px}.chrome-end .more-btn{padding:.34rem .7rem;font-size:.78rem;min-height:44px}.app-shell-wide{width:100%;padding:.2rem .35rem .15rem;padding-bottom:max(.15rem,env(safe-area-inset-bottom))}.market-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem;align-items:center}.market-watchset-bar{grid-column:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.market-max-chart-btn{grid-column:2;grid-row:1;margin-left:0;min-height:40px;padding:.42rem .72rem;font-size:.78rem;font-weight:700}.market-watchset-custom,.market-symbol-pills,.market-status-strip{grid-column:1 / -1}.market-watchset-bar::-webkit-scrollbar{display:none}.market-watchset-chip{flex:0 0 auto;white-space:nowrap;font-size:.68rem;padding:.2rem .48rem}.market-page-fit{gap:.18rem}.market-desk{grid-template-areas:"chart" "split" "chat";grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(168px,var(--desk-chart-fr, 38fr)) 12px minmax(220px,var(--desk-chat-fr, 62fr));gap:0}.market-desk-chat{grid-template-areas:"chat";grid-template-rows:minmax(0,1fr)}.market-desk-chart{grid-template-areas:"chart";grid-template-rows:minmax(0,1fr)}.market-desk-chat .market-chart-pane,.market-desk-chat>.desk-resizer,.market-desk-chart>.market-chat-panel,.market-desk-chart>.desk-resizer{display:none!important}.market-watchlist-desktop{display:none!important}.market-symbol-pills{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.28rem;align-items:center;-webkit-overflow-scrolling:touch;scrollbar-width:none}.market-symbol-pills::-webkit-scrollbar{display:none}.market-watchlist{padding:.22rem;gap:.22rem;flex-direction:row;overflow-x:auto}.market-watch-row{padding:.22rem .28rem;min-width:0;flex:1 1 0;overflow:hidden;gap:0}.market-watch-symbol{font-size:.72rem}.market-watch-price{font-size:.7rem}.market-watch-change{font-size:.62rem}.market-chart-pane{width:100%;max-width:100%;height:100%;max-height:none;min-height:0;aspect-ratio:auto;justify-self:stretch;padding:.22rem;border-radius:12px}.market-desk-chart .market-chart-pane{height:100%;max-height:none;min-height:0}.composer-key-hint,.market-voice-hint,.market-auto-hint,.market-watch-hint,.market-long-chat,.quote-chart-zoom-hint{display:none!important}.chart-draw-tools{display:flex;min-width:32px;padding:.22rem .12rem;gap:.12rem}.chart-draw-btn{width:27px;height:27px;border-radius:6px;font-size:.65rem}.chart-draw-hint,.chart-draw-mode{display:none}.chart-price-zoom-rail{display:flex;right:3px;padding:.1rem;gap:.08rem;opacity:.88}.chart-zoom-rail-btn{width:25px;height:25px;border-radius:6px;font-size:.72rem}.chart-ohlc-readout{display:none!important}.chart-ohlc-readout.has-indicators{display:block!important;width:100%;min-width:0;overflow:hidden;padding:0 0 .18rem}.chart-ohlc-readout.has-indicators .chart-symbol-overlay{display:none}.chart-indicator-legend{width:100%;max-width:100%;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.08rem .1rem .18rem}.chart-indicator-legend::-webkit-scrollbar{display:none}.chart-indicator-chip{flex:0 0 auto;white-space:nowrap;font-size:.62rem;padding:.1rem .24rem .1rem .36rem}.chart-oscillator-label{left:5px;max-width:calc(100% - 12px);font-size:.55rem;padding:.08rem .22rem}.quote-chart-toolbar{width:100%;max-width:100%;flex:0 0 auto;min-height:24px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;gap:.15rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.quote-chart-toolbar::-webkit-scrollbar{display:none}.quote-chart-timeframes,.quote-chart-actions{flex:0 0 auto;max-width:none}.quote-chart-timeframes button,.quote-chart-lookbacks button{padding:.16rem .28rem;font-size:.62rem}.quote-chart-with-tools,.quote-chart-canvas-wrap .quote-day-chart,.quote-chart-terminal-body,.quote-chart-terminal-body .quote-day-chart{min-height:140px}.chart-fullscreen-backdrop{padding:0}.chart-fullscreen-panel{width:100%;max-width:none;border-radius:0;padding:max(.45rem,env(safe-area-inset-top)) max(.4rem,env(safe-area-inset-right)) max(.45rem,env(safe-area-inset-bottom)) max(.4rem,env(safe-area-inset-left));overflow:hidden}.market-page-fit>.market-chat-panel,.market-desk>.market-chat-panel{min-height:0;max-height:none;padding:.35rem .4rem .4rem;display:flex;flex-direction:column;overflow:hidden}.market-chat-thread{min-height:0;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:.4rem}.market-chat-thread::-webkit-scrollbar,.chat-thread::-webkit-scrollbar{width:6px}.market-chat-composer{flex:0 0 auto;position:sticky;bottom:0;z-index:5;padding-bottom:env(safe-area-inset-bottom);background:inherit}.market-chat-composer textarea{min-height:2.35rem;max-height:5.5rem;padding:.4rem .5rem;font-size:16px}.market-chat-actions,.market-chat-actions-single{grid-template-columns:1fr auto 1fr;gap:.28rem}.market-voice-btn,.market-pdf-btn,.market-ask-btn{min-height:44px;padding:.4rem .35rem;font-size:.86rem;border-radius:12px}.chat-layout.chat-layout-minimal .chat-composer{position:sticky;bottom:0;z-index:3;padding-bottom:env(safe-area-inset-bottom)}.market-desk>.market-chat-panel,.market-page-fit>.market-chat-panel{height:100%;min-height:240px}.market-chat-head p{display:none!important}.market-chat-head .desk-mode-btns button:first-child{display:none}.chat-composer-minimal .market-voice-btn,.chat-composer-minimal .btn{min-height:44px}.chat-composer-minimal .model-picker{flex-basis:100%}.chat-minimal-head{align-items:flex-start}.chat-minimal-actions{flex-wrap:nowrap}}@media(max-width:480px){.app-shell-wide{padding:.12rem .28rem .08rem;padding-bottom:max(.08rem,env(safe-area-inset-bottom))}.market-status-strip{display:none}.market-desk{grid-template-rows:minmax(132px,30fr) 10px minmax(280px,70fr)!important}.market-desk-chat,.market-desk-chart{grid-template-rows:minmax(0,1fr)!important}.quote-chart-with-tools,.quote-chart-canvas-wrap .quote-day-chart,.quote-chart-terminal-body,.quote-chart-terminal-body .quote-day-chart{min-height:120px}.market-chat-composer textarea,.chat-composer textarea,.ideas-log-form textarea,.ideas-log-form input,.field input,.field textarea,.field select{font-size:16px}.architecture-page iframe{min-height:70dvh}.tab-panel-ideas,.tab-panel-ai,.tab-panel-architecture{overflow-y:auto;-webkit-overflow-scrolling:touch}.bubble{max-width:100%;font-size:.95rem;line-height:1.4}.idea-edit-grid{grid-template-columns:minmax(0,1fr)}}
