:root{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;color:#ecf1e8;background:#14201e;font-synthesis:none;--panel:rgba(20,32,30,.95);--line:rgba(223,238,222,.12);--text:#edf2e9;--muted:#adbbae;--lime:#c4ee83;--amber:#eed19b}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--lime);outline-offset:3px}button{transition:background .16s,border-color .16s,transform .16s}button:active{transform:translateY(1px)}[hidden]{display:none!important}#app,#viewport{position:fixed;inset:0}#viewport{top:64px;bottom:26px}#viewport canvas{display:block;width:100%;height:100%;outline:none}#viewport:empty{background:radial-gradient(ellipse at 57% 54%,#788e81 0,#526861 35%,#263d36 100%)}.topbar{height:64px;display:flex;align-items:center;gap:28px;position:absolute;inset:0 0 auto;padding:0 24px;background:#14201e;border-bottom:1px solid var(--line);z-index:2}.brand{display:flex;align-items:center;gap:13px;min-width:242px}.brand-symbol{display:grid;place-items:center;width:35px;height:35px;font-size:24px;font-weight:800;position:relative;color:#18251e;background:var(--lime);border-radius:6px}.brand-symbol span{position:absolute;right:1px;bottom:-3px;font-weight:400;font-size:38px}.brand strong{font-size:16px;letter-spacing:.06em}.brand-light{font-weight:500}.brand small{display:block;font-size:8px;letter-spacing:.27em;margin-top:4px;color:var(--muted)}.site-info{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:8px}.site-info strong{color:var(--text)}.sep{opacity:.3;margin:0 5px}.status-dot{height:6px;width:6px;background:#96a89d;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.lime{background:var(--lime);box-shadow:0 0 0 4px #c4ee8310}.mode-tabs{margin-left:auto;display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#0f1b18}.mode-tabs button{padding:8px 18px;border:0;background:transparent;font-size:12px;border-radius:5px;color:var(--muted)}.mode-tabs button.selected{background:#304236;color:var(--lime)}.header-actions{display:flex;gap:9px}.button{border:1px solid transparent;border-radius:6px;min-height:38px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:12px;background:transparent;white-space:nowrap}.button.primary{background:var(--lime);color:#1a2a1c}.button.primary:hover{background:#d2faa0}.button.outline{border-color:#51634f;background:#26352b}.button.outline:hover{background:#344b37}.button.subtle{border-color:var(--line);color:#cad5c7}.button.subtle:hover{background:#2b3c31}.button.full{width:100%;justify-content:space-between}.button.icon{font-size:22px;line-height:20px;min-width:38px;padding:4px}.button kbd{color:inherit;border-color:currentColor;opacity:.65;font-size:10px;min-width:auto}.panel{border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 8px 36px #0b1d1610}.mission{position:absolute;top:86px;left:22px;width:277px;padding:20px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:.15em;display:flex;align-items:center;gap:9px;color:#c7d4c4}.small-tag{margin-left:auto;font-size:9px;letter-spacing:.07em;padding:3px 5px;border:1px solid var(--line);border-radius:3px}.mission h1{font-size:23px;font-weight:500;line-height:1.16;margin:18px 0 9px;letter-spacing:-.03em}.muted{color:var(--muted)}.mission p{font-size:12px;line-height:1.65;margin:10px 0}.mission .muted{font-size:12px;line-height:1.5}.mission-rule{height:1px;background:var(--line);margin:19px 0 17px}.mission-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.micro-label{font-size:8px;letter-spacing:.12em;color:var(--muted);font-weight:600}.mono{font-family:"Cascadia Code",Consolas,monospace;font-size:10px;font-weight:400}.mission-row .mono{color:var(--lime);font-size:9px}.mission .outline{margin-top:14px}.hint{display:flex;gap:9px;margin-top:14px;padding-top:4px;color:var(--muted)}.hint-symbol{font-size:11px;border:1px solid #788878;border-radius:50%;height:15px;min-width:15px;text-align:center;line-height:14px;margin-top:9px}.hint p{font-size:10px;margin:7px 0 0;line-height:1.6}.hint kbd{font-size:9px}.telemetry{position:absolute;right:22px;top:86px;width:250px;padding:19px}.telemetry .eyebrow{justify-content:space-between}.fill-heading{display:flex;justify-content:space-between;align-items:center;margin-top:22px;font-size:12px}.fill-heading strong{font-size:29px;font-weight:450;font-variant-numeric:tabular-nums;letter-spacing:-.05em;color:var(--lime)}.fill-heading strong span{font-size:14px;margin-left:2px}.fill-track{height:5px;border-radius:3px;background:#394338;margin:10px 0;overflow:hidden}.fill-track>div{height:100%;width:0;background:var(--lime);transition:width .14s}.small{font-size:9px}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:18px 0 10px}.metrics-grid small{font-size:7px;letter-spacing:.09em;display:block;color:var(--muted);margin-bottom:6px}.metrics-grid strong{font-size:23px;font-weight:400;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metrics-grid strong span{font-size:12px;color:var(--muted);margin-left:3px}.telemetry-line{display:flex;justify-content:space-between;gap:8px;margin:12px 0;font-size:10px;color:var(--muted)}.telemetry-line strong{font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.diagnostics{border-top:1px solid var(--line);padding-top:13px;margin-top:16px;font-size:10px;color:var(--muted)}summary{cursor:pointer}.diagnostics p{font-size:9px;line-height:1.7}.diagnostics .button{font-size:10px;min-height:30px}.view-tools{position:absolute;top:86px;left:calc(50% - 2px);transform:translateX(-50%);padding:5px 8px;display:flex;align-items:center;gap:3px}.view-tools .micro-label{padding:0 9px 0 3px;font-size:7px}.tool{border:none;background:transparent;font-size:10px;border-radius:5px;padding:7px 10px;color:var(--muted)}.tool.selected{background:#d0ee9730;color:var(--lime)}.tool:hover{background:#354b36}.console{position:absolute;bottom:41px;left:22px;right:22px;display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:14px;align-items:end}.joystick-card{height:143px;padding:13px 16px}.joystick-top{display:flex;gap:8px;justify-content:space-between;align-items:center}.joystick-top strong{font-size:9px;letter-spacing:.1em;font-weight:550}.joystick-top .micro-label{font-size:7px}.joystick-body{display:flex;align-items:center;gap:17px;margin-top:5px}.stick-pad{position:relative;min-width:92px;height:92px;border:1px solid #6b79583b;border-radius:50%;transform:scale(.91);background:radial-gradient(circle,#93af6b11 0,transparent 68%)}.axis{position:absolute;background:#63734c38}.axis.vertical{left:44px;top:14px;height:64px;width:1px}.axis.horizontal{left:14px;top:44px;width:64px;height:1px}.stick-dot{width:21px;height:21px;position:absolute;left:35px;top:35px;border:1px solid #d5efa49e;background:#637f4e;border-radius:50%;box-shadow:0 3px 7px #0004;transition:transform .065s}.stick-pad .north,.stick-pad .south,.stick-pad .west,.stick-pad .east{position:absolute;font-size:10px;color:#cbd8b8}.north{top:4px;left:42px}.south{bottom:3px;left:42px}.west{left:5px;top:38px}.east{right:5px;top:38px}.key-list{font-size:9px;color:#c4d0bf;line-height:1.55}.key-list>div{margin:10px 0;display:flex;align-items:center;gap:8px;white-space:nowrap}.key-list>div>span{display:flex;gap:3px}kbd{font-family:inherit;font-size:10px;display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;min-width:20px;line-height:1.3;color:#dbe6d2;border:1px solid #6072528c;border-bottom-width:2px;border-radius:3px;white-space:nowrap;font-weight:500}kbd.is-active{background:var(--lime);border-color:var(--lime);color:#1d2a18}.session-panel{height:143px;padding:15px 17px}.session-state{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.12em;color:var(--muted)}.fps{margin-left:auto;font:10px Consolas,monospace;opacity:.8}.session-buttons{display:flex;gap:8px;margin-top:13px}.session-buttons .button{flex:1;min-height:34px;font-size:10px;padding:8px;gap:7px}.session-buttons kbd{font-size:8px}.settings-row{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted);margin-top:14px}.settings-row select{background:#28362c;color:var(--text);border:1px solid #4b5c43;border-radius:4px;font-size:9px;padding:4px 5px;width:104px}.settings-row .check{display:flex;align-items:center;gap:4px;white-space:nowrap}.check input{accent-color:var(--lime);width:11px;height:11px;margin:0}.text-button{background:transparent;border:0;color:var(--muted);padding:3px;text-decoration:underline;font-size:9px;margin-left:auto;white-space:nowrap}.build-label{position:absolute;bottom:0;left:0;right:0;min-height:26px;display:flex;align-items:center;justify-content:center;letter-spacing:.18em;font-size:7px;color:#98a98f;background:#14201e}.camera-caption{position:absolute;bottom:201px;left:50%;transform:translateX(-50%);color:#f1f6e7;text-shadow:0 1px 5px #132519;font-size:10px;text-align:center;white-space:nowrap}.warning{position:absolute;bottom:232px;left:50%;transform:translateX(-50%);max-width:540px;min-width:280px;text-align:center;font-size:12px;line-height:1.4;color:#ffdeb0;border:1px solid #bfa15e60;background:#352b1cea;padding:12px 17px;border-radius:7px;box-shadow:0 6px 20px #0002}.paused-overlay{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:17px;background:#12221cf0;border:1px solid #586d4670;padding:27px 38px;border-radius:12px;box-shadow:0 16px 70px #0a1a1950}.paused-overlay strong{font-size:37px;font-weight:400}.lesson-step{background:#c4ee8310;border:1px solid #c4ee8330;padding:11px;border-radius:6px;display:flex;align-items:center;gap:10px;font-size:11px;margin:11px 0}.lesson-step kbd{font-size:17px;min-width:32px;height:32px;background:#c4ee8320;color:var(--lime)}.progress-track{height:4px;background:#3a4935;margin:15px 0 8px;border-radius:3px;overflow:hidden}.progress-track>div{width:0;height:100%;background:var(--lime);transition:width .2s}.progress-caption{font-size:10px;color:var(--muted)}.progress-caption strong{color:var(--lime)}dialog{color:var(--text);background:#18271f;border:1px solid #70825a60;border-radius:15px;width:min(520px,calc(100vw - 32px));max-height:90vh;padding:29px;box-shadow:0 20px 140px #06110cad;overflow:auto}dialog::backdrop{background:#10211cc7;backdrop-filter:blur(6px)}.wide-dialog{width:min(760px,calc(100vw - 32px));padding:33px 37px}.dialog-eyebrow{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.15em;color:var(--lime);font-weight:600}.dialog-eyebrow span{color:var(--muted);font-size:8px}.close-dialog{background:transparent;border:1px solid var(--line);height:27px;width:27px;border-radius:5px;font-size:20px;line-height:16px}.close-dialog:hover{background:#334630}dialog h2{font-size:34px;font-weight:450;letter-spacing:-.045em;line-height:1.15;margin:23px 0 12px}dialog h3{font-size:15px;font-weight:550}dialog p{font-size:12px;line-height:1.8;color:#c4d1bd}dialog .lead{font-size:15px;color:var(--muted)}.welcome-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0}.welcome-controls section{padding:20px 22px;border:1px solid var(--line);border-radius:9px;background:#203223}.welcome-controls h3{font-size:26px;font-weight:450;letter-spacing:.12em;margin:12px 0;color:var(--lime)}.welcome-controls p{font-size:11px;line-height:1.9;margin:0}.welcome-tip{border-left:2px solid var(--lime);background:#c4ee830b;padding:14px 16px;font-size:12px;line-height:1.9;color:#cbd9c2}.welcome-tip b{color:var(--text);font-weight:600}.disclaimer{font-size:10px!important;line-height:1.7!important;color:#a3b499!important;margin-top:21px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.dialog-actions .button{min-height:40px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.help-grid p{line-height:2.1}.help-grid kbd{margin-right:8px;min-width:28px}.help-grid .muted{font-size:11px;line-height:1.7}dialog details{font-size:11px;line-height:1.8;margin-top:18px;color:var(--muted)}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;max-height:180px;overflow:auto}.exercise-cards{display:grid;gap:9px;margin:24px 0}.exercise-card{display:flex;align-items:center;gap:16px;background:#203323;border:1px solid var(--line);padding:15px 18px;border-radius:7px;text-align:left;min-height:78px}.exercise-card:hover{background:#2b442d;border-color:#abc77f88}.exercise-card .num{font:20px Consolas,monospace;color:#adc17f80;min-width:30px}.exercise-card strong{font-size:14px;font-weight:500;display:block}.exercise-card small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.exercise-card .arrow{margin-left:auto;color:var(--lime);font-size:20px}.exercise-card .best{font-size:9px;color:var(--lime);margin-top:5px}.result-score{color:var(--lime);font-size:20px;margin:25px 0 0}.result-score strong{font-size:72px;font-weight:350;letter-spacing:-.07em;margin-right:10px}.result-score span{opacity:.5}.loading{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#17271f}.loader-mark{font-size:54px;color:var(--lime);font-weight:750;position:relative;padding:0 15px}.loader-mark span{font-weight:350}.loading h2{font-size:21px;font-weight:450;letter-spacing:-.02em;margin:24px 0 6px}.loading p{font-size:12px;color:var(--muted)}.loading-line{height:2px;background:#4d6140;width:150px;margin:20px 0;overflow:hidden;position:relative}.loading-line:after{content:"";height:2px;width:50px;background:var(--lime);position:absolute;animation:loading 1.1s ease-in-out infinite}@keyframes loading{0%{left:-50px}100%{left:150px}}.noscript{position:fixed;inset:0;background:#17271f;display:grid;place-items:center;z-index:100}.controls-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.config-card{padding:18px 20px;border:1px solid var(--line);border-radius:9px;background:#203223}.config-card h3{font-size:16px;font-weight:550;margin:8px 0 14px;color:var(--lime)}.config-card.gamepad-card{grid-column:1 / -1}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:#18281d;cursor:pointer;transition:border-color .16s,background .16s}.radio-card:hover{background:#23392a;border-color:#7f9d6a}.radio-card input[type="radio"]{accent-color:var(--lime);margin-top:2px;cursor:pointer;flex-shrink:0}.radio-card strong{font-size:12px;display:block;color:var(--text);font-weight:600}.radio-card p{font-size:10px;line-height:1.6;margin:4px 0 0;color:var(--muted)}.radio-card input:checked + div strong{color:var(--lime)}.gamepad-hints{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:10px;line-height:1.5}.gamepad-card p{margin:6px 0 10px;font-size:11px}.gamepad-online{color:var(--lime)!important;font-weight:600}.settings-row .text-buttons{display:flex;gap:8px;margin-left:auto}.settings-row .text-buttons .text-button{margin-left:0}.gp-monitor{display:flex;align-items:center;gap:18px;background:#16241a;border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:12px 0}.gp-stick-preview{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted)}.gp-mini-pad{position:relative;width:44px;height:44px;border:1px solid #758b5e60;border-radius:50%;background:radial-gradient(circle,#93af6b15 0,transparent 70%)}.gp-mini-pad .stick-dot{width:11px;height:11px;left:16px;top:16px}.gp-buttons-preview{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}.gp-btn-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;font-size:9px;font-weight:600;border:1px solid var(--line);border-radius:4px;background:#203124;color:var(--muted);transition:background .08s,color .08s,border-color .08s}.gp-btn-badge.is-pressed{background:var(--lime);color:#142217;border-color:var(--lime);box-shadow:0 0 8px #c4ee8360}.gp-settings-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:11px;color:var(--muted)}.gp-settings-row input[type="range"]{accent-color:var(--lime);width:130px;cursor:pointer}.gp-settings-row .small-btn{min-height:28px;padding:4px 10px;font-size:10px}.xbox-mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:10px;line-height:1.55;color:#c1cfbe;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.xbox-mapping-grid b{color:var(--text)}
@media(min-width:1600px){:root{font-size:15px}.mission{width:302px;padding:23px}.telemetry{width:268px;padding:21px}.console{gap:20px;grid-template-columns:1fr 1.08fr 1fr}.joystick-card{padding-left:25px;padding-right:25px}.joystick-body{gap:27px}.key-list{font-size:11px}.joystick-top strong{font-size:10px}.joystick-top .micro-label{font-size:8px}.session-buttons .button{font-size:12px}.settings-row{font-size:10px}.settings-row select{font-size:10px}.mission p{font-size:13px}}
@media(max-width:1180px){.topbar{gap:14px;padding:0 15px}.site-info{display:none}.brand{min-width:220px}.mission{left:14px;width:245px;padding:16px}.telemetry{right:14px;width:220px;padding:16px}.view-tools .micro-label{display:none}.view-tools{top:79px}.tool{font-size:9px;padding:7px}.console{left:14px;right:14px;gap:9px;grid-template-columns:1fr 1.05fr 1fr}.joystick-card{padding:12px 11px}.joystick-body{gap:2px}.stick-pad{min-width:81px;transform:scale(.80);transform-origin:center left;margin-right:-8px}.joystick-top .micro-label{display:none}.key-list{font-size:8px}.key-list>div{gap:5px}.key-list kbd{font-size:8px;min-width:17px;padding:2px 3px}.session-panel{padding:14px 11px}.settings-row{gap:5px;flex-wrap:wrap;margin-top:10px}.settings-row select{width:98px;font-size:8px}.session-buttons .button{font-size:9px}.session-buttons kbd{font-size:7px}.session-buttons{gap:6px}.mission h1{font-size:21px}.mission .hint{display:none}}
@media(max-height:760px){.mission{top:78px;padding:14px}.mission h1{margin-top:12px;font-size:21px}.mission-rule{margin:12px 0}.mission p{font-size:11px;margin:7px 0}.mission .hint{display:none}.mission .outline{margin-top:7px;min-height:33px}.telemetry{top:78px;padding:15px}.fill-heading{margin-top:13px}.metrics-grid{margin:14px 0 6px;padding:12px 0}.telemetry-line{margin:9px 0}.diagnostics{padding-top:10px;margin-top:11px}.console{bottom:35px}.joystick-card,.session-panel{height:132px}.joystick-body{margin-top:0}.joystick-card{padding-top:11px}.session-panel{padding-top:12px}.session-buttons{margin-top:10px}.camera-caption{bottom:180px}.warning{bottom:207px}.wide-dialog{padding:25px 30px}.welcome-controls{margin:18px 0}.welcome-controls section{padding:15px 19px}dialog h2{font-size:30px;margin-top:19px}.disclaimer{margin-top:16px}}
@media(max-width:900px){.mission{width:213px;padding:13px}.mission h1{font-size:20px}.mission p{font-size:10px}.telemetry{width:200px;padding:13px}.telemetry .diagnostics{display:none}.view-tools{top:auto;bottom:191px}.camera-caption{display:none}.key-list{display:none}.joystick-card{min-width:108px;max-width:160px;height:140px}.joystick-top{justify-content:center}.joystick-body{justify-content:center}.stick-pad{margin-right:0;transform:scale(.88);transform-origin:center}.console{grid-template-columns:130px 1fr 130px}.console .joystick-card:last-child{justify-self:end;width:130px}.joystick-top strong{font-size:8px}.session-panel{height:140px}.settings-row{flex-wrap:nowrap}.warning{bottom:231px;font-size:11px;max-width:300px}.fill-heading{font-size:10px}.metrics-grid strong{font-size:20px}.telemetry-line{font-size:9px}.controls-config-grid{grid-template-columns:1fr}.gamepad-hints{grid-template-columns:1fr}.xbox-mapping-grid{grid-template-columns:1fr}.gp-monitor{flex-direction:column;align-items:flex-start}}
@media(max-width:680px){.brand{min-width:0}.brand small,.brand-light,.header-actions .subtle:not(.icon){display:none}.brand strong{font-size:14px}.brand-symbol{width:28px;height:29px;font-size:21px}.brand-symbol span{font-size:31px}.topbar{gap:9px;height:56px;padding:0 11px}.mode-tabs{margin-left:auto}.mode-tabs button{font-size:10px;padding:7px 10px}.header-actions{gap:0}.header-actions .icon{min-width:31px;font-size:19px}.mission{top:68px;left:9px;width:188px}.mission .muted,.mission-rule,.mission-row,.mission .hint{display:none}.mission h1{font-size:18px;margin:11px 0}.mission p{font-size:10px}.mission .outline{font-size:10px;margin-top:8px;min-height:30px}.telemetry{top:68px;right:9px;width:148px;padding:12px}.telemetry .telemetry-line{display:none}.metrics-grid{grid-template-columns:1fr;gap:11px;margin-bottom:0;border-bottom:none}.metrics-grid small{font-size:6px}.fill-heading{display:block;margin-top:12px;font-size:9px}.fill-heading strong{float:right;font-size:22px;margin-top:-2px}.telemetry .eyebrow{font-size:8px}.telemetry .mission-row{font-size:8px}.console{left:9px;right:9px;gap:7px;grid-template-columns:82px 1fr 82px;bottom:31px}.console .joystick-card{width:82px;min-width:82px;padding:8px 3px;height:103px}.console .joystick-card:last-child{width:82px}.joystick-top strong{font-size:6px;letter-spacing:0}.joystick-body{margin-top:-5px}.stick-pad{min-width:81px;transform:scale(.73);transform-origin:center}.session-panel{height:103px;padding:9px 8px}.session-state{font-size:6px}.session-buttons{margin-top:9px;gap:4px}.session-buttons .button{min-height:27px;font-size:8px;padding:5px 6px}.session-buttons kbd{display:none}.settings-row{margin-top:9px;font-size:7px;gap:4px}.settings-row label:not(.check){display:none}.settings-row select{width:70px;font-size:7px;padding:3px}.settings-row .check{font-size:7px;gap:3px}.settings-row .text-button{font-size:7px}.view-tools{bottom:143px}.warning{bottom:184px;font-size:10px;min-width:235px;max-width:300px;padding:9px}.build-label{font-size:6px;letter-spacing:.08em}.wide-dialog{padding:22px}.welcome-controls{gap:9px}.welcome-controls section{padding:13px}.welcome-controls h3{font-size:22px}.welcome-controls p{font-size:10px}.welcome-tip{font-size:10px}.dialog-actions{gap:7px}.dialog-actions .button{font-size:10px;padding:8px 12px}dialog h2{font-size:27px}dialog .lead{font-size:12px}.help-grid{gap:13px}.paused-overlay{padding:22px}.help-grid p{font-size:10px}.controls-config-grid{grid-template-columns:1fr}.gamepad-hints{grid-template-columns:1fr}.xbox-mapping-grid{grid-template-columns:1fr}.gp-monitor{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.loading-line:after{animation:none;left:50px}}

/* Working view keeps the tooth edge visible while retaining task progress. */
.grade-control{--grade-color:#94a3a0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:14px 0 10px;padding:11px 0}
.grade-heading,.grade-reference{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:8px}
.grade-heading{letter-spacing:.09em}.grade-reference{margin-top:9px;flex-wrap:wrap;line-height:1.4}
.grade-readout{display:flex;align-items:center;gap:9px;margin-top:9px}
.grade-lamps{display:flex;flex-direction:column;gap:4px;flex-shrink:0}
.grade-lamps i{width:7px;height:7px;border-radius:50%;background:#35403b}
.grade-control[data-state="shallow"] [data-grade="shallow"],.grade-control[data-state="level"] [data-grade="level"],.grade-control[data-state="deep"] [data-grade="deep"]{background:var(--grade-color);box-shadow:0 0 8px var(--grade-color)}
.grade-description{display:flex;flex-direction:column;gap:5px;min-width:0}.grade-description strong{font-size:11px;color:var(--grade-color);font-weight:600}.grade-description span{font-size:9px;color:var(--muted)}
#grade-error{margin-left:auto;font-size:16px;font-weight:500;color:var(--grade-color);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.has-grade .metrics-grid{display:none}
@media(max-width:680px){.grade-readout{flex-wrap:wrap;gap:6px}#grade-error{width:100%;font-size:18px;margin-left:13px}.grade-heading{font-size:7px}}
.view-tools{max-width:calc(100vw - 32px);flex-wrap:wrap;justify-content:center}
.work-view .mission{width:230px}
.work-view .mission #mission-goal,.work-view .mission #mission-subtitle,.work-view .mission .mission-rule,.work-view .mission .hint{display:none}
.work-view .mission h1{font-size:18px;margin:10px 0}
.work-view .telemetry{width:200px}
.work-view .telemetry .metrics-grid,.work-view .telemetry .diagnostics,.work-view .telemetry .telemetry-line:not(#truck-telemetry):not(#site-telemetry){display:none}
.work-view .joystick-card{visibility:hidden}
#progress-detail{line-height:1.5;overflow-wrap:anywhere}
.progress-caption{align-items:flex-start;gap:8px}
.exercise-card:focus-visible{outline:3px solid var(--lime);outline-offset:2px;background:#26382f}
#truck-telemetry,#site-telemetry{gap:10px;line-height:1.5}
[hidden]{display:none!important}
@media(max-width:900px){.view-tools{bottom:190px;width:max-content}.work-view .mission{width:190px}.work-view .telemetry{width:180px}}
@media(max-width:680px){.view-tools{bottom:142px;width:calc(100vw - 20px)}.work-view .mission{width:170px}.work-view .telemetry{width:150px}.telemetry #truck-telemetry,.telemetry #site-telemetry{display:flex}}
.machine-picker{display:flex;flex-direction:column;gap:4px;min-width:157px}.machine-picker label{font-size:7px;letter-spacing:.16em;color:var(--muted)}.machine-picker select{width:100%;padding:5px 25px 5px 8px;background:#23352b;border:1px solid #6072528c;border-radius:5px;color:var(--text);font-size:11px;cursor:pointer}
@media(max-width:900px){.topbar{gap:10px}.machine-picker{min-width:142px}.machine-picker select{font-size:10px}.mode-tabs button{padding:8px 10px}}
@media(max-width:680px){.machine-picker{min-width:123px}.machine-picker select{padding-right:3px;font-size:9px}.machine-picker label{font-size:6px}.topbar{gap:7px}.topbar .brand{min-width:0}}

.soil-picker{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;font-size:12px}.soil-picker select{max-width:160px}

.soil-picker select{color:var(--text,#e6eee8);background:#20352b;border:1px solid #435b4e;border-radius:5px;padding:5px 7px;font:inherit}

/* Long vector/pressure readouts remain inside the diagnostics column. */
.diagnostics .telemetry-line{flex-wrap:wrap;gap:4px 10px}.diagnostics .telemetry-line strong{margin-left:auto;text-align:right;overflow-wrap:anywhere}.telemetry:has(.diagnostics[open]){max-height:calc(100dvh - 265px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#526756 transparent}
/* Designer tools: independent scrolling panel, scene and controls stay usable. */
.soil-inspector{position:fixed;z-index:8;top:76px;right:16px;bottom:175px;width:min(440px,calc(100vw - 32px));background:#17291ff7;border:1px solid #657b5966;border-radius:12px;box-shadow:0 12px 45px #07160c66;display:flex;flex-direction:column;color:#edf1e8;overflow:hidden;font-size:12px;pointer-events:auto}
.soil-inspector header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px}.soil-inspector header small{font-size:8px;letter-spacing:.14em;color:#b4cb97}.soil-inspector h2{margin:4px 0 0;font-size:23px;font-weight:500;letter-spacing:-.04em}.soil-inspector h3{font-size:14px;margin:14px 0 10px}.soil-inspector button{font:inherit;cursor:pointer;background:#2a4030;color:#e4eedb;border:1px solid #607451;border-radius:5px;padding:7px 10px}.soil-inspector button:hover{background:#3e5738}.soil-inspector button:disabled{opacity:.45;cursor:default}.soil-inspector nav{display:flex;gap:5px;padding:0 16px 10px;border-bottom:1px solid #71866540}.soil-inspector nav button{flex:1}.soil-inspector nav button[aria-pressed=true]{color:#152415;background:#c4ee83;border-color:#c4ee83}.soil-inspector .si-body{padding:12px 16px 18px;overflow:auto;scrollbar-width:thin;scrollbar-color:#667b54 transparent}.soil-inspector label{display:flex;flex-direction:column;gap:5px;color:#b9cbb0;font-size:10px}.soil-inspector input,.soil-inspector select{font:12px Consolas,monospace;min-width:0;width:100%;border:1px solid #586c47;border-radius:4px;background:#102319;color:#edf3e5;padding:7px;box-sizing:border-box}.soil-inspector input:focus,.soil-inspector select:focus{outline:2px solid #c4ee83;outline-offset:1px}.soil-inspector input:invalid{border-color:#f69e7c}.si-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.si-wide{margin-bottom:10px}.si-note{font-size:10px;line-height:1.65;color:#b8c8af;margin:9px 0 12px}.si-tag{color:#edbe79;font-size:8px;letter-spacing:.08em;margin:12px 0}.si-actions{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.soil-inspector .button.primary{color:#13230f;background:#c4ee83;border-color:#c4ee83;font-size:11px;width:100%}.soil-inspector details{font-size:10px;line-height:1.6;margin-top:12px}.soil-inspector details summary{cursor:pointer;color:#c6e6a3}.soil-inspector pre{font:10px/1.65 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:#cbdec0}.soil-inspector .si-file{margin:12px 0}.soil-inspector input[type=file]{font:10px system-ui}.si-charts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.si-charts figure{margin:0;border:1px solid #52664160;border-radius:5px;padding:8px;background:#11231b}.si-charts figcaption{font-size:9px;line-height:1.5;color:#bfcdba}.si-charts strong{display:block;font:12px Consolas,monospace;color:#e4eedb}.soil-inspector canvas{width:100%;height:auto;display:block}.si-charts small{font:8px Consolas,monospace;color:#a3b696}.soil-inspector progress{width:100%;accent-color:#c4ee83}.soil-inspector #si-message{font-size:11px;line-height:1.6;color:#f0c381}.soil-inspector #si-comparison{font-size:11px;line-height:1.6;border-left:2px solid #a1c879;padding-left:10px}.inspector-open .telemetry{visibility:hidden}.inspector-open .warning{right:auto}.soil-inspector #si-section{max-height:130px;margin-top:10px}
@media(max-height:760px){.soil-inspector{top:75px;bottom:173px}.soil-inspector header{padding-top:10px}.soil-inspector h2{font-size:20px}}
@media(max-width:900px){.soil-inspector{top:72px;width:min(400px,calc(100vw - 28px));right:14px;bottom:185px}.inspector-open .mission{visibility:hidden}.topbar .brand{min-width:150px}}
@media(max-width:680px){.soil-inspector{top:62px;bottom:144px;right:9px;width:calc(100vw - 18px)}.header-actions #inspector-btn{display:inline-flex;font-size:9px}.header-actions #inspector-btn kbd{display:none}}
.soil-inspector #si-photo-view{width:100%;height:auto;border-radius:6px;margin-top:10px}.soil-inspector #si-comparison{white-space:pre-wrap}
.inspector-open #paused-overlay{display:none}
