:root{--bg:#0c141c;--surface:#121e28;--raised:#182731;--text:#e3e9ec;--muted:#a4b5c1;--line:#31414d;--accent:#7dd5ca;--inverse:#0c2020;--error:#ffb6ae;--text-xs:.8rem;--text-sm:.9rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:clamp(1.6rem,2.3vw,2.2rem);--font-body:'General Sans',system-ui,sans-serif;--font-display:'General Sans',system-ui,sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;color-scheme:dark}
[data-theme=light]{--bg:#f4f6f5;--surface:#fff;--raised:#e8efef;--text:#172831;--muted:#4c6470;--line:#bcccd0;--accent:#14695e;--inverse:#fff;--error:#a32222;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:var(--text-base)/1.6 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);letter-spacing:-.035em;line-height:1.2;margin:var(--space-2) 0 var(--space-3)}h2{font-size:var(--text-lg);font-weight:600;line-height:1.35}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit;color:inherit}button,.file-button{cursor:pointer;border:1px solid var(--line);background:var(--raised);padding:var(--space-2) var(--space-4);border-radius:4px;font-size:var(--text-sm);min-height:44px}button:hover,.file-button:hover{border-color:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}input,select{background:var(--bg);border:1px solid var(--line);border-radius:4px;min-height:44px;padding:var(--space-2) var(--space-3);width:100%;min-width:0}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:invalid{border-color:var(--error)}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:2;background:var(--surface);padding:var(--space-4)}
.masthead,main,footer{max-width:1440px;margin:auto;padding-inline:var(--space-10)}.masthead{min-height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:var(--space-6)}.brand{display:flex;gap:var(--space-3);text-decoration:none;color:var(--text);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;align-items:center}.brand svg{color:var(--accent);flex-shrink:0}.brand small{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.14em}.masthead nav{display:flex;gap:var(--space-6);align-items:center;font-size:var(--text-sm)}.intro{display:flex;justify-content:space-between;gap:var(--space-10);padding:var(--space-10) 0}.eyebrow{font-size:var(--text-xs);letter-spacing:.12em;color:var(--accent);font-weight:600}.eyebrow span{padding-inline:var(--space-2);color:var(--muted)}.question{max-width:54ch;font-size:var(--text-lg)}.tagline{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-3)}.scope{min-width:280px;font-size:var(--text-sm);padding-top:var(--space-2)}.scope p{margin:var(--space-3) 0}.badge{font-size:.75rem;letter-spacing:.055em;color:var(--muted);white-space:nowrap}.toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:var(--space-6)}.toolbar label{font-size:var(--text-sm);white-space:nowrap}.toolbar select{max-width:560px;font-size:var(--text-sm)}.toolbar button{white-space:nowrap}
.workspace{display:grid;grid-template-columns:305px minmax(0,1fr);gap:var(--space-8)}fieldset{border:0;padding:0;margin:0 0 var(--space-6)}legend{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2)}label{display:block;font-size:var(--text-sm);margin:var(--space-3) 0 var(--space-1)}label span{font-size:var(--text-xs);color:var(--muted)}.hint{font-size:var(--text-xs);line-height:1.5;color:var(--muted);margin-top:var(--space-2)}.pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}details{border-top:1px solid var(--line);padding-top:var(--space-3);margin-bottom:var(--space-5)}summary{cursor:pointer;font-size:var(--text-sm);min-height:44px;display:list-item;align-content:center}.primary{width:100%;background:var(--accent);color:var(--inverse);border-color:var(--accent);font-weight:600}#status{font-size:var(--text-xs);margin-top:var(--space-3);min-height:40px}.error{color:var(--error)!important}.result-heading{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.result-heading h2{margin-top:var(--space-2)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:var(--space-6) 0;border-block:1px solid var(--line)}.metric{padding:var(--space-4) var(--space-3)}.metric:first-child{padding-left:0}.metric strong{display:block;font-size:var(--text-xl);font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums}.metric span{font-size:var(--text-xs);color:var(--muted)}.plot-panel{padding:var(--space-5);border:1px solid var(--line);border-radius:6px;background:var(--surface)}.plot-controls{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.plot-controls label{margin:0;display:flex;align-items:center;gap:var(--space-3)}.plot-controls select{width:auto;max-width:100%;font-size:var(--text-sm)}.plot-controls button{white-space:nowrap}canvas{width:100%;display:block;height:auto;aspect-ratio:2/1;margin-block:var(--space-3)}.legend{display:flex;gap:var(--space-3) var(--space-5);flex-wrap:wrap;font-size:var(--text-xs)}.legend span{display:inline-flex;gap:var(--space-2);align-items:center}.legend i{display:inline-block;width:24px;border-top:3px solid}.scrub{display:flex;justify-content:space-between;margin-top:var(--space-5)}input[type=range]{padding:0;accent-color:var(--accent);border:0}table{border-collapse:collapse;width:100%;font-size:var(--text-xs);font-variant-numeric:tabular-nums}td,th{padding:var(--space-2);text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}td:first-child,th:first-child{text-align:left;padding-left:0}caption{text-align:left;color:var(--muted);padding-bottom:var(--space-2)}th{font-weight:500;color:var(--muted)}.table-wrap{overflow:auto}.interpretation{margin:var(--space-6) 0}.interpretation p{margin-top:var(--space-3);max-width:80ch;font-size:var(--text-sm)}.exports{display:flex;flex-wrap:wrap;gap:var(--space-2)}.file-button{margin:0;display:inline-block}.file-button input{position:absolute;width:1px;height:1px;min-height:0;opacity:0;padding:0}.file-button:focus-within{outline:2px solid var(--accent)}#share-box{margin-top:var(--space-4)}.mechanism{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-8);margin-top:var(--space-12);padding-block:var(--space-8);border-block:1px solid var(--line)}.mechanism h2{margin-top:var(--space-2)}.mechanism p,.limits p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-3)}.flow{display:flex;align-items:center;gap:var(--space-3)}.pool{border:1px solid var(--line);padding:var(--space-4);font-size:var(--text-sm);font-weight:600;flex:1;align-self:center;text-align:center}.pool small{display:block;font-size:var(--text-xs);font-weight:400;color:var(--muted)}.pool.free{border-color:var(--accent)}.drain{padding-top:var(--space-3);color:var(--accent);font-size:var(--text-xs)}.limits{max-width:90ch;padding-block:var(--space-8) var(--space-12)}.limits a{display:inline-block}.limits>a{margin-top:var(--space-4)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-6);font-size:var(--text-xs);color:var(--muted)}.methods{max-width:850px}.methods section{margin:var(--space-8) 0}.methods h1{margin-top:var(--space-8)}.methods p{margin-top:var(--space-3)}.equation{background:var(--surface);padding:var(--space-4);margin-block:var(--space-4);overflow:auto;font-family:var(--font-body)}.methods li{margin-block:var(--space-2)}
@media(max-width:1050px){.scope{display:none}.workspace{grid-template-columns:270px minmax(0,1fr);gap:var(--space-5)}.masthead,main,footer{padding-inline:var(--space-5)}.result-heading{display:block}.result-heading>.badge{display:block;margin-top:var(--space-2)}.plot-controls{flex-wrap:wrap}.mechanism{grid-template-columns:1fr}.metric strong{font-size:1.5rem}.toolbar{flex-wrap:wrap}}
@media(max-width:740px){.masthead{flex-wrap:wrap;padding-block:var(--space-4);gap:var(--space-3)}.masthead nav{width:100%;justify-content:space-between}.intro{padding-block:var(--space-6)}.workspace{display:flex;flex-direction:column}.toolbar select{max-width:100%;flex-basis:100%}.toolbar label{white-space:normal}#controls{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}#controls details,#controls .primary,#controls #status{grid-column:1/-1}fieldset{margin-bottom:0}.metrics{gap:var(--space-2)}.metric{padding-inline:0}.metric strong{font-size:1.4rem}.plot-panel{padding:var(--space-3)}.plot-controls label{flex-wrap:wrap}.plot-controls select{width:100%;font-size:var(--text-xs)}canvas{aspect-ratio:1.25/1}.flow{flex-direction:column}.pool{width:100%}.flow>span{transform:rotate(90deg)}footer{flex-direction:column}.badge{white-space:normal}}
@media(max-width:430px){#controls{display:block}#controls fieldset{margin-bottom:var(--space-6)}.masthead,main,footer{padding-inline:var(--space-4)}.metrics{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:var(--space-2)}.metric:last-child strong{display:inline;margin-right:var(--space-2)}}
.methods a,.methods p,.methods li{overflow-wrap:anywhere}.methods .equation{max-width:100%}
.loading-audit{margin-block:var(--space-6);padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:6px}.loading-audit h2{margin-top:var(--space-2)}.loading-audit>p:not(.eyebrow){font-size:var(--text-sm);margin-top:var(--space-3)}.readiness{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-block:var(--space-5)}.readiness strong{display:block;font-size:var(--text-xl);font-weight:500;font-variant-numeric:tabular-nums}.readiness span{font-size:var(--text-sm)}progress{width:100%;height:8px;accent-color:var(--accent)}#comparison-choice{max-width:360px}.loading-audit td:first-child{white-space:normal;min-width:140px}#loading-duration-wrap[hidden],#comparison-choice[hidden]{display:none}
@media(max-width:600px){.loading-audit table{table-layout:fixed}.loading-audit td,.loading-audit th{white-space:normal;padding:8px 4px;overflow-wrap:anywhere}.loading-audit td:first-child,.loading-audit th:first-child{min-width:0;width:44%;padding-left:0}.loading-audit caption{white-space:normal}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:740px){.masthead nav{gap:var(--space-2)}}
