body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background-color:#000;margin:0;font-family:Inter,sans-serif;overflow:hidden}canvas{display:block}#ui{pointer-events:none;z-index:100;position:absolute;inset:0}body.help-modal-open #ui{pointer-events:auto}#rear-mirror-frame,#side-mirror-frame,#right-side-mirror-frame{box-sizing:border-box;pointer-events:none;z-index:150;border:4px solid #1a1a1a;border-radius:0;display:none;position:absolute;box-shadow:0 4px 12px #000c}#toast{text-align:center;color:#fff;text-shadow:0 0 15px #000,0 0 20px #000;pointer-events:none;opacity:0;padding:0 16px;font-family:monospace;font-size:clamp(1rem,.8rem + 1vw,1.5rem);font-weight:700;transition:opacity .5s;position:absolute;top:96px;left:0;right:0}#toast.visible{opacity:1}#results-overlay{color:#fff;text-align:center;z-index:2000;cursor:pointer;pointer-events:auto;background:#000000d9;border-radius:8px;padding:15px 30px;font-family:monospace;font-size:18px;position:absolute;top:10px;left:50%;transform:translate(-50%)}#results-overlay h3{margin:0 0 4px}.results-hint{color:#f88;margin-top:5px;font-size:12px}.results-note{color:#cfc;max-width:34ch;margin:6px auto 0;font-size:13px}.results-save{color:#8f8;justify-content:center;align-items:center;gap:10px;margin-top:6px;font-size:13px;display:flex}.results-sign-in{font:inherit;color:#0f0;cursor:pointer;background:0 0;border:1px solid #0f0;border-radius:6px;padding:4px 12px}#sign-in-gate,#offline-gate{z-index:1000;color:#eee;text-align:center;pointer-events:auto;background:#111;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:fixed;inset:0}#sign-in-gate{background:linear-gradient(#080a0e99,#080a0ee6),url(/test-centers/samezu/background.jpg) 50%/cover no-repeat,#111;justify-content:flex-start;gap:0;padding:0;overflow-y:auto}.sign-in-panel{box-sizing:border-box;text-align:left;width:100%;max-width:960px;padding:32px max(16px, env(safe-area-inset-right,0px)) 16px max(16px, env(safe-area-inset-left,0px));flex-direction:column;flex:1 0 auto;justify-content:center;gap:14px;display:flex}.sign-in-panel h2{letter-spacing:1px;text-shadow:0 2px 12px #0009;font-size:clamp(1.5rem,1rem + 2vw,2.2rem);font-weight:300}.sign-in-panel p{color:#ccc;max-width:68ch;line-height:1.45}.sign-in-panel .sign-in-lead{color:#eee;font-size:1.1rem}.sign-in-media-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;gap:14px;margin-top:8px;display:grid}.sign-in-media{background:#1c2027;border:1px solid #ffffff24;border-radius:12px;width:100%;height:auto;display:block}#sign-in-gate h2,#sign-in-gate p,#offline-gate h2,#offline-gate p{margin:0}html.signed-in-hint #sign-in-gate,#sign-in-gate.hidden,#offline-gate.hidden,.results-note.hidden,.results-save.hidden,.results-sign-in.hidden,#account-setting.hidden{display:none}#penalty-tooltip{color:#000;pointer-events:none;z-index:2500;background:#fff;border:2px solid red;border-radius:5px;padding:10px;font-family:sans-serif;font-size:14px;position:fixed}#results-overlay.hidden,#penalty-tooltip.hidden{display:none}#border-overlay{pointer-events:none;box-sizing:border-box;border:0 solid #0000;transition:border-width .1s,border-color .1s;position:absolute;inset:0}#border-overlay.damage{border-width:25px;border-color:#f009}#border-overlay.success{border-width:25px;border-color:#0f09}#course-score{left:50%;top:max(10px, env(safe-area-inset-top,0px));z-index:1000;pointer-events:none;color:#fff;text-shadow:0 1px 3px #000c;white-space:nowrap;font-size:.95rem;font-weight:700;position:fixed;transform:translate(-50%)}.top-nav-shell{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;grid-template-columns:auto minmax(0,1fr);width:100%;display:grid;position:sticky;top:0;box-shadow:0 6px 16px #00142a29}.top-nav-logo-column{padding:env(safe-area-inset-top,0px) 0 0 env(safe-area-inset-left,0px);background:#e0e6f1;border:1px solid #d3dceb;border-right:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.top-nav{text-align:left;min-width:0;padding:calc(8px + env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) 8px 14px;color:#eee;background:#12141ac7;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:12px;display:flex}.top-nav-logo{object-fit:contain;width:60px;height:60px;max-height:100%;display:block}.top-nav-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.top-nav-account{color:#aaa;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}@media (width<=600px){.top-nav-account{display:none}}.top-nav-pill{appearance:none;box-sizing:border-box;color:#f2f5f9;height:34px;font:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;background:#042141;border:1px solid #9eb0c8;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.top-nav-pill:hover{background:#153154}.top-nav-pill.start-driving{color:#031;background:#0d0;border-color:#0d0}.top-nav-pill.start-driving:hover{background:#3f3;border-color:#3f3}.top-nav-pill:focus-visible{outline-offset:2px;outline:2px solid #0ff}.top-nav-pill[hidden]{display:none}.site-title{min-width:0;margin:0;font-size:16px;font-weight:700;line-height:1.2}.site-title span{text-overflow:ellipsis;white-space:nowrap;vertical-align:top;max-width:100%;display:inline-block;overflow:hidden}.site-footer{box-sizing:border-box;width:100%;max-width:1000px;padding:20px max(16px, env(safe-area-inset-right,0px)) max(20px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));text-align:center;color:#8f98a6;border-top:1px solid #ffffff1f;flex-shrink:0;margin-top:24px;font-size:12px}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:8px;display:flex}.footer-links a{color:#b8c0cc;font-weight:500;text-decoration:none}.footer-links a:hover{color:#3f3;text-decoration:underline}.footer-social{align-items:center;gap:8px;display:inline-flex}.footer-social-link{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.footer-social-link svg{fill:currentColor;width:16px;height:16px;display:block}.footer-links .footer-social-link:hover{text-decoration:none}.footer-separator{color:#4d5667}.footer-copyright{margin:0}#frame-rate{top:max(10px, env(safe-area-inset-top,0px));right:max(12px, env(safe-area-inset-right,0px));z-index:1000;pointer-events:none;color:#9f9;white-space:pre;background:#0000008c;border-radius:6px;padding:3px 8px;font:600 12px/1.4 monospace;position:fixed}#admin-drawer{display:contents}#admin-drawer-tab{display:none}body.mobile-driving #admin-drawer{right:0;top:calc(var(--mirror-side-bottom,140px) + 12px);z-index:1001;max-width:calc(100vw - 40px);transition:transform .2s;display:block;position:fixed;transform:translate(100%)}body.mobile-driving.map-view #admin-drawer{top:calc(env(safe-area-inset-top,0px) + 46px)}@media (orientation:portrait){body.mobile-driving.map-view #admin-drawer{top:calc(env(safe-area-inset-top,0px) + 290px)}}body.mobile-driving #admin-drawer.open{transform:none}body.mobile-driving #admin-drawer-tab{color:#9f9;touch-action:manipulation;pointer-events:auto;background:#0a0c10e6;border:1px solid #ffffff42;border-right:none;border-radius:8px 0 0 8px;place-items:center;width:20px;height:32px;padding:0;font:700 13px/1 system-ui,sans-serif;display:grid;position:absolute;top:0;right:100%}body.mobile-driving #admin-drawer-tab:before{content:"‹"}body.mobile-driving #admin-drawer.open #admin-drawer-tab:before{content:"›"}body.mobile-driving #admin-drawer #frame-rate,body.mobile-driving #admin-drawer #admin-panels{max-height:calc(100vh - var(--mirror-side-bottom,140px) - 60px);position:static}#admin-panels{top:calc(max(10px, env(safe-area-inset-top,0px)) + 30px);right:max(12px, env(safe-area-inset-right,0px));z-index:1001;pointer-events:auto;flex-direction:column;align-items:flex-end;gap:4px;max-height:calc(100vh - 220px);display:flex;position:fixed;overflow-y:auto}.admin-panel{color:#dfe;background:#000000b3;border-radius:6px;padding:4px 8px;font:12px/1.4 system-ui,sans-serif}#tuning-panel[open]{width:324px}#checks-panel[open]{width:180px}.admin-panel summary{cursor:pointer;color:#9f9;font-weight:700}#tuning-panel h4{text-transform:uppercase;letter-spacing:.05em;color:#9cf;margin:8px 0 2px;font-size:11px}#tuning-panel .tp-readout{color:#ffd;margin-top:4px;font-family:monospace}#tuning-panel .tp-row{grid-template-columns:142px 1fr 40px 18px;align-items:center;gap:6px;display:grid}#tuning-panel .tp-row input{width:100%;margin:2px 0}#tuning-panel .tp-value{text-align:right;font-family:monospace}#tuning-panel .tp-reset{color:#fc6;cursor:pointer;background:0 0;border:none;border-radius:3px;width:18px;height:18px;padding:0;font:13px/1 system-ui,sans-serif}#tuning-panel .tp-reset:hover:not(:disabled){background:#ffffff26}#tuning-panel .tp-reset:disabled{color:#fff3;cursor:default}#tuning-panel .tp-changed .tp-label,#tuning-panel .tp-changed .tp-value,#checks-panel .tp-changed{color:#fc6}.admin-panel .tp-buttons{gap:6px;margin:8px 0 4px;display:flex}.admin-panel .tp-buttons button{color:inherit;font:inherit;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;flex:1;padding:3px 0}#checks-panel .cp-row{cursor:pointer;align-items:center;gap:6px;display:flex}#help-modal{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:all;touch-action:manipulation;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}#help-modal.hidden{display:none}.modal-content{-webkit-overflow-scrolling:touch;color:#efefef;box-sizing:border-box;background:#141419e6;border:1px solid #ffffff1a;border-radius:20px;width:90%;max-width:800px;max-height:min(92vh,920px);padding:40px;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080}.modal-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.modal-header h2{letter-spacing:1px;flex:1;min-width:0;margin:0;padding-right:12px;font-weight:300}.help-close-x{color:#eee;cursor:pointer;touch-action:manipulation;background:#2a2a2e;border:1px solid #555;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-size:1.75rem;line-height:1;display:flex}.help-close-x:active{color:#0f0;border-color:#0f0}.keyboard-layout{background:#0000004d;border-radius:12px;flex-direction:column;gap:10px;margin-bottom:40px;padding:20px;display:flex}.kbd-row{gap:8px;display:flex}.kbd-row-2{margin-left:1.5rem}.kbd-row-3{margin-left:3rem}.kbd-row-4{justify-content:center;margin-top:1rem}.key{background:#111;border:1px solid #333;border-radius:6px;justify-content:center;align-items:center;min-width:50px;height:50px;font-family:monospace;transition:all .1s;display:flex;position:relative}.key.active{outline-offset:2px;background:#1a1a1a;border-color:#0f0;outline:2px solid #0f0}.key .letter{color:#888;font-size:.7rem;font-weight:700;position:absolute;top:4px;left:6px}.key.active .letter{color:#0f0}.key .label{color:#0f0;text-transform:uppercase;text-align:center;pointer-events:none;padding:0 4px;font-size:.75rem;font-weight:700;line-height:1}.key.wide{min-width:150px}.key.mid{min-width:100px}.settings-layout{margin-top:28px}.settings-layout h3{letter-spacing:1.5px;text-transform:uppercase;color:#888;margin:0 0 10px 4px;font-size:.75rem;font-weight:600}.settings-list{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;overflow:hidden}.setting-item{box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:8px 16px;display:flex}.setting-item+.setting-item{border-top:1px solid #ffffff12}.setting-item span{color:#e6e6e6;font-size:.95rem}.switch{cursor:pointer;touch-action:manipulation;background:#3a3a3e;border:1px solid #ffffff2e;border-radius:999px;flex:none;width:50px;height:30px;padding:0;transition:background .15s,border-color .15s;position:relative}.switch:before{content:"";background:#d8d8d8;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:#0a0;border-color:#0c0}.switch[aria-checked=true]:before{background:#fff;transform:translate(20px)}.switch:focus-visible,.setting-select:focus-visible,.link-button:focus-visible,.help-close-btn:focus-visible{outline-offset:2px;outline:2px solid #0ff}.setting-select{appearance:none;font:inherit;color:#eee;cursor:pointer;touch-action:manipulation;background:#2a2a2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ccc' stroke-width='1.6'/%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #4a4a4e;border-radius:8px;min-width:132px;min-height:36px;padding:6px 34px 6px 12px;font-size:.9rem}.setting-select:hover{background-color:#3a3a3e;border-color:#0f0}.setting-select option{color:#eee;background:#2a2a2e}.modal-footer{border-top:1px solid #ffffff14;flex-direction:column;align-items:stretch;gap:14px;margin-top:28px;padding-top:20px;display:flex}#account-setting{align-items:baseline;gap:12px;min-width:0;display:flex}#account-label{text-overflow:ellipsis;white-space:nowrap;color:#aaa;min-width:0;font-size:.9rem;overflow:hidden}.link-button{color:#9ee;font:inherit;text-underline-offset:3px;cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:none;padding:4px 0;font-size:.9rem;text-decoration:underline}.link-button:hover{color:#0ff}.help-footer-buttons{justify-content:space-between;gap:12px;display:flex}@media (width<=600px){.help-footer-buttons>.help-close-btn{flex:1;padding-inline:12px}#account-setting{justify-content:center}}.help-close-btn{color:#eee;cursor:pointer;letter-spacing:.04em;touch-action:manipulation;background:#2a2a2e;border:1px solid #555;border-radius:12px;min-height:48px;padding:12px 32px;font-size:1rem;font-weight:600}.help-close-btn:hover{color:#0f0;border-color:#0f0}.help-mobile-tips{color:#ccc;background:#00000059;border:1px solid #ffffff14;border-radius:12px;margin-bottom:24px;padding:16px 18px;font-size:.95rem;line-height:1.55;display:none}.help-mobile-tips p{margin:0 0 10px}.help-mobile-tips p:last-child{margin-bottom:0}.help-mobile-lead{color:#fff;letter-spacing:.04em;font-size:1.05rem}body.mobile-driving .help-mobile-tips{display:block}body.mobile-driving .keyboard-layout,html:not(.ui-debug) .key[data-key=KeyU] .label,#driving-mode-setting,#lane-assist-setting,#round-pedal-setting{display:none}html.ui-debug body.mobile-driving #round-pedal-setting{display:flex}.help-mobile-tips .setting-item{margin-bottom:10px}.pad-fit{grid-template-columns:auto 1fr 1fr;align-items:center;gap:10px;margin-bottom:10px;display:grid}.pad-fit-name{color:#fff;font-weight:700}.pad-fit label{color:#c8ced4;flex-direction:column;gap:2px;font-size:.8rem;display:flex}.pad-fit input[type=range]{touch-action:pan-x;width:100%}.help-mobile-tips .pad-fit-hint{color:#9aa0a6;font-size:.8rem}#help-fullscreen-tip,#fullscreen-setting{display:none}html.can-fullscreen #fullscreen-setting{display:flex}html.fullscreen-via-home-screen #help-fullscreen-tip{display:block}html.ui-debug:not(.mobile-client) #driving-mode-setting,html.ui-debug #lane-assist-setting{display:flex}body.mobile-driving,html.mobile-driving{touch-action:none;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}#mobile-driving-layer{--md-fill:#0a0c10f2;--md-edge:#ffffff52;--md-lit:#2cff5c;z-index:1100;pointer-events:none;position:fixed;inset:0}#mobile-top-actions{top:calc(env(safe-area-inset-top,0px) + 6px);right:calc(env(safe-area-inset-right,0px) + 8px);pointer-events:none;gap:4px;display:flex;position:fixed}.md-icon{color:#f4fff4;filter:drop-shadow(0 2px 3px #0000008c)drop-shadow(0 0 10px #00000073);pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#0a0c10e6;border:1px solid #ffffff42;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;display:grid;position:relative}.md-icon:after{content:"";position:absolute;inset:-6px}.md-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:17px;height:17px}.md-icon:active{transform:scale(.94)}#md-map .md-driver-icon,#md-map.driver-view .md-map-icon{display:none}#md-map.driver-view .md-driver-icon{display:block}#md-map.driver-view{border-color:var(--md-lit);color:var(--md-lit)}body.help-modal-open #mobile-driving-layer.previewing{z-index:10001}#mobile-driving-layer.previewing #mobile-top-actions,#mobile-driving-layer.previewing .md-readout{display:none}.md-pad,.md-pad *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.md-pad{pointer-events:none;filter:drop-shadow(0 3px 4px #000000d9)drop-shadow(0 0 16px #000000b3);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.md-pad .shape{pointer-events:visiblePainted;touch-action:none;fill:var(--md-fill);stroke:var(--md-edge);stroke-width:1.5px}.md-pad .label{pointer-events:none;fill:#e4e8ec;font:800 13px system-ui,sans-serif}.md-pad .icon{pointer-events:none;fill:none;stroke-width:3px;stroke-linecap:round}.md-pad .arrow{pointer-events:none;fill:#f4fff4}.md-pad .arrow-line{pointer-events:none;fill:none;stroke:#f4fff4;stroke-width:3.5px;stroke-linecap:round}.md-pad .steer.held .arrow-line{stroke:var(--md-lit)}.md-pad .pedal.gas .shape{stroke:#4cd97bd9}.md-pad .pedal.brake .shape{stroke:#ff6b5ad9}.md-pad .pedal.gas .icon{stroke:#4cd97b}.md-pad .pedal.brake .icon{stroke:#ff6b5a}.md-pad .pedal.gas.held .shape{fill:#1e5a34f7}.md-pad .pedal.brake.held .shape{fill:#6e221cf7}.md-pad .gear.selected .shape{fill:#185028f7;stroke:#4cff7a}.md-pad .gear.selected .label{fill:#4cff7a}.md-pad .handbrake.engaged .shape{fill:#5a0c0cf7;stroke:#ff3b30}.md-pad .handbrake .label{fill:#c8ced4}.md-pad .handbrake.engaged .label{fill:#ff3b30}.md-pad .zone.hover .shape{fill:#464a52f7;stroke:#fff}.md-pad .steer.held .shape{fill:#185028f7;stroke:var(--md-lit)}.md-pad .steer.held .arrow{fill:var(--md-lit)}.md-pad .signal .shape{stroke:#6edc9680}.md-pad .signal .arrow{fill:#9ef0b8}.md-pad .signal.lit .shape{fill:#1e7838f7;stroke:var(--md-lit)}.md-pad .signal.lit .arrow{fill:var(--md-lit)}.md-readout,body.mobile-driving.map-view:not(.tutorial-mode) #course-score{--readout-r:27px;width:calc(2 * var(--readout-r));height:calc(2 * var(--readout-r));color:#fff;text-shadow:0 0 6px #000,0 1px 2px #000;pointer-events:none;background:radial-gradient(circle,#000000f0 0 46%,#000000b3 60%,#0000 71%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:fixed;transform:translate(-50%,-50%)}.md-readout b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.md-readout span{letter-spacing:.04em;color:#d8dde2;margin-top:2px;font-size:10px;font-weight:700}body:not(.map-view) .md-readout{--readout-r:max(34px, var(--speedo-r,34px));left:var(--speedo-x,50%);top:var(--speedo-y,80%)}body:not(.map-view) .md-readout b{font-size:30px}body:not(.map-view) .md-readout span{font-size:11px}body.map-view .md-readout{left:var(--readout-gap-x,50%);top:var(--readout-y,90%)}body.map-view:not(.tutorial-mode) .md-readout{left:calc(var(--readout-gap-x,50%) - 28px)}#course-next .step-name{color:#0ff}#course-next .nav-arrow{vertical-align:.02em;filter:drop-shadow(0 0 4px #0000008c)drop-shadow(0 1px 1px #000);width:.85em;height:.85em;margin:0 .35em 0 .15em;display:inline-block;transform:rotate(35deg)}#course-next .nav-arrow:before{content:"";background:currentColor;width:100%;height:100%;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='4.5 2 15 19'%3E%3Cpath d='M12 2 4.5 20.29l.71.71L12 18l6.79 3 .71-.71z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='4.5 2 15 19'%3E%3Cpath d='M12 2 4.5 20.29l.71.71L12 18l6.79 3 .71-.71z'/%3E%3C/svg%3E") 50%/contain no-repeat}#course-steps{right:max(10px, env(safe-area-inset-right,0px));top:calc(max(10px, env(safe-area-inset-top,0px)) + 7rem);z-index:1000;color:#fff;pointer-events:none;background:#0000008c;border-radius:8px;max-height:calc(100% - 8.5rem);padding:8px 12px;font-size:.85rem;line-height:1.45;display:none;position:fixed;overflow-y:auto}#course-steps.visible{display:block}#course-steps-title{margin-bottom:4px;font-weight:800}#course-steps-list{margin:0;padding-left:22px}body.mobile-driving #course-steps{padding:6px 10px;line-height:1.35}body.mobile-driving #course-steps-list{overscroll-behavior:contain;touch-action:pan-y;pointer-events:auto;scrollbar-width:none;max-height:6.075em;padding:2.3625em 0 2.3625em 20px;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}body.mobile-driving #course-steps-list::-webkit-scrollbar{display:none}#course-steps-list li.done{opacity:.45}#course-steps-list li.passed{color:#0f0}#course-steps-list li.current{color:#0ff;font-weight:700}body.tutorial-mode #course-steps-list li:not(.done,.passed,.current){color:#a8eaf0}#course-header{left:50%;top:calc(max(10px, env(safe-area-inset-top,0px)) + 1.5rem);z-index:1000;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;transform:translate(-50%)}#course-next{pointer-events:none;color:#fff;text-shadow:0 0 10px #0000008c,0 1px 2px #000;letter-spacing:-.3px;text-align:center;text-wrap:balance;max-width:calc(56vw - 24px);font-size:1.35rem;font-weight:800}#course-mode{display:none}body.mobile-driving.on-course #course-mode{left:calc(env(safe-area-inset-left,0px) + 10px);top:calc(env(safe-area-inset-top,0px) + 8px);z-index:1000;color:#fff;white-space:nowrap;text-shadow:0 0 10px #0009,0 1px 2px #000;pointer-events:none;font-weight:800;line-height:1.15;display:block;position:fixed}#course-mode .mode{letter-spacing:.09em;text-transform:uppercase;color:#d8dde2;font-size:10.5px}#course-mode .course{font-size:15px}body.mobile-driving #course-header{top:calc(var(--mirror-rear-bottom,44px) + 8px)}body.mobile-driving #course-next .course-name{display:none}body.mobile-driving #course-header .tutorial-controls{order:-1}body.mobile-driving.on-course #toast{top:calc(var(--mirror-side-bottom,140px) + 10px)}@media (orientation:portrait){body.mobile-driving.on-course.map-view #toast{top:calc(env(safe-area-inset-top,0px) + 326px)}}@media (orientation:landscape){body.mobile-driving.on-course.map-view #toast{top:calc(env(safe-area-inset-top,0px) + 52px);left:calc(env(safe-area-inset-left,0px) + 260px)}}@media (orientation:portrait){body.mobile-driving #course-next{width:calc(42vw - 12px);max-width:none;font-size:1rem;line-height:1.25}}body.mobile-driving #course-score{left:var(--wheel-top-x,50%);top:calc(var(--wheel-top-y,70%) - 34px);background:#0a0c10d1;border-radius:13px;padding:3px 11px;font-size:14px;font-weight:800}body.mobile-driving.tutorial-mode #course-score{display:none}body.mobile-driving.map-view:not(.tutorial-mode) #course-score{left:calc(var(--readout-gap-x,50%) + 28px);top:var(--readout-y,90%);font-variant-numeric:tabular-nums;padding:0;font-size:22px}body.mobile-driving.map-view #course-score .score-label{display:none}body.mobile-driving.map-view:not(.tutorial-mode) #course-score:after{content:"score";letter-spacing:.04em;color:#d8dde2;margin-top:2px;font-size:10px;font-weight:700}body.mobile-driving.map-view #course-header{display:none}#tutorial-controls-map{z-index:1000;display:none;position:fixed}body.mobile-driving.map-view #tutorial-controls-map:not(.hidden){display:flex}body.mobile-driving #course-steps-title{display:none}body.mobile-driving #course-steps{top:calc(env(safe-area-inset-top,0px) + 52px);font-size:.85rem}@media (orientation:portrait){body.mobile-driving #tutorial-controls-map{top:calc(env(safe-area-inset-top,0px) + 6px);left:50%;transform:translate(-50%)}body.mobile-driving #course-steps{left:calc(env(safe-area-inset-left,0px) + 10px);right:calc(env(safe-area-inset-right,0px) + 10px)}body.mobile-driving #course-steps-list{max-height:186px}}@media (orientation:landscape){body.mobile-driving #tutorial-controls-map{top:calc(env(safe-area-inset-top,0px) + 8px);left:calc(env(safe-area-inset-left,0px) + 250px);transform:translate(-100%)}body.mobile-driving #course-steps{left:calc(env(safe-area-inset-left,0px) + 10px);box-sizing:border-box;width:240px;right:auto}body.mobile-driving #course-steps-list{box-sizing:border-box;max-height:calc(var(--left-pad-top,220px) - env(safe-area-inset-top,0px) - 52px - 24px);padding-top:1.35em;padding-bottom:1.35em}}#examiner-caption{color:#fff;text-align:center;width:max-content;max-width:calc(100% - 32px);font:inherit;cursor:pointer;opacity:0;pointer-events:none;background:#0009;border:none;border-radius:10px;padding:8px 18px;transition:opacity .4s;position:absolute;top:150px;left:50%;transform:translate(-50%)}#examiner-caption.visible{opacity:1;pointer-events:auto}#examiner-caption .ja{font-size:clamp(1.1rem,.9rem + 1vw,1.6rem);font-weight:700;display:block}#examiner-caption .en{opacity:.8;margin-top:2px;font-size:clamp(.8rem,.7rem + .4vw,1rem);display:block}body:not(.on-course) #examiner-caption{display:none}body.mobile-driving.on-course #examiner-caption{top:calc(var(--mirror-side-bottom,140px) + 44px)}#landing-menu{z-index:20000;-webkit-overflow-scrolling:touch;pointer-events:auto;color:#eee;background:linear-gradient(180deg, #080a0e8c 0%, #080a0ee0 70%), var(--landing-background,none) center / cover no-repeat, radial-gradient(circle at 30% 20%, #2a3340, #0b0d11 70%);flex-direction:column;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}#landing-menu.hidden,body:not(.on-course) #mobile-driving-layer{display:none}body:not(.on-course) #course-score,body:not(.on-course) #course-next,body:not(.on-course) #tutorial-controls,body:not(.on-course) #toast,body:not(.on-course) #rear-mirror-frame,body:not(.on-course) #side-mirror-frame,body:not(.on-course) #right-side-mirror-frame{visibility:hidden}.landing-panel{box-sizing:border-box;width:100%;max-width:1000px;padding:24px max(16px, env(safe-area-inset-right,0px)) 0 max(16px, env(safe-area-inset-left,0px))}.landing-section{min-width:0;margin-bottom:18px}.landing-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0 16px;display:grid}@media (width<=720px){.landing-row{grid-template-columns:minmax(0,1fr)}}.landing-section h2{letter-spacing:1.5px;text-transform:uppercase;color:#bbb;align-items:center;gap:10px;margin:0 0 10px;font-size:.85rem;font-weight:600;display:flex}.landing-step{color:#fff;letter-spacing:0;background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;display:inline-flex}.landing-options{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;display:grid}.landing-courses{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px;display:grid}.landing-option,.landing-course{font:inherit;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#12141ac7;border:1px solid #ffffff24;border-radius:12px;transition:border-color .15s,background .15s,transform .15s}.landing-option{flex-direction:column;gap:4px;min-height:64px;padding:14px 16px;display:flex}.landing-option-name,.landing-course-name{font-size:1.05rem;font-weight:700}.landing-option-detail{color:#aaa;font-size:.85rem;line-height:1.35}.landing-course{flex-direction:column;gap:6px;padding:8px 8px 12px;display:flex}.landing-course-name{padding:0 6px}.landing-course-picture{aspect-ratio:16/10;background:#1c2027;border-radius:8px;overflow:hidden}.landing-course-picture img{width:100%;height:100%;display:block}.landing-option:hover,.landing-course:hover{border-color:#00ff008c}.landing-option.picked,.landing-course.picked{background:#0a280ed1;border-color:#0f0;box-shadow:inset 0 0 0 1px #0f0}.landing-option.locked,.landing-course.locked{cursor:default;opacity:.6;border-color:#ffffff24}.landing-tag{color:#ddd;background:#ffffff24;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:.75rem;font-weight:700}.landing-preview{color:#cfc;background:#78dc7833}.landing-course .landing-tag{margin:0 6px}.landing-option:focus-visible,.landing-course:focus-visible,.landing-start:focus-visible{outline-offset:2px;outline:2px solid #0ff}.landing-footer{padding:14px 0 max(4px, env(safe-area-inset-bottom,0px));flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex;position:sticky;bottom:0}.landing-start{font:inherit;color:#031;letter-spacing:.5px;cursor:pointer;touch-action:manipulation;background:#0d0;border:none;border-radius:12px;min-width:180px;min-height:52px;padding:12px 36px;font-size:1.1rem;font-weight:800}.landing-start:hover:not(:disabled){background:#3f3}.landing-start:disabled{color:#9aa;cursor:default;background:#355}.landing-status{color:#aaa;margin:0;font-size:.9rem}.tutorial-controls{pointer-events:auto;gap:8px;display:flex}.tutorial-controls.hidden{display:none}@media (width<=600px){#course-next{text-align:center;white-space:normal;width:calc(100vw - 230px);font-size:1rem;line-height:1.25}.tutorial-button{width:38px;height:38px}}.tutorial-button{color:#fff;cursor:pointer;touch-action:manipulation;background:#0000008c;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.tutorial-button svg{fill:currentColor;width:22px;height:22px}.tutorial-button:hover{border-color:#0ff}.tutorial-button:disabled{opacity:.4;cursor:progress;border-color:#ffffff4d}.tutorial-button[aria-pressed=true]{color:#0f0;border-color:#0f0}.tutorial-button.active{color:#0ff;background:#003c3c99;border-color:#0ff}body.mobile-driving .tutorial-controls{gap:4px}body.mobile-driving .tutorial-button{filter:drop-shadow(0 2px 3px #0000008c)drop-shadow(0 0 10px #00000073);background:#0a0c10e6;width:32px;height:32px}body.mobile-driving .tutorial-button svg{width:17px;height:17px}body.tutorial-mode #toast{top:calc(max(10px, env(safe-area-inset-top,0px)) + 7rem)}.results-actions{justify-content:center;gap:10px;margin-top:10px;display:flex}.results-restart,.results-menu{white-space:nowrap;font:inherit;cursor:pointer;touch-action:manipulation;border-radius:8px;padding:8px 16px;font-size:15px}.results-restart{color:#031;background:#0d0;border:1px solid #0f0;font-weight:700}.results-menu{color:#eee;background:0 0;border:1px solid #777}.footer-link-button{color:#b8c0cc;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:500}.footer-link-button:hover{color:#3f3;text-decoration:underline}#feedback-dialog{color:#efefef;pointer-events:auto;background:#141419f2;border:1px solid #ffffff1a;border-radius:20px;width:min(480px,100% - 32px);padding:0;box-shadow:0 25px 50px -12px #00000080}#feedback-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3}.feedback-panel{flex-direction:column;gap:10px;padding:24px;display:flex;position:relative}.feedback-panel .help-close-x{width:36px;height:36px;font-size:1.4rem;position:absolute;top:16px;right:16px}.feedback-form{flex-direction:column;gap:10px;display:flex}.feedback-panel h2{margin:0 48px 0 0;font-size:1.25rem}.feedback-description{color:#aaa;margin:0 0 4px;font-size:.875rem;line-height:1.45}.feedback-input{box-sizing:border-box;color:#eee;width:100%;font:inherit;background:#2a2a2e;border:1px solid #4a4a4e;border-radius:12px;padding:10px 12px;font-size:.9rem}.feedback-input:focus{border-color:#0f0;outline:none}textarea.feedback-input{resize:vertical}.feedback-status{min-height:1.2em;margin:0;font-size:.85rem}.feedback-status[data-tone=error]{color:#f66}.feedback-status[data-tone=success]{color:#3f3}.feedback-actions{justify-content:flex-end;gap:8px;display:flex}.feedback-submit{border-color:#0f0}.feedback-submit:disabled{opacity:.6;cursor:not-allowed}
