:root{color-scheme:dark;--bg:#071711;--card:#0d261e;--line:#25493b;--text:#edfff4;--muted:#9ab7a6;--green:#a8f16d;--red:#ffb3a9;--blue:#79d7d3}*{box-sizing:border-box}body{margin:0;font:14px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 75% 0,rgba(26,91,65,.35),transparent 35%),var(--bg)}button{font:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:default}a{color:var(--green);text-decoration:none}.bar{min-height:76px;padding:14px clamp(15px,3vw,50px);display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2;background:#081b15f2;backdrop-filter:blur(14px)}.brand{display:flex;gap:10px;align-items:center;color:var(--text);margin-right:auto}.brand img{width:35px;height:35px}.brand b{font-size:19px}.brand span{font-size:10px;letter-spacing:.2em;color:var(--green)}nav{display:flex;gap:22px}nav a{color:var(--muted)}button,.tag,.mode{border-radius:10px;border:1px solid var(--line);padding:9px 12px;background:#153b2c;color:var(--text)}.primary{background:var(--green);color:#071711;font-weight:800;border:0}.subtle{background:#092019}.tag{font-size:12px;color:var(--muted)}main{max-width:1820px;margin:auto;padding:32px clamp(12px,3vw,42px) 70px}.heading{display:flex;gap:20px;justify-content:space-between;align-items:end}.heading h1{font-size:clamp(28px,3.2vw,52px);line-height:1.1;letter-spacing:-.035em;margin:12px 0}.heading h1 em{font-style:normal;color:var(--green);font-size:.35em;letter-spacing:.06em;border:1px solid var(--line);vertical-align:middle;border-radius:20px;padding:5px 10px}.heading p{color:var(--muted)}small{color:var(--muted)}.heading>div>small{color:var(--green);letter-spacing:.15em;font-weight:800}.syncbox{border:1px solid var(--line);background:var(--card);padding:18px;border-radius:16px;min-width:280px;display:grid;gap:5px}.syncbox>div{display:flex;gap:10px;align-items:center}.dot{height:9px;width:9px;background:var(--muted);border-radius:50%}.dot.ok{background:var(--green)}.dot.bad{background:var(--red)}.notice{border:1px solid var(--line);border-radius:12px;padding:13px;margin:20px 0;color:var(--muted)}.notice.warn{color:var(--red)}.notice.ok{color:var(--green)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpis article,.panel{min-width:0;border:1px solid var(--line);border-radius:18px;background:linear-gradient(150deg,#102e24,#0b211a);padding:18px}.kpis article{display:flex;flex-direction:column;gap:5px;min-height:130px}.kpis strong{font-size:clamp(20px,2.5vw,31px);letter-spacing:-.035em;word-break:break-all}.kpis article>span{color:var(--muted);font-size:12px}.split{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(600px,2fr);gap:16px;margin-bottom:17px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.panelhead h2{margin:0 0 12px;font-size:21px}.panelhead h3{margin:0}.job-list,.stack{display:grid;gap:10px}.jobitem,.item{border:1px solid var(--line);border-radius:12px;padding:13px;background:#0a2019;min-width:0;overflow-wrap:anywhere}.jobitem{width:100%;color:var(--text);text-align:left}.jobitem.active{border-color:var(--green);background:#1a3e2f}.itemhead{display:flex;justify-content:space-between;align-items:center;gap:10px}.itemhead b{font-size:14px}.mode{font-size:11px;font-weight:900;letter-spacing:.1em;border-radius:20px;padding:5px 9px}.mode.live{border-color:#ffb3a9;color:var(--red)}.mode.paper{color:var(--blue)}.muted,.empty{color:var(--muted)}.empty{padding:14px 0}.metric{color:var(--green)}.negative{color:var(--red)}.task-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 23px}.task-info>div{background:#071b14;border:1px solid var(--line);border-radius:12px;padding:11px}.task-info small,.task-info strong{display:block}.task-info strong{font-size:16px;overflow-wrap:anywhere}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:18px}.twocol h3{font-size:16px;margin:18px 0 12px}.line{display:flex;justify-content:space-between;gap:10px;margin:4px 0}.line small{overflow-wrap:anywhere}.item p{margin:7px 0 0;color:var(--muted)}.chart-panel{margin-top:18px;background:#071b14;border:1px solid var(--line);padding:12px;border-radius:14px}.chart-panel canvas{width:100%;height:170px;display:block}.chart-panel .empty{margin:0}.assets{display:flex;gap:9px;flex-wrap:wrap}.asset{padding:12px;border:1px solid var(--line);border-radius:12px;min-width:138px;background:#071d15}.asset b,.asset span{display:block}.disclaimer{color:var(--muted);font-size:12px;margin-top:22px}@media(max-width:1100px){.split{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}nav{display:none}}@media(max-width:650px){.bar{flex-wrap:wrap}.heading{display:block}.twocol{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.task-info{grid-template-columns:repeat(2,1fr)}.brand span{display:none}}
.wallet-choice{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}.wallet-choice select{min-width:110px;background:#0a2419;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:7px;max-width:170px}@media(max-width:800px){.wallet-choice{order:4;flex-basis:100%}.wallet-choice select{flex:1}}


/* Quant Desktop V2: content-led CEX-class dense workspace, prevents 40px metric columns. */
html{scroll-behavior:smooth;scroll-padding-top:96px}
.terminal-shell{width:min(1740px,calc(100% - 44px));max-width:1740px;padding:30px 0 70px}
.bar{min-height:68px;padding:10px 25px;gap:14px;flex-wrap:wrap}
.bar .brand{margin-right:auto}.bar nav{gap:14px}.bar nav a{font-size:12px}
.wallet-choice{flex:0 0 auto}.wallet-choice select{min-width:172px;max-width:240px}
.bar #connection-state{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.heading{align-items:center;gap:25px;margin-bottom:15px}.heading h1{font-size:clamp(28px,2.6vw,42px)}
.heading p{max-width:950px;font-size:12px;line-height:1.8;margin:8px 0 0}
.syncbox{flex:0 0 310px;min-width:250px;border-radius:12px;padding:14px 17px}
.notice{margin:16px 0;font-size:12px}.kpis{margin:15px 0 18px;gap:12px}
.kpis article{padding:18px;min-height:113px;border-radius:13px;gap:7px}
.kpis strong{font-size:clamp(19px,1.9vw,27px);word-break:normal;overflow-wrap:anywhere;line-height:1.35}
.kpis article>span{font-size:11px}
.split{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;margin-bottom:18px}
.panel{padding:18px;border-radius:14px;min-width:0}
.jobs-panel{position:sticky;top:88px;max-height:calc(100vh - 103px);overflow:auto}
.jobs-panel .panelhead h2{font-size:20px;margin:0}
.section-note{color:var(--muted);font-size:11px;line-height:1.75;margin:12px 0 16px}
.job-list{gap:9px}.jobitem{padding:13px;border-radius:10px}
.jobitem .itemhead{align-items:flex-start}.jobitem .itemhead b{line-height:1.4;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.jobitem .muted{font-size:11px;margin:7px 0;line-height:1.5}.jobitem .metric,.jobitem .negative{font-size:12px;font-weight:700}
.jobitem .mode{font-size:9px;white-space:nowrap;padding:4px 6px}
.monitor{display:block;width:100%;max-width:none;overflow:visible}
.monitor>.panelhead,.task-titlebar{min-height:55px;align-items:flex-start}
.task-titlebar h2{font-size:17px;margin:6px 0 10px;line-height:1.5;overflow-wrap:anywhere;font-weight:680}
.task-titlebar>div{min-width:0;max-width:calc(100% - 100px)}
.task-token-bar{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #214b35;font-size:11px;color:#a8c8ad}
.task-info{display:grid!important;grid-template-columns:repeat(4,minmax(170px,1fr))!important;width:100%!important;max-width:none!important;min-width:0;gap:10px;margin:12px 0 20px;overflow:visible}
.task-info>div{min-width:0!important;width:auto!important;min-height:94px;padding:16px;background:#0a211a;border:1px solid #2b503d;border-radius:11px;display:flex;flex-direction:column;gap:9px}
.task-info small{font-size:11px;color:#87ab94;letter-spacing:.025em;white-space:normal}
.task-info strong{font-size:clamp(15px,1.45vw,21px);line-height:1.4;overflow-wrap:anywhere;word-break:normal;hyphens:none}
.task-info .metric{color:#a8f16d}.task-info .negative{color:#ffb3a9}
.detail-nav{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 19px;padding-bottom:17px;border-bottom:1px solid #28523b}
.detail-nav a{font-size:12px;color:#b5d3b9;background:#142d22;border:1px solid #345442;border-radius:8px;padding:8px 12px}
.detail-nav a:hover{background:#214a30;color:#bffca1}
.chart-panel{margin:0 0 16px;border-radius:12px;padding:15px;min-width:0}
.chart-panel .panelhead{padding:2px 0 14px;gap:12px;align-items:center}
.chart-panel .panelhead h3{font-size:16px;margin:0}.chart-panel .panelhead small{display:block;font-size:9px;letter-spacing:.12em}
#chart-hint{font-size:10px;color:#94af9e;text-align:right}
.chart-panel canvas{height:260px;min-height:260px;width:100%}
.chart-panel .empty{font-size:11px;line-height:1.6}
.detail-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.detail-section{min-width:0;background:#091f17;border:1px solid #254c36;border-radius:13px;overflow:hidden}
.subheading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #2b533c;padding:13px 16px;background:#123223}
.subheading h3{font-size:15px;font-weight:700;margin:0;line-height:1.5}.subheading span{font-size:9px;letter-spacing:.08em;color:#86b19a}
.detail-section>.stack{padding:13px;display:grid;gap:10px;align-content:start;min-width:0}
.stack .item{padding:13px 15px;min-width:0;background:#0e2a1f;border:1px solid #2d513f;border-radius:9px;overflow:visible}
.stack .item>b{display:block;font-size:13px;overflow-wrap:anywhere;line-height:1.6}
.stack .item p{font-size:11px;margin:5px 0 0;line-height:1.7;overflow-wrap:anywhere}
.stack .line{display:grid;grid-template-columns:minmax(85px,1fr) minmax(0,1.5fr);gap:12px;align-items:start;border-top:1px solid #2a4735;padding-top:9px;margin-top:9px}
.stack .line small{color:#8cab99;font-size:11px;white-space:normal}
.stack .line strong{font-size:12px;line-height:1.6;text-align:right;overflow-wrap:anywhere;word-break:normal}
.stack .empty{padding:16px;color:#90b29d}
.assets-panel{margin-top:19px}.assets-panel .panelhead{padding:0 0 10px}
.assets-panel .panelhead h2{margin:0;font-size:20px}.assets{gap:10px;margin-top:12px}
.asset{min-width:150px;padding:14px;border-radius:10px}
.asset span{font-size:11px;color:#9bb5a2;overflow-wrap:anywhere}
.disclaimer{font-size:11px;line-height:1.8}
@media(min-width:1500px){.split{grid-template-columns:325px minmax(0,1fr)}.task-info{grid-template-columns:repeat(4,minmax(175px,1fr))}}
@media(max-width:1290px){.split{grid-template-columns:265px minmax(0,1fr)}.task-info{grid-template-columns:repeat(2,minmax(160px,1fr))!important}.detail-sections{grid-template-columns:1fr}}
@media(max-width:1050px){.terminal-shell{width:calc(100% - 28px)}.split{grid-template-columns:1fr}.jobs-panel{position:static;max-height:none}.job-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.heading{align-items:flex-start}.syncbox{flex-basis:260px}}
@media(max-width:700px){.bar{padding:12px}.wallet-choice{order:3;flex-basis:100%}.wallet-choice select{flex:1}.terminal-shell{width:calc(100% - 24px);padding:20px 0 40px}.heading{display:block}.syncbox{margin-top:15px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.job-list{grid-template-columns:1fr}.task-info{grid-template-columns:repeat(2,minmax(0,1fr))!important}.detail-sections{grid-template-columns:1fr}.task-titlebar h2{font-size:15px}.chart-panel canvas{height:220px;min-height:220px}.chart-panel .panelhead{display:block}}
@media(max-width:420px){.task-info{grid-template-columns:1fr!important}.kpis{grid-template-columns:1fr 1fr}.kpis article{padding:12px}.kpis strong{font-size:17px}.subheading span{display:none}}


/* Quant V2+ strict full-width grid: mobile parity intelligence dashboard */
.monitor{display:block!important;width:100%!important;min-width:0!important;max-width:none!important}
.monitor > #task-info.task-info{
  display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:12px 0 16px!important;gap:9px!important
}
.monitor > #task-info.task-info > div{
  min-width:0!important;max-width:none!important;width:auto!important;
  min-height:94px!important;overflow:visible
}
.monitor > #task-info.task-info > div strong{font-size:clamp(14px,1.2vw,20px);word-break:normal;overflow-wrap:anywhere}
#task-ai-workspace{display:block;width:100%;max-width:none;min-width:0;margin:10px 0 18px}
.ai-heading{margin-bottom:12px;border-radius:10px}.ai-heading h3{font-size:18px}
.ai-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;width:100%;min-width:0}
.ai-module{min-width:0;width:100%;max-width:none;background:linear-gradient(155deg,#0c281e,#092018);border:1px solid #315643;border-radius:13px;overflow:hidden}
.ai-module>header{padding:15px 16px 13px;background:linear-gradient(120deg,#163829,#102c23);border-bottom:1px solid #315643}
.ai-module>header small{color:#86c99e;letter-spacing:.12em;font-size:9px;font-weight:750}
.ai-module>header h3{color:#edfff4;font-size:15px;line-height:1.5;margin:5px 0 0}
.ai-module-content{padding:14px 16px;display:grid;gap:10px;min-width:0}
.ai-module-wide{grid-column:span 2}
.ai-winner{padding:14px;background:#173e2c;border:1px solid #57976c;border-radius:11px;display:flex;flex-direction:column;gap:4px}
.ai-winner small{font-size:10px;color:#a9cbb5}
.ai-winner strong{font-size:21px;color:#bdf7a0;overflow-wrap:anywhere}
.ai-score{padding:10px;border:1px solid #285340;background:#0b231b;border-radius:9px;min-width:0}
.ai-score.winner{border-color:#76bb87;background:#173d2b}
.ai-score-head{display:flex;justify-content:space-between;align-items:center;gap:9px}
.ai-score-head b{font-size:12px;overflow-wrap:anywhere}
.ai-score-head span{font-weight:750;font-size:12px;color:#b6f394}
.ai-score-track{height:6px;background:#061912;border-radius:99px;margin:8px 0 0;overflow:hidden}
.ai-score-value{background:linear-gradient(90deg,#4e9f90,#baf08b);height:100%;border-radius:99px}
.ai-score-meta{display:block;color:#b0cabb;font-size:10px;margin-top:7px;line-height:1.5;overflow-wrap:anywhere}
.ai-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ai-metric{padding:11px 12px;border:1px solid #31523e;background:#0b241b;border-radius:9px;min-width:0}
.ai-metric small{display:block;color:#91b49c;font-size:10px;line-height:1.4}
.ai-metric strong{display:block;color:#f1fff3;font-size:18px;font-weight:780;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}
.ai-metric.accent strong{color:#baf48a}
.ai-data-line{display:grid;grid-template-columns:minmax(95px,1fr) minmax(0,1.3fr);align-items:start;gap:12px;padding:8px 0;border-bottom:1px solid #294332;min-width:0}
.ai-data-line span{font-size:11px;color:#98b6a2;line-height:1.6}
.ai-data-line b{font-size:12px;color:#f0fff4;font-weight:680;text-align:right;line-height:1.6;overflow-wrap:anywhere}
.ai-note{margin:1px 0;color:#b3cdbb;line-height:1.65;font-size:11px;overflow-wrap:anywhere}
.ai-note.warning{color:#f3d08d}.ai-note.dim{color:#86ac96}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.ai-chip{display:inline-block;border:1px solid #36624a;background:#153829;color:#c4dfb3;padding:5px 8px;border-radius:8px;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.ai-subsection{display:grid;gap:7px;margin-top:4px;padding:11px 12px;border:1px solid #2d523c;border-radius:10px;background:#0b241b}
.ai-subsection h4{font-size:12px;color:#b9eea9;margin:0;font-weight:780}
.ai-event{padding:11px 12px;background:#0b231b;border:1px solid #2c503d;border-radius:9px}
.ai-event-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ai-event-head strong{font-size:11px;color:#b5ed9f;overflow-wrap:anywhere}
.ai-event-head span{color:#91b09b;font-size:10px;white-space:nowrap}
.ai-research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ai-research-card{min-width:0;padding:12px;background:#0b251b;border:1px solid #315743;border-radius:10px}
.ai-research-card h4{font-size:13px;margin:0 0 11px;color:#baf3b7}
.ai-research-card .ai-data-line{grid-template-columns:1fr minmax(0,1fr)}
.ai-research-card .ai-data-line b{font-size:11px}
@media(max-width:1570px){
 .monitor > #task-info.task-info{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .ai-research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1150px){
 .monitor > #task-info.task-info{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .ai-panel-grid{grid-template-columns:minmax(0,1fr)}
 .ai-module-wide{grid-column:auto}
}
@media(max-width:760px){
 .monitor > #task-info.task-info{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ai-panel-grid{gap:10px}
 .ai-module-content{padding:12px}
 .ai-research-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:440px){
 .monitor > #task-info.task-info{grid-template-columns:minmax(0,1fr)!important}
 .ai-data-line{grid-template-columns:minmax(80px,1fr) minmax(0,1fr)}
}


/* V3 FIX: dimension against the DETAIL PANE, NOT the browser viewport.
   The former six fixed columns over-constrained 1250-1600px screens and
   caused the KPI panel to overlap the following content. */
.terminal-shell, .split, .monitor, .monitor > *, .ai-workspace,
.ai-panel-grid, .chart-panel, .detail-sections {min-width:0;max-width:100%}
.split{grid-template-columns:clamp(235px,20vw,310px) minmax(0,1fr)}
.monitor{container-type:inline-size;overflow:clip}
.monitor > #task-info.task-info{
 display:grid!important;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,195px),1fr))!important;
 gap:12px!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 height:auto!important;
 overflow:visible!important;
}
.monitor > #task-info.task-info > div{
 min-width:0!important;
 width:auto!important;
 max-width:100%!important;
 height:auto!important;
 min-height:96px;
 overflow:hidden;
}
.monitor > #task-info.task-info > div strong{
 overflow-wrap:anywhere;
 word-break:normal;
 white-space:normal;
 line-height:1.3;
 font-size:clamp(15px,1.25vw,20px);
}
.ai-panel-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,345px),1fr))!important}
.ai-module-wide{grid-column:1/-1}
.task-token-bar,.monitor > .panelhead{min-width:0;flex-wrap:wrap}
.task-token-bar > *, .monitor > .panelhead > *{min-width:0;max-width:100%;overflow-wrap:anywhere}
.detail-sections{grid-template-columns:repeat(auto-fit,minmax(min(100%,375px),1fr))}
.ai-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr))}
.ai-research-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
@container (max-width:820px){
 .monitor > #task-info.task-info{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr))!important
 }
 .ai-panel-grid{grid-template-columns:1fr!important}
 .ai-module-wide{grid-column:auto}
 .detail-sections{grid-template-columns:1fr}
}
@container (max-width:450px){
 .monitor > #task-info.task-info{grid-template-columns:1fr!important}
 .ai-metrics,.ai-research-grid{grid-template-columns:1fr}
}
@media(max-width:1120px){
 .split{grid-template-columns:1fr}
 .jobs-panel{position:static;max-height:none}
}
@media(max-width:600px){
 .terminal-shell{width:calc(100% - 24px)}
 .heading{display:block}
 .syncbox{margin-top:14px;min-width:0;width:100%}
}


/* Quant V4 responsive INTELLIGENCE MASONRY: fix huge blank columns caused by
   one very long Strategy Arena card sharing a normal CSS Grid row with short
   ACE/Radar cards. Grid row spans follow actual rendered card body heights.
   This is sized by the monitor's content width, NOT the screen width. */
.ai-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.ai-heading>div:first-child{min-width:0}
.ai-heading>div:first-child h3{margin:0 0 5px}
.ai-layout-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;flex-shrink:0}
.ai-layout-tools button{border:1px solid #365c48;color:#aec9b4;background:#0d281c;border-radius:7px;padding:9px 13px;cursor:pointer;font-size:11px;line-height:1.25}
.ai-layout-tools button[aria-pressed="true"]{border-color:#9ddd8d;background:#235239;color:#ddffd0;font-weight:720}
.ai-layout-tools button:focus-visible{outline:2px solid #b7f58a;outline-offset:2px}
.ai-workspace,.ai-panel-grid{width:100%;min-width:0;max-width:100%}
.ai-panel-grid.ai-masonry{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 grid-auto-rows:8px!important;
 grid-auto-flow:row dense!important;
 column-gap:16px!important;
 row-gap:12px!important;
 align-content:start!important;
 align-items:start!important;
 min-height:0!important;
}
.ai-panel-grid.ai-masonry>.ai-module{
 grid-column:auto;
 min-width:0!important;
 width:100%!important;
 max-width:none!important;
 height:100%;
 max-height:none!important;
 min-height:0!important;
 align-self:stretch;
 overflow:hidden;
 box-sizing:border-box;
}
.ai-panel-grid.ai-masonry>.ai-module-wide{grid-column:1/-1!important}
.ai-panel-grid.ai-masonry .ai-module-content{height:auto;min-height:0}
.ai-panel-grid.ai-masonry .ai-data-line{grid-template-columns:minmax(115px,.85fr) minmax(0,1.4fr)}
.ai-panel-grid.ai-masonry .ai-score-meta{line-height:1.6}
.ai-panel-grid.ai-masonry.layout-expanded{
 grid-template-columns:minmax(0,1fr)!important;
 grid-auto-rows:auto!important;
 grid-auto-flow:row!important;
 row-gap:14px!important;
}
.ai-panel-grid.ai-masonry.layout-expanded>.ai-module{
 grid-column:1/-1!important;
 grid-row-end:auto!important;
 height:auto!important;
 min-height:0!important;
 overflow:visible;
}
.ai-panel-grid.ai-masonry.layout-expanded .ai-module-content{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr));
 gap:12px;
 align-items:start;
}
.ai-panel-grid.ai-masonry.layout-expanded .ai-module-content>.ai-subsection{
 min-width:0;
}
.ai-panel-grid.ai-masonry.layout-expanded #arena-content{
 grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
}
.ai-panel-grid.ai-masonry.layout-expanded #arena-content>.ai-note,
.ai-panel-grid.ai-masonry.layout-expanded #arena-content>.ai-chips{
 grid-column:1/-1;
}
.ai-panel-grid.ai-masonry.layout-expanded #radar-content{
 grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
}
.ai-panel-grid.ai-masonry.layout-expanded #research-content{
 grid-template-columns:1fr;
}
@container (min-width:1760px){
 .ai-panel-grid.ai-masonry:not(.layout-expanded){
  grid-template-columns:repeat(3,minmax(0,1fr))!important
 }
}
@container (max-width:920px){
 .ai-panel-grid.ai-masonry:not(.layout-expanded){
  grid-template-columns:minmax(0,1fr)!important
 }
 .ai-panel-grid.ai-masonry:not(.layout-expanded)>.ai-module-wide{grid-column:auto!important}
}
@media(max-width:650px){
 .ai-heading{align-items:flex-start}
 .ai-layout-tools{width:100%}
 .ai-layout-tools button{flex:1}
 .ai-panel-grid.ai-masonry:not(.layout-expanded){
  grid-template-columns:minmax(0,1fr)!important
 }
 .ai-panel-grid.ai-masonry .ai-data-line{
  grid-template-columns:minmax(85px,1fr) minmax(0,1.2fr)
 }
}


/* Quant Desktop V2.2 — asymmetric two-column AI workspace.
   Analysis and the long AI invocation feed are separate document-flow rails:
   no synchronized CSS grid-row heights, fake whitespace, or clipped audit
   messages. When the right activity log is long, scroll within that pane. */
.ai-workspace{container-type:inline-size;overflow:visible}
.ai-panel-grid.ai-rail-layout{
 display:grid!important;
 grid-template-columns:minmax(0,1.24fr) minmax(320px,.9fr)!important;
 gap:16px!important;
 align-items:start!important;
 align-content:start!important;
 grid-auto-rows:auto!important;
 grid-auto-flow:row!important;
 max-width:100%;
 min-width:0;
}
.ai-panel-grid.ai-rail-layout .ai-analysis-column{
 display:flex;
 flex-direction:column;
 gap:14px;
 min-width:0;
 width:100%;
}
.ai-panel-grid.ai-rail-layout .ai-analysis-column>.ai-module,
.ai-panel-grid.ai-rail-layout .ai-calls-column>.ai-module{
 display:block;
 min-width:0!important;
 width:100%!important;
 max-width:none!important;
 height:auto!important;
 min-height:0!important;
 max-height:none!important;
 grid-column:auto!important;
 grid-row:auto!important;
 overflow:visible;
}
.ai-panel-grid.ai-rail-layout .ai-analysis-column>.ai-module{
 flex-shrink:0;
}
.ai-panel-grid.ai-rail-layout .ai-calls-column{
 display:flex;
 flex-direction:column;
 position:sticky;
 top:87px;
 height:min(850px,calc(100dvh - 104px));
 min-height:420px;
 min-width:0;
 max-width:100%;
 background:#0a231a;
 border:1px solid #345845;
 border-radius:12px;
 overflow:hidden;
}
.ai-log-rail-label{
 padding:13px 17px 12px;
 border-bottom:1px solid #355443;
 background:linear-gradient(120deg,#1a412d,#102f24);
 display:flex;
 flex-direction:column;
 gap:3px;
 flex-shrink:0;
}
.ai-log-rail-label span{font-size:9px;letter-spacing:.12em;color:#bdf1ac;font-weight:760}
.ai-log-rail-label strong{font-size:14px;color:#e5f7e7;line-height:1.5}
.ai-log-rail-label small{font-size:10px;color:#98bba3}
.ai-panel-grid.ai-rail-layout .ai-calls-column>#task-ai-events{
 flex:1;
 display:flex;
 flex-direction:column;
 height:auto!important;
 min-height:0!important;
 overflow:hidden!important;
 border:0;
 border-radius:0;
}
.ai-panel-grid.ai-rail-layout .ai-calls-column>#task-ai-events>header{
 flex:0 0 auto;
 border-bottom:1px solid #365944;
}
.ai-panel-grid.ai-rail-layout .ai-calls-column>#task-ai-events>#ai-events-content{
 flex:1;
 min-height:0;
 overflow-y:auto!important;
 overscroll-behavior:contain;
 scrollbar-color:#537c5e #0b241a;
 scrollbar-width:thin;
 align-content:start;
 align-items:start;
 display:grid;
 gap:9px;
}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-event{
 min-width:0;
 overflow-wrap:anywhere;
}
.ai-panel-grid.ai-rail-layout .ai-calls-column:focus-within{
 border-color:#7fb68a;
}
.ai-panel-grid.ai-rail-layout.layout-expanded{
 display:block!important;
}
.ai-panel-grid.ai-rail-layout.layout-expanded .ai-analysis-column{
 display:flex;
 gap:14px;
}
.ai-panel-grid.ai-rail-layout.layout-expanded .ai-calls-column{
 position:static!important;
 margin-top:14px;
 height:auto!important;
 max-height:none!important;
 min-height:0!important;
}
.ai-panel-grid.ai-rail-layout.layout-expanded .ai-calls-column>#task-ai-events{
 display:block;
 overflow:visible!important;
}
.ai-panel-grid.ai-rail-layout.layout-expanded #ai-events-content{
 display:grid;
 overflow:visible!important;
 max-height:none!important;
}
@container (max-width:810px){
 .ai-panel-grid.ai-rail-layout:not(.layout-expanded){
  grid-template-columns:minmax(0,1fr)!important;
  display:flex!important;
  flex-direction:column;
 }
 .ai-panel-grid.ai-rail-layout:not(.layout-expanded) .ai-calls-column{
  position:static;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
 }
 .ai-panel-grid.ai-rail-layout:not(.layout-expanded) #ai-events-content{
  max-height:500px;
  overflow-y:auto!important;
 }
 .ai-panel-grid.ai-rail-layout:not(.layout-expanded) .ai-analysis-column{
  width:100%;
 }
}
@media(max-width:680px){
 .ai-panel-grid.ai-rail-layout{gap:10px!important}
 .ai-log-rail-label{padding:10px 13px}
}


/* Quant PC V2.3 · audited AI ledger; never render nameless empty event boxes.
 * Independent log scroll, compact invoice rows and responsive opt-in horizon panel. */
.ai-panel-grid.ai-rail-layout #ai-events-content{
 display:flex!important;
 flex-direction:column!important;
 align-items:stretch!important;
 justify-content:flex-start!important;
 gap:8px!important;
 padding:12px 13px!important;
}
.ai-feed-section-title{
 position:sticky;
 top:0;
 z-index:2;
 background:#18382b;
 border:1px solid #3d654c;
 border-radius:8px;
 color:#deffe1;
 padding:9px 12px;
 display:flex;
 flex-direction:column;
 gap:2px;
}
.ai-feed-section-title strong{font-size:12px;font-weight:750}
.ai-feed-section-title small{font-size:10px;color:#9dc6a6}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-event,
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-subsection{
 flex:0 0 auto;
 width:100%;
 min-height:0!important;
 height:auto!important;
 box-sizing:border-box;
 overflow:visible!important;
 display:flex;
 flex-direction:column;
 gap:7px;
 padding:12px 13px;
}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-call-receipt{
 background:linear-gradient(140deg,#142f25,#0e251e);
 border-color:#44694c;
}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-event-head{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:8px;
 min-width:0;
}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-event-head strong{
 font-size:11px;
 line-height:1.5;
 color:#b8f0ab;
 overflow-wrap:anywhere;
}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-event-head span{
 font-size:10px;color:#a0b6a5;white-space:nowrap;
}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-data-line.compact{
 display:grid;
 grid-template-columns:minmax(90px,0.8fr) minmax(0,1.3fr);
 gap:10px;
 padding:4px 0;
 border-bottom:1px solid #274334;
}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-data-line.compact span{font-size:10px;color:#8fb39f}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-data-line.compact b{
 font-size:11px;font-weight:650;line-height:1.5;text-align:right;
 word-break:break-word;overflow-wrap:anywhere;color:#d5f5d8;
}
.ai-panel-grid.ai-rail-layout #ai-events-content .ai-note{line-height:1.65;font-size:10px}
.ai-horizon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.ai-horizon-card{
 background:#102d23;border:1px solid #375c46;
 border-radius:9px;padding:12px;
 display:flex;flex-direction:column;gap:7px;min-width:0;
}
.ai-horizon-card strong{font-size:13px;color:#c8f5b3;overflow-wrap:anywhere}
.ai-horizon-card .ai-chips{gap:5px}
@container (max-width:810px){
 .ai-panel-grid.ai-rail-layout:not(.layout-expanded) #ai-events-content{
  max-height:540px;
  min-height:0;
  overflow-y:auto!important;
 }
}
@media(max-width:640px){
 .ai-panel-grid.ai-rail-layout #ai-events-content .ai-event-head{
  flex-wrap:wrap;
 }
 .ai-panel-grid.ai-rail-layout #ai-events-content .ai-data-line.compact{
  grid-template-columns:minmax(75px,.8fr) minmax(0,1.1fr)
 }
}

/* PC quant connection diagnostics */
.pc-reconnect-status{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:12px 0 16px}
.pc-reconnect-status>div{background:rgba(14,35,34,.92);border:1px solid rgba(111,164,152,.25);border-radius:9px;padding:9px 12px;min-width:0}
.pc-reconnect-status small{display:block;color:#92b2a7;font-size:11px;margin-bottom:5px}
.pc-reconnect-status strong{display:block;color:#d9ebe2;font-size:12px;overflow-wrap:anywhere}
@media(max-width:980px){.pc-reconnect-status{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pc-reconnect-status{grid-template-columns:1fr}}

/* QENOVRA task status independent of heavy audits */
.jobitem .lifecycle{display:inline-block;font-size:12px;font-weight:700;padding:4px 8px;border-radius:6px;margin:7px 0 4px;}
.jobitem .lifecycle-expired{background:rgba(202,155,89,.15);color:#edc184;border:1px solid rgba(202,155,89,.35)}
.jobitem .lifecycle-warning{background:rgba(237,164,103,.12);color:#ffd0ab;border:1px solid rgba(237,164,103,.32)}
.jobitem .lifecycle-running{background:rgba(86,186,135,.12);color:#91f0b6}
.jobitem .lifecycle-paused{background:rgba(127,146,141,.13);color:#bfd2c8}

/* PC 量化后台切换：并排显示，确保原有任务与 ATR 的分区一眼可见。 */
.quant-runtime-switch{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding:4px;border-radius:13px;border:1px solid #376a55;background:#071d18}
.quant-runtime-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 13px;border-radius:9px;color:#bcd6c9;font-weight:700;font-size:13px;white-space:nowrap;text-decoration:none;transition:background .12s ease}
.quant-runtime-switch a:hover,.quant-runtime-switch a:focus-visible{background:#204b39;color:#fff;outline-color:#a8f16d}
.quant-runtime-switch a.selected,.quant-runtime-switch a[aria-current="page"]{background:#a8f16d;color:#071711}
#runtime-label{color:#a8f16d}
@media(max-width:1120px){.bar{flex-wrap:wrap}.quant-runtime-switch{order:2}.bar nav{order:1}}
@media(max-width:700px){.quant-runtime-switch{order:2;width:100%}.quant-runtime-switch a{flex:1;min-width:0;text-align:center}.wallet-choice{order:3}}


/* First-party mobile QR wallet signature */
#qr-login-dialog{max-width:min(420px,94vw);width:100%;border:1px solid #367456;border-radius:18px;background:#0a2119;color:#eaffef;padding:24px;box-shadow:0 30px 80px #0009}
#qr-login-dialog::backdrop{background:#000c}
.qr-login-content{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.qr-login-content h3{font-size:20px;margin:0;color:#a8f5c1}
.qr-login-content p{font-size:13px;line-height:1.6;margin:0;overflow-wrap:anywhere}
.qr-login-code{width:250px;height:250px;background:white;border-radius:14px;padding:9px;display:flex;align-items:center;justify-content:center}
.qr-login-code img,.qr-login-code canvas{max-width:232px;height:auto}
.qr-login-open-app{display:block;background:#8debb7;border-radius:10px;color:#082117;padding:11px;text-decoration:none;font-weight:700}
.qr-login-open-app[hidden]{display:none}
#qr-login-cancel{min-width:150px}

/* A stock tab in the original terminal, using its existing panels and theme. */
.stock-create-dialog{width:min(780px,94vw);max-height:90vh;overflow:auto;background:#10251c;color:#e7f5e9;border:1px solid #436b4d;border-radius:18px;padding:22px}
.stock-create-dialog::backdrop{background:#0009}.stock-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stock-form-grid label{display:flex;flex-direction:column;gap:7px}.stock-form-grid input,.stock-form-grid select{width:100%;box-sizing:border-box;background:#0b1c15;color:#e7f5e9;border:1px solid #41624a;padding:10px;border-radius:8px}.stock-ack{display:flex;gap:10px;align-items:flex-start;margin:16px 0;line-height:1.6}.stock-ack input{margin-top:5px}.stock-task-controls{display:flex;gap:10px;flex-wrap:wrap}.quant-runtime-switch{flex-wrap:wrap}#stock-create-open{margin:0 0 12px}
@media(max-width:640px){.stock-form-grid{grid-template-columns:1fr}.stock-create-dialog{padding:16px}.quant-runtime-switch a{padding:8px 10px}}
