:root{
  --bg-primary:#0A1020;--bg-secondary:#0E1729;--surface:#141E35;--surface-hover:#1A2942;
  --border-default:#293852;--border-accent:#42658A;
  --text-primary:#EDF4FF;--text-secondary:#A5B7D2;--text-muted:#8296B4;
  --accent-cyan:#53C7E8;--accent-violet:#9A83E8;--market-up:#39CFA6;--market-down:#F07191;--warning:#E6B96E;
  color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--text-primary);background:var(--bg-primary);font-synthesis:none
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse 58% 44% at 18% 9%,rgba(132,85,211,.10),transparent 72%),radial-gradient(ellipse 54% 42% at 85% 26%,rgba(38,165,206,.07),transparent 75%),linear-gradient(145deg,#090f20 0%,#10172b 52%,#0a1123 100%)}
button,select,input{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.48;cursor:wait}
a{color:var(--accent-cyan);text-decoration:none}
a:hover{text-decoration:underline}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px}
.view[hidden],#mobile-scrim[hidden],[hidden]{display:none!important}
.shell{display:grid;grid-template-columns:212px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:24px 12px;background:linear-gradient(165deg,#111b32,#0c1527 68%);border-right:1px solid var(--border-default);display:flex;flex-direction:column;z-index:10}
.brand{display:flex;gap:11px;align-items:center;color:var(--text-primary);padding:3px 10px 34px}
.brand:hover{text-decoration:none}
.logo{width:40px;height:40px;display:grid;place-items:center;border:1px solid #4b6d9a;border-radius:10px;background:#1c2f4b;box-shadow:0 0 18px #3d72c332;font-weight:850;font-size:22px;letter-spacing:-3px}
.logo span,.brand strong span,.glow{color:var(--accent-cyan)}
.brand strong{font-size:14px;letter-spacing:.9px}
.brand small{display:block;font-size:8px;letter-spacing:1.3px;color:var(--text-muted);margin-top:3px}
.nav-label,.eyebrow{font-size:10.5px;letter-spacing:1.35px;color:var(--text-muted);font-weight:750}
.nav-label{padding:0 14px;margin:0 0 10px}
.sidebar nav{display:grid;gap:3px}
.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:7px;color:var(--text-secondary);font-size:12px;font-weight:600;transition:background .15s,color .15s}
.sidebar nav a span{width:19px;text-align:center;color:#778db7;font-size:17px}
.sidebar nav a:hover,.sidebar nav a.active{background:#1c2944;color:var(--text-primary);text-decoration:none}
.sidebar nav a.active{background:linear-gradient(90deg,#302447b8,#1c2944 88%);box-shadow:inset 2px 0 var(--accent-violet),0 0 13px #9a83e81a}
.sidebar nav a.active span{color:var(--accent-violet)}
.side-bottom{margin-top:auto;border-top:1px solid var(--border-default);padding:18px 10px 2px;color:var(--text-secondary);font-size:11px}
.side-bottom small{display:block;color:var(--text-muted);font-size:9px;letter-spacing:.8px;margin:7px 0 0 14px}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--market-up);margin-right:6px;box-shadow:0 0 8px #39cfa666}
.workspace{min-width:0}
.topbar{height:60px;background:#101a30;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 24px}
.breadcrumb{font-size:10px;letter-spacing:1.2px;color:var(--text-muted);white-space:nowrap}
.breadcrumb span{padding:0 9px;color:#536889}
.breadcrumb strong{color:var(--text-primary)}
.top-controls{display:flex;align-items:center;gap:8px}
.top-controls select,select,input[type="number"]{background:#0e1a30;color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;padding:8px 10px;min-height:36px}
.top-controls select{font-size:11px;font-weight:700}
.top-controls select:hover,select:hover,input[type="number"]:hover{border-color:var(--border-accent)}
.top-status{border-left:1px solid var(--border-default);padding-left:10px;color:var(--text-secondary);font-size:10px;white-space:nowrap}
.icon-button{display:none;color:var(--text-primary);background:transparent;border:0;font-size:19px}
main{padding:20px 24px 42px;min-width:0;background:radial-gradient(ellipse 70% 32% at 50% 2%,#7452b30a,transparent 85%)}
#feedback{min-height:23px;font-size:11px;color:var(--text-muted)}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:5px 0 20px}
.page-head .eyebrow{margin:0 0 7px}
h1{font-size:clamp(29px,3vw,40px);line-height:1.08;letter-spacing:-1.4px;margin:0 0 7px;font-weight:740}
h2{font-size:16px;letter-spacing:-.25px;margin:5px 0 13px}
h3{font-size:13px;margin:17px 0 8px}
.sub,.muted{color:var(--text-secondary);font-size:12.5px;line-height:1.55}
.sub{margin:0}
.tiny{font-size:11.5px}
.badge{border:1px solid var(--border-accent);background:#1b2a44;border-radius:5px;padding:7px 9px;color:#aec7e6;font-size:9px;font-weight:800;letter-spacing:.7px;white-space:nowrap}
.badge.safe{border-color:#2e6b61;background:#14352e;color:#83e4c4}
.badge.warn{border-color:#76613d;background:#3a2d21;color:#f0d29f}
.panel{min-width:0;background:linear-gradient(155deg,#192039 0%,#151d35 48%,#111c31 100%);border:1px solid #34415e;border-radius:10px;padding:17px;box-shadow:inset 0 1px #a68ee00a,0 12px 30px #00000024,0 0 20px #53c7e808;transition:border-color .18s,box-shadow .18s}
.panel:hover{border-color:#475779}
.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:10px}
.panel-heading a{font-size:11px;white-space:nowrap}
.panel-link{display:block;border-top:1px solid var(--border-default);padding-top:12px;margin-top:13px;font-size:11px}
.panel>label,.control-row label{display:grid;gap:7px;color:var(--text-secondary);font-size:11px;font-weight:650}
.panel>label{margin:15px 0}
.control-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.control-row label{min-width:160px}
.control-row input,.control-row select,.panel>label select{width:100%}
.primary,.secondary,.buy,.sell{border-radius:7px;padding:9px 14px;min-height:37px;font-size:11px;font-weight:800;box-shadow:inset 0 1px #ffffff24,0 5px 14px #00000020;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s}
.primary:hover,.secondary:hover,.buy:hover,.sell:hover{transform:translateY(-1px)}
.primary{border:1px solid #6fd9f2;background:var(--accent-cyan);color:#081c2c}
.primary:hover{background:#78d9f2}
.secondary{border:1px solid var(--border-accent);background:#1e3555;color:#c3e3f4}
.secondary:hover{background:#294569}
.buy{background:var(--market-up);border:1px solid #61e2bd;color:#08251b}
.sell{background:var(--market-down);border:1px solid #f899ae;color:#291019}
.positive{color:var(--market-up)!important}.negative{color:var(--market-down)!important}
.skeleton{animation:pulse 1.2s ease-in-out infinite alternate}
@keyframes pulse{to{opacity:.45}}

/* Overview trading workstation */
.overview-head{margin:1px 0 16px}
.overview-head h1{font-size:clamp(27px,2.4vw,36px)}
.terminal-grid{display:grid;grid-template-columns:minmax(185px,.72fr) minmax(0,2.4fr) minmax(266px,1fr);gap:12px;align-items:start}
.terminal-left,.terminal-center,.terminal-right{display:grid;gap:12px;min-width:0}
.terminal-right{max-height:760px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#56658c transparent;padding-right:3px}
.watchlist-panel,.account-panel,.market-depth,.market-trades,.condition-panel,.council-preview{padding:14px}
.live-pill{font-size:9px;font-weight:800;color:var(--market-up);white-space:nowrap}
.market-cards{display:grid;gap:8px}
.market-card{display:block;width:100%;min-width:0;text-align:left;padding:12px;border:1px solid #31415e;background:#101c32;color:var(--text-primary);border-radius:7px;transition:background .15s,border-color .15s,box-shadow .15s}
.market-card:hover,.market-card.selected{border-color:var(--accent-cyan);background:var(--surface-hover)}
.market-card.selected{box-shadow:inset 2px 0 var(--accent-cyan),0 0 14px #53c7e824}
.card-name{display:flex;justify-content:space-between;gap:4px;font-size:10px;letter-spacing:.8px;font-weight:800}
.card-name small{color:var(--text-muted);font-size:9px;letter-spacing:0}
.market-card .price{display:block;font-size:20px;letter-spacing:-.65px;margin:7px 0 2px}
.market-card .change{display:block;color:var(--text-muted);font-size:10px}
.market-card .change.stale{color:var(--warning)}
.watchlist-panel>.tiny{margin:11px 2px 0}
.account-stats{display:grid;gap:0}
.account-stat{display:flex;justify-content:space-between;align-items:baseline;gap:9px;padding:9px 0;border-bottom:1px solid #283954;font-size:11px}
.account-stat:last-child{border:0}.account-stat span{color:var(--text-muted)}.account-stat strong{color:var(--text-primary);text-align:right;font-size:12px}
.chart-panel{border-color:#496489;box-shadow:0 0 0 1px #617bc319,0 0 27px #765aba20,0 16px 32px #0003;padding:0;overflow:hidden}
.chart-panel:hover{border-color:#57769c}
.chart-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px 7px}
.chart-topline .eyebrow{margin:0}.chart-topline h2{font-size:19px;margin:5px 0 0}
.chart-price-block{text-align:right}.chart-price-block strong{display:block;font-size:19px;white-space:nowrap}.chart-price-block span{font-size:11px}
.chart-meta{display:flex;gap:15px;flex-wrap:wrap;padding:6px 17px 10px;color:var(--text-muted);font-size:11px;border-bottom:1px solid var(--border-default)}
.chart-meta b{color:var(--text-secondary);font-weight:650}
.chart-tools{display:flex;align-items:center;gap:16px;padding:8px 17px;background:#101a2e;border-bottom:1px solid var(--border-default);font-size:10px;color:var(--text-secondary)}
.chart-tools label{display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap;border-radius:4px;padding:3px 5px;margin:-3px -5px;transition:background .15s,color .15s}
.chart-tools label:hover,.chart-tools label:has(input:checked){background:#2341607d;color:#c1eff7}
.chart-tools input{accent-color:var(--accent-cyan);width:13px;height:13px}
.chart-tools>span{margin-left:auto;color:var(--text-muted);white-space:nowrap}
.chart-tools i{display:inline-block;width:10px;height:2px;margin-left:2px}.legend-cyan{background:var(--accent-cyan)}.legend-violet{background:var(--accent-violet)}
.chart-wrap{position:relative;min-width:0;height:445px;background:#0d1729}
.chart-canvas{width:100%;height:100%}
.chart-tooltip{position:absolute;z-index:2;top:10px;left:12px;max-width:85%;pointer-events:none;background:#18263fe8;border:1px solid #54769b;border-radius:5px;padding:7px 10px;color:var(--text-primary);font-size:10px;line-height:1.5;box-shadow:0 5px 20px #0006}
.chart-status{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--text-secondary);font-size:12px;background:#0d1729cc;padding:16px;pointer-events:none}
.chart-caption{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--border-default);padding:9px 15px;color:var(--text-muted);font-size:11px}
.chart-credit{border-top:1px solid #23324e;padding:7px 15px;color:#6d82a2;font-size:9px}
.chart-credit a{color:#8fb6d4}
.chart-workspace{padding:0;overflow:hidden}
.preview-tabs{display:flex;border-bottom:1px solid var(--border-default);overflow:auto}
.preview-tabs button{flex:1;min-width:max-content;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-size:11px;font-weight:750;padding:11px 12px;transition:background .15s,color .15s,border-color .15s}
.preview-tabs button:hover,.preview-tabs button[aria-selected="true"]{background:linear-gradient(180deg,#2b254573,#1b2942);color:var(--text-primary);border-bottom-color:var(--accent-violet)}
.preview-body{min-height:67px;padding:12px 15px;font-size:11px}
.preview-row{padding:4px 0;border-bottom:1px solid var(--border-default)}.preview-row:last-child{border:0}
.terminal-right .panel h2{margin-bottom:10px}
details.panel summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:7px;cursor:pointer}
details.panel summary::-webkit-details-marker{display:none}
details.panel summary:after{content:"⌄";color:var(--text-muted);font-size:15px}
details.panel[open] summary:after{content:"⌃"}
details.panel summary small{display:block;margin-bottom:5px}
details.panel summary strong{display:block;font-size:14px}
.small-status{font-size:9px;color:var(--text-muted);font-weight:750;letter-spacing:.5px}.small-status.ready{color:var(--market-up)}.small-status.stale{color:var(--warning)}
.depth-columns,.depth-row{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:4px;align-items:center;font-variant-numeric:tabular-nums}
.depth-columns,.trade-columns{color:var(--text-muted);font-size:10px;letter-spacing:.25px;padding:9px 3px 7px}
.depth-columns span:not(:first-child),.depth-row span:not(:first-child){text-align:right}
.depth-rows{min-height:20px}.depth-row{position:relative;padding:5px 3px;font-size:11px;color:var(--text-secondary)}
.depth-row:before{content:"";position:absolute;inset:1px auto 1px 0;width:var(--depth);z-index:0}
.depth-row.ask:before{background:#f0719118}.depth-row.bid:before{background:#39cfa61b}
.depth-row span{position:relative;z-index:1}.depth-row.ask span:first-child{color:var(--market-down)}.depth-row.bid span:first-child{color:var(--market-up)}
.book-spread{border-block:1px solid var(--border-default);padding:9px 2px;margin:5px 0;font-size:10px;line-height:1.4;text-align:center;color:var(--text-primary)}
.source-note{font-size:10px;line-height:1.5;color:var(--text-muted);margin:10px 0 0}
.trade-columns,.public-trade-row{display:grid;grid-template-columns:1.1fr 1.1fr 1fr .7fr;gap:3px;align-items:center;font-variant-numeric:tabular-nums}
.trade-columns span:not(:first-child),.public-trade-row span:not(:first-child){text-align:right}
.public-trades{min-height:20px}.public-trade-row{padding:6px 2px;border-bottom:1px solid #24334e;color:var(--text-secondary);font-size:11px}
.public-trade-row.side-buy span:last-child{color:var(--market-up)}.public-trade-row.side-sell span:last-child{color:var(--market-down)}
.stack{display:grid;gap:7px}.insight{border-left:2px solid var(--border-accent);padding:5px 0 5px 9px;background:#15233a}
.insight strong{font-size:10px;color:var(--text-primary)}.insight p{color:var(--text-secondary);font-size:10px;line-height:1.45;margin:3px 0 0}
.council-preview p{margin:7px 0}
.overview-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:13px}
.overview-secondary .panel{min-height:146px}.overview-secondary .panel p{margin:5px 0}
.compact-list{font-size:11px;line-height:1.5}
.compact-list a{display:block;padding:6px 0;border-bottom:1px solid var(--border-default)}.compact-list a:last-child{border:0}
.radar-preview{display:grid;gap:5px}.radar-preview .timeframe-card{padding:6px;background:#17263e}
.radar-preview .timeframe-card b{font-size:10px}.radar-preview .timeframe-card p{font-size:10px;margin:3px 0}.radar-tag{display:block;font-size:9px;color:var(--accent-cyan)}
.quick-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border:1px solid var(--border-default);border-radius:8px;padding:14px 17px;margin-top:13px;font-size:11px;background:#111b30}
.quick-actions .eyebrow{margin-right:auto}

/* Shared research views */
.forecast-research .control-row{margin:12px 0}.forecast-research .control-row label{flex:1 1 170px}
.forecast-actions{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}
.forecast-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0}
.forecast-facts>div,.forecast-comparison,.forecast-history{border:1px solid var(--border-default);border-radius:7px;background:#17243b;padding:11px}
.forecast-facts small{display:block;color:var(--text-muted);font-size:10px;margin-bottom:5px}.forecast-facts strong{display:block;overflow-wrap:anywhere;font-size:12px}
.forecast-comparison p,.forecast-history p{margin:6px 0}.forecast-comparison h3,.forecast-history h3{margin-top:0}
.view>.panel,.view>.two-col,.view>.prediction-results,.view>.pattern-grid{margin-bottom:14px}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.indicator-grid,.paper-grid,.timeframe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0}
.indicator,.paper-grid>div,.timeframe-card,.news-item,.pattern-card,.research-card,.research-block,.council-agent{border:1px solid var(--border-default);border-radius:7px;padding:13px;background:#192641}
.indicator small,.paper-grid small,.timeframe-card small{display:block;color:var(--text-muted);font-size:10px;margin-bottom:8px}
.indicator strong,.paper-grid strong,.timeframe-card strong{font-size:17px;color:var(--text-primary)}
.indicator p,.timeframe-card p{font-size:10px;line-height:1.45;color:var(--text-secondary);margin:6px 0 0}
.paper-grid{grid-template-columns:repeat(3,1fr)}.paper-grid strong{font-size:22px}
.news-list,.pattern-grid,.research-grid,.prediction-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.news-item a{display:block;font-size:12px;font-weight:700;line-height:1.5;color:var(--text-primary)}
.news-meta,.pattern-card p,.research-card p,.research-block p{font-size:11px;line-height:1.55;color:var(--text-secondary)}
.news-meta{margin-top:9px}
.pattern-card strong,.research-card strong,.research-block strong{display:block;color:var(--text-primary);font-size:13px;margin-bottom:6px}
.pattern-direction{font-size:10px;letter-spacing:.9px;font-weight:800;color:var(--accent-cyan)}.pattern-direction.up{color:var(--market-up)}.pattern-direction.down{color:var(--market-down)}
.pattern-recent{border-top:1px solid var(--border-default);padding-top:9px}
.council-results{display:grid;gap:9px;margin-top:14px}.council-agent strong{display:block;font-size:12px}.council-agent small{font-size:10px;color:var(--accent-cyan)}
.council-agent p,.ai-output{font-size:11px;line-height:1.55;color:var(--text-secondary)}
.council-citation{display:block;font-size:11px}
.council-ai,.ai-output{padding:11px;border-left:2px solid var(--accent-violet);background:#1a2842;border-radius:4px;white-space:pre-wrap}.ai-output:empty{display:none}
.history{max-height:370px;overflow:auto;color:var(--text-secondary);font-size:11px}.history div{padding:9px 0;border-bottom:1px solid var(--border-default)}
.equity-chart svg{display:block;width:100%;height:180px;background:#101b30;border:1px solid var(--border-default);border-radius:6px}.equity-chart p{font-size:10px;color:var(--text-muted)}
.prediction-results .panel{margin:0}.prediction-results .full{grid-column:1/-1}
.data-table{width:100%;border-collapse:collapse;font-size:11px;min-width:530px}.data-table th,.data-table td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--border-default)}.data-table th{color:var(--text-muted);font-size:11px}.data-table td{color:var(--text-primary)}
.prediction-results .full{overflow:auto}
footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border-default);margin-top:25px;padding-top:16px;color:var(--text-muted);font-size:9px;letter-spacing:.8px}
#mobile-scrim{display:none}

@media(max-width:1250px){
  .terminal-grid{grid-template-columns:minmax(180px,.75fr) minmax(0,2.5fr)}
  .terminal-right{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;max-height:none;overflow:visible;padding-right:0}
  .market-depth{grid-row:span 2}
  .overview-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .top-status{display:none}
}
@media(max-width:900px){
  .shell{display:block}.sidebar{position:fixed;width:240px;transform:translateX(-100%);transition:transform .2s}
  .sidebar.open{transform:translateX(0)}
  #mobile-scrim:not([hidden]){display:block;position:fixed;inset:0;background:#030711bc;z-index:9}
  .icon-button{display:block}.topbar{padding:0 18px}main{padding:17px}
  .terminal-grid{grid-template-columns:minmax(175px,.7fr) minmax(0,2fr)}
  .terminal-right{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two-col{grid-template-columns:1fr}
  .indicator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .forecast-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .breadcrumb{display:none}.topbar{justify-content:space-between}
  .top-controls{gap:5px}.top-controls select{font-size:10px;padding:7px 6px}
  .page-head .badge{display:none}.page-head{align-items:start}
  .terminal-grid,.terminal-right,.overview-secondary,.news-list,.pattern-grid,.research-grid,.prediction-results{grid-template-columns:1fr}
  .terminal-right{grid-column:auto}.market-depth{grid-row:auto}
  .market-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.market-card{padding:9px}.card-name{display:block}.card-name small{display:block;margin-top:2px}.market-card .price{font-size:15px}
  .chart-wrap{height:350px}.chart-tools{gap:9px}.chart-tools>span{display:none}
  .chart-price-block strong{font-size:16px}
  .overview-secondary .panel{min-height:0}
  .paper-grid{grid-template-columns:1fr}
  .account-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px}
  .account-stat{display:block;min-width:0}.account-stat span{display:block;margin-bottom:4px}.account-stat strong{display:block;text-align:left}
  .prediction-results .full{grid-column:auto}
  footer{display:block}footer span{display:block;margin-top:8px}
}
@media(max-width:430px){
  main{padding:12px}.panel{padding:13px}.chart-panel,.chart-workspace{padding:0}
  .chart-wrap{height:315px}.chart-meta{gap:8px}.chart-topline{padding:13px}
  .chart-tools{padding:8px 10px;font-size:9px}
  .market-card .price{font-size:13px}.market-card .change{font-size:9px}
  .top-controls{min-width:0}.top-controls #symbol{width:112px}.top-controls #chart-bar{width:58px}
  .market-cards{gap:5px}.market-card{padding:7px}
  .timeframe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.market-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.market-filter-row button{border:1px solid var(--border-default);background:#17243b;color:var(--text-secondary);padding:8px 10px;border-radius:7px;cursor:pointer;font:inherit;font-size:11px}
.market-filter-row button:hover,.market-filter-row button.active{border-color:var(--accent-violet);color:var(--text-primary);background:#292342}
.market-controls{align-items:end;flex-wrap:wrap}.market-controls label{min-width:130px;flex:1}
.market-table-wrap{overflow:auto;max-width:100%}.market-table{min-width:780px}.market-table td{white-space:nowrap}.market-table .market-symbol{font-weight:700;color:var(--accent-cyan)}
.market-table .positive{color:var(--market-up)}.market-table .negative{color:var(--market-down)}
.market-table button{padding:6px 9px;font-size:10px}.market-table tbody tr:hover{background:#25314a}
.market-pagination,.market-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.market-pagination span{color:var(--text-secondary);font-size:11px}
.market-detail{position:relative;min-width:0}.market-detail-actions{margin:10px 0 14px}.market-detail-actions label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text-secondary)}
.market-detail-chart{height:410px;min-width:0;border:1px solid var(--border-default);border-radius:7px;background:#0d1729;overflow:hidden}
.market-detail #market-chart-status{margin-top:10px}.market-detail .chart-tooltip{top:175px;left:30px}
.market-metrics{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.market-metric{min-width:115px;padding:8px 10px;border:1px solid var(--border-default);border-radius:6px;background:#17243b}.market-metric small{display:block;color:var(--text-muted);font-size:10px}.market-metric strong{display:block;color:var(--text-primary);font-size:12px;margin-top:3px}
@media(max-width:700px){.market-detail-chart{height:330px}.market-controls label{min-width:calc(50% - 8px)}.market-detail .chart-tooltip{top:230px;left:20px}}
.top-controls [hidden]{display:none!important}
body.market-drawer-open{overflow:hidden}
#market-detail-scrim:not([hidden]){position:fixed;inset:0;background:#030712bf;z-index:28}
.market-detail[hidden]{display:none!important}
.market-detail:not([hidden]){position:fixed;z-index:29;top:0;right:0;bottom:0;width:min(760px,100vw);margin:0;overflow:auto;border-radius:12px 0 0 12px;box-shadow:-20px 0 80px #050919d9;background:#131e33;padding:22px}
.market-detail .panel-heading{gap:12px;align-items:center}.market-detail .panel-heading>div{min-width:0}.market-detail .panel-heading h2{overflow-wrap:anywhere}.market-close{margin-left:auto;white-space:nowrap}
.market-detail-chart{height:340px}.market-analysis{border-top:1px solid var(--border-default);margin-top:18px;padding-top:12px}.market-analysis h3{margin:3px 0 8px}.market-analysis .market-metric{flex:1 1 160px}
.scanner-controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.scanner-controls label{flex:1 1 155px;min-width:130px}.scanner-controls .scan-favorites{display:flex;align-items:center;gap:6px;min-width:120px}.scanner-controls .scan-favorites input{width:auto}.scanner-controls button{align-self:end}
@media(max-width:700px){.market-detail:not([hidden]){width:100vw;border-radius:0;padding:14px}.market-detail-chart{height:300px}.market-close{font-size:10px}}
.demo-top{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}.demo-top>div{min-width:180px}.demo-top small{display:block;color:var(--text-muted)}.demo-top strong{display:block;font-size:15px;color:var(--text-primary);margin:4px 0}.demo-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,1.5fr) minmax(220px,1fr);gap:14px;align-items:start}.demo-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.demo-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.demo-form label{min-width:0}.demo-form input,.demo-form select{width:100%}.demo-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.demo-list{min-width:0;overflow-wrap:anywhere}.demo-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-default);font-size:11px}.demo-row span{color:var(--text-secondary)}.demo-row strong{font-size:11px;text-align:right;font-weight:600}.demo-row button{white-space:nowrap;font-size:10px}
@media(max-width:1120px){.demo-grid{grid-template-columns:1fr 1fr}.demo-grid>section:last-child{grid-column:1/-1}}
@media(max-width:700px){.demo-grid,.demo-bottom,.demo-form{grid-template-columns:1fr}.demo-grid>section:last-child{grid-column:auto}.demo-top{align-items:start}.demo-row{align-items:start;flex-wrap:wrap}.demo-row strong{text-align:left}}

/* V0.14: a calmer five-section product shell and account-first home. */
:root{--bg-primary:#090c11;--bg-secondary:#10151c;--surface:#171c24;--surface-hover:#1e2530;--border-default:#303845;--border-accent:#506073;--text-primary:#f4f6fa;--text-secondary:#bac3d0;--text-muted:#8994a5;--accent-cyan:#8cd4dc;--accent-violet:#aa9cdd;--market-up:#53d4a1;--market-down:#f28791}
body{background:radial-gradient(ellipse 52% 36% at 72% 0%,#7059a514,transparent 82%),radial-gradient(ellipse 38% 34% at 5% 38%,#328aa10b,transparent 78%),linear-gradient(145deg,#090c11,#10141b 58%,#0a0e14);overflow-x:hidden}
.shell{grid-template-columns:224px minmax(0,1fr)}
.sidebar{background:linear-gradient(175deg,#151a22,#10141b 64%,#0c1016);border-right-color:#303743;padding:27px 14px}
.brand{padding-bottom:39px}.logo{border-color:#5c6979;border-radius:13px;background:linear-gradient(145deg,#283543,#1b2530);box-shadow:0 9px 20px #0005;font-size:23px}.brand strong{font-size:15px}.brand small{font-size:9px;letter-spacing:1.05px}
.sidebar nav{gap:7px}.sidebar nav a{border-radius:11px;font-size:13px;padding:12px 13px}.sidebar nav a span{font-size:20px;color:#99aabc}.sidebar nav a:hover{background:#222a35}.sidebar nav a.active{background:linear-gradient(90deg,#292639,#252b35);box-shadow:inset 3px 0 var(--accent-violet);color:#f5f3ff}
.side-bottom{font-size:12px;line-height:1.5}.side-bottom small{font-size:10px;margin-left:0}
.topbar{height:70px;background:#11161ed9;backdrop-filter:blur(8px);border-bottom-color:#2c3540;padding:0 30px}.breadcrumb{font-size:11px}.top-controls select{font-size:12px}
.section-nav{display:flex;gap:5px;align-items:center;min-height:54px;padding:8px 30px;border-bottom:1px solid #2a313c;background:#10151be3;overflow-x:auto;scrollbar-width:thin}.section-nav a{color:#aab5c3;font-size:12px;font-weight:700;white-space:nowrap;padding:8px 13px;border-radius:9px}.section-nav a:hover,.section-nav a.active{color:#f0eaff;background:#2c2938;text-decoration:none}.section-nav a.active{box-shadow:inset 0 -2px var(--accent-violet)}
main{padding:24px 30px 52px;background:transparent;max-width:1800px;margin:auto}
body[data-section="home"] #feedback,body[data-section="portfolio"] #feedback,body[data-section="insights"] #feedback{display:none}
h1{font-size:clamp(32px,3vw,46px);font-weight:760;letter-spacing:-1.65px}h2{font-size:18px;letter-spacing:-.35px}.sub,.muted{font-size:13px}.tiny{font-size:12px}
.panel{background:linear-gradient(155deg,#1b2029,#151a22 68%,#141923);border:1px solid #343d49;border-radius:16px;padding:20px;box-shadow:0 12px 36px #00000027,inset 0 1px #ffffff08}.panel:hover{border-color:#4c5869}
.primary,.secondary,.buy,.sell{border-radius:10px;min-height:42px;font-size:12px;padding:10px 15px}.primary{background:#9bd9df;border-color:#afe8ee;color:#10242c}.primary:hover{background:#b2e8ec}.secondary{background:#252d39;border-color:#485767;color:#e0e8ef}.secondary:hover{background:#313b49}.buy{background:#53d4a1}.sell{background:#f28791}
select,input[type="number"],input[type="text"],input[type="search"]{background:#10161e;color:var(--text-primary);border:1px solid #43505e;border-radius:9px;min-height:42px;padding:9px 11px}
.badge{border-radius:8px;font-size:10px}.page-head{margin-bottom:23px}
.section-landing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.landing-card{display:block;color:var(--text-primary);min-height:184px;padding:27px;transition:transform .18s,border-color .18s,background .18s}.landing-card:hover{text-decoration:none;transform:translateY(-2px);border-color:#746d94;background:#242630}.landing-card span{font-size:10px;font-weight:800;letter-spacing:1.35px;color:var(--accent-violet)}.landing-card h2{font-size:25px;margin:17px 0 7px}.landing-card p{font-size:13px;color:var(--text-secondary);line-height:1.6;max-width:37ch}.landing-card strong{display:block;color:var(--accent-cyan);margin-top:18px;font-size:12px}
.home-view{display:grid;gap:18px}.home-hero{padding:29px 32px;background:radial-gradient(ellipse at 90% 0%,#7964a51c,transparent 49%),linear-gradient(135deg,#202630,#171c25 64%,#171b24);border-color:#4b5365;box-shadow:0 20px 60px #0005}.home-hero-top{display:flex;justify-content:space-between;align-items:start;gap:20px}.home-hero h1{font-size:clamp(34px,4vw,55px);margin:7px 0 12px}.home-hero .sub{font-size:14px}.home-hero-top label{display:grid;gap:8px;font-size:11px;font-weight:800;letter-spacing:.8px;color:var(--text-muted);min-width:240px}.home-hero-top select{width:100%;font-size:12px}.home-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:35px;border-top:1px solid #3c4553;padding-top:22px}.home-metrics>div{min-width:0;padding:4px 19px;border-left:1px solid #3b4551}.home-metrics>div:first-child{border-left:0;padding-left:0}.home-metrics small,.home-metrics span{display:block;color:var(--text-muted);font-size:11px;line-height:1.45}.home-metrics small{font-weight:750;letter-spacing:.45px}.home-metrics strong{display:block;font-size:clamp(19px,2.15vw,31px);font-variant-numeric:tabular-nums;letter-spacing:-.8px;margin:9px 0 7px;overflow-wrap:anywhere}.home-hero .source-note{margin-top:23px;font-size:11px}
.home-analytics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:18px;align-items:start}.home-analytics .panel{min-height:470px}.calendar-controls{display:flex;align-items:center;gap:8px}.calendar-controls strong{min-width:110px;text-align:center;font-size:13px}.calendar-controls button{min-height:32px;width:32px;padding:4px;font-size:20px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin:19px 0 8px}.calendar-weekdays span{text-align:center;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.calendar-day{display:flex;flex-direction:column;align-items:start;justify-content:space-between;gap:6px;min-width:0;min-height:64px;padding:8px;border:1px solid #303944;border-radius:9px;background:#141b23;color:var(--text-secondary);text-align:left;transition:border-color .15s,background .15s}.calendar-day span{font-size:11px;font-weight:750}.calendar-day strong{font-size:11px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}.calendar-day:hover{border-color:#7c89a0}.calendar-day.gain{background:#1b342c;border-color:#356652;color:#8be7be}.calendar-day.loss{background:#39252b;border-color:#784651;color:#ffabb2}.calendar-day.flat{background:#242a30;color:#c4d0d7}.calendar-day.future{opacity:.32;cursor:default}.calendar-day.selected{outline:2px solid var(--accent-violet);outline-offset:1px}.calendar-summary{margin-top:16px;font-size:12px}.calendar-detail{border-top:1px solid var(--border-default);margin-top:14px;padding-top:13px;min-height:55px;font-size:12px}
.performance-switch,.performance-ranges{display:flex;gap:5px}.performance-switch button,.performance-ranges button{border:1px solid #3d4856;background:#202833;color:var(--text-secondary);border-radius:8px;padding:7px 11px;font-size:11px;font-weight:750}.performance-switch button.active,.performance-ranges button.active{background:#313244;border-color:#8e80bf;color:#f4efff}.performance-ranges{margin:15px 0 13px}.performance-chart{min-height:260px;display:grid;place-items:center;background:linear-gradient(160deg,#121920,#171d24);border:1px solid #303b46;border-radius:12px;overflow:hidden}.performance-chart svg{display:block;width:100%;height:260px}.performance-grid-line{stroke:#34404b;stroke-width:1;stroke-dasharray:3 5}.performance-axis{fill:#9aa6b5;font-size:9px}.performance-panel #performance-caption{font-size:11px;min-height:33px;margin:12px 0}.performance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.performance-stats>div{padding:11px;border:1px solid #333e49;border-radius:9px;background:#1b232c}.performance-stats small,.performance-stats strong{display:block}.performance-stats small{color:var(--text-muted);font-size:10px}.performance-stats strong{font-size:13px;margin-top:5px;overflow-wrap:anywhere}
.home-lower{display:grid;grid-template-columns:1fr 1fr;gap:18px}.home-lower .panel{min-height:160px}.home-lower #home-activity>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #303a46;font-size:12px}.home-lower #home-activity strong{font-weight:650}.home-lower #home-activity span{color:var(--text-muted);text-align:right}
.performance-details{margin-top:14px;border-top:1px solid #303b46;padding-top:12px}.performance-details summary{color:var(--accent-cyan);font-size:12px;font-weight:700;cursor:pointer}.performance-details .performance-stats{margin-top:13px}.performance-details #performance-detail-stats{color:var(--text-secondary);font-size:12px}
.mobile-bottom-nav{display:none}
@media(max-width:1250px){.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 0}.home-metrics>div:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:1050px){.home-analytics{grid-template-columns:1fr}.home-analytics .panel{min-height:0}}
@media(max-width:900px){.shell{display:block}.topbar{padding:0 18px}.section-nav{padding:8px 18px}main{padding:20px 18px 110px}.sidebar{z-index:35}.mobile-bottom-nav{position:fixed;z-index:25;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 5px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #414a57;background:#151b23ee;backdrop-filter:blur(12px)}.mobile-bottom-nav a{display:grid;justify-items:center;gap:2px;color:#a4aebb;font-size:10px;font-weight:700;padding:5px 2px;border-radius:8px}.mobile-bottom-nav a span{font-size:21px;line-height:1}.mobile-bottom-nav a.active{color:#f1eaff;background:#302c3d;text-decoration:none}}
@media(max-width:700px){.section-landing-grid,.home-lower{grid-template-columns:1fr}.home-hero{padding:22px}.home-hero-top{display:grid}.home-hero-top label{min-width:0}.home-metrics{margin-top:22px}.home-metrics strong{font-size:22px}.home-metrics>div{padding:8px 13px}.home-metrics>div:first-child,.home-metrics>div:nth-child(3){padding-left:0}.home-analytics .panel{padding:16px}.home-lower #home-activity>div{display:grid;gap:2px}.home-lower #home-activity span{text-align:left}.landing-card{min-height:0;padding:22px}}
@media(max-width:430px){main{padding:14px 12px 105px}.section-nav{padding:7px 11px}.home-hero{padding:19px}.home-metrics strong{font-size:19px}.home-metrics small,.home-metrics span{font-size:10px}.calendar-weekdays,.calendar-days{gap:3px}.calendar-day{min-height:58px;padding:5px}.calendar-day strong{font-size:9px}.calendar-day span{font-size:10px}.performance-stats{grid-template-columns:1fr 1fr}.performance-panel .panel-heading{flex-wrap:wrap}}
/* Private cloud sign-in uses the same restrained visual language as the app. */
.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 0%,rgba(117,85,178,.16),transparent 45%),linear-gradient(145deg,#090d17,#111825 65%,#090d17);color:#ecf0f7}
.login-card{width:min(100%,420px);padding:clamp(24px,5vw,40px);border:1px solid #344054;border-radius:22px;background:linear-gradient(150deg,#1b2330,#141a24);box-shadow:0 25px 80px #0008}
.login-card h1{font-size:clamp(28px,5vw,38px);margin:10px 0 8px}.login-card p{color:#aeb8ca}.login-card .eyebrow{color:#9c8af6;letter-spacing:.16em;font-size:12px;font-weight:700}.login-card form{display:grid;gap:12px;margin:30px 0}.login-card label{font-size:14px;color:#dce4f1}.login-card input{min-height:48px;width:100%;border-radius:11px;border:1px solid #48566e;background:#0c1421;color:#fff;padding:10px 14px;font:inherit}.login-card button{min-height:48px;border-radius:11px;border:0;background:#8a77e6;color:#fff;font:inherit;font-weight:700;cursor:pointer}.login-card button:hover{background:#a091f1}.login-card .muted{font-size:12px}
.login-card .login-error{color:#ffadb5;font-size:13px;margin:0}.login-card button:disabled{opacity:.65;cursor:wait}
/* V0.14.1: clearer evidence hierarchy and calm chart treatment. */
.home-metrics>div:first-child strong{font-size:clamp(24px,2.45vw,35px);color:#f7f9fc}.home-metrics>div:not(:first-child) strong{font-size:clamp(18px,1.9vw,27px)}
.calendar-day.unknown{background:#151b22;border-color:#29333e;color:#8793a3}.calendar-day.unknown strong{color:#667586;font-size:15px;line-height:1}.calendar-day.unknown:hover{border-color:#657589;background:#1c2530}
.calendar-legend{font-size:11px;margin-top:7px}.calendar-summary{line-height:1.5}
.performance-panel .panel-heading{align-items:center}.performance-chart{background:radial-gradient(ellipse at 50% 90%,#4b659014,transparent 65%),linear-gradient(160deg,#121920,#171d24)}.performance-empty{max-width:320px;display:grid;justify-items:center;gap:9px;text-align:center;padding:20px}.performance-empty strong{font-size:15px;color:#e7edf7}.performance-empty p{font-size:12px;line-height:1.5;color:var(--text-secondary);margin:0}.performance-empty button{margin-top:5px}.performance-axis{font-size:11px;fill:#a7b5c7}.performance-hit{cursor:help}.performance-hit:focus-visible{stroke:var(--accent-violet);stroke-width:2;outline:none}
.market-quick{display:grid;gap:9px;padding:1px 0 16px;margin-bottom:16px;border-bottom:1px solid var(--border-default)}.market-quick>span{font-size:10px;font-weight:800;letter-spacing:1px;color:var(--text-muted)}.market-quick>div{display:flex;gap:7px;flex-wrap:wrap}.market-quick button{min-height:32px;padding:6px 10px;font-size:11px}
.landing-card{display:flex;flex-direction:column;min-height:0;padding:22px 25px}.landing-card h2{margin:14px 0 5px}.landing-card p{margin:0;max-width:58ch}.landing-card .landing-status{display:block;border-top:1px solid #35404e;padding-top:11px;margin-top:17px;color:#b2c4d1;font-size:11px;line-height:1.45;font-weight:600;letter-spacing:0}
[data-view="portfolio"] .landing-card strong{margin-top:12px}
.research-advanced,.prediction-advanced{border:1px solid #3b4654;border-radius:10px;background:#171e28}.research-advanced{padding:10px 13px;margin:5px 0 14px}.prediction-advanced{padding:16px 20px}.research-advanced summary,.prediction-advanced summary{color:#c5d3e2;font-size:12px;font-weight:700;cursor:pointer;line-height:1.5}.research-advanced summary:hover,.prediction-advanced summary:hover{color:#e7eff7}.research-advanced[open] summary,.prediction-advanced[open] summary{color:#cdbfff;margin-bottom:10px}.prediction-advanced .panel-heading{margin-top:12px}.prediction-advanced .control-row{margin-top:10px}.research-advanced .forecast-actions{margin-bottom:2px}
.performance-chart{position:relative}.performance-focus-label{position:absolute;top:9px;right:10px;border:1px solid #506478;border-radius:5px;background:#1b2938e8;color:#bcd5e1;padding:4px 7px;font-size:9px;font-weight:800;letter-spacing:.55px;pointer-events:none}.performance-tooltip{position:absolute;z-index:2;display:grid;gap:3px;min-width:165px;max-width:190px;padding:8px 10px;border:1px solid #637488;border-radius:8px;background:#1c2835f5;box-shadow:0 8px 22px #0008;color:#ecf5fa;transform:translate(-100%,-100%);pointer-events:none;white-space:nowrap}.performance-tooltip[hidden]{display:none}.performance-tooltip.right-side{transform:translate(0,-100%)}.performance-tooltip.below{transform:translate(-100%,0)}.performance-tooltip.right-side.below{transform:translate(0,0)}.performance-tooltip small{font-size:11px;color:#b8cad7}.performance-tooltip strong{font-size:13px;font-variant-numeric:tabular-nums}
@media(max-width:700px){.landing-card{padding:20px}.landing-card .landing-status{font-size:12px}}
@media(max-width:430px){.home-metrics small,.home-metrics span{font-size:11px}.calendar-day strong{font-size:10px}.calendar-day.unknown strong{font-size:14px}.home-hero h1{font-size:34px}}
