.intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.source-link{white-space:nowrap;font-size:.85rem;color:var(--muted);margin-top:8px}.status-line{color:var(--dim);font:400 .75rem var(--mono);margin-top:20px;min-height:1.5em}
.tabs{display:flex;gap:8px;padding:24px 0 18px;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs button{display:flex;gap:14px;align-items:center;min-height:52px;padding:12px 20px;border:1px solid var(--line-2);background:var(--surface);color:var(--dim);border-radius:12px;font:400 .8rem var(--mono);cursor:pointer}.tabs button span{font:500 .9rem var(--body);color:var(--muted)}.tabs button[aria-selected=true]{border-color:var(--ember);background:var(--tint-2);color:var(--ember)}.tabs button[aria-selected=true] span{color:var(--text)}[hidden]{display:none!important}
.experiment{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);border:1px solid var(--line-2);border-radius:18px;overflow:hidden;background:var(--surface)}.plot-panel{padding:24px;background:var(--bg-2);min-width:0}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.panel-top .label{font-size:.62rem}.tag{font:400 .62rem var(--mono);color:var(--dim);border:1px solid var(--line-2);padding:4px 8px;border-radius:5px}.settings{padding:30px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;gap:18px}.settings h2{font-size:1.55rem;line-height:1.15}.settings>p{font-size:.85rem;color:var(--muted)}.settings label{display:flex;flex-direction:column;gap:8px;font:500 .7rem var(--mono);color:var(--muted)}.settings label output{float:right;color:var(--text);font-weight:500}.settings select{width:100%;padding:10px;border:1px solid var(--line-2);border-radius:8px;font:400 .85rem var(--body);background:var(--bg-2);color:var(--text);min-height:44px}.settings input[type=range]{width:100%;accent-color:var(--ember);min-height:24px;cursor:pointer}.settings .hint{font-size:.74rem;color:var(--dim);line-height:1.6}.settings a{font-size:.8rem}.settings button{cursor:pointer;font-family:var(--body)}button:disabled{opacity:.5;cursor:wait}.settings .btn-row{gap:8px}.settings .btn{font-size:.8rem;padding:10px 16px;min-height:44px}
.legend{display:flex;gap:12px 20px;flex-wrap:wrap;font-size:.67rem;color:var(--muted);margin-top:16px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.rayleigh{background:#ff9b4a}.closure{background:#5fd4e8}.series{background:#a78bfa}.readout{padding:16px;border:1px solid var(--line-2);border-radius:10px;background:var(--tint);font:400 .72rem var(--mono);line-height:1.9;min-height:140px}.readout strong{display:block;color:var(--cyan);font-size:.9rem;margin-bottom:6px}.readout .unmet{color:var(--red)}.readout dl div{display:flex;justify-content:space-between;gap:10px}.readout dt{color:var(--dim)}
.method{padding:22px 4px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.method p{font-size:.82rem;color:var(--muted);line-height:1.8}.method strong{color:var(--text-2)}#optics-chart{width:100%;height:auto;margin-top:18px}#optics-chart text{font:11px var(--mono);fill:var(--dim)}#optics-chart .grid{stroke:var(--line-2)}#optics-chart .reference{fill:none;stroke:var(--text);stroke-width:1.5;opacity:.5}#optics-chart .marker{stroke:var(--ember);stroke-dasharray:4 5;opacity:.6}
#flow-canvas{width:100%;height:auto;aspect-ratio:1;max-width:520px;margin:auto;border:1px solid var(--line-2);border-radius:12px;background:#09101c}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px}.metrics dt{font:400 .62rem var(--mono);color:var(--dim)}.metrics dd{font:400 .9rem var(--mono);color:var(--text);margin-top:5px}.flow-panel .legend{justify-content:center}
#design-scene{width:100%;height:auto}#design-scene text{font:12px var(--mono);fill:var(--muted)}.handoffs{display:flex;gap:12px;align-items:center;justify-content:center;font-size:.7rem;color:var(--muted);margin-bottom:22px}.handoffs b{color:var(--ember)}.checks{display:grid;gap:10px}.check{background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:14px 16px}.check-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.8rem}.check-top b{font-weight:500}.check p{font-size:.73rem;color:var(--muted);margin-top:6px}.check .check-status{font:500 .65rem var(--mono);color:var(--ember)}.check[data-status=met] .check-status{color:var(--green)}.check[data-status=FAILED] .check-status{color:var(--red)}.check .bounds{font:400 .74rem var(--mono);color:var(--text-2)}
@media(max-width:900px){.experiment{grid-template-columns:1fr}.settings{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:start}.settings h2,.settings>p,.settings>.readout,.settings>.metrics,.settings>.btn-row{grid-column:1/-1}.method{gap:20px}.intro{display:block}.source-link{display:inline-block;margin-top:14px}}
@media(max-width:540px){.demo-main{padding-top:32px}.tabs{gap:6px}.tabs button{flex-direction:column;gap:4px;flex:1;padding:10px 6px;font-size:.65rem}.tabs button span{font-size:.72rem}.plot-panel{padding:16px}.settings{padding:22px;grid-template-columns:1fr}.method{grid-template-columns:1fr;gap:12px}.handoffs{font-size:.6rem;gap:8px}.legend{font-size:.6rem}.check-top{align-items:flex-start}.panel-top .label{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
