:root{color-scheme:dark;--bg:#080f1b;--panel:#101b2c;--line:#26374c;--text:#ecf3fa;--muted:#9aacc1;--cyan:#69d9f8;--green:#7bf1cb;--red:#ff93a3;--yellow:#f7d58b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0%,#102938 0,transparent 45%),var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif}.shell{max-width:1480px;padding:26px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}h1{font-size:30px;margin:3px 0;letter-spacing:-.04em}h2{font-size:22px;margin:0}h3{font-size:17px;margin:0 0 10px}.eyebrow{color:var(--green);font-size:12px;font-weight:700;letter-spacing:.1em}nav{display:flex;gap:10px}a{color:var(--cyan)}nav a{color:var(--text);text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:9px 13px;font-size:14px}button,select{font:inherit;color:var(--text);border:1px solid var(--line);background:#0a1422;border-radius:9px;padding:8px 12px;cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button[aria-pressed=true]{background:var(--green);color:#071b18;border-color:var(--green);font-weight:700}.controls{display:flex;align-items:end;gap:16px;margin-bottom:18px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.controls label{font-size:12px;color:var(--muted)}.controls select{display:block;min-width:180px;margin-top:4px}.periods{display:flex;gap:5px}.controls>span{margin-left:auto;font-size:12px;color:var(--muted);align-self:center}.panel{border:1px solid var(--line);border-radius:17px;background:var(--panel);padding:20px;min-width:0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.chartHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.price{font-size:25px;font-weight:750}small{color:var(--muted);font-size:12px}.badge{display:inline-block;border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:12px;color:var(--muted)}.chartModes{display:flex;gap:6px;margin:15px 0 8px}.chartModes button{font-size:13px}.chartNote{font-size:13px;color:var(--muted);margin:8px 0}.chart svg{display:block;width:100%;height:auto;min-height:290px}.legend{display:flex;gap:18px;font-size:12px;color:var(--muted)}.legend span:first-child{color:white}.legend span:nth-child(2){color:var(--cyan)}.outlook{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}.outlook>div{padding:12px;border:1px solid var(--line);border-radius:10px}.outlook strong,.outlook span{display:block}.outlook strong{font-size:18px}.outlook span{font-size:12px;color:var(--muted)}.decisionStack{display:flex;flex-direction:column;gap:16px}.decisionTitle{font-size:25px;font-weight:750;line-height:1.25;margin:8px 0 14px}.green{color:var(--green)}.red{color:var(--red)}.yellow{color:var(--yellow)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metrics strong,.metrics span{display:block}.metrics strong{font-size:19px}.metrics span{font-size:12px;color:var(--muted)}.reasons{padding-left:18px;font-size:14px;color:var(--muted);margin-bottom:0}.detailsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}.kv{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:9px 0;font-size:14px}.kv span{color:var(--muted)}.kv b{text-align:right;font-weight:600}.score{font-size:36px;font-weight:800;line-height:1.2}.score small{font-size:15px}.bodyNote{font-size:14px;color:var(--muted)}details{margin-top:12px;font-size:14px}summary{cursor:pointer;color:var(--text);font-weight:600}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th,td{border-bottom:1px solid var(--line);padding:12px 10px;white-space:nowrap}th{color:var(--muted);font-size:12px;font-weight:500}td button{padding:5px 10px;color:var(--cyan)}.marketStrip{display:flex;flex-wrap:wrap;gap:14px;padding:12px 16px;background:#0c1828;border:1px solid var(--line);border-radius:12px;font-size:14px;margin-bottom:16px}.marketStrip span{color:var(--muted)}.coverage{margin-top:18px}.coverage ul{padding-left:20px;color:var(--muted)}footer{color:var(--muted);font-size:12px;padding:24px 5px;text-align:center}.empty{padding:70px 20px;text-align:center}.stale{border-color:var(--yellow)}@media(max-width:1100px){.workspace{grid-template-columns:1fr}.decisionStack{display:grid;grid-template-columns:1fr 1fr}.detailsGrid{grid-template-columns:1fr 1fr}.detailsGrid>.panel:last-child{grid-column:1/-1}}@media(max-width:650px){.shell{padding:14px}header{align-items:flex-start;flex-direction:column}h1{font-size:27px}.controls{align-items:stretch;flex-wrap:wrap}.controls label{width:100%}.controls select{width:100%}.controls>span{margin:0;width:100%}.periods{width:100%}.periods button{flex:1}.panel{padding:15px}.decisionStack,.detailsGrid{grid-template-columns:1fr}.outlook{grid-template-columns:1fr}.outlook>div{display:flex;gap:12px;justify-content:space-between;align-items:center}.outlook strong{font-size:16px}.price{font-size:20px}.chart svg{min-height:240px}.chartHeader{align-items:flex-start}nav a{font-size:13px}.detailsGrid>.panel:last-child{grid-column:auto}}
:root{--focus:#69d9f8}nav{flex-wrap:wrap}nav a[aria-current=page]{border-color:var(--green);color:var(--green)}button:disabled{opacity:.55;cursor:wait}.controls label,.chartModes button,.chartNote,.legend,.outlook span,.metrics span,th{font-size:14px}.kv{flex-wrap:wrap}.kv b{overflow-wrap:anywhere}.price{white-space:nowrap}.panel>h3:empty{display:none}@media(max-width:650px){.controls>button{width:100%}nav{gap:6px}nav a{font-size:14px;padding:7px 10px}.chart svg{min-height:0}.chartHeader{flex-wrap:wrap}.outlook>div{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.visualBars{display:grid;gap:14px;margin:18px 0}.visualLabel{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:7px}.visualLabel span{color:var(--muted)}.visualLabel b{font-variant-numeric:tabular-nums;white-space:nowrap}.visualTrack{position:relative;height:11px;border-radius:5px;background:#203246;overflow:hidden}.visualTrack i{position:absolute;top:0;bottom:0;border-radius:4px}.visualTrack.signed:after{content:"";position:absolute;left:50%;top:0;height:100%;border-left:1px solid #acc2d7}.visualTrack.missing{background:repeating-linear-gradient(135deg,#203246 0 5px,#152335 5px 10px)}.visualCaption{color:var(--muted);font-size:13px;margin:8px 0;line-height:1.5}.supplyVisual{margin:4px 0 16px;text-align:center}.supplyVisual svg{width:200px;max-width:100%;display:block;margin:auto}.supplyLegend{display:grid;gap:10px;margin-top:18px;text-align:left}.supplyLegend>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.supplyLegend span{display:flex;align-items:center;gap:8px}.supplyLegend i{display:inline-block;width:10px;height:10px;flex:none;border-radius:50%;border:1px solid #7992ab}.supplyLegend b{font-variant-numeric:tabular-nums;text-align:right}.supplyLegend small{display:block;font-size:12px}.visualEmpty{display:grid;place-items:center;min-height:120px;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.rsiVisual{margin:18px 0}.rsiTrack{height:12px;border-radius:5px;position:relative;background:linear-gradient(to right,#4b779e 0 30%,#293f52 30% 70%,#986270 70% 100%)}.rsiTrack i{position:absolute;top:-4px;height:20px;width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px #080f1b}.rsiLabels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:6px}.forecastControls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.forecastControls>span{font-size:14px;color:var(--muted)}.forecastControls>div{display:flex;gap:6px}.forecastControls button{font-size:14px;min-width:62px}.forecastEndpoint{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0 4px}.forecastEndpoint span{font-size:14px;color:var(--muted)}.forecastEndpoint strong{font-size:21px;color:var(--cyan)}.score{margin-bottom:20px}.score small{display:block;margin-top:6px}@media(max-width:650px){.forecastControls{gap:8px}.forecastControls>span{width:100%}.forecastControls>div{width:100%}.forecastControls button{flex:1}.visualLabel{flex-wrap:wrap}.supplyVisual svg{width:190px}.forecastEndpoint strong{font-size:20px}}
