:root{--mono:ui-monospace, Consolas, monospace;--hud-text:#e8f0e8;--hud-bg:#00000073;--hud-error:#ff8a80;--stick-target:#ffd54f;--input-bg:#000000b3;--input-border:#ffffff4d;--lesson-button-bg:#101a10;--lesson-button-main-bg:#1e5a28;--lesson-button-border:#ffffffbf;--button-radius:999px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--hud-text);background:#111;font:16px/1.4 system-ui,Segoe UI,Roboto,sans-serif}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}.app{width:100%;height:100%;position:relative}.scene{outline:none;width:100%;height:100%;display:block}.hud-stack{pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;top:12px;left:12px}.hud-sticks{background:var(--hud-bg);pointer-events:none;border-radius:6px;padding:6px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hud-sticks .stick-overlay{margin:0}.ps5-warning,.keyboard-tip{box-sizing:border-box;border:1px solid var(--hud-error);width:min(420px,100vw - 24px);color:var(--hud-text);background:var(--input-bg);pointer-events:auto;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.keyboard-tip{border-color:color-mix(in srgb, var(--hud-text) 40%, transparent)}.keyboard-tip kbd{border:1px solid color-mix(in srgb, var(--hud-text) 40%, transparent);border-radius:3px;padding:0 4px;font-family:inherit;font-size:12px}.hud,.debug-overlay,.console-result{font-family:var(--mono);font-variant-numeric:tabular-nums;background:var(--hud-bg);border-radius:4px;padding:4px 10px}.debug-overlay{grid-template-columns:auto auto;gap:0 12px;margin:0;font-size:13px;display:grid}.debug-overlay dd{text-align:right;margin:0}.console{flex-direction:column-reverse;align-items:flex-start;gap:6px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.console-input{box-sizing:border-box;border:1px solid var(--input-border);width:min(100%,640px);font:inherit;font-family:var(--mono);color:var(--hud-text);background:var(--input-bg);border-radius:4px;outline:none;padding:6px 10px}.console-result{pointer-events:none}.console-error{color:var(--hud-error)}.toolbar{align-items:flex-start;gap:6px;display:flex;position:absolute;top:12px;right:12px}.toolbar-switches{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.toolbar-button{border:1px solid var(--input-border);border-radius:var(--button-radius);font:inherit;color:var(--hud-text);background:var(--hud-bg);cursor:pointer;padding:2px 12px;font-size:13px}.toolbar-button[aria-pressed=true]{background:var(--input-border)}.toolbar-button:disabled,.panel-button:disabled{opacity:.45;cursor:default}.panel{box-sizing:border-box;border:1px solid var(--input-border);width:min(380px,100% - 24px);max-height:calc(100% - 180px);color:var(--hud-text);background:var(--input-bg);border-radius:6px;padding:10px 14px;font-size:14px;position:absolute;top:86px;right:12px;overflow-y:auto}.panel h3{opacity:.7;margin:12px 0 4px;font-size:13px;font-weight:600}.panel-title{margin:0 0 4px;font-size:16px}.panel-title:not(:first-child){margin-top:18px}.controls{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;display:grid}.controls dt{font-family:var(--mono);white-space:nowrap}.controls dd{margin:0}.command-list{font-family:var(--mono);margin:0;padding:0 0 0 18px;font-size:13px}.rates{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.rates th{text-align:left;color:color-mix(in srgb, var(--hud-text) 70%, transparent);padding:4px 6px 4px 0;font-size:12px;font-weight:600}.rates tbody th{color:var(--hud-text);font-size:14px}.rate-input{box-sizing:border-box;border:1px solid var(--input-border);width:100%;font:inherit;font-family:var(--mono);color:var(--hud-text);background:#ffffff0f;border-radius:4px;padding:4px 6px}.rate-input[aria-invalid=true]{border-color:var(--hud-error)}.setting-unit{white-space:nowrap;opacity:.7;padding-left:6px;font-size:12px}.panel-note{opacity:.7;margin:10px 0;font-size:12px}.panel-button{border:1px solid var(--input-border);border-radius:var(--button-radius);font:inherit;color:var(--hud-text);background:var(--hud-bg);cursor:pointer;padding:4px 12px;font-size:13px}.view-toggle{border:1px solid var(--input-border);border-radius:var(--button-radius);width:fit-content;font:inherit;color:var(--hud-text);background:var(--hud-bg);cursor:pointer;padding:2px;font-size:13px;display:flex}button.view-option{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.view-option{opacity:.6;border-radius:999px;padding:2px 10px}.view-option.view-option-on{opacity:1;background:var(--input-border)}.debug-warn{color:var(--hud-error)}.arm-status{font-family:var(--mono);text-align:center;text-shadow:0 0 4px #000;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arm-status-title{letter-spacing:.1em;font-size:28px;font-weight:700}.arm-status-reason{color:var(--hud-error);font-size:18px;font-weight:600}.arm-status-note{font-size:18px;font-weight:600}.info-tip{box-sizing:border-box;width:15px;height:15px;color:var(--hud-text);opacity:.6;cursor:help;vertical-align:middle;background:0 0;border:1px solid;border-radius:50%;margin-left:6px;padding:0;font:italic 600 10px/1 serif}.info-tip:hover,.info-tip:focus-visible{opacity:1}.info-tip-box{z-index:10;box-sizing:border-box;border:1px solid var(--input-border);color:var(--hud-text);pointer-events:none;background:#14171c;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.4;position:fixed}.info-tip-types{opacity:.7;margin-top:8px;font-weight:600;display:block}.info-tip-list{margin:2px 0 0;padding-left:16px}.toolbar-hint{opacity:.7}.modal-backdrop{z-index:40;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{box-sizing:border-box;border:1px solid var(--input-border);width:min(420px,100% - 24px);color:var(--hud-text);background:var(--input-bg);border-radius:6px;padding:12px 16px;font-size:14px}.modal-device{font-family:var(--mono);opacity:.7;font-size:12px}.modal-step,.modal-hint{opacity:.7;font-size:12px}.modal-found{font-family:var(--mono)}.modal-choice{gap:4px;margin-top:8px;display:grid}.modal-reverse{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.modal-reverse .panel-button[aria-pressed=true]{border-color:var(--stick-target);color:var(--stick-target)}.modal-summary{grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0 0;display:grid}.modal-summary div{display:contents}.modal-summary dd{font-family:var(--mono);margin:0}.stick-overlay{margin:8px auto;display:block}.modal-actions{gap:6px;margin-top:12px;display:flex}.menu-screen{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.menu{flex-direction:column;gap:8px;width:min(320px,100% - 48px);display:flex}.menu-item{border:1px solid var(--input-border);border-radius:var(--button-radius);font:inherit;color:var(--hud-text);background:var(--hud-bg);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:20px;display:flex}button.menu-item:hover,button.menu-item:focus-visible{background:var(--input-border);outline:none}.menu-item-disabled{opacity:.45;cursor:default}.menu-badge{border:1px solid var(--input-border);border-radius:999px;padding:1px 8px;font-size:12px}.menu-gap{height:16px}.menu-page{box-sizing:border-box;width:min(720px,100% - 48px);height:calc(100% - 48px);color:var(--hud-text);flex-direction:column;gap:12px;display:flex}.tab-bar{border-bottom:1px solid var(--input-border);gap:4px;display:flex}.tab{font:inherit;color:var(--hud-text);opacity:.7;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:6px 16px}.tab[aria-selected=true]{border-color:var(--input-border);opacity:1}.menu-page-content{flex:1;min-height:0;overflow-y:auto}.menu-page-content .panel{background:0 0;border:none;width:auto;max-height:none;padding:0;position:static;overflow-y:visible}.settings-heading{margin:16px 0 6px;font-size:16px}.settings-row{align-items:center;gap:12px;display:flex}.settings-sticks{background:var(--hud-bg);border-radius:6px;width:fit-content;padding:6px}.menu-page-bar{align-items:center;gap:16px;display:flex}.menu-page-title{margin:0;font-size:22px}.lesson-hud{background:var(--hud-bg);pointer-events:none;border-radius:6px;width:min(320px,30%);padding:8px 14px;position:absolute;top:120px;right:12px}.lesson-goals{margin:0;padding:0;font-size:14px;list-style:none}.lesson-goals li{opacity:.6}.lesson-goals li.goal-current{opacity:1;font-weight:600}.lesson-goals li.goal-met{opacity:.85}.goal-tick{width:1.2em;display:inline-block}.lesson-result{flex-direction:column;align-items:center;gap:10px;width:min(420px,100% - 48px);display:flex}.lesson-result-title{opacity:.8;margin:0}.lesson-crash-speed{text-align:center;margin:0}.lesson-chapter-done{margin:0;font-size:18px;font-weight:600}.lesson-result-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.lesson-list{flex-direction:column;gap:12px;display:flex}.lesson-chapter-name{margin:0}.lesson-chapter-intro{opacity:.8;margin:0}.lesson-rows{flex-direction:column;gap:6px;display:flex}.lesson-row{justify-content:space-between;font-size:16px}.lesson-tick{color:#6fdc8c;margin-left:8px}.lesson-intro{flex-direction:column;flex:1;gap:12px;min-height:0;padding:0 16px 16px;display:flex}.lesson-intro-banner{background:#6fdc8c1f;border-left:4px solid #6fdc8c;border-radius:10px;flex:none;gap:10px;padding:16px 18px;display:grid}.lesson-intro-banner p{margin:0;font-size:18px}.lesson-intro-chips{flex-wrap:wrap;gap:6px;display:flex}.lesson-intro-chip{text-transform:capitalize;background:#ffffff1f;border-radius:999px;padding:2px 10px;font-size:13px}.lesson-intro-chip-on{background:#6fdc8c33}.lesson-intro-chip-off{opacity:.5;text-decoration:line-through}.lesson-timeline{flex:1;min-height:0;margin:0;padding:4px 8px 4px 0;list-style:none;overflow-y:auto}.lesson-timeline li{align-items:center;gap:14px;padding:8px 0;display:flex;position:relative}.lesson-timeline li:before{content:"";background:var(--input-border);width:2px;position:absolute;top:0;bottom:0;left:17px}.lesson-timeline li:first-child:before{top:50%}.lesson-timeline li:last-child:before{bottom:50%}.lesson-timeline small{opacity:.6}.lesson-timeline-dot{z-index:1;background:#1c2a1c;border:2px solid #6fdc8c;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:16px;display:grid}.lesson-timeline-end{opacity:.7}.lesson-intro-actions{flex:none;justify-content:flex-end;gap:8px;display:flex}.lesson-intro-start{background:var(--lesson-button-main-bg);padding:10px 32px;font-size:20px;font-weight:700}.demo-controls{flex-direction:column;align-items:center;gap:8px;width:min(480px,100% - 24px);display:flex;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}.demo-caption{background:var(--hud-bg);text-align:center;border-radius:6px;padding:8px 14px;font-size:18px;font-weight:600}.demo-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.demo-label{letter-spacing:.08em;text-align:center;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:600}.demo-sign{letter-spacing:.2em;text-transform:uppercase;background:var(--hud-bg);pointer-events:none;border-radius:8px;padding:4px 36px;font-size:44px;font-weight:800;position:absolute;top:56px;left:50%;transform:translate(-50%)}.demo-controls-active{gap:16px;width:min(640px,100% - 24px);top:62%;bottom:auto}.demo-controls-active .demo-caption{padding:14px 22px;font-size:24px}.demo-controls-active .demo-buttons{gap:14px}.demo-button{border:1px solid var(--input-border);border-radius:var(--button-radius);font:inherit;color:var(--hud-text);background:var(--hud-bg);cursor:pointer;padding:12px 28px;font-size:20px}.demo-button-main{font-weight:700}.demo-button,.demo-buttons .toolbar-button,.lesson-result-actions .toolbar-button,.lesson-intro-actions .toolbar-button{border:2px solid var(--lesson-button-border);background:var(--lesson-button-bg);box-shadow:0 1px 6px #00000080}.demo-button-main{background:var(--lesson-button-main-bg)}.demo-caption{background:var(--lesson-button-bg)}.hold-countdown{font-family:var(--mono);opacity:.45;pointer-events:none;font-size:72px;font-weight:700;position:absolute;top:28%;left:50%;transform:translate(-50%)}.hold-countdown-running{opacity:1}.goal-caption{box-sizing:border-box;background:var(--hud-bg);text-align:center;pointer-events:none;border-radius:6px;width:min(640px,100% - 24px);padding:14px 22px;font-size:24px;font-weight:600;position:absolute;top:62%;left:50%;transform:translate(-50%)}
