@font-face{font-family:Manrope;src:url(/fonts/font-15.woff2) format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/font-14.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB}:root{font-family:Manrope,Arial,sans-serif;color:#26322e;background:#eeeee8;font-synthesis:none;--ink:#25312d;--muted:#7f8780;--line:#d8dcd4;--accent:#d95e22;--paper:#f8f8f3}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #d95e22;outline-offset:4px}svg{display:block}button svg{width:17px;height:17px}a{color:inherit;text-decoration:none}.skip{position:absolute;top:-70px;z-index:100;background:#fff;padding:15px}.skip:focus{top:0}.header{height:78px;padding:0 3.2vw;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:25px;background:#f5f5ef}.brand{font-size:25px;letter-spacing:-1.3px;font-weight:800;display:flex;align-items:center;gap:0}.brand>span:not(.brand-mark){color:var(--accent)}.brand sup{font-size:9px;align-self:flex-start;margin:8px 0 0 4px}.brand-mark{background:var(--accent);height:37px;width:31px;display:grid;place-items:center;margin-right:8px;transform:skew(-8deg);border-radius:3px}.brand-mark svg{width:24px;height:29px;color:#fff}.header-rule{width:1px;height:30px;background:var(--line)}.lab-name{font-weight:800;font-size:11px;letter-spacing:2px}.lab-name span{display:block;font-size:8px;color:#858d86;letter-spacing:1.5px;margin-top:4px}.header nav{display:flex;gap:9px;margin:auto}.header nav button{font-size:12px;font-weight:700;padding:12px 22px;border-radius:30px}.header nav button.active{background:var(--ink);color:#fff}.about-button{font-size:11px;display:flex;align-items:center;gap:8px}.intro{display:flex;align-items:center;justify-content:space-between;margin:28px 3.2vw 24px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:7px}.live-dot,.status i{width:5px;height:5px;background:#d56826;border-radius:50%;display:inline-block}.intro h1{font-weight:500;letter-spacing:-1.4px;font-size:34px;margin:7px 0 0;line-height:1.2}.intro h1 em{font-style:normal;font-weight:800}.spec-line{display:flex;align-items:center;gap:13px}.spec-line>b{font-size:43px;letter-spacing:-4px;line-height:1;font-weight:800;border-right:1px solid var(--line);padding-right:18px}.spec-line span{font-family:Arial,sans-serif;font-size:9px;line-height:1.9;letter-spacing:1.2px}.workspace{display:grid;grid-template-columns:210px minmax(0,1fr) 250px;min-height:590px;height:calc(100vh - 333px);margin:0 3.2vw;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.left-panel{padding:20px 20px 18px 0;border-right:1px solid var(--line)}.panel-heading{font-size:8px;font-weight:700;letter-spacing:1px;display:flex;align-items:center;justify-content:space-between;gap:7px}.panel-heading>svg{width:15px;height:15px;color:var(--accent)}.status{font-size:6px;display:flex;align-items:center;gap:4px;letter-spacing:.1px}.status i{background:#829775;width:4px;height:4px}.status b{font-weight:600}.status.paused i{background:#c5924c}.rpm-display{display:flex;align-items:baseline;gap:8px;margin-top:12px}.rpm-display strong{color:var(--accent);font-size:56px;line-height:1.1;letter-spacing:-4px;font-variant-numeric:tabular-nums;font-weight:800}.rpm-display span{font-size:10px;color:var(--muted)}.rpm-bars{display:flex;gap:3px;height:16px;align-items:flex-end;margin:9px 0 19px}.rpm-bars i{height:7px;flex:1;background:#d1d7cc;transform:skew(-15deg)}.rpm-bars i:nth-child(n+21){height:10px}.rpm-bars i.on{background:#db692d}.range-label{display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:600;margin-bottom:8px}.range-label output{font-family:Arial,sans-serif;font-size:9px;color:var(--muted);font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:4px;accent-color:var(--accent);cursor:pointer;margin:0;display:block}input[type=range]::-webkit-slider-thumb{width:10px;height:10px}.range-ends{display:flex;justify-content:space-between;font-size:7px;color:#8c938a;margin-top:7px}.preset-rpm{display:flex;margin-top:15px;gap:4px}.preset-rpm button{flex:1;border:1px solid var(--line);font-size:8px;padding:7px 0;border-radius:3px}.preset-rpm .active{border-color:#ca682d;color:#c75c1d;background:#eee6d8}.play-controls{display:flex;gap:5px;margin:18px 0 15px}.play-controls button{border:1px solid var(--line);border-radius:3px;font-size:9px;padding:9px 5px}.play-controls .play-button{display:flex;align-items:center;justify-content:center;gap:5px;background:var(--ink);color:#fff;flex:1;border-color:var(--ink)}.play-button svg{width:13px;height:13px}.select-label{font-size:9px;font-weight:600;display:flex;align-items:center;gap:6px;justify-content:space-between}.select-label select{max-width:105px;border:1px solid var(--line);border-radius:3px;padding:6px 2px;font-size:8px;background:transparent}.mini-note{font-size:8px;line-height:1.65;color:#858b82;margin:8px 0 0}.divider{height:1px;background:var(--line);margin:17px 0}.section-label{font-size:8px;letter-spacing:1.1px;font-weight:700}.switch-label{display:flex;position:relative;align-items:center;justify-content:space-between;margin-top:13px;font-size:9px;cursor:pointer}.switch-label>span{display:flex;gap:8px;align-items:center}.switch-label svg{width:14px;height:14px;color:#788477}.switch-label input{position:absolute;right:0;width:26px;height:18px;opacity:0;z-index:2;cursor:pointer}.switch-label i{width:25px;height:14px;border-radius:9px;background:#cad0c5;position:relative}.switch-label i:before{content:"";position:absolute;width:10px;height:10px;background:#fff;border-radius:100%;left:2px;top:2px;transition:transform .15s}.switch-label input:checked+i{background:#52654d}.switch-label input:checked+i:before{transform:translate(11px)}.switch-label input:focus-visible+i{outline:2px solid var(--accent);outline-offset:3px}.explode-label{margin-top:20px}.quiet-button{font-size:9px;display:flex;align-items:center;gap:7px;width:100%;padding:0}.quiet-button svg{width:13px;height:13px}.quiet-button span{margin-left:auto;font-size:7px;background:#dce0d7;border-radius:3px;padding:3px 5px}.stage-wrap{position:relative;min-width:0;overflow:hidden;background:#eeeee8;isolation:isolate}.stage-top{position:absolute;left:24px;right:24px;top:18px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px}.stage-title{font-size:8px;letter-spacing:1px;color:#839083;display:flex;align-items:center;gap:7px}.stage-title b{color:#445243;font-size:12px}.stage-options{display:flex;gap:7px;align-items:center}.stage-options button{font-size:8px;border:1px solid #d2d8ce;padding:7px 9px;border-radius:3px;background:#f3f4ecc9;display:flex;align-items:center}.stage-options svg{width:12px;height:12px}.stage-options button[aria-pressed=true]{background:#26332b;color:#fff}.stage-options button:hover,.camera-controls button:hover{background:#e3e6dc}#stage{width:100%;height:100%;min-height:550px;position:relative;z-index:1}#stage canvas{display:block;width:100%;height:100%;outline-offset:-4px;touch-action:none}.watermark{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);font-size:330px;font-weight:800;line-height:.8;color:#e4e7dd;letter-spacing:-40px;z-index:0;pointer-events:none;display:none}.camera-controls{position:absolute;z-index:4;bottom:68px;left:50%;transform:translate(-50%);display:flex;border:1px solid #d3d8cf;background:#f9faf3df;padding:4px;border-radius:7px;gap:3px}.camera-controls button{font-size:8px;padding:8px 12px;border-radius:4px;white-space:nowrap;display:grid;place-items:center}.camera-controls button.active{background:#2b382e;color:#fff}.camera-controls svg{width:13px;height:13px}.stage-hint{position:absolute;z-index:3;bottom:40px;left:24px;right:24px;display:flex;justify-content:center;gap:16px;font-size:7px;color:#7e887d}.stage-hint span:last-child{color:#5f7854}.flow-legend{position:absolute;left:20px;right:20px;bottom:13px;z-index:3;display:flex;gap:15px;justify-content:center;font-size:7px;color:#737e73}.flow-legend span{display:flex;align-items:center;gap:5px}.flow-legend i{width:5px;height:5px;border-radius:100%;background:var(--c)}.loading,.fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:12px;gap:12px;text-align:center;padding:30px}.loading small{color:#85917c}.loading>span{height:30px;width:30px;border:2px solid #dae0d2;border-top-color:#cd712f;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fallback p{line-height:1.8;color:#667261;max-width:320px}.fallback button{background:var(--ink);color:#fff;padding:12px 22px;border-radius:5px}.right-panel{padding:20px 0 15px 22px;border-left:1px solid var(--line)}.cylinder-caption{font-size:8px;letter-spacing:1px;display:flex;align-items:center;gap:5px;margin-top:20px}.cylinder-caption b{font-size:10px}.cylinder-caption span{margin-left:auto;letter-spacing:0;color:#8a9188;font-size:8px;font-variant-numeric:tabular-nums}.phase-heading{display:flex;align-items:center;justify-content:space-between;font-size:23px;font-weight:800;letter-spacing:-.8px;min-height:38px;margin-top:5px}.phase-heading i{width:9px;height:9px;border-radius:50%;background:#d66b24;box-shadow:0 0 0 5px #d5a87322}.phase-progress{display:flex;gap:6px;margin-top:10px}.phase-progress button{padding:0;flex:1;font-size:7px;text-align:left;color:#9ca293}.phase-progress i{display:block;height:3px;width:100%;background:#d5dccf;border-radius:3px;margin-bottom:5px}.phase-progress .active{color:var(--ink)}.phase-progress .active i{background:var(--c)}.phase-description{font-size:9px;line-height:1.8;color:#7e8778;min-height:49px;margin:12px 0}.telemetry-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:15px}.telemetry-row small{display:block;font-size:7px;letter-spacing:.6px;color:#8b9583;margin-bottom:3px}.telemetry-row strong{font-size:29px;letter-spacing:-1.5px;font-weight:700;font-variant-numeric:tabular-nums}.telemetry-row>div:first-child strong{color:#d65f24}.telemetry-row>div>span{font-size:9px;color:#899181;margin-left:4px}.chart-title{font-size:7px;letter-spacing:.4px;display:flex;align-items:center;justify-content:space-between;margin:10px 0 4px;font-weight:700}.chart-title small{font-size:6px;letter-spacing:0;color:#8b9583;font-weight:500;display:flex;align-items:center;gap:3px}.chart-title i{display:inline-block;width:4px;height:4px;border-radius:50%;margin-left:3px}.blue-dot{background:#429ab9}.gray-dot{background:#848e89}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:Arial,sans-serif;font-size:7px;fill:#929b89}.grid-line{stroke:#cfd7c5;stroke-width:.5}.valve-chart{margin-bottom:8px}.oil-summary{border:1px solid #d8d5bf;background:#e9e9da;padding:11px 12px;border-radius:4px;margin-top:13px}.oil-summary>div{display:flex;align-items:center;gap:5px;font-size:7px;font-weight:700;letter-spacing:.7px}.oil-summary svg{width:13px;height:13px;color:#ac842d}.oil-summary>div i{margin-left:auto;background:#82926a;border-radius:50%;width:4px;height:4px}.oil-summary p{display:flex;align-items:baseline;gap:4px;margin:8px 0 3px}.oil-summary p b{font-size:22px;font-weight:600;letter-spacing:-1px}.oil-summary p b:nth-of-type(2){margin-left:auto}.oil-summary p span{font-size:8px;color:#95957e}.oil-summary small{font-size:7px;color:#8b8d75}.text-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 0 0;font-size:8px}.text-button svg{width:13px;height:13px}.timeline{margin:0 3.2vw;display:grid;grid-template-columns:280px 1fr 210px;gap:40px;padding:23px 0 22px;border-bottom:1px solid var(--line);align-items:center}.firing-order{display:flex;gap:6px;align-items:center;margin-top:12px}.firing-order button{padding:0 0 3px;width:22px;height:27px;border:1px solid transparent;border-radius:4px;font-size:12px;font-weight:700;position:relative}.firing-order>span{font-size:8px;color:#a1a893}.firing-order button i{width:3px;height:3px;background:var(--phase-color);border-radius:100%;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.firing-order .selected{border-color:#bb9b79;background:#ece5d5}.firing-order .firing{color:#d75a1e}.firing-order .firing i{width:8px;border-radius:2px}.crank-timeline{position:relative}.crank-timeline .range-label{font-size:8px;letter-spacing:.6px}.stroke-bands{display:flex;height:19px;margin-bottom:9px;gap:2px}.stroke-bands span{flex:1;background:color-mix(in srgb,var(--c) 13%,transparent);border-top:2px solid var(--c);font-size:6px;text-align:center;padding-top:4px;color:#71806e}.cycle-detail{border-left:1px solid var(--line);padding-left:30px}.cycle-detail>span{font-size:7px;letter-spacing:1px;color:#919882}.cycle-detail strong{display:block;font-size:17px;letter-spacing:-.6px;font-weight:700;margin:5px 0}.cycle-detail strong i{font-style:normal;color:#9ea590;font-weight:500}.cycle-detail p{font-size:7px;color:#8a937c;margin:0}.cycle-detail p b{color:#5e6d54;margin-left:8px}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 3.2vw;font-size:7px;color:#8c9680;letter-spacing:.5px}footer>span{display:flex;gap:6px;align-items:center;color:#68765c}footer i{display:inline-block;width:4px;height:4px;border-radius:100%;background:#83976c}footer b{font-size:6px;color:#b0b8a3;font-weight:500;margin-left:5px}footer p{margin:0}footer button,footer a{font-size:7px;letter-spacing:.5px;padding:0}footer a{color:#526247}dialog{border:1px solid #cdd4c4;background:#f5f5ee;color:var(--ink);padding:48px;width:min(790px,calc(100% - 32px));max-height:86vh;border-radius:9px;box-shadow:0 35px 100px #17241655}dialog::backdrop{background:#18201666;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:18px;top:18px;padding:8px;background:#e8eadd;border-radius:50%}.dialog-close svg{width:15px;height:15px}dialog h2{font-size:45px;line-height:1.05;letter-spacing:-2px;margin:20px 0 22px}dialog p{font-size:12px;line-height:1.9;color:#718063}dialog h3{font-size:16px;margin-top:28px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.info-grid b{font-size:13px}.info-grid p{font-size:11px}.sources{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:24px;font-size:10px;color:#af5c25}.oil-route{margin-top:28px}.oil-route>div{display:grid;grid-template-columns:35px 1fr;gap:0 14px;margin-bottom:18px}.oil-route i{font-style:normal;background:#e6dabb;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:10px;color:#986c25;grid-row:span 2}.oil-route b{font-size:13px}.oil-route p{margin:4px 0 0;font-size:11px}.model-note{background:#e9ecdf;padding:15px}.dialog-primary{background:var(--ink);color:#fff;display:flex;align-items:center;gap:25px;padding:14px 20px;border-radius:4px;font-size:11px;margin-top:22px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:99;background:#26352b;color:#fff;font-size:11px;padding:14px 25px;border-radius:5px;box-shadow:0 10px 40px #18241622;transition:.2s;max-width:calc(100% - 30px);text-align:center}#toast.show{opacity:1;transform:translate(-50%)}.stage-wrap:fullscreen{background:#eeeee8}.stage-wrap:fullscreen #stage{height:100vh}.stage-wrap:fullscreen .stage-hint{bottom:34px}@media(min-width:1700px){.workspace{grid-template-columns:235px minmax(0,1fr) 280px;min-height:665px}.left-panel{padding-right:27px}.right-panel{padding-left:27px}.panel-heading{font-size:9px}.rpm-display strong{font-size:67px}.range-label,.select-label,.switch-label{font-size:10px}.mini-note{font-size:9px}.phase-description{font-size:10px}.phase-heading{font-size:27px}.divider{margin:23px 0}.telemetry-row strong{font-size:35px}.preset-rpm button,.play-controls button{font-size:10px}.chart-title{font-size:8px}.oil-summary{padding:14px}.timeline{padding:26px 0}.intro h1{font-size:39px}}@media(max-width:1200px){.workspace{grid-template-columns:182px minmax(0,1fr) 215px;margin:0 22px}.intro{margin:23px 22px}.header{padding:0 22px;gap:15px}.header nav button{padding:10px 16px}.left-panel{padding-right:15px}.right-panel{padding-left:15px}.panel-heading{font-size:7px}.status{font-size:5px}.phase-heading{font-size:20px}.stage-top{left:14px;right:14px}.stage-title{font-size:6px}.stage-options{gap:4px}.stage-options button{padding:6px}.stage-hint{gap:8px;font-size:6px}.camera-controls button{padding:8px}.timeline{margin:0 22px;grid-template-columns:230px 1fr 180px;gap:20px}.firing-order{gap:3px}.cycle-detail{padding-left:20px}.intro h1{font-size:30px}}@media(max-width:950px){.header-rule,.lab-name{display:none}.header nav{margin-left:auto;margin-right:0}.header{height:65px}.header nav button{font-size:11px;padding:10px 13px}.intro{margin:20px}.intro h1{font-size:28px}.spec-line>b{font-size:34px}.workspace{grid-template-columns:180px minmax(0,1fr);height:auto;min-height:0;margin:0 20px}.stage-wrap{grid-column:2;grid-row:1;min-height:620px}.right-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;padding:22px 0}.right-panel>.panel-heading{grid-column:1/-1}.cylinder-caption{margin-top:5px}.phase-heading,.phase-progress{grid-column:1}.phase-description{grid-column:1;margin:2px 0}.telemetry-row{grid-column:1;margin:3px 0}.right-panel .chart-title{grid-column:2;margin:0;align-self:end}.right-panel .chart-title:nth-of-type(6){grid-row:2}.right-panel #pressure-chart{grid-column:2;grid-row:3/6;height:116px}.right-panel .chart-title:nth-of-type(7){grid-row:6}.right-panel #valve-chart{grid-column:2;grid-row:7/9;height:85px}.oil-summary{grid-column:1;margin:3px 0}.text-button{grid-column:1}.timeline{grid-template-columns:230px 1fr}.cycle-detail{display:none}footer p{display:none}}@media(max-width:650px){.header{padding:0 16px;height:62px;gap:10px}.brand{font-size:21px;letter-spacing:-1px}.brand-mark{height:30px;width:25px;margin-right:6px}.brand-mark svg{width:19px;height:22px}.brand sup{font-size:7px;margin-top:4px}.about-button span{display:none}.about-button{padding:0}.about-button svg{width:19px;height:19px}.header nav{gap:1px}.header nav button{padding:8px 10px;font-size:9px}.intro{margin:21px 16px 17px;align-items:flex-end}.eyebrow{font-size:6px;letter-spacing:1px}.intro h1{font-size:23px;letter-spacing:-1px;max-width:250px}.spec-line{gap:0}.spec-line>b{border:0;padding:0;font-size:32px}.spec-line span{display:none}.workspace{display:flex;flex-direction:column;margin:0 16px}.stage-wrap{order:0;min-height:445px;height:445px;margin:0 -16px;border-bottom:1px solid var(--line)}#stage{min-height:445px;height:445px}.stage-top{top:13px;left:18px;right:18px}.stage-title{font-size:6px}.stage-options button{font-size:7px;padding:7px}.camera-controls{bottom:57px}.camera-controls button{padding:7px 10px;font-size:7px}.stage-hint{bottom:35px}.flow-legend{bottom:12px;gap:12px;font-size:6px}.left-panel{order:1;border-right:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:21px 0}.left-panel>.panel-heading{grid-column:1/-1;font-size:8px;margin-bottom:7px}.rpm-display{margin-top:5px}.rpm-display strong{font-size:52px}.rpm-bars{grid-column:1;margin:6px 0 16px}.left-panel .range-label:not(.explode-label){grid-column:1}.left-panel #rpm,.left-panel .range-ends{grid-column:1}.preset-rpm{grid-column:1;margin-top:12px}.play-controls{grid-column:2;grid-row:2;margin:10px 0 8px;flex-wrap:wrap;gap:5px}.play-controls .play-button{flex-basis:100%;padding:11px}.play-controls button:not(.play-button){flex:1;font-size:8px;padding:5px}.select-label{grid-column:2;grid-row:3/5;display:block;font-size:8px}.select-label select{display:block;max-width:none;width:100%;margin-top:5px;font-size:9px;padding:8px 4px}.mini-note{grid-column:2;grid-row:5/8;margin:5px 0;font-size:7px}.left-panel>.divider{grid-column:1/-1;margin:20px 0 15px}.left-panel>.section-label{grid-column:1/-1}.switch-label{font-size:9px;margin-top:15px}.switch-label:nth-of-type(5){grid-column:1}.explode-label{margin-top:15px;grid-column:2;grid-row:11;font-size:8px}.left-panel #explode{grid-column:2;grid-row:12;align-self:center}.quiet-button{grid-column:1/-1;font-size:9px}.right-panel{order:2;gap:5px 20px}.right-panel .panel-heading{font-size:8px;margin-bottom:8px}.phase-heading{font-size:19px}.cylinder-caption{font-size:7px;letter-spacing:.5px}.cylinder-caption span{font-size:6px}.phase-progress{gap:4px}.phase-progress button{font-size:6px}.phase-description{font-size:8px;line-height:1.65;min-height:63px}.telemetry-row{padding:10px 0;gap:3px}.telemetry-row small{font-size:5px}.telemetry-row strong{font-size:25px}.telemetry-row>div>span{font-size:7px;margin-left:2px}.chart-title{font-size:6px!important;display:block}.chart-title small{font-size:5px}.oil-summary{padding:9px}.oil-summary>div{font-size:6px}.oil-summary p b{font-size:19px}.oil-summary p span{font-size:7px}.oil-summary small{font-size:6px}.right-panel #pressure-chart{height:95px}.right-panel #valve-chart{height:70px}.text-button{font-size:7px}.timeline{margin:0 16px;grid-template-columns:1fr;gap:20px;padding:20px 0}.timeline-info{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-info>.section-label{font-size:6px;max-width:64px;line-height:1.8}.firing-order{margin-top:0;gap:5px}.firing-order button{width:22px}.crank-timeline .range-label{font-size:7px}.stroke-bands span{font-size:6px}footer{padding:18px 16px;flex-wrap:wrap;gap:14px;font-size:6px}footer>span{width:100%}footer button,footer a{font-size:7px}dialog{padding:32px 22px;max-height:90vh}dialog h2{font-size:35px}.info-grid{grid-template-columns:1fr;gap:12px}dialog p{font-size:11px}.sources{font-size:9px}#toast{font-size:10px;padding:12px 18px;width:calc(100% - 30px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(min-width:951px){.workspace{height:auto;min-height:660px;grid-template-rows:minmax(660px,auto)}.stage-wrap{min-height:0}#stage{position:absolute;inset:0;min-height:0}.range-label,.select-label,.switch-label,.quiet-button{font-size:10px}.mini-note,.stage-options button,.camera-controls button,.flow-legend{font-size:9px}.stage-hint{font-size:8px}.phase-description{font-size:10px}.preset-rpm button{font-size:9px}.right-panel{padding-bottom:20px}.panel-heading{font-size:9px}.status{font-size:7px}}.graph-switch{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:8px;gap:8px}.graph-switch>span{letter-spacing:.6px;font-weight:700}.graph-switch div{display:flex;gap:3px}.graph-switch button{font-size:8px;padding:4px 6px;border:1px solid var(--line);border-radius:3px}.graph-switch button.active{color:#fff;background:var(--ink);border-color:var(--ink)}.gas-metrics{display:flex;justify-content:space-between;color:#737e75;font-size:8px;gap:8px;margin:4px 0 10px;font-variant-numeric:tabular-nums}.gas-metrics b{color:#3c4a40;font-weight:600}.right-panel>.chart-title{margin-top:12px}@media(max-width:950px){.right-panel .graph-switch{grid-column:2;grid-row:2;align-self:end;margin:0}.right-panel #pressure-chart{grid-column:2;grid-row:3/6}.right-panel .gas-metrics{grid-column:2;grid-row:6;margin:0}.right-panel>.chart-title{grid-column:2;grid-row:7;margin:0}.right-panel #valve-chart{grid-row:8/10}.oil-summary{grid-column:1;grid-row:8}.right-panel>.text-button{grid-column:1;grid-row:9}}@media(max-width:650px){.header nav button{font-size:10px;padding:8px}.graph-switch{font-size:7px;display:block}.graph-switch div{margin-top:5px}.graph-switch button{font-size:8px}.gas-metrics{font-size:7px;flex-wrap:wrap}.stage-hint,.flow-legend{font-size:8px}.stage-options button,.camera-controls button,.mini-note{font-size:9px}.switch-label,.range-label,.quiet-button{font-size:10px}.phase-description{font-size:10px;min-height:100px}.phase-progress button{font-size:8px}.telemetry-row small{font-size:7px}.oil-summary small{font-size:8px}.text-button{font-size:9px}.stage-wrap{height:445px;min-height:445px}.timeline-info>.section-label{font-size:8px}.firing-order{gap:4px}.stroke-bands span{font-size:8px}}body.stage-expanded{overflow:hidden}body.stage-expanded .stage-wrap{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;min-height:0!important;margin:0!important;z-index:100;background:#eeeee8}body.stage-expanded #stage{position:absolute!important;inset:0!important;width:100%;height:100%!important;min-height:0!important}body.stage-expanded .stage-top{top:24px}body.stage-expanded .camera-controls{bottom:70px}
