:root{color-scheme:dark;--bg: #0a0e1a;--panel: #0d1526;--well: #060b16;--edge: #1d2c4a;--edge-bright: #31476f;--ink: #eaf4ff;--text: #c9d8ee;--body: #a4b8d6;--dim: #7a8fb2;--accent: #00d4ff;--go: #46e06a;--amber: #ffb000;--warn: #ff5a5a;--al: #ffb000;--poly: #46e06a;--water: #38bdf8;--hydrogen: #ff79c6;--methane: #a78bfa;--mark: #e7f0ff;--mono: "JetBrains Mono", "Consolas", "Roboto Mono", ui-monospace, monospace;--serif: "Spectral", "Georgia", "Times New Roman", serif}*{box-sizing:border-box}[hidden]{display:none!important}button,input[type=range]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:radial-gradient(1100px 640px at 82% -12%,#0e2140 0%,transparent 62%),radial-gradient(820px 560px at -8% 108%,#071d2b 0%,transparent 55%),var(--bg);color:var(--text);font-family:var(--mono);font-size:13px;-webkit-font-smoothing:antialiased;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1px 1px at 25% 18%,rgba(210,232,255,.9) 45%,transparent 55%),radial-gradient(1px 1px at 68% 62%,rgba(210,232,255,.7) 45%,transparent 55%),radial-gradient(1.5px 1.5px at 82% 28%,rgba(0,212,255,.55) 45%,transparent 55%),radial-gradient(1px 1px at 12% 78%,rgba(210,232,255,.55) 45%,transparent 55%),radial-gradient(1px 1px at 45% 42%,rgba(210,232,255,.4) 45%,transparent 55%);background-size:340px 340px,260px 260px,520px 520px,420px 420px,180px 180px;opacity:.5}@media(prefers-reduced-motion:no-preference){body:before{animation:twinkle 14s ease-in-out infinite alternate}}@keyframes twinkle{0%{opacity:.38}to{opacity:.6}}::selection{background:#00d4ff4d;color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--edge-bright) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--edge);border-radius:5px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}#app{max-width:1440px;margin:0 auto;padding:20px clamp(12px,2.5vw,30px) 36px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--edge)}.wordmark h1{margin:0;font-size:26px;letter-spacing:.34em;font-weight:800;color:var(--ink)}.subtitle{margin:5px 0 0;font-size:10.5px;color:var(--dim);letter-spacing:.14em;text-transform:uppercase}.version{font-size:10px;color:var(--accent);letter-spacing:.12em;font-weight:600;vertical-align:super}.status-lamp{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.18em;color:var(--dim);padding:6px 14px;border:1px solid var(--edge);border-radius:999px;background:var(--panel)}.status-lamp .dot{width:9px;height:9px;border-radius:50%;background:var(--warn);box-shadow:0 0 10px currentColor}.status-lamp.ready .dot{background:var(--go)}.status-lamp.busy .dot{background:var(--amber);animation:pulse .9s infinite}@keyframes pulse{50%{opacity:.35}}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:18px 0;margin-top:20px;align-items:start}.hero-side{border-left:1px solid var(--edge);padding-left:26px;margin-left:30px}.hero-subhead{font-family:var(--serif);font-size:clamp(19px,2vw,26px);font-weight:600;line-height:1.42;color:var(--ink);margin:2px 0 0;text-wrap:balance}.hero-subhead .hero-x{font-family:var(--mono);font-size:.88em;color:var(--warn);font-variant-numeric:tabular-nums;white-space:nowrap}.hero-plain{font-family:var(--serif);font-size:14px;line-height:1.75;color:var(--body);margin:0;max-width:68ch;text-wrap:pretty}.hero-scope{font-size:10.5px;line-height:1.7;color:var(--dim);margin:10px 0 0;text-wrap:pretty}.hero-num{color:var(--accent);font-variant-numeric:tabular-nums}.valstrip{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.vs-item{flex:1 1 240px;min-width:0;background:var(--well);border:1px solid var(--edge);border-radius:3px;padding:9px 13px;display:flex;flex-direction:column;gap:4px}.vs-label{font-size:9.5px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase}.vs-val{font-size:13.5px;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.vs-val .vs-ok{color:var(--go)}.preset-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px;padding:8px 12px;background:var(--panel);border:1px solid var(--edge);border-radius:4px}.preset-title{font-size:10px;color:var(--dim);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.preset-note{font-size:10px;color:var(--dim);margin-left:auto;letter-spacing:.02em}.presets{display:flex;gap:6px;flex-wrap:wrap}.presets button{background:transparent;color:var(--dim);border:1px solid transparent;border-radius:7px;padding:8px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s,box-shadow .15s}.presets button:hover{color:var(--text);border-color:var(--edge-bright)}.presets button:active{transform:translateY(1px)}.presets button.active{color:var(--accent);border-color:#00d4ff8c;background:#00d4ff17}.deck{display:grid;grid-template-columns:300px minmax(0,1fr) 330px;grid-template-areas:"config chart    readout" "config timeline timeline" "validation validation validation";gap:14px;margin-top:14px}.controls{grid-area:config}.readout{grid-area:readout}.chart{grid-area:chart}.timeline-panel{grid-area:timeline}.validation{grid-area:validation}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:4px;padding:15px 16px;position:relative;min-width:0}.controls{padding:14px}.readout{padding:20px 22px;border-color:var(--edge-bright)}.readout:before,.readout:after,.validation:before,.validation:after{content:"";position:absolute;width:11px;height:11px;pointer-events:none;opacity:.4}.readout:before,.validation:before{top:5px;left:5px;border-top:1px solid var(--accent);border-left:1px solid var(--accent)}.readout:after,.validation:after{bottom:5px;right:5px;border-bottom:1px solid var(--accent);border-right:1px solid var(--accent)}.panel h2{margin:0 0 13px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-weight:600}.readout h2{color:var(--accent)}.chart canvas,.timeline-panel canvas{width:100%;height:auto;display:block}.control{margin-bottom:18px}.control>label{display:block;font-size:10.5px;color:var(--dim);letter-spacing:.06em;margin-bottom:8px}.readback{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.total-line{padding:9px 11px;background:var(--well);border:1px solid var(--edge);border-radius:3px}.total-line label{margin:0}.layer-group{border:1px solid var(--edge);border-radius:3px;padding:13px 12px 0;margin-bottom:16px;background:#060b1680}.layer-group>.control:first-child>label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:9.5px}.segmented{display:flex;gap:6px;flex-wrap:wrap}.segmented button{background:var(--well);color:var(--dim);border:1px solid var(--edge);border-radius:2px;padding:8px;font-family:var(--mono);font-size:10.5px;cursor:pointer;letter-spacing:.02em;transition:border-color .15s,color .15s,background-color .15s,box-shadow .15s}.segmented button:hover{border-color:var(--edge-bright);color:var(--text)}.segmented button:active{transform:translateY(1px)}.segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.segmented button.active{background:#00d4ff1a;border-color:#00d4ff99;color:var(--accent)}.switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--well);border:1px solid var(--edge);border-radius:3px;padding:3px}.switch button{display:flex;align-items:center;justify-content:center;gap:7px;border:none;background:transparent;border-radius:2px;padding:8px 6px}.switch button:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.3;flex:none;transition:opacity .15s,box-shadow .15s}.switch button:hover{color:var(--text)}.switch button.active{background:#00d4ff1a;color:var(--accent)}.switch button.active:before{opacity:1;box-shadow:0 0 8px currentColor}.matgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:6px}.matgrid button{--mat: var(--accent);display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 4px 8px;font-size:9px;letter-spacing:.04em;line-height:1.2}.matgrid button:before{content:"";font-size:15px;font-weight:700;letter-spacing:0;color:var(--mat);font-variant-numeric:normal;opacity:.85}.matgrid button[data-mat=aluminum]{--mat: var(--al)}.matgrid button[data-mat=aluminum]:before{content:"Al"}.matgrid button[data-mat=polyethylene]{--mat: var(--poly)}.matgrid button[data-mat=polyethylene]:before{content:"PE"}.matgrid button[data-mat=water]{--mat: var(--water)}.matgrid button[data-mat=water]:before{content:"H₂O"}.matgrid button[data-mat=hydrogen]{--mat: var(--hydrogen)}.matgrid button[data-mat=hydrogen]:before{content:"H₂"}.matgrid button[data-mat=methane]{--mat: var(--methane)}.matgrid button[data-mat=methane]:before{content:"CH₄"}.matgrid button.active{border-color:var(--mat);color:var(--text);background:color-mix(in srgb,var(--mat) 11%,transparent)}.matgrid button.active:before{opacity:1}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;outline:none;background:linear-gradient(90deg,#00637a,var(--accent) var(--fill, 50%),#101c33 var(--fill, 50%))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:var(--well);border:2px solid var(--accent);cursor:pointer;box-shadow:0 0 0 3px #00d4ff24}input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--well);border:2px solid var(--accent);cursor:pointer;box-shadow:0 0 0 3px #00d4ff24}input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.footnote{font-size:10px;color:var(--dim);line-height:1.65;margin:18px 0 0;border-top:1px dashed var(--edge);padding-top:11px}.big-number{display:flex;align-items:baseline;gap:10px;margin:2px 0 16px}.big-number #rateValue{font-size:68px;font-weight:700;color:var(--ink);line-height:1;text-shadow:0 0 24px rgba(0,212,255,.26);font-variant-numeric:tabular-nums}.big-number .unit{font-size:14px;color:var(--dim)}.sub-metrics{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:16px}.metric{background:var(--well);border:1px solid var(--edge);border-radius:3px;padding:10px 13px;display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:8px}.m-label{font-size:9.5px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase}.m-val{font-size:21px;color:var(--text);font-variant-numeric:tabular-nums}.m-unit{font-size:9.5px;color:var(--dim)}.m-val[data-band=nominal],.career-pct[data-band=nominal]{color:var(--go)}.m-val[data-band=caution],.career-pct[data-band=caution]{color:var(--amber)}.m-val[data-band=exceed],.career-pct[data-band=exceed]{color:var(--warn)}.career-head{display:flex;justify-content:space-between;font-size:10.5px;color:var(--dim);margin-bottom:7px}.career-pct{font-weight:700;font-variant-numeric:tabular-nums}.career-bar{height:13px;border:1px solid var(--edge);border-radius:2px;overflow:hidden;background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,176,0,.35) calc(50% - 1px),rgba(255,176,0,.35) calc(50% + 1px),transparent calc(50% + 1px)),var(--well)}.career-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--water));transition:width .25s,background .25s}.career-note{font-size:10.5px;margin-top:8px;min-height:14px;line-height:1.5}.legend{display:flex;gap:16px;margin-top:11px;font-size:10.5px;color:var(--dim);flex-wrap:wrap}.lg{display:inline-flex;align-items:center;gap:7px}.lg:before{content:"";width:16px;height:3px;border-radius:2px;background:currentColor}.lg-mark:before{width:8px;height:8px;border-radius:50%}.lg-al{color:var(--al)}.lg-poly{color:var(--poly)}.lg-water{color:var(--water)}.lg-h{color:var(--hydrogen)}.lg-ch4{color:var(--methane)}.lg-mark{color:var(--mark)}.run-btn{background:#00d4ff17;color:var(--accent);border:1px solid rgba(0,212,255,.6);border-radius:2px;padding:10px 22px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;cursor:pointer;transition:background-color .15s,box-shadow .15s}.run-btn:hover{background:#00d4ff2e}.run-btn:active{transform:translateY(1px)}.run-btn:disabled{opacity:.5;cursor:wait}.val-results{margin-top:13px;padding:12px 13px;background:var(--well);border:1px solid var(--edge);border-radius:3px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px 18px;align-items:start}.val-hint{font-size:11px;color:var(--dim);margin:0;grid-column:1 / -1}.val-hint:after{content:"▊";color:var(--accent);margin-left:5px}@media(prefers-reduced-motion:no-preference){.val-hint:after{animation:caret 1.1s steps(2) infinite}.val-results>*{animation:term-in .3s ease-out both}.val-results>:nth-child(1){animation-delay:.02s}.val-results>:nth-child(2){animation-delay:.2s}.val-results>:nth-child(3){animation-delay:.38s}.val-results>:nth-child(4){animation-delay:.56s}}@keyframes caret{50%{opacity:0}}@keyframes term-in{0%{opacity:0;transform:translate(-7px)}}.val-row{grid-column:1;display:grid;grid-template-columns:18px 1fr auto;align-items:baseline;gap:9px;font-size:12px;padding:5px 2px}.val-row .vr-icon{font-size:12px}.val-row.pass .vr-icon{color:var(--go)}.val-row.fail .vr-icon{color:var(--warn)}.val-row.pending .vr-icon{color:var(--dim)}.val-row .vr-detail{color:var(--dim);font-size:10.5px;font-variant-numeric:tabular-nums;text-align:right}.rad-box{grid-column:2;grid-row:1 / span 3;border:1px solid var(--edge);border-radius:3px;padding:11px 12px;background:#0d15268c}.rad-kicker{font-size:10px;color:var(--accent);letter-spacing:.1em;margin-bottom:6px}.rad-note{font-size:10px;color:var(--dim);margin-bottom:8px;line-height:1.6;text-wrap:pretty}.rad-table{width:100%;border-collapse:collapse;font-size:11.5px}.rad-table th{text-align:right;padding:4px 7px;font-weight:400;color:var(--dim);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em}.rad-table th:first-child{text-align:left}.rad-table td{padding:5px 7px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.rad-table td.rt-q{text-align:left;color:var(--dim);font-variant-numeric:normal}.rad-table td.rt-meas{color:var(--dim)}.rad-table td.rt-ratio{color:var(--accent)}.rad-table tbody tr+tr td{border-top:1px solid rgba(29,44,74,.6)}.limitations{grid-column:1;font-family:var(--serif);font-size:13px;line-height:1.7;color:var(--dim);max-width:68ch;text-wrap:pretty;padding-top:4px}.limitations .lim-head{color:var(--text);font-weight:600}.limitations .lim-warn{color:var(--warn)}.colophon{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;padding-top:14px;border-top:1px solid var(--edge);font-size:10px;color:var(--dim);line-height:1.7;letter-spacing:.02em}.badge{flex:none;padding:6px 12px;border:1px solid rgba(0,212,255,.4);border-radius:3px;color:var(--accent);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.badge:before{content:"✦ "}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:1180px){.deck{grid-template-columns:280px minmax(0,1fr);grid-template-areas:"config readout" "config chart" "config timeline" "validation validation"}.controls{align-self:start}.sub-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media(max-width:780px){.deck{grid-template-columns:1fr;grid-template-areas:"config" "readout" "chart" "timeline" "validation"}.hero{grid-template-columns:1fr;gap:18px}.hero-side{border-left:none;padding-left:0;margin-left:0;border-top:1px solid var(--edge);padding-top:16px}.big-number #rateValue{font-size:52px}.val-results{grid-template-columns:1fr}.rad-box{grid-column:1;grid-row:auto}.val-row{grid-template-columns:18px 1fr}.val-row .vr-detail{grid-column:2;text-align:left}.preset-note{margin-left:0;flex-basis:100%}}@media(max-width:480px){.wordmark h1{font-size:21px;letter-spacing:.22em}.rad-table{font-size:10.5px}.rad-table th,.rad-table td{padding:4px 5px}}
