:root{--sa-top:env(safe-area-inset-top,0px);--sa-right:env(safe-area-inset-right,0px);--sa-bottom:env(safe-area-inset-bottom,0px);--sa-left:env(safe-area-inset-left,0px)}:root.landscape-frame{--sa-top:0px;--sa-right:0px;--sa-bottom:0px;--sa-left:0px}.forced-landscape-stage{position:fixed;inset:0;z-index:2147483000;background:#b4e5f0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.forced-landscape-area{position:relative;width:100%;height:100%;overflow:hidden}@font-face{font-family:Fredoka;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/trafficlife/fonts/fredoka-400-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Silkscreen;font-style:normal;font-weight:400;font-display:swap;src:url(/trafficlife/fonts/silkscreen-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Silkscreen;font-style:normal;font-weight:700;font-display:swap;src:url(/trafficlife/fonts/silkscreen-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Fredoka,Trebuchet MS,system-ui,sans-serif;color:#27303f;background:#b4e5f0;font-synthesis:none;--ink:#27303f;--paper:#fff8e6;--yellow:#f7cf52;--teal:#368c82;--red:#dc7971;--muted:#64767c;--shadow:4px 5px 0 #27303f}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;filter:saturate(.45);opacity:.7}button:focus-visible,input:focus-visible{outline:4px solid #ec8751;outline-offset:4px}button:not(:disabled):active{transform:translate(2px,3px);box-shadow:1px 1px 0 var(--ink)}button svg{flex-shrink:0}h1,h2,h3,p{margin:0}svg{stroke-width:2.2}.traffic-app{width:100%;height:100dvh;position:relative;isolation:isolate;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.traffic-app *{-webkit-touch-callout:none}.world-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;z-index:-2}.at-home:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#b4e5f085,transparent 55%),linear-gradient(0deg,#1a343544,transparent 50%);z-index:-1;pointer-events:none}.cartoon-panel{border:3px solid var(--ink);border-radius:15px;background:var(--paper);box-shadow:var(--shadow)}.game-header{position:absolute;top:24px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;z-index:2;pointer-events:none}.game-header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;font-weight:700;line-height:.92;letter-spacing:-1.2px;font-size:25px;color:var(--ink)}.brand-icon{font-size:30px;background:var(--paper);border:3px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);width:58px;height:58px;display:grid;place-items:center;transform:rotate(-5deg)}.brand>span:nth-child(2)>span{display:block;color:#347a80;letter-spacing:1px}.brand small{font-family:Silkscreen,monospace;font-size:6px;font-weight:400;letter-spacing:0;margin-top:8px;display:block}.brand>b{align-self:flex-start;background:var(--yellow);font-size:11px;letter-spacing:0;padding:6px 7px;border:2px solid var(--ink);border-radius:5px;margin-top:1px;transform:rotate(8deg);box-shadow:2px 2px 0 var(--ink)}.header-buttons{display:flex;align-items:center;gap:10px}.square-button{width:43px;height:43px;display:grid;place-items:center;background:var(--paper);border:3px solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink);padding:0}.square-button:hover{background:#fff0c2}.yellow{background:var(--yellow)!important}.teal{background:var(--teal)!important;color:#fff9e5!important}.paper{background:var(--paper)!important}.save-indicator{font-size:12px;color:#3c5560;background:#f9f4e4cf;padding:7px 11px;border:2px solid #27303f66;border-radius:8px;margin-right:5px}.home-screen{height:100%;position:relative}.hero-copy{position:absolute;top:140px;left:max(55px,calc((100vw - 1300px)/2));max-width:430px;pointer-events:none}.sticker{display:inline-block;background:var(--paper);border:2px solid var(--ink);border-radius:7px;font-size:10px;font-weight:600;letter-spacing:.7px;padding:8px 11px;box-shadow:3px 3px #27303f;transform:rotate(-2deg)}.hero-copy h1{font-size:64px;letter-spacing:-1px;line-height:.99;font-weight:700;color:#fff8e2;margin:18px 0 17px;-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:5px 6px 0 var(--ink)}.hero-copy h1>span{color:var(--yellow)}.hero-subtitle{font-size:16px;line-height:1.6;max-width:380px;background:#fff8e6e8;border:2px solid #27303f8c;border-radius:10px;padding:9px 13px;transform:rotate(-1deg)}.world-tag{font-family:Silkscreen,monospace;font-size:8px;letter-spacing:-.3px;color:#355c58;margin-top:18px;display:flex;gap:6px;align-items:center}.world-tag>span{width:7px;height:7px;background:#3e9f6c;border-radius:50%;box-shadow:0 0 0 3px #fff8e675}.scene-location{position:absolute;right:45px;top:128px;display:flex;align-items:center;gap:10px;padding:11px 15px;transform:rotate(2deg)}.scene-location b{display:block;font-size:11px;letter-spacing:.6px}.scene-location small{display:block;font-size:10px;margin-top:3px;color:#7c897d}.weather-emoji{font-size:25px;border-left:1px dashed #b3b2a0;padding-left:14px;margin-left:6px}.role-picker{position:absolute;bottom:75px;left:50%;transform:translate(-50%);width:min(960px,calc(100vw - 70px))}.picker-label{text-align:center;margin-bottom:15px}.picker-label>span{display:inline-block;font-family:Silkscreen,monospace;font-size:10px;color:var(--paper);text-shadow:2px 2px var(--ink),-1px -1px var(--ink),1px -1px var(--ink),-1px 1px var(--ink);letter-spacing:1px}.picker-label small{font-size:11px;color:#fffcec;display:block;margin-top:8px;text-shadow:1px 2px 0 #27303f}.role-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.role-card{position:relative;display:flex;align-items:center;gap:16px;text-align:left;background:var(--paper);border:3px solid var(--ink);border-radius:19px;box-shadow:5px 6px #27303f;padding:20px 24px 20px 13px;overflow:hidden;min-height:185px;transition:transform .2s,background .2s}.role-card:hover{transform:translateY(-4px);background:#fffbed}.role-card.chosen{background:#fff3c1;box-shadow:5px 6px 0 var(--ink),0 0 0 4px #ffdf73}.role-art{position:relative;width:112px;flex-shrink:0;align-self:flex-end}.role-art:before{content:"";position:absolute;inset:10px -3px 8px;background:#d1e9ed;border:2px dashed #aacbd0;border-radius:50%;z-index:0}.learner .role-art:before{background:#f4dcb7;border-color:#e1bb88}.character-art{width:100%;height:auto;display:block;position:relative}.art-sticker{position:absolute;bottom:12px;right:-8px;width:32px;height:32px;background:#fff8e6;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:18px;transform:rotate(10deg)}.role-content{flex:1;min-width:0}.role-badge{display:inline-block;background:#d2e8ec;color:#37627c;font-family:Silkscreen,monospace;font-size:6px;padding:6px 7px;border-radius:4px;border:1px solid #79a6ba;margin-bottom:9px;white-space:nowrap}.learner .role-badge{background:#f4e0b2;color:#98683e;border-color:#d8b575}.role-card h2{font-size:27px;line-height:1.1;font-weight:700;letter-spacing:-.6px}.role-card p{font-size:12px;line-height:1.55;color:#647277;margin:9px 0 12px}.role-features{display:flex;gap:11px;color:#638177;font-size:10px}.role-features>span{display:flex;gap:4px;align-items:center}.choose-check{position:absolute;top:12px;right:12px;width:23px;height:23px;border:2px solid var(--ink);border-radius:50%;background:#fffdf0;display:grid;place-items:center}.chosen .choose-check{background:var(--yellow)}.commit-row{background:var(--paper);border:3px solid var(--ink);border-radius:13px;box-shadow:4px 5px #27303f;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 13px;margin:17px auto 0;max-width:680px}.career-summary{display:flex;align-items:center;gap:10px;font-size:12px;color:#618073}.career-summary svg{color:#b39a48}.career-summary b{font-size:13px;font-weight:600;display:block;color:#3e5356}.career-summary small{display:block;font-size:10px;margin-top:4px}.cartoon-button{display:flex;align-items:center;justify-content:center;gap:10px;border:3px solid var(--ink);border-radius:11px;box-shadow:3px 4px 0 var(--ink);padding:12px 19px;min-height:48px;font-size:15px;font-weight:600;line-height:1.25;background:var(--paper);transition:filter .15s,transform .15s}.cartoon-button:hover:not(:disabled){filter:brightness(1.04)}.commit-button{min-width:265px;font-size:17px;white-space:nowrap}.home-footer{position:absolute;bottom:18px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f8f8e5;font-size:10px;text-shadow:1px 1px #263b36}.home-footer button{display:flex;align-items:center;gap:5px;background:var(--paper);border:2px solid var(--ink);border-radius:7px;box-shadow:2px 2px 0 var(--ink);padding:8px 10px;min-height:35px;font-size:10px;color:var(--ink)}.player-hud{position:absolute;top:107px;left:28px;width:224px;padding:12px 14px;z-index:1}.hud-role{display:flex;align-items:center;gap:9px}.hud-role>span{font-size:31px}.hud-role small{font-family:Silkscreen;font-size:8px;color:#7e8b89;display:block;margin-bottom:4px}.hud-role b{font-size:18px;font-weight:600}.hud-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;font-size:11px;color:#7c8170}.hud-stats>span{display:flex;align-items:center;gap:5px}.hud-stats b{color:#42535b;font-size:14px}.hud-progress{height:6px;background:#e5e2ca;border:1.5px solid #aab5a2;border-radius:4px;margin-top:11px}.hud-progress i{display:block;height:100%;background:#67b39a;border-radius:4px;transition:width .3s}.world-side{position:absolute;right:29px;top:107px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.minimap{position:relative;width:136px;height:145px;border-radius:13px;overflow:hidden}.minimap>svg{display:block;width:100%;height:120px}.minimap>span{display:block;position:absolute;bottom:0;left:0;right:0;background:var(--paper);font-family:Silkscreen,monospace;font-size:7px;text-align:center;padding:6px 0;border-top:2px solid var(--ink)}.map-camera{width:35px;height:35px;border-width:2px;box-shadow:2px 2px 0 var(--ink)}.mission-card{position:absolute;top:245px;left:28px;width:310px;padding:12px 13px;z-index:1}.mission-toggle{border:0;padding:0;display:flex;align-items:center;gap:9px;background:transparent;text-align:left;width:100%}.mission-number{width:31px;height:33px;display:grid;place-items:center;font-size:18px;font-weight:700;background:var(--yellow);border:2px solid var(--ink);border-radius:8px;flex-shrink:0}.mission-toggle>span:nth-child(2){flex:1}.mission-toggle small{font-family:Silkscreen,monospace;font-size:6px;color:#89917e;display:block;margin-bottom:5px}.mission-toggle b{font-size:14px;font-weight:600}.mission-distance{display:flex;align-items:center;gap:1px;font-size:12px;color:#889381}.expanded .mission-distance svg{transform:rotate(90deg)}.mission-card>p{font-size:12px;color:#7b8275;line-height:1.5;margin-top:10px}.objectives{list-style:none;margin:11px 0 0;padding:11px 0 0;border-top:2px dashed #d6d5bd;display:flex;flex-direction:column;gap:9px}.objectives li{display:flex;align-items:center;gap:7px;font-size:11px;color:#9d9e8c}.objectives li>span{width:20px;height:20px;border:1.5px solid #c5c8b4;background:#efefdd;display:grid;place-items:center;border-radius:5px;font-size:9px}.objectives .current{color:#667f6c;font-weight:600}.objectives .done{color:#5b9c78}.objectives .done>span{background:#cee7bf}.radio-message{position:absolute;bottom:172px;left:50%;transform:translate(-50%);width:min(480px,calc(100% - 50px));padding:10px 13px;display:flex;align-items:center;gap:9px;border-width:2px;border-radius:10px;box-shadow:3px 3px #27303f80;background:#fff8e6e8;pointer-events:none}.radio-message svg{color:#598f88;flex-shrink:0}.radio-message p{font-size:12px;line-height:1.4;color:#617c74}.game-controls{position:absolute;bottom:28px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.game-controls>*{pointer-events:auto}.walking-control{display:flex;flex-direction:column;align-items:center;gap:10px}.walking-control>span,.driving-steering>span,.driving-pedals>span{font-family:Silkscreen,monospace;font-size:8px;color:var(--paper);text-shadow:1px 2px 0 #27303f}.joystick{width:119px;height:119px;position:relative;touch-action:none;border:3px solid #27303f9c;background:#fff8e677;border-radius:50%;box-shadow:3px 4px #27303f48;user-select:none}.joystick>svg{position:absolute;color:#405b6175;pointer-events:none}.joy-up{top:8px;left:calc(50% - 8px)}.joy-down{bottom:8px;left:calc(50% - 8px)}.joy-left{left:8px;top:calc(50% - 8px)}.joy-right{right:8px;top:calc(50% - 8px)}.joystick-knob{position:absolute;top:calc(50% - 24px);left:calc(50% - 24px);width:48px;height:48px;display:block;background:var(--paper);border:3px solid var(--ink);border-radius:50%;box-shadow:2px 3px #27303f77;pointer-events:none}.context-control{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.interact-button{min-width:220px;padding:15px 20px;justify-content:flex-start}.interact-button>span{font-size:17px}.interact-button small{display:block;font-size:10px;font-weight:400;margin-top:4px}.keyboard-hint{font-size:9px;color:#fff6df;text-shadow:1px 1px #27303f}.speedometer{position:absolute;bottom:232px;right:30px;width:111px;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 8px;flex-wrap:wrap}.speedometer svg{color:#6e8a7f}.speedometer b{font-family:Silkscreen,monospace;font-size:25px}.speedometer small{font-size:9px;color:#9a9d84}.speedometer>span{position:absolute;top:-9px;right:-8px;width:21px;height:21px;background:#f5ce63;border:2px solid var(--ink);border-radius:5px;font-size:12px;display:grid;place-items:center}.driving-steering>div,.driving-pedals>div{display:flex;gap:12px;margin-top:10px}.driving-steering>span,.driving-pedals>span{display:block;text-align:center}.hold-button{border:3px solid var(--ink);border-radius:15px;background:var(--paper);box-shadow:4px 4px 0 var(--ink);height:86px;width:79px;display:flex;flex-direction:column;justify-content:center;align-items:center;touch-action:none;user-select:none;gap:6px}.hold-button.held{transform:translate(2px,3px);box-shadow:1px 1px 0 var(--ink);background:#f2d06a}.hold-button.accelerator{background:#a4d89b;height:100px}.hold-button.brake{background:#f0a087;height:100px}.hold-button.reverse{background:#d8e5dd;width:56px;align-self:flex-end;height:69px}.hold-button>span{font-size:32px;font-weight:600;line-height:.7}.hold-button small{font-family:Silkscreen;font-size:7px}.recover-button{background:#fff8e6db;border:2px solid var(--ink);border-radius:7px;font-size:10px;margin-top:11px;padding:7px 9px;box-shadow:2px 2px #27303f99;width:100%}.recover-button small{font-size:8px;color:#986b5a;margin-left:4px}.prepare-prompt{margin:auto;padding:14px 16px;display:flex;align-items:center;gap:13px}.prepare-prompt>span{font-size:27px}.prepare-prompt b{display:block;font-size:14px;font-weight:600}.prepare-prompt small{font-size:11px;color:#879082;display:block;margin-top:5px}.prepare-prompt .cartoon-button{margin-left:15px}.stop-progress{position:absolute;bottom:228px;left:50%;transform:translate(-50%);display:flex;gap:7px;align-items:center;background:#e2efca;padding:10px 14px;border-width:2px;font-size:13px;white-space:nowrap}.game-modal{padding:0;max-width:min(510px,calc(100vw - 24px));max-height:calc(100dvh - 30px);width:510px;overflow:auto;color:var(--ink);touch-action:pan-y}.game-modal::backdrop{background:#20343e88;backdrop-filter:blur(5px)}.modal-inner{padding:25px}.modal-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border-bottom:2px dashed #d6d4bc;padding-bottom:19px;margin-bottom:19px}.modal-heading small{font-family:Silkscreen,monospace;font-size:7px;color:#829087;line-height:1.7;display:block}.modal-heading h2{font-size:26px;font-weight:600;line-height:1.2;margin-top:8px;letter-spacing:-.3px}.modal-heading .square-button{width:32px;height:33px;border-width:2px;box-shadow:2px 2px 0 var(--ink);border-radius:7px;flex-shrink:0}.modal-description{font-size:14px;line-height:1.6;color:#74827a;margin:12px 0 21px}.full-width{width:100%;margin-top:13px;min-height:48px}.pause-art{width:108px;margin:0 auto 8px}.pause-art .character-art{transform:rotate(-5deg)}.quality-toggle{display:flex;align-items:center;justify-content:center;font-size:12px;gap:8px;margin:22px 0 3px;color:#7b8d7c}.quality-toggle input{accent-color:#45877b;width:17px;height:17px}.case-file{position:relative;background:#eee8d1;border:2px solid #d4caaa;border-radius:11px;padding:16px;font-size:13px;line-height:1.6}.case-file>p{padding-right:50px}.file-stamp{position:absolute;top:16px;right:10px;transform:rotate(12deg);font-family:Silkscreen;font-size:7px;line-height:1.5;color:#b17461;border:2px solid #b17461;padding:5px;border-radius:4px;opacity:.6}.case-file ul{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px}.case-file li{display:flex;align-items:center;gap:7px;color:#818573;font-size:12px}.question-label{font-size:17px;margin:22px 0 13px;font-weight:600}.case-options{display:flex;flex-direction:column;gap:11px}.case-options .cartoon-button{justify-content:flex-start;text-align:left;padding:12px;font-size:13px;line-height:1.4}.case-options .cartoon-button>b{background:#f4ce62;border:2px solid var(--ink);width:25px;height:27px;border-radius:6px;display:grid;place-items:center;font-weight:600;flex-shrink:0}.case-feedback{font-size:13px;line-height:1.6;background:#ead5bb;border:2px solid #bfa286;padding:12px;border-radius:8px;margin-top:17px;color:#946b52}.case-feedback.correct{background:#deedcb;border-color:#99ba88;color:#597f54}.prep-checks{display:flex;flex-direction:column;gap:12px;margin:19px 0 25px}.prep-checks label{display:flex;align-items:center;gap:9px;min-height:58px;font-size:13px;line-height:1.4;padding:12px;background:#f0ead5;border:2px solid #c8cbb1;border-radius:9px}.prep-checks input{accent-color:#3b8e81;width:20px;height:20px;flex-shrink:0}.prep-checks label>span{font-size:20px}.help-role{display:flex;align-items:flex-start;gap:13px;margin:22px 0}.help-role>svg{color:#72a99c;flex-shrink:0;margin-top:3px}.help-role h3{font-size:17px;font-weight:600;margin-bottom:7px}.help-role p{font-size:13px;line-height:1.75;color:#75837b}.help-note{background:#eee9d4;border:2px dashed #c7c8aa;border-radius:9px;padding:16px;color:#7e8873;font-size:13px;line-height:1.7;margin:20px 0}.simulation-note{font-size:10px;color:#a0a18c;display:block;margin-top:18px;line-height:1.6;text-align:center}.career-list{display:flex;flex-direction:column;gap:14px}.career-item{display:flex;align-items:center;gap:15px;background:#e7ecd9;border:2px solid #b6c4ab;border-radius:12px;padding:13px}.career-item .character-art{width:75px;flex-shrink:0}.career-item small{font-size:10px;display:block;color:#85987e}.career-item h3{font-size:20px;margin:3px 0 7px;font-weight:600}.career-item p{font-size:12px;line-height:1.6;color:#8b927e}.career-item b{font-size:11px;color:#73977e;display:block;margin-top:4px;font-weight:500}.achievement-list{display:flex;flex-direction:column;gap:8px;margin-top:20px}.achievement-list>div{display:flex;align-items:center;gap:10px;border:2px solid #d3d4bd;background:#efefde;border-radius:9px;padding:12px;color:#a0a18b}.achievement-list>div>span:first-child{font-size:21px}.achievement-list b{font-size:12px;font-weight:500;flex:1}.achievement-list .unlocked{background:#ebf2cf;color:#7c956c;border-color:#a8bd8e}.result-stars{display:flex;gap:11px;justify-content:center;margin:25px 0 20px;color:#9b8846}.result-stars svg:nth-child(2){transform:translateY(-7px) scale(1.2)}.result-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#f0ead3;border:2px solid #d3ccb1;border-radius:12px;padding:18px 8px;text-align:center;margin:19px 0}.result-numbers b{font-family:Silkscreen;display:block;font-size:24px;color:#596d64}.result-numbers small{font-size:8px;font-family:Silkscreen;color:#919984;display:block;margin-top:7px}.promotion{display:flex;align-items:center;gap:10px;padding:13px;background:#e0edce;border:2px solid #a8c08d;border-radius:9px;color:#678d60;margin:18px 0 22px}.promotion span{font-size:15px;font-weight:500}.promotion small{font-size:11px;display:block;margin-top:3px}.scene-error{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 30px));padding:25px;z-index:6;text-align:center}.scene-error h2{font-size:24px;margin-bottom:13px}.scene-error p{font-size:14px;line-height:1.6;color:#82917b}.scene-error .cartoon-button{margin:20px auto 0}.update-toast{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:5;font-size:12px;padding:10px 14px;display:flex;gap:10px;align-items:center}.update-toast button{background:var(--yellow);border:2px solid var(--ink);border-radius:6px;padding:5px 9px;font-size:11px}.update-toast button:disabled{opacity:.5}@media(max-width:1050px){.hero-copy{top:115px;left:30px;max-width:340px}.hero-copy h1{font-size:51px}.hero-subtitle{font-size:13px}.scene-location{right:30px;top:115px}.role-picker{width:calc(100vw - 60px);bottom:67px}.role-card{gap:12px;padding:17px 18px 17px 10px;min-height:166px}.role-art{width:86px}.role-card h2{font-size:24px}.role-card p{font-size:11px}.role-features{font-size:9px;gap:9px}.role-badge{font-size:5px}.game-header{left:25px;right:25px;top:20px}.home-footer{left:27px;right:27px}.player-hud,.mission-card{left:24px}}@media(max-width:700px){.game-header{left:14px;right:16px;top:16px}.brand{font-size:20px;gap:8px}.brand-icon{width:37px;height:43px;font-size:25px;border-width:2px;border-radius:9px;box-shadow:2px 3px 0 var(--ink)}.brand small{font-size:5px;margin-top:7px}.brand>b{font-size:8px;padding:4px;border-width:2px;margin-left:-3px}.square-button{width:37px;height:38px;border-width:2px;border-radius:9px;box-shadow:2px 3px 0 var(--ink)}.header-buttons{gap:8px}.save-indicator{display:none}.hero-copy{top:95px;left:24px;max-width:340px}.hero-copy h1{font-size:49px;-webkit-text-stroke-width:5px;text-shadow:3px 4px 0 var(--ink);margin:13px 0}.hero-subtitle{font-size:13px;padding:8px 12px;max-width:320px}.sticker{font-size:8px;padding:6px 8px;letter-spacing:.3px}.world-tag{font-size:6px;margin-top:13px}.scene-location{top:93px;right:24px;padding:8px 10px;gap:6px;display:none}.role-picker{width:calc(100% - 36px);bottom:63px;max-width:590px}.role-cards{gap:13px}.role-card{min-height:168px;display:block;padding:17px 12px 15px;text-align:center}.role-art{width:67px;display:block;margin:-2px auto 6px}.role-art:before{inset:10px -8px 0}.role-card h2{font-size:20px}.role-card p{font-size:10px;margin:8px 0 0}.role-badge{font-size:4px;padding:4px 5px;margin-bottom:7px}.role-features{display:none}.choose-check{width:20px;height:20px;top:10px;right:9px}.choose-check svg{width:14px}.art-sticker{width:26px;height:26px;font-size:14px;bottom:8px;right:-6px}.commit-row{padding:9px 10px;gap:10px;margin-top:13px;border-width:2px;box-shadow:3px 4px 0 var(--ink)}.career-summary{gap:6px}.career-summary b{font-size:11px}.career-summary small{font-size:8px}.career-summary svg{width:15px}.commit-button{min-width:180px;padding:11px 13px;font-size:14px;min-height:43px;border-width:2px;box-shadow:2px 3px 0 var(--ink);gap:8px}.commit-button svg{width:14px}.picker-label{margin-bottom:11px}.picker-label>span{font-size:7px}.picker-label small{font-size:9px;margin-top:6px}.home-footer{bottom:13px;left:20px;right:20px;font-size:6px;gap:8px;flex-wrap:wrap;justify-content:center}.home-footer>span{order:3;width:100%;text-align:center;font-size:7px;margin-top:1px}.home-footer button{min-height:28px;padding:5px 8px;font-size:9px;border-radius:5px}.home-footer svg{width:12px}.player-hud{top:86px;left:14px;width:190px;padding:10px 12px;border-width:2px;box-shadow:3px 4px 0 var(--ink);border-radius:12px}.hud-role>span{font-size:26px}.hud-role b{font-size:16px}.hud-role small{font-size:6px}.hud-stats{font-size:10px;gap:5px;margin-top:7px}.hud-stats b{font-size:12px}.hud-stats svg{width:13px}.hud-progress{margin-top:8px;height:5px}.world-side{top:86px;right:16px;gap:7px}.minimap{width:100px;height:107px;border-width:2px;border-radius:10px;box-shadow:3px 4px 0 var(--ink)}.minimap>svg{height:88px}.minimap>span{font-size:5px;padding:5px 0}.map-camera{width:29px;height:28px;border-radius:6px}.map-camera svg{width:14px}.mission-card{top:202px;left:14px;width:min(303px,calc(100% - 32px));padding:10px 11px;border-width:2px;box-shadow:3px 4px 0 var(--ink);border-radius:12px}.mission-toggle b{font-size:12px}.mission-toggle small{font-size:5px;margin-bottom:4px}.mission-number{width:27px;height:29px;font-size:16px;border-radius:7px}.mission-distance{font-size:10px}.mission-card>p{font-size:10px;line-height:1.5;margin-top:8px}.objectives li{font-size:10px}.objectives{gap:7px}.game-controls{bottom:calc(22px + var(--sa-bottom));left:17px;right:17px}.joystick{width:106px;height:106px;border-width:2px}.joystick-knob{width:43px;height:43px;top:calc(50% - 21.5px);left:calc(50% - 21.5px);border-width:2px}.walking-control{gap:8px}.walking-control>span{font-size:6px}.interact-button{min-width:166px;padding:12px 13px;border-width:2px;box-shadow:3px 4px 0 var(--ink);gap:7px}.interact-button>span{font-size:14px}.interact-button small{font-size:8px}.interact-button svg{width:20px}.keyboard-hint{display:none}.radio-message{bottom:160px;border-width:2px;width:calc(100% - 38px);padding:9px 11px;gap:7px;border-radius:9px}.radio-message p{font-size:10px;line-height:1.4}.radio-message svg{width:15px}.hold-button{width:56px;height:69px;border-width:2px;border-radius:12px;box-shadow:3px 4px 0 var(--ink)}.hold-button.accelerator,.hold-button.brake{height:81px;width:56px}.hold-button.reverse{width:42px;height:61px}.hold-button>span{font-size:28px}.hold-button small{font-size:5px}.driving-steering>div,.driving-pedals>div{gap:8px;margin-top:8px}.driving-steering>span,.driving-pedals>span{font-size:6px}.recover-button{font-size:8px;border-width:1.5px;padding:6px;min-height:29px;margin-top:8px;border-radius:5px}.recover-button small{font-size:6px;margin-left:2px}.speedometer{bottom:226px;right:17px;width:85px;padding:9px 6px;border-width:2px;border-radius:10px;gap:3px}.speedometer b{font-size:19px}.speedometer svg{width:13px}.speedometer small{font-size:7px}.prepare-prompt{width:100%;gap:9px;padding:12px;flex-wrap:wrap;border-width:2px;border-radius:12px}.prepare-prompt>span{font-size:24px}.prepare-prompt>div{flex:1}.prepare-prompt b{font-size:13px}.prepare-prompt small{font-size:10px}.prepare-prompt .cartoon-button{width:100%;margin:1px 0 0;min-height:41px;font-size:13px;border-width:2px}.stop-progress{bottom:222px;font-size:11px;padding:9px 11px;left:30%;border-width:2px;box-shadow:2px 3px 0 var(--ink)}.game-modal{border-width:3px;max-height:calc(100dvh - 24px);border-radius:15px;box-shadow:4px 5px #27303f}.modal-inner{padding:20px}.modal-heading h2{font-size:23px}.modal-heading small{font-size:6px}.modal-heading{padding-bottom:16px;margin-bottom:16px}.modal-description{font-size:12px;line-height:1.65}.full-width{font-size:13px;min-height:46px;padding:11px 15px;border-width:2px;box-shadow:3px 3px 0 var(--ink)}.help-role p{font-size:12px}.help-role h3{font-size:16px}.help-role>svg{width:21px}.help-role{gap:10px}.help-note,.case-file{font-size:12px;padding:13px}.case-file li{font-size:11px}.case-options .cartoon-button{font-size:12px;border-width:2px;min-height:48px}.question-label{font-size:15px}.case-feedback,.prep-checks label{font-size:12px}.result-numbers b{font-size:20px}.result-numbers small{font-size:6px}.career-item h3{font-size:17px}.career-item p{font-size:11px}.career-item .character-art{width:64px}.achievement-list b{font-size:11px}.update-toast{font-size:10px;bottom:5px;border-width:2px;padding:8px;white-space:nowrap}}@media(max-width:450px){.hero-copy{top:94px;left:23px;max-width:290px}.hero-copy h1{font-size:43px;line-height:1.02}.hero-subtitle{font-size:12px;max-width:293px}.world-tag{display:none}.role-picker{width:calc(100% - 32px);bottom:70px}.role-cards{display:flex;flex-direction:column;gap:11px}.role-card{display:flex;text-align:left;gap:12px;padding:11px 15px 10px 10px;min-height:110px;border-radius:14px;box-shadow:3px 4px 0 var(--ink);border-width:2px}.role-card.chosen{box-shadow:3px 4px 0 var(--ink),0 0 0 3px #ffdf73}.role-art{width:70px;margin:0 0 -1px}.role-card h2{font-size:23px;letter-spacing:-.5px}.role-card p{font-size:10px;line-height:1.5;margin-top:6px}.role-badge{font-size:5px;padding:4px 5px;margin-bottom:6px}.role-card .choose-check{top:9px;right:9px;width:19px;height:19px}.role-card .art-sticker{right:-4px;bottom:5px;width:23px;height:23px;font-size:13px}.role-art:before{inset:5px -1px 8px}.commit-row{margin-top:11px;border-radius:10px;padding:9px 10px;gap:8px}.commit-button{min-width:168px;font-size:12px;padding:10px 12px;gap:7px;min-height:43px}.career-summary svg{display:none}.career-summary b{font-size:10px}.career-summary small{font-size:8px;white-space:nowrap}.picker-label small{font-size:8px}.picker-label>span{font-size:7px}.header-buttons{gap:7px}.brand small{display:none}.game-header{left:12px;right:14px}.brand>b{display:none}.home-footer{bottom:11px}.radio-message{bottom:156px}.mission-card{width:min(295px,calc(100% - 32px))}.driving-steering>div,.driving-pedals>div{gap:6px}.hold-button{width:48px;height:65px}.hold-button.accelerator,.hold-button.brake{width:49px;height:79px}.hold-button.reverse{width:36px;height:57px}.game-controls{left:14px;right:14px}.recover-button{font-size:7px}.recover-button small{display:block;margin:3px 0 0}.driving-steering>span,.driving-pedals>span{font-size:5px}.speedometer{bottom:214px;right:15px}.stop-progress{left:33%;bottom:216px;font-size:10px}.interact-button{min-width:162px}.in-world .brand{font-size:18px}.in-world .brand-icon{width:33px;height:39px;font-size:22px}}@media(max-width:355px){.header-buttons{gap:5px}.game-header{left:10px;right:12px;top:13px}.brand{font-size:18px;gap:6px}.square-button{width:32px;height:34px;border-radius:8px}.hero-copy{top:82px;left:18px}.hero-copy h1{font-size:36px}.hero-subtitle{font-size:10px;max-width:266px}.sticker{font-size:6px}.role-picker{width:calc(100% - 26px);bottom:61px}.role-card{min-height:95px;padding:9px;gap:9px}.role-art{width:58px}.role-card h2{font-size:21px}.role-card p{font-size:9px}.role-badge{font-size:4px;margin-bottom:5px}.commit-row{padding:8px 7px}.commit-button{min-width:154px;font-size:11px;padding:9px 8px}.career-summary b{font-size:9px}.career-summary small{font-size:7px}.picker-label>span{font-size:6px}.picker-label small{font-size:7px}.player-hud{left:11px;width:173px;top:75px;padding:9px 10px}.hud-role b{font-size:14px}.world-side{top:75px;right:12px}.minimap{width:85px;height:91px}.minimap>svg{height:75px}.minimap>span{font-size:4px}.mission-card{top:181px;left:11px;width:calc(100% - 24px)}.mission-toggle b{font-size:11px}.mission-card>p{font-size:9px}.joystick{width:91px;height:91px}.interact-button{min-width:146px;padding:11px;gap:6px}.interact-button>span{font-size:12px}.interact-button small{font-size:7px}.game-controls{left:12px;right:12px;bottom:19px}.hold-button{width:43px}.hold-button.accelerator,.hold-button.brake{width:44px}.hold-button.reverse{width:32px}.hold-button small{font-size:4px}.driving-pedals>div{gap:4px}.driving-steering>div{gap:5px}.radio-message{bottom:145px;padding:8px 10px;left:50%;width:calc(100% - 26px)}.radio-message p{font-size:9px}.stop-progress{bottom:199px;left:30%;font-size:9px}.speedometer{bottom:200px}.modal-inner{padding:17px}.modal-heading h2{font-size:21px}}@media(max-height:730px)and (orientation:portrait){.hero-copy{top:83px}.hero-copy h1{font-size:36px;margin:12px 0 9px}.hero-subtitle{font-size:10px;padding:7px 10px}.sticker{font-size:6px}.role-picker{bottom:60px}.role-card{min-height:96px;padding-top:8px;padding-bottom:8px}.role-art{width:61px}.role-card h2{font-size:21px}.role-card p{font-size:9px;margin-top:5px}.role-badge{font-size:4px;margin-bottom:4px}.picker-label{margin-bottom:8px}.picker-label small{font-size:7px}.commit-row{padding:8px 9px;margin-top:10px}.commit-button{min-height:37px;padding:9px 11px}.home-footer{bottom:8px}.hero-copy .world-tag{display:none}.mission-card{top:192px}.radio-message{bottom:149px}.game-controls{bottom:17px}.speedometer{bottom:205px}.stop-progress{bottom:200px}}@media(orientation:landscape)and (max-height:650px){.game-header{top:13px;left:20px;right:20px}.brand{font-size:17px}.brand-icon{width:34px;height:38px;font-size:23px}.brand small{display:none}.brand>b{display:none}.square-button{width:33px;height:34px;border-width:2px;box-shadow:2px 2px 0 var(--ink)}.hero-copy{left:24px;top:83px;max-width:285px}.hero-copy h1{font-size:40px;-webkit-text-stroke-width:5px;margin:11px 0 9px}.hero-subtitle{font-size:11px;padding:7px 10px}.world-tag{display:none}.scene-location{top:83px;right:24px;padding:8px 10px}.role-picker{width:calc(100% - 48px);max-width:800px;bottom:42px;left:auto;right:22px;transform:none}.role-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.role-card{display:flex;text-align:left;min-height:101px;padding:10px 13px;gap:10px;border-width:2px;box-shadow:3px 4px 0 var(--ink);border-radius:12px}.role-art{width:62px;margin:0}.role-card h2{font-size:21px}.role-card p{font-size:9px;line-height:1.4;margin-top:5px}.role-badge{font-size:4px;margin-bottom:6px}.role-features{display:none}.picker-label{margin-bottom:8px}.picker-label small{display:none}.picker-label>span{font-size:6px}.commit-row{margin-top:11px;padding:6px 11px;max-width:550px;border-width:2px}.commit-button{min-height:35px;font-size:12px;min-width:205px;padding:8px 13px;border-width:2px;box-shadow:2px 2px 0 var(--ink)}.career-summary b{font-size:10px}.career-summary small{font-size:8px}.home-footer{bottom:7px;left:25px;right:25px;flex-wrap:nowrap}.home-footer>span{width:auto;order:0;font-size:7px}.home-footer button{font-size:8px;min-height:25px;padding:5px 8px}.player-hud{left:17px;top:65px;width:190px;padding:8px 10px;border-width:2px}.hud-role>span{font-size:21px}.hud-role b{font-size:14px}.hud-role small{font-size:5px}.hud-stats{margin-top:5px;font-size:9px}.hud-stats b{font-size:11px}.hud-progress{margin-top:6px;height:4px}.world-side{top:64px;right:20px}.minimap{width:92px;height:98px;border-width:2px;box-shadow:2px 3px 0 var(--ink)}.minimap>svg{height:81px}.minimap>span{font-size:4px}.map-camera{width:27px;height:27px}.mission-card{top:173px;left:17px;width:250px;padding:9px 10px;border-width:2px}.mission-toggle b{font-size:11px}.mission-toggle small{font-size:5px}.mission-card>p{font-size:10px;line-height:1.4;margin-top:6px}.mission-number{width:25px;height:26px;font-size:14px}.game-controls{bottom:17px;left:24px;right:24px}.joystick{width:94px;height:94px;border-width:2px}.walking-control>span{font-size:5px}.context-control{gap:0}.interact-button{min-width:183px;padding:11px 15px;border-width:2px}.interact-button>span{font-size:14px}.keyboard-hint{display:none}.radio-message{bottom:20px;width:260px;padding:8px 11px;border-width:2px}.radio-message p{font-size:10px}.hold-button{width:52px;height:61px;border-width:2px}.hold-button.brake,.hold-button.accelerator{height:74px;width:58px}.hold-button.reverse{height:55px;width:40px}.driving-steering>div,.driving-pedals>div{gap:7px}.driving-steering>span,.driving-pedals>span{font-size:5px}.recover-button{font-size:8px;margin-top:7px;min-height:24px;padding:5px}.speedometer{right:24px;bottom:143px;width:90px;border-width:2px;padding:7px}.speedometer b{font-size:20px}.stop-progress{bottom:91px;font-size:10px;left:50%;border-width:2px}.prepare-prompt{width:410px;padding:11px;gap:9px;border-width:2px;flex-wrap:nowrap;margin-bottom:43px}.prepare-prompt b{font-size:12px}.prepare-prompt small{font-size:9px}.prepare-prompt .cartoon-button{width:auto;margin:0 0 0 8px;font-size:12px;padding:9px 11px;border-width:2px;min-height:40px}.game-modal{max-height:calc(100dvh - 24px)}}@media(orientation:landscape)and (max-height:450px){.hero-copy{top:71px;max-width:252px}.hero-copy h1{font-size:32px;margin:8px 0}.hero-subtitle{display:none}.sticker{font-size:6px;padding:5px 7px}.scene-location{display:none}.role-picker{bottom:42px;max-width:610px;width:calc(100% - 48px)}.role-card{min-height:94px;padding:9px}.role-card h2{font-size:20px}.role-card p{font-size:8px}.role-art{width:55px}.commit-row{padding:5px 8px;margin-top:8px}.picker-label{margin-bottom:7px}.player-hud{top:64px;width:177px}.mission-card{top:163px;width:240px}.mission-card>p{font-size:9px}.mission-card:not(.expanded)>p{display:none}.radio-message{width:240px;bottom:16px}.objectives{max-height:130px;overflow:auto}.world-side{gap:5px}.minimap{width:78px;height:82px}.minimap>svg{height:68px}.minimap>span{font-size:3px}.game-controls{bottom:14px}.joystick{width:88px;height:88px}.speedometer{bottom:135px}.prepare-prompt{margin-bottom:39px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media(max-height:610px)and (orientation:portrait){.hero-copy .hero-subtitle{display:none}.hero-copy h1{font-size:34px;margin-top:12px}.hero-copy{top:82px}.picker-label small{display:none}.role-card{min-height:94px}.role-picker{bottom:61px}}.landscape-gate{padding:26px;max-width:min(370px,calc(100vw - 34px));width:370px;max-height:calc(100dvh - 30px);overflow:auto;text-align:center;color:var(--ink)}.landscape-gate::backdrop{background:#9ad2ddeb;backdrop-filter:blur(12px)}.landscape-sticker{display:inline-block;font-family:Silkscreen,monospace;font-size:7px;background:#e7eed4;border:2px solid var(--ink);border-radius:6px;padding:7px 9px;transform:rotate(-2deg)}.rotate-illustration{position:relative;height:128px;margin:20px auto 15px;width:175px;display:grid;place-items:center}.phone-frame{position:relative;display:block;transform:rotate(90deg);color:#3b6477}.phone-frame>span{position:absolute;left:23px;top:25px;font-size:25px;transform:rotate(-90deg)}.rotate-arrow{position:absolute;left:7px;top:14px;color:#be9350;transform:rotate(-30deg)}.rotate-spark{position:absolute;right:9px;bottom:14px;font-size:30px;color:#d2a641}.landscape-gate h2{font-size:27px;font-weight:600;line-height:1.15;margin-bottom:14px}.landscape-gate h2>span{color:#3f9289}.landscape-gate>p{font-size:13px;line-height:1.7;color:#7b8a7c;margin-bottom:22px}.rotate-note{display:block;font-size:10px;line-height:1.6;color:#9a9e88;margin-top:18px}.traffic-app:fullscreen{width:100vw;height:100dvh;background:#b4e5f0}@media(orientation:landscape)and (max-height:650px){.in-world .game-header{top:calc(var(--sa-top) + 10px);left:calc(var(--sa-left) + 16px);right:calc(var(--sa-right) + 18px)}.in-world .brand{font-size:17px}.in-world .brand-icon{width:33px;height:37px;font-size:22px}.in-world .save-indicator{display:none}.in-world .header-buttons{gap:8px}.in-world .square-button{width:38px;height:38px;border-width:2px;border-radius:9px}.in-world .player-hud{top:calc(var(--sa-top) + 61px);left:calc(var(--sa-left) + 16px);width:166px;padding:8px 10px;border-radius:10px;border-width:2px;box-shadow:3px 3px 0 var(--ink)}.in-world .hud-role{gap:7px}.in-world .hud-role>span{font-size:22px}.in-world .hud-role small{font-size:5px;margin-bottom:3px}.in-world .hud-role b{font-size:13px}.in-world .hud-stats{margin-top:5px;font-size:9px}.in-world .hud-stats b{font-size:11px}.in-world .hud-progress{height:4px;margin-top:6px}.in-world .mission-card{top:calc(var(--sa-top) + 62px);left:50%;transform:translate(-50%);width:min(310px,calc(100% - 380px));min-width:174px;padding:8px 10px;border-radius:10px;border-width:2px;box-shadow:3px 3px 0 var(--ink)}.in-world .mission-card>p{display:none}.in-world .mission-card.expanded>p{display:block;font-size:10px}.in-world .mission-toggle{gap:7px}.in-world .mission-toggle b{font-size:12px;line-height:1.2;display:block}.in-world .mission-toggle small{font-size:5px}.in-world .mission-number{width:26px;height:28px;font-size:15px}.in-world .mission-distance{font-size:9px}.in-world .objectives{max-height:130px;overflow:auto;font-size:10px}.in-world .world-side{top:calc(var(--sa-top) + 61px);right:calc(var(--sa-right) + 18px);flex-direction:row;align-items:flex-start;gap:8px}.in-world .minimap{width:80px;height:85px;border-width:2px;border-radius:9px;box-shadow:3px 3px 0 var(--ink)}.in-world .minimap>svg{height:69px}.in-world .minimap>span{font-size:4px;padding:4px 0}.in-world .map-camera{width:30px;height:30px;border-radius:7px}.in-world .game-controls{left:calc(var(--sa-left) + 24px);right:calc(var(--sa-right) + 24px);bottom:calc(var(--sa-bottom) + 18px)}.in-world .joystick{width:114px;height:114px;border:3px solid #27303faa;background:#fff8e696;box-shadow:3px 4px #27303f60}.in-world .joystick-knob{width:46px;height:46px;top:calc(50% - 23px);left:calc(50% - 23px);border:3px solid var(--ink)}.in-world .walking-control>span{font-size:6px}.in-world .interact-button{min-width:186px;min-height:65px;padding:12px 15px;font-size:14px}.in-world .interact-button>span{font-size:15px}.in-world .interact-button small{font-size:9px}.in-world .radio-message{left:calc(50% - 25px);bottom:calc(var(--sa-bottom) + 19px);width:min(360px,calc(100% - 400px));min-width:158px;border-width:2px;border-radius:9px;box-shadow:2px 3px #27303f80;background:#fff8e6ec;padding:8px 10px;gap:6px}.in-world .radio-message p{font-size:10px;line-height:1.4}.in-world .radio-message svg{width:14px}.in-world .hold-button{width:63px;height:72px;border-width:3px;border-radius:14px;box-shadow:3px 4px 0 var(--ink)}.in-world .hold-button.accelerator,.in-world .hold-button.brake{width:67px;height:88px}.in-world .hold-button.reverse{width:45px;height:65px;border-width:2px}.in-world .hold-button>span{font-size:31px}.in-world .hold-button small{font-size:6px}.in-world .driving-steering>div,.in-world .driving-pedals>div{gap:10px;margin-top:8px}.in-world .driving-steering>span,.in-world .driving-pedals>span{font-size:6px}.in-world .recover-button{font-size:9px;min-height:29px;padding:6px;margin-top:9px}.in-world .recover-button small{font-size:7px}.in-world .speedometer{right:calc(var(--sa-right) + 28px);bottom:calc(var(--sa-bottom) + 152px);width:94px;padding:8px;border-width:2px;box-shadow:3px 3px 0 var(--ink);border-radius:10px}.in-world .speedometer b{font-size:23px}.in-world .speedometer small{font-size:8px}.in-world .stop-progress{left:calc(50% - 25px);bottom:calc(var(--sa-bottom) + 95px);font-size:11px;padding:8px 12px}.in-world .prepare-prompt{width:min(440px,calc(100% - 70px));padding:12px 14px;min-height:73px;flex-wrap:nowrap;margin-bottom:44px}.in-world .prepare-prompt>div{flex:1}.in-world .prepare-prompt b{font-size:13px}.in-world .prepare-prompt small{font-size:10px}.in-world .prepare-prompt .cartoon-button{min-height:44px;width:auto;font-size:13px;padding:10px 14px;margin-left:10px}.game-modal .modal-inner{padding:18px 22px}.game-modal .modal-heading{padding-bottom:12px;margin-bottom:12px}.game-modal .modal-heading h2{font-size:22px}.game-modal .pause-art{display:none}.game-modal .quality-toggle{margin-top:15px}.game-modal .case-file{padding:12px 14px;font-size:12px}.game-modal .case-file ul{gap:5px;margin-top:10px}.game-modal .question-label{margin:14px 0 10px;font-size:15px}.game-modal .case-options{gap:9px}.game-modal .case-options .cartoon-button{padding:9px 12px;min-height:43px;font-size:12px}.game-modal .full-width{min-height:43px;padding:10px 15px;font-size:13px}}@media(orientation:landscape)and (max-height:650px)and (max-width:740px){.in-world .game-header{left:calc(var(--sa-left) + 12px);right:calc(var(--sa-right) + 12px)}.in-world .brand{font-size:15px}.in-world .brand-icon{width:29px;height:34px;font-size:20px}.in-world .header-buttons{gap:6px}.in-world .square-button{width:35px;height:36px}.in-world .player-hud{left:calc(var(--sa-left) + 12px);width:154px}.in-world .hud-role b{font-size:12px}.in-world .hud-role>span{font-size:20px}.in-world .mission-card{width:calc(100% - 356px);min-width:168px;padding:8px}.in-world .mission-toggle b{font-size:10px}.in-world .mission-toggle{gap:5px}.in-world .mission-distance{font-size:8px}.in-world .mission-distance svg{width:12px}.in-world .world-side{right:calc(var(--sa-right) + 12px);gap:7px}.in-world .minimap{width:71px;height:76px}.in-world .minimap>svg{height:61px}.in-world .map-camera{width:28px;height:28px}.in-world .game-controls{left:calc(var(--sa-left) + 18px);right:calc(var(--sa-right) + 18px);bottom:calc(var(--sa-bottom) + 15px)}.in-world .joystick{width:100px;height:100px}.in-world .hold-button{width:53px;height:67px}.in-world .hold-button.accelerator,.in-world .hold-button.brake{width:54px;height:79px}.in-world .hold-button.reverse{width:38px;height:57px}.in-world .driving-steering>div,.in-world .driving-pedals>div{gap:7px}.in-world .hold-button small{font-size:5px}.in-world .recover-button{font-size:8px;min-height:27px}.in-world .speedometer{bottom:calc(var(--sa-bottom) + 143px);right:calc(var(--sa-right) + 20px);width:82px}.in-world .radio-message{font-size:9px;width:calc(100% - 380px);left:calc(50% - 16px);min-width:162px;bottom:calc(var(--sa-bottom) + 16px)}.in-world .radio-message p{font-size:9px}.in-world .interact-button{min-width:164px;min-height:58px;padding:11px 13px}.in-world .interact-button>span{font-size:13px}.in-world .interact-button small{font-size:8px}}@media(orientation:landscape)and (max-height:350px){.in-world .speedometer{bottom:calc(var(--sa-bottom) + 120px)}}.account-tabs{display:flex;gap:8px;margin:18px 0}.account-tabs button{flex:1;border:2px solid var(--ink);border-radius:8px;padding:10px;background:#ecebd8;font-size:13px;min-height:43px}.account-tabs .selected{background:var(--yellow);box-shadow:2px 3px 0 var(--ink)}.account-form{display:flex;flex-direction:column;gap:15px}.account-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#678273}.account-form input{width:100%;min-height:46px;border:2px solid #9da78c;background:#fffdf3;border-radius:9px;padding:11px 12px;font-size:15px;color:var(--ink);user-select:text}.account-form input::placeholder{color:#a1a88c;font-size:12px}.account-form .full-width{margin-top:3px}.account-notice{font-size:12px;line-height:1.65;background:#eee6c9;color:#83734d;border:2px dashed #c6b589;padding:12px;border-radius:8px;margin-top:17px}.account-privacy{display:flex;gap:8px;font-size:10px;line-height:1.6;color:#96a08b;margin-top:20px}.account-privacy svg{flex-shrink:0}.signed-in-badge{display:flex;gap:12px;align-items:center;background:#e2edce;border:2px solid #a8bc8d;border-radius:10px;padding:14px;color:#64866b}.signed-in-badge b{display:block;font-size:15px;font-weight:500}.signed-in-badge span{display:block;font-size:12px;margin-top:5px;word-break:break-word;user-select:text}.cloud-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.cloud-summary{border:2px solid #d0c9ae;background:#f0ecd7;border-radius:10px;padding:12px}.cloud-summary h3{font-size:14px;font-weight:500;margin-bottom:12px}.cloud-summary>div{margin:8px 0}.cloud-summary span{font-size:11px;display:block;color:#7b8d78}.cloud-summary b{font-size:11px;font-weight:500;display:block;margin-top:4px}.cloud-summary small{font-size:9px;color:#9d9d83;display:block;margin-top:11px;line-height:1.5}.cloud-current{text-align:center;padding:22px 4px 10px;color:#7e9b7a}.cloud-current h3{font-size:20px;font-weight:500;margin:13px 0 9px}.cloud-current p{font-size:12px;line-height:1.7;color:#8d9982}.cloud-current small{font-size:10px;display:block;margin-top:13px;color:#a0a68e}.account-logout{margin:23px auto 0;display:flex;align-items:center;gap:7px;min-height:40px;background:transparent;border:0;color:#a28c75;font-size:12px}.account-logout:disabled{opacity:.5}.home-footer>.cloud-account-button{background:#e8f0d6;color:#547b6c}@media(orientation:landscape)and (max-height:450px){.home-footer{gap:7px}.home-footer>span{max-width:210px;font-size:6px}.home-footer>.cloud-account-button{max-width:185px;white-space:nowrap;font-size:8px}.account-form{gap:11px}.account-tabs{margin:12px 0}.cloud-current{padding-top:14px}}.intro-menu{position:absolute;left:8%;top:48%;transform:translateY(-50%);width:min(430px,44vw);text-align:center;filter:drop-shadow(0 2px 0 #fff7dd)}.intro-menu h1{font-size:clamp(46px,6.5vw,90px);line-height:.9;margin:22px 0 18px;letter-spacing:-3px;color:var(--ink,#233f3a);text-shadow:3px 3px 0 #fff8df}.intro-menu h1>span{display:block;color:#e18b36}.intro-menu h1 b{display:inline-block;font-size:.32em;vertical-align:top;letter-spacing:0;background:#f8d35b;border:2px solid #233f3a;border-radius:8px;padding:6px;transform:rotate(9deg)}.intro-welcome{font-size:22px;margin:12px 0 4px;overflow-wrap:anywhere}.intro-tagline{font-size:16px;margin:0 0 22px}.intro-start{width:100%;justify-content:center;font-size:24px;min-height:62px}.intro-secondary{display:flex;gap:12px;margin:14px 0 18px}.intro-secondary button{flex:1;justify-content:center}.intro-menu>small{font-size:13px;background:#fff9e3dd;border-radius:12px;padding:6px 12px}.nickname-form{text-align:center}.nickname-avatar{display:block;font-size:44px;margin:10px}.nickname-form p{line-height:1.6}.nickname-form label{display:block;text-align:left;font-weight:600;margin:18px 0 8px}.nickname-form input{width:100%;min-height:52px;border:3px solid #29463e;border-radius:12px;padding:10px 14px;background:#fffdf2;color:#243d36;font:inherit;font-size:20px;box-sizing:border-box}.nickname-form input:focus{outline:3px solid #f0ca57;outline-offset:3px}.nickname-form>small{display:block;text-align:left;font-size:12px;margin:9px 0 20px;color:#59685f}.player-nickname{display:block;font-size:12px;color:#487367;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-options{display:grid;gap:12px;margin:18px 0}.settings-options label{display:flex;gap:14px;align-items:center;background:#f2f0df;padding:15px;border:2px solid #b9c8ad;border-radius:12px}.settings-options label span{flex:1}.settings-options b,.settings-options small{display:block}.settings-options small{font-size:12px;margin-top:4px}.settings-options input{width:24px;height:24px;accent-color:#368c75}.credits-hero{text-align:center;padding:14px;background:#e9f2d9;border-radius:16px}.credits-hero h3{font-size:28px;margin:8px}.credits-list{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;font-size:14px;margin:22px 0}.credits-list dt{font-weight:600}.credits-list dd{margin:0;line-height:1.5}@media(max-height:520px)and (min-aspect-ratio:6/5){.intro-menu{left:7%;width:min(330px,44vw);top:50%}.intro-menu h1{font-size:54px;margin:12px 0}.intro-menu .sticker{font-size:10px}.intro-welcome{font-size:17px;margin:6px 0}.intro-tagline{font-size:13px;margin:0 0 12px}.intro-start{min-height:47px;font-size:20px}.intro-secondary{margin:9px 0 12px;gap:10px}.intro-secondary button{min-height:40px;font-size:12px}.intro-menu>small{font-size:10px}.nickname-avatar{font-size:30px;margin:0}.nickname-form p{margin:8px 0;font-size:14px}.nickname-form label{margin-top:10px}.nickname-form input{min-height:44px;font-size:18px}.nickname-form>small{margin:6px 0 10px}.player-nickname{font-size:10px;max-width:105px}.credits-list{font-size:12px;gap:8px}}@media(max-height:340px)and (min-aspect-ratio:6/5){.intro-menu h1{font-size:43px;margin:8px 0}.intro-menu .sticker{font-size:8px}.intro-welcome{font-size:15px}.intro-tagline{margin-bottom:8px}.intro-start{min-height:40px}.intro-secondary{margin:8px 0}.intro-menu>small{display:none}}@media(max-height:520px)and (min-aspect-ratio:6/5){.intro-menu{top:53%}.intro-menu>.sticker,.intro-menu>small{display:none}}@media(max-height:340px)and (min-aspect-ratio:6/5){.intro-tagline{display:none}.intro-welcome{margin-bottom:12px}}.camera-look-surface{position:absolute;inset:0;z-index:-1;touch-action:none}.role-card.locked-role{filter:saturate(.55);opacity:.78;cursor:not-allowed;background:#e1e2d4}.role-card.locked-role .role-art{filter:grayscale(.35)}.role-card.locked-role .choose-check{background:#d7d9cc;color:#6b746b}.role-unlock-toast{position:fixed;left:50%;bottom:82px;transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:10px;max-width:min(520px,calc(100vw - 28px));padding:14px 16px;background:#fff0b7;border:3px solid var(--ink);border-radius:14px;box-shadow:4px 5px 0 var(--ink);font-size:14px;line-height:1.4}.role-unlock-toast svg{color:#9a6d1e;flex-shrink:0}.role-unlock-toast span{flex:1}.role-unlock-toast button{border:2px solid var(--ink);background:#fff8e6;border-radius:7px;width:28px;height:28px;font-size:20px;line-height:1;flex-shrink:0}.in-world .camera-look-surface{cursor:grab}.in-world .camera-look-surface:active{cursor:grabbing}.credits-content{font-size:14px;line-height:1.75;overflow-wrap:anywhere}.credits-content>p,.credits-content>section{margin:20px 0}.credits-content h3{font-size:15px;font-weight:600;margin:0 0 6px}.credits-content .credits-hero h3{font-size:23px;line-height:1.35;margin:6px}.credits-content ul{padding-left:22px;margin:6px 0}.credits-content li+li{margin-top:9px}.credits-content a{color:#286e68;text-decoration:underline;text-underline-offset:3px}.credits-content a:focus-visible{outline:3px solid #d7a82f;outline-offset:3px}.credits-copyright{border-top:2px dashed #d6d4bc;padding-top:18px}@media(min-width:1051px)and (min-height:451px)and (orientation:landscape){.role-picker{left:auto;right:max(45px,calc((100vw - 1300px)/2));transform:none;width:min(600px,calc(100vw - 600px));bottom:75px}.scene-location{top:auto;right:auto;bottom:75px;left:max(55px,calc((100vw - 1300px)/2))}.role-cards{grid-template-columns:1fr;gap:12px}.role-card{min-height:118px;padding:14px 22px 14px 12px}.role-card h2{font-size:24px}.commit-row{max-width:none;margin-top:14px}.picker-label{text-align:left;margin-bottom:11px}.picker-label small{display:inline-block;margin-top:7px;padding:5px 10px;background:#fff8e6ee;border:2px solid #27303f8c;border-radius:8px;color:#3e5356;text-shadow:none}}.brand-icon{overflow:hidden;padding:0}.brand-icon img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.traffic-app :is(.player-hud,.world-side,.mission-card,.radio-message,.speedometer,.game-controls,.campus-hud,.stop-progress){transition:opacity .45s ease}.traffic-app.flying :is(.player-hud,.world-side,.mission-card,.radio-message,.speedometer,.game-controls,.campus-hud,.stop-progress){opacity:0;pointer-events:none}.cabin-overlay{position:absolute;inset:0;pointer-events:none;z-index:6}.cabin-hotspots{position:absolute;inset:0;overflow:hidden}.cabin-hotspot{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;border:3px solid #fff8e2;background:#fff8e22e;box-shadow:0 0 0 2px #27303f;pointer-events:auto;cursor:pointer;display:grid;place-items:center;color:#fff;padding:0;will-change:transform}.cabin-hotspot.next{width:54px;height:54px;background:#f6c74461;box-shadow:0 0 0 3px #27303f,0 0 16px #f6c744e6}.cabin-hotspot.next:after{content:"";position:absolute;inset:-9px;border-radius:50%;border:3px solid #ffdc54;animation:cabinRing 1.2s ease-out infinite}.cabin-hotspot.done{background:#3e9f6cb3;border-color:#e1f6e8}@keyframes cabinRing{0%{transform:scale(.72);opacity:1}to{transform:scale(1.35);opacity:0}}.cabin-checklist{position:absolute;right:12px;top:112px;width:196px;padding:10px 10px 8px;pointer-events:auto;font-size:11px}.cabin-checklist small{display:block;font-family:Silkscreen,monospace;font-size:7px;letter-spacing:.4px;margin-bottom:6px;color:#4c6a6a}.cabin-checklist ol{list-style:none;margin:0;padding:0;display:grid;gap:3px}.cabin-checklist button{width:100%;display:flex;align-items:center;gap:7px;text-align:left;background:transparent;border:0;border-radius:6px;padding:4px 5px;font:inherit;font-weight:600;color:#40545a;cursor:pointer}.cabin-checklist ol button span{flex:none;width:16px;height:16px;border:2px solid #27303f;border-radius:5px;background:#fff8e6;display:grid;place-items:center;color:#fff}.cabin-checklist button.done{color:#6f8a84;text-decoration:line-through}.cabin-checklist ol button.done span{background:#3e9f6c;border-color:#27303f}.cabin-checklist button.next{background:#fff0b8;color:#27303f}.cabin-checklist p{margin:7px 0 0;font-size:9px;line-height:1.35;color:#6b7b7f}@media(max-height:450px){.cabin-checklist{top:96px;width:176px;padding:7px 8px 6px;font-size:10px}.cabin-checklist p{display:none}.cabin-checklist button{padding:2px 4px}}.traffic-app.flying .cabin-overlay{opacity:0}.traffic-app.in-cabin .world-side{display:none}.cabin-checklist{padding:8px 10px}.cabin-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:8px;background:transparent;border:0;padding:0!important;text-align:left}.cabin-toggle small{margin:0!important}.cabin-toggle b{display:block;font-size:12px;color:#27303f}.cabin-toggle i{font-style:normal;font-size:13px;color:#4c6a6a}.cabin-checklist ol{margin-top:7px}.cabin-toggle>span{display:block;min-width:0}.cabin-toggle b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cabin-checklist{width:190px}.cabin-hotspot:disabled{pointer-events:none;opacity:.55}.cabin-hotspot.done:disabled{opacity:.85}.driving-aids{display:flex;gap:6px;margin-top:8px}.driving-aids .aid{flex:1;min-width:0;min-height:36px;display:flex;align-items:center;justify-content:center;gap:3px;background:var(--paper);border:2px solid var(--ink);border-radius:9px;box-shadow:2px 2px #27303f99;color:var(--ink);padding:0 4px;cursor:pointer}.driving-aids .aid small{font-family:Silkscreen,monospace;font-size:7px}.driving-aids .aid.on{background:#ffd45c;animation:aidBlink .8s steps(2) infinite}@keyframes aidBlink{50%{background:#fff0b3}}.fault-list{list-style:none;margin:10px 0;padding:10px 12px;border:2px dashed #b3694f;border-radius:10px;background:#fff1e8;font-size:12px;line-height:1.45;color:#6b3f30}.fault-list li{padding-left:16px;position:relative}.fault-list li+li{margin-top:4px}.fault-list li:before{content:"!";position:absolute;left:0;top:0;font-weight:700;color:#c8574d}.traffic-app.in-cabin .mission-card{display:none}@media(orientation:landscape)and (max-height:340px){.driving-steering>span,.driving-pedals>span{display:none}.driving-aids{margin-top:5px;gap:4px}.driving-aids .aid{min-height:30px}.driving-aids .aid small{display:none}.recover-button{margin-top:5px;min-height:24px;padding:4px 6px}}.bribe-button{border-style:dashed;color:#8a4a3c;background:#fff4ea}.bribe-note{margin:10px 0;padding:11px 14px;border:3px solid var(--ink);border-radius:12px;background:#ffe3d6;box-shadow:3px 3px #27303f;animation:bribeShake .45s ease}.bribe-note b{display:block;font-size:14px;line-height:1.35;color:#7a2f22}.bribe-note small{display:block;margin-top:5px;font-size:10px;color:#9b6a5e}@keyframes bribeShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@media(prefers-reduced-motion:reduce){.bribe-note{animation:none}}.dev-skip{background:#ffb347!important;border-style:dashed!important;font-size:18px;font-weight:700}.dev-skip-journey{margin-top:10px;width:100%;padding:8px 10px;border:2px dashed #b56a1f;border-radius:9px;background:#ffe2b8;color:#6b3d0c;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.app-version-line{margin:14px 0 0;text-align:center;font-size:11px;color:#6b7b7f}.app-version-line b{color:#40545a}.home-footer>span b{font-weight:700;color:#fff;opacity:.9}.gear-panel{display:grid;gap:5px;margin-bottom:8px;padding:6px 7px;border:2px solid var(--ink);border-radius:11px;background:#fff8e6e8;box-shadow:2px 3px #27303f99}.gear-head{display:flex;align-items:center;gap:6px}.gear-current{display:grid;place-items:center;min-width:30px;height:30px;padding:0 4px;border:2px solid var(--ink);border-radius:8px;background:#ffd45c;font-size:18px;line-height:1}.gear-head>span{font-family:Silkscreen,monospace;font-size:7px;color:#5b6d70}.gear-rev{flex:1;height:9px;border:2px solid var(--ink);border-radius:9px;background:#fffdf3;overflow:hidden}.gear-rev u{display:block;height:100%;background:linear-gradient(90deg,#69c28a,#f6c744 65%,#e8574a);transition:width .15s linear}.gear-keys{display:flex;gap:4px}.gear-keys button{flex:1;min-width:0;height:34px;border:2px solid var(--ink);border-radius:8px;background:var(--paper);font:inherit;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;touch-action:manipulation}.gear-keys button.on{background:#ffd45c;box-shadow:inset 0 -3px #0002}.engine-start{min-height:34px;border:2px solid var(--ink);border-radius:8px;background:#f0a087;font:inherit;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer;animation:aidBlink .8s steps(2) infinite}.hold-button.clutch{background:#bcd9f2}@media(orientation:landscape)and (max-height:430px){.gear-panel{gap:3px;margin-bottom:5px;padding:4px 5px}.gear-current{min-width:24px;height:24px;font-size:14px}.gear-keys button{height:28px;font-size:12px}.engine-start{min-height:28px;font-size:10px}}.gear-panel{width:0;min-width:100%;box-sizing:border-box}.gear-speed{display:flex;align-items:baseline;gap:3px;white-space:nowrap}.gear-speed b{font-size:15px}.gear-speed small{font-family:Silkscreen,monospace;font-size:6px;color:#5b6d70}.gear-head{min-width:0}.gear-rev{min-width:14px}.gear-keys button{padding:0}.driving-pedals>.gear-panel{display:grid;margin-top:0;gap:5px}.driving-pedals>.gear-panel .gear-head,.driving-pedals>.gear-panel .gear-keys{display:flex}.hud-car-type{display:block;margin-top:2px;color:#2d6a8a!important;font-weight:700}.reset-story-button{margin-top:10px;border-style:dashed;color:#8a3f35}.reset-list{margin:8px 0 10px;padding:10px 14px 10px 30px;border:2px dashed #b3694f;border-radius:10px;background:#fff1e8;font-size:12px;line-height:1.55;color:#6b3f30}.cartoon-button.danger{background:#e8574a;color:#fff8e2;text-shadow:1px 2px 0 #27303f}.gear-keys button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1}.gear-keys button small{font-size:6px;font-weight:600;color:#5b6d70;letter-spacing:0}.gear-keys button.hint{animation:aidBlink .6s steps(2) infinite;background:#ffe27a}.gear-tip{margin:0;font-size:9.5px;line-height:1.3;color:#40545a;text-align:center}@media(orientation:landscape)and (max-height:430px){.gear-keys button small{display:none}.gear-tip{font-size:8.5px}}@media(orientation:landscape)and (max-height:340px){.gear-tip,.player-hud .hud-car-type{display:none!important}}.hold-button.latched{transform:translate(2px,3px);box-shadow:1px 1px 0 var(--ink);background:#7fb6e6}.clutch-chip{flex:none;padding:2px 5px;border:2px solid var(--ink);border-radius:6px;background:#bcd9f2;font-style:normal;font-family:Silkscreen,monospace;font-size:7px}.reset-story-group{display:grid;gap:6px;margin-top:10px}.reset-story-group .reset-story-button{margin-top:0}.forced-landscape{position:absolute;left:50%;top:50%;background:#b4e5f0;transform:translate(-50%,-50%);transition:transform .45s ease}.forced-landscape.upright{transform:translate(-50%,-50%) rotate(90deg)}.forced-landscape.upright.entering{animation:forceLandscapeIn .9s cubic-bezier(.3,1.25,.5,1) both}.forced-landscape iframe{display:block;width:100%;height:100%;border:0}@keyframes forceLandscapeIn{0%{transform:translate(-50%,-50%) rotate(0) scale(.42);opacity:.3;border-radius:28px}60%{opacity:1}to{transform:translate(-50%,-50%) rotate(90deg) scale(1);border-radius:0}}.landscape-gate.forcing .phone-frame{animation:forcePhone .9s cubic-bezier(.3,1.4,.5,1) forwards}.landscape-gate.forcing .rotate-arrow{animation:forceArrow .9s ease forwards}@keyframes forcePhone{0%{transform:rotate(0)}to{transform:rotate(90deg) scale(1.12)}}@keyframes forceArrow{to{transform:rotate(330deg);opacity:0}}.landscape-gate .phone-frame{transform:rotate(0)}.landscape-gate .phone-frame>span{transform:none}@media(prefers-reduced-motion:reduce){.forced-landscape,.forced-landscape.upright.entering,.landscape-gate.forcing .phone-frame,.landscape-gate.forcing .rotate-arrow{animation:none;transition:none}}.landscape-gate:not(.forcing) .phone-frame{animation:phoneHint 2.6s ease-in-out infinite}@keyframes phoneHint{0%,30%{transform:rotate(0)}50%,80%{transform:rotate(90deg)}to{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){.landscape-gate:not(.forcing) .phone-frame{animation:none;transform:rotate(90deg)}}html,body{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}.day-banner{position:absolute;top:18%;left:50%;z-index:4;display:grid;justify-items:center;gap:3px;padding:12px 26px;border:3px solid var(--ink);border-radius:16px;background:var(--paper);box-shadow:5px 6px 0 var(--ink);pointer-events:none;text-align:center;transform:translate(-50%);animation:dayBanner 3.4s ease forwards}.day-banner small{font-family:Silkscreen,monospace;font-size:8px;letter-spacing:.6px;color:#7b8a7c}.day-banner b{font-size:30px;line-height:1.1;color:#2f6fa8}.day-banner span{font-size:13px;color:#4f6266}@keyframes dayBanner{0%{opacity:0;transform:translate(-50%) translateY(-18px) scale(.9)}12%{opacity:1;transform:translate(-50%) translateY(0) scale(1.04)}18%{transform:translate(-50%) scale(1)}82%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-10px)}}@media(orientation:landscape)and (max-height:450px){.day-banner{top:14%;padding:8px 18px}.day-banner b{font-size:22px}.day-banner span{font-size:11px}}@keyframes dayBannerFade{0%,85%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.day-banner{animation:dayBannerFade 3.4s linear forwards}}.duty-days{display:flex;align-items:center;gap:12px;margin-top:9px;padding:9px 11px;border:2px solid var(--ink);border-radius:11px;background:#e9f4fb}.duty-count{display:flex;align-items:center;gap:6px;padding-right:12px;border-right:2px dashed #9fb8c6}.duty-count b{font-size:34px;line-height:1;color:#2f6fa8}.duty-count span{font-size:10px;line-height:1.15;color:#4f6266;font-weight:600}.duty-next{display:grid;gap:1px;min-width:0}.duty-next small{font-family:Silkscreen,monospace;font-size:7px;color:#7b8a7c}.duty-next strong{font-size:15px;color:var(--ink)}.duty-next>span{font-size:10.5px;color:#4f6266}.duty-week{display:flex;gap:4px;margin:5px 0 0;padding:0;list-style:none}.duty-week li{display:grid;justify-items:center;gap:1px;font-size:8.5px;color:#4f6266}.duty-week i{display:grid;place-items:center;width:20px;height:20px;border:2px solid var(--ink);border-radius:6px;background:#fff;font-style:normal;font-size:11px;font-weight:800}.duty-week li.done i{background:#69c28a;color:#fff}.duty-week li.now i{background:#f6c744;animation:dutyPulse 1.6s ease-in-out infinite}.duty-week li.off i{opacity:.35}@keyframes dutyPulse{50%{transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.duty-week li.now i{animation:none}}.hud-duty{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-top:9px;min-height:30px;padding:4px 9px;border:2px solid var(--ink);border-radius:8px;background:#e9f4fb;font:inherit;font-size:11px;font-weight:700;color:var(--ink);cursor:pointer}.hud-duty span{font-size:10px;color:#2f6fa8}.duty-meta{margin:0 0 4px;font-size:12px;color:#5b6d70;text-align:center}@media(orientation:landscape)and (max-height:450px){.hud-duty{margin-top:5px;min-height:24px;font-size:9.5px;padding:2px 7px}}.hud-duty{white-space:nowrap}@media(orientation:landscape)and (max-height:450px){.hud-duty span{display:none}}.objectives .upcoming{color:#a9a995;opacity:.85}.objectives .upcoming>span{background:#e9e6d2;border-style:dashed}.objectives .upcoming em{margin-left:auto;font-style:normal;font-family:Silkscreen,monospace;font-size:6px;letter-spacing:.3px;color:var(--ink);background:var(--yellow);border:1.5px solid var(--ink);border-radius:4px;padding:3px 5px;transform:rotate(-2deg);white-space:nowrap}.feedback-form{display:flex;flex-direction:column;gap:12px}.feedback-kind{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feedback-kind button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:2px solid var(--ink);border-radius:10px;background:var(--paper);font-size:14px;font-weight:600;box-shadow:2px 3px 0 var(--ink)}.feedback-kind button.on{background:var(--yellow)}.feedback-message{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.feedback-message textarea{font:inherit;font-size:16px;font-weight:400;line-height:1.45;padding:10px 12px;border:2px solid var(--ink);border-radius:10px;background:#fffdf3;color:var(--ink);resize:vertical;min-height:110px;-webkit-user-select:text;user-select:text}.feedback-message small{font-weight:400;color:#7b8275;font-size:11px}.feedback-meta{font-size:11px;color:#8b927e;line-height:1.5}.feedback-error{font-size:13px;color:#8f2f27;background:#fbe3df;border:2px solid #c4544a;border-radius:9px;padding:9px 11px}.feedback-sent{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.feedback-sent>span{font-size:40px}.feedback-sent h3{font-size:22px}.feedback-sent p{font-size:14px;color:#74827a;line-height:1.55;margin-bottom:6px}.feedback-sent .full-width{margin-top:4px}.feedback-form>.cartoon-button{position:sticky;bottom:0;z-index:1;box-shadow:3px 4px 0 var(--ink),0 -10px 14px 4px var(--paper)}@media(max-width:420px){.feedback-kind button{font-size:13px;gap:5px;padding:0 6px}}@media(orientation:landscape)and (max-height:450px){.feedback-form{gap:8px}.feedback-kind button{min-height:38px;font-size:13px}.feedback-message textarea{min-height:72px;padding:8px 10px}.feedback-message{font-size:12px}.feedback-meta{font-size:10px}.feedback-form>.cartoon-button{min-height:42px;margin-top:4px}.feedback-sent>span{font-size:30px}.feedback-sent h3{font-size:19px}.feedback-sent p{font-size:12.5px}}@media(max-width:700px),(orientation:landscape)and (max-height:450px){.home-footer .footer-feedback>span{display:none}.home-footer .footer-feedback{padding-left:8px;padding-right:8px}}@media(orientation:landscape)and (max-height:450px){.home-screen:not(.story-home) .hero-copy{top:64px;left:calc(var(--sa-left) + 22px);max-width:190px}.home-screen:not(.story-home) .hero-copy h1{font-size:27px;line-height:1.02;margin:8px 0 0;-webkit-text-stroke-width:4px;text-shadow:3px 3px 0 var(--ink)}.home-screen:not(.story-home) .role-picker{left:calc(var(--sa-left) + 230px);right:calc(var(--sa-right) + 18px);width:auto;max-width:none;transform:none;bottom:46px}.home-screen:not(.story-home) .commit-row{max-width:none}}@media(orientation:landscape)and (max-height:450px)and (max-width:699px){.home-screen:not(.story-home) .hero-copy{display:none}.home-screen:not(.story-home) .role-picker{left:calc(var(--sa-left) + 18px)}}@media(max-width:450px)and (orientation:portrait){.home-screen:not(.story-home) .role-picker{bottom:98px}}.announcement{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin:4px 0 14px}.announcement-icon{font-size:42px;line-height:1}.announcement-text{font-size:16px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.announcement-meta{font-size:12px;color:#7b8275}.announcement.warning .announcement-text{background:#fdecd8;border:2px solid #d9822b;border-radius:12px;padding:10px 12px}@media(orientation:landscape)and (max-height:450px){.announcement-icon{font-size:30px}.announcement-text{font-size:14px}}.game-modal .announcement+.cartoon-button{position:sticky;bottom:0;z-index:1;box-shadow:3px 4px 0 var(--ink),0 -12px 14px 6px var(--paper)}.announcement-text{max-height:min(46dvh,320px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}@media(orientation:landscape)and (max-height:450px){.announcement{gap:6px;margin:0 0 10px}.announcement-text{max-height:34dvh}.game-modal .announcement+.cartoon-button{min-height:42px}}@media(max-width:420px){.announcement-text{font-size:15px}}.announcement-text.long{text-align:left}.announce-float{position:absolute;z-index:6;display:flex;flex-direction:column;align-items:stretch;pointer-events:none;animation:announceIn .45s cubic-bezier(.3,1.3,.5,1) both}.announce-float>*{pointer-events:auto}@keyframes announceIn{0%{transform:translateY(-70px);opacity:0}}.announce-pill{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;padding:0 12px;border:3px solid var(--ink);border-radius:999px;background:var(--paper);box-shadow:3px 4px 0 var(--ink);font:inherit;font-size:14px;color:var(--ink);cursor:pointer}.announce-pill b{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.announce-pill em{font-style:normal;font-size:12px;font-weight:700;background:var(--ink);color:var(--paper);border-radius:999px;padding:1px 7px}.announce-float.compact .announce-pill{padding:0;font-size:19px}.announce-float.compact .announce-pill em{position:absolute;top:-8px;right:-8px;font-size:10px;padding:1px 5px}.announce-float.update .announce-pill{background:#e6f4ec}.announce-float.event .announce-pill{background:#fff1c9}.announce-float.warning .announce-pill{background:#fde3cf}.announce-pill:before{content:"";width:9px;height:9px;flex:none;border-radius:50%;background:#e2564b;box-shadow:0 0 0 3px #e2564b44;animation:announcePing 1.6s ease-in-out infinite}.announce-float.compact .announce-pill:before{position:absolute;top:-3px;left:-3px;border:2px solid var(--paper)}@keyframes announcePing{50%{box-shadow:0 0 0 7px #e2564b00}}.announce-card{position:absolute;top:calc(100% + 8px);padding:12px 14px;border:3px solid var(--ink);border-radius:16px;background:var(--paper);box-shadow:4px 5px 0 var(--ink);display:flex;flex-direction:column;gap:8px;animation:announceOpen .25s ease-out both}@keyframes announceOpen{0%{opacity:0;transform:translateY(-8px)}}.announce-card-title{font-size:15px}.announce-card small{font-family:Silkscreen,monospace;font-size:8px;letter-spacing:.5px;color:#7b8275}.announce-card .announcement-text{font-size:14.5px;line-height:1.55;margin:0;max-height:min(38dvh,240px)}.announce-actions{display:flex;gap:8px;justify-content:flex-end}.announce-actions button{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:6px 14px;border:2px solid var(--ink);border-radius:10px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;color:var(--ink);white-space:nowrap}.announce-min{background:#eef0e4}.announce-ok{background:var(--yellow);box-shadow:2px 3px 0 var(--ink)}@media(orientation:landscape)and (max-height:450px){.announce-pill{height:38px;font-size:13px}.announce-card{padding:9px 11px}.announce-card .announcement-text{font-size:13.5px;max-height:30dvh}.announce-actions button{min-height:36px}}@media(prefers-reduced-motion:reduce){.announce-float,.announce-card{animation:none}.announce-pill:before{animation:none}}.announce-timer{position:absolute;left:14px;right:14px;bottom:3px;height:3px;border-radius:2px;background:#27303f55;transform-origin:left;animation:announceTimer linear forwards}@keyframes announceTimer{to{transform:scaleX(0)}}.announce-float.compact .announce-timer{left:8px;right:8px}.reply-open{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:5px 12px;border:2px solid var(--ink);border-radius:10px;background:#e6f1f5;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer}.reply-box{display:flex;flex-direction:column;gap:6px}.reply-box textarea{font:inherit;font-size:16px;line-height:1.4;padding:8px 10px;border:2px solid var(--ink);border-radius:10px;background:#fffdf3;color:var(--ink);resize:vertical;min-height:52px;-webkit-user-select:text;user-select:text}.reply-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.reply-row small{color:#7b8275;font-size:11px;margin-right:auto}.reply-row em{font-style:normal;font-size:12px;color:#8f2f27;width:100%;order:-1}.reply-row button{min-height:36px;padding:5px 12px;border:2px solid var(--ink);border-radius:10px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;gap:5px}.reply-cancel{background:#eef0e4}.reply-send{background:var(--teal);color:#fff!important}.reply-send:disabled{opacity:.5}.reply-sent{margin:0;font-size:13.5px;font-weight:600;color:#2f6b39}.announce-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.announce-list li{border:2px solid #d8d3b8;border-left:6px solid var(--teal);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;background:#fffdf3}.announce-list li.warning{border-left-color:#d9822b}.announce-list li.event{border-left-color:#d9a520}.announce-list small{font-family:Silkscreen,monospace;font-size:8px;color:#7b8275}.announce-list b{font-size:16px}.announce-list .announcement-text{max-height:none;font-size:14.5px;margin:0}@media(orientation:landscape)and (max-height:450px){.reply-box textarea{min-height:44px}.reply-open,.reply-row button{min-height:34px}}.reply-wrap{display:flex;flex-direction:column;gap:6px}.reply-mine{display:flex;flex-direction:column;gap:2px;background:#eef6f0;border:1.5px solid #b9d6c2;border-radius:10px;padding:7px 10px}.reply-mine small{font-size:11px;font-weight:700;color:#4f7a5c}.reply-mine q{font-size:13.5px;line-height:1.4;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(orientation:landscape)and (max-height:450px){.driving-mode .player-hud .hud-progress{display:none}.driving-mode .player-hud{padding-top:6px;padding-bottom:6px}.driving-mode .player-hud .assessment-mode{display:block;margin-top:3px}}.whatsnew,.changelog-body,.whatsnew-body{display:flex;flex-direction:column;gap:12px}.whatsnew-tag{display:flex;align-items:center;gap:8px}.whatsnew-tag b{font-size:13px;background:var(--yellow);border:2px solid var(--ink);border-radius:8px;padding:2px 8px}.whatsnew-tag span{font-size:12px;color:#7b8275}.whatsnew-highlight{margin:0;font-size:15px;line-height:1.5;font-weight:600;background:#e6f4ec;border:2px solid #8cc3a1;border-radius:12px;padding:10px 12px}.whatsnew-section h3{margin:0 0 6px;font-family:Silkscreen,monospace;font-size:10px;letter-spacing:1px;color:#5f6b57}.whatsnew-section ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.whatsnew-section li{display:flex;gap:10px;align-items:flex-start}.whatsnew-section li>span{font-size:19px;line-height:1.2;flex:none}.whatsnew-section li p{margin:0;font-size:14px;line-height:1.45}.whatsnew-actions{position:sticky;bottom:0;display:flex;gap:8px;padding-top:8px;background:var(--paper);box-shadow:0 -12px 14px 4px var(--paper)}.whatsnew-actions .cartoon-button{flex:1;min-height:46px;font-size:14px}.changelog{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.changelog>li{border:2px solid #d8d3b8;border-radius:12px;background:#fffdf3;overflow:hidden}.changelog>li.open{border-color:var(--ink)}.changelog-head{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:transparent;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.changelog-head b{font-size:12px;background:#e9e6d2;border:1.5px solid var(--ink);border-radius:7px;padding:2px 7px;flex:none}.changelog>li.open .changelog-head b{background:var(--yellow)}.changelog-head span{flex:1;display:flex;flex-direction:column}.changelog-head strong{font-size:15px}.changelog-head small{font-size:12px;color:#7b8275}.changelog>li.open .changelog-head svg{transform:rotate(180deg)}.changelog-body{padding:0 12px 12px}@media(orientation:landscape)and (max-height:450px){.whatsnew{gap:8px}.whatsnew-highlight{font-size:13.5px;padding:8px 10px}.whatsnew-section li p{font-size:13px}.whatsnew-actions .cartoon-button{min-height:40px}}.changelog-empty{margin:0;text-align:center;color:#7b8275}.home-footer>span .footer-version{all:unset;cursor:pointer;font-weight:700;color:#fff;opacity:.9;text-decoration:underline dotted;text-underline-offset:2px}.home-footer>span .footer-version:hover{opacity:1}.home-footer>span .footer-version:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:3px}.intro-secondary button{min-width:0;white-space:nowrap}.intro-secondary{container-type:inline-size;flex-wrap:wrap}.intro-secondary>button{flex:1 1 72px}@container (max-width:340px){.intro-secondary button{padding-left:6px;padding-right:6px;gap:4px;font-size:12px}.intro-secondary button svg{display:none}}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img{-webkit-user-drag:none}.hold-button,.joystick,.gear-keys button,.engine-start,.driving-aids button{touch-action:none}.driving-aids .aid.ok{background:#c9ecd2}.pre-move{display:flex;gap:6px;margin:6px 0 0;flex-wrap:wrap}.pre-move span{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;border:1.5px solid var(--ink);background:#fff3cf}.pre-move span.ok{background:#c9ecd2}.settings-emoji{font-size:19px;width:21px;text-align:center}.fault-list .fault-tip{display:block;margin-top:3px;font-size:11px;font-weight:500;color:#5c6b52}.clutch-chip.auto{background:#c9ecd2}.clutch-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 2px}.clutch-mode-title{grid-column:1 / -1;display:flex;flex-direction:column;gap:2px}.clutch-mode-title small{font-size:11px;color:#7b8275}.clutch-mode button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;padding:9px 10px;border:2px solid var(--ink);border-radius:11px;background:var(--paper);box-shadow:2px 3px 0 var(--ink)}.clutch-mode button>span{grid-row:span 2;font-size:22px}.clutch-mode button b{font-size:14px}.clutch-mode button small{font-size:10.5px;line-height:1.3;color:#6b7563}.clutch-mode button.on{background:#ffe08a;transform:translate(1px,2px);box-shadow:1px 1px 0 var(--ink)}.clutch-mode button:focus-visible{outline:3px solid #ec8751;outline-offset:2px}.driving-pedals:has(>.gear-panel){display:flex;flex-direction:column;align-items:flex-end}.driving-pedals>.gear-panel{width:clamp(204px,28vw,240px);min-width:0;max-width:calc(100vw - var(--sa-left) - var(--sa-right) - 190px)}.gear-head .gear-current,.gear-head .gear-speed,.gear-head .clutch-chip{flex:none}.gear-head .gear-speed{margin-left:auto}.gear-keys button{min-height:30px}.driving-pedals>.gear-panel .gear-keys{gap:3px}.retry-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:12px}.retry-actions .cartoon-button{min-width:0;justify-content:center}.retry-note{margin:8px 0 0;font-size:11px;color:#7b8275;text-align:center}@media(max-width:420px){.retry-actions{grid-template-columns:1fr}.retry-actions .yellow{order:-1}}.forgive-meter{display:flex;align-items:center;gap:5px;margin:0 0 8px}.forgive-meter i{width:26px;height:9px;border:2px solid var(--ink);border-radius:6px;background:#fff}.forgive-meter i.used{background:#f6c744}.forgive-meter i.over{background:#e8574a}.forgive-meter span{font-size:11px;font-weight:700;margin-left:4px}.forgiven-note{margin:6px 0 0;padding:8px 10px;border:2px solid #8cc3a1;border-radius:10px;background:#e6f4ec;font-size:12.5px;font-weight:600;line-height:1.4}.radio-message{flex-wrap:wrap}.drive-hint{flex-basis:100%;display:flex;align-items:center;gap:6px;margin:-2px -3px 2px;padding:6px 8px;border:2px solid var(--ink);border-radius:8px;background:#ffe08a;color:var(--ink);font-size:12.5px;line-height:1.3}.drive-hint>span{font-size:16px;flex:none}@media(orientation:landscape)and (max-height:430px){.drive-hint{font-size:10.5px;padding:4px 6px}.drive-hint>span{font-size:13px}}@keyframes hintPulse{0%,to{box-shadow:0 0 #ffb800cc}50%{box-shadow:0 0 0 6px #ffb80000}}.hint-pulse{animation:hintPulse 1s ease-out infinite;outline:3px solid #ffb800;outline-offset:1px}@media(prefers-reduced-motion:reduce){.hint-pulse{animation:none}}@media(orientation:landscape)and (max-height:430px){.in-world .radio-message{left:calc(var(--sa-left) + clamp(160px,25vw,215px));right:calc(var(--sa-right) + 26px + clamp(204px,28vw,240px));width:auto;min-width:0;max-width:420px;margin:0 auto;transform:none}}.account-form button[type=submit]{position:sticky;bottom:6px;z-index:1}:root.keyboard-open .game-modal{margin:calc(var(--sa-top) + 6px) auto auto;max-height:calc(100dvh - var(--kb) - 12px - var(--sa-top))}:root.keyboard-open .account-auth>.modal-description,:root.keyboard-open .account-auth .account-privacy{display:none}@media(max-height:520px){.account-auth>.modal-description{font-size:12px;margin:0}.account-auth .account-tabs{margin:10px 0}.account-auth .account-tabs button{min-height:36px;padding:6px}.account-auth .account-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-auth .account-form button[type=submit]{grid-column:1 / -1}.account-auth .account-form input{min-height:40px}.account-auth .account-privacy{margin-top:10px}}@media(max-height:520px)and (max-width:480px){.account-auth .account-form{grid-template-columns:1fr}}:root.keyboard-open .game-modal .modal-heading{padding-bottom:6px;margin-bottom:8px}:root.keyboard-open .game-modal .modal-heading small{display:none}:root.keyboard-open .game-modal .modal-heading h2{font-size:17px;margin-top:0}:root.keyboard-open .game-modal .modal-inner{padding-top:10px;padding-bottom:10px}.instructor-chat{margin:10px 0 4px;border:2px solid var(--ink);border-radius:12px;background:#f1f6f4;overflow:hidden}.instructor-chat header{display:flex;align-items:center;gap:9px;padding:8px 10px;background:#27303f;color:#fff}.instructor-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffd45c;font-size:20px;flex:none;border:2px solid #fff}.instructor-chat header>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.instructor-chat header b{font-size:14px}.instructor-chat header small{font-size:10px;opacity:.75}.instructor-chat header em{margin-left:auto;font-style:normal;font-size:10px;font-weight:700;background:#e8574a;border-radius:999px;padding:2px 8px;white-space:nowrap}.instructor-chat ol{list-style:none;margin:0;padding:10px;display:flex;flex-direction:column;gap:7px;max-height:min(46dvh,320px);overflow-y:auto;overscroll-behavior:contain}.chat-bubble{align-self:flex-start;max-width:92%;padding:8px 11px;border:2px solid var(--ink);border-radius:4px 13px 13px;background:#fff;font-size:13px;font-weight:600;line-height:1.4;opacity:0;animation:chatIn .3s ease-out forwards}.chat-bubble.fault{background:#fff1ef;border-color:#a8382f}.chat-bubble.last{background:#ffe08a}.chat-bubble p{margin:0}.chat-bubble small{display:block;margin-top:4px;font-size:11px;font-weight:500;line-height:1.35}.chat-fault{color:#8f2f27}.chat-tip{color:#3f6b4c}@keyframes chatIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.chat-bubble{animation:none;opacity:1}}@media(max-height:430px){.chat-bubble{font-size:11.5px;padding:6px 9px}.instructor-chat ol{max-height:52dvh}}.retry-actions{position:sticky;bottom:-1px;z-index:2;margin:10px -4px 0;padding:8px 4px 6px;background:var(--paper);box-shadow:0 -10px 12px -6px var(--paper)}@media(max-height:520px){.instructor-chat{margin-top:6px}.instructor-chat header{padding:5px 8px}.instructor-avatar{width:28px;height:28px;font-size:16px}.instructor-chat ol{max-height:34dvh;padding:7px;gap:5px}.game-modal .instructor-chat+.retry-actions,.game-modal .retry-actions{margin-top:6px}.retry-note{display:none}}@media(max-height:520px){.game-modal .modal-description:has(+.instructor-chat){font-size:11px;line-height:1.35;margin:0}.game-modal .modal-heading:has(~.instructor-chat){padding-bottom:8px;margin-bottom:8px}}.instructor-chat.jpj header{background:#1d3557}.instructor-chat.jpj .instructor-avatar{background:#e9c46a}.instructor-chat.jpj header em{background:#e9c46a;color:#1d3557}.instructor-chat.jpj .chat-bubble.fault{background:#eef3fa;border-color:#1d3557}.instructor-chat.jpj .chat-fault{color:#1d3557}.instructor-chat.jpj .chat-bubble.last{background:#e3ecf7}.story-home>.home-footer{display:none}.licence-journey{position:absolute;inset:110px max(28px,calc((100vw - 1180px)/2)) 30px;display:grid;grid-template-columns:260px minmax(0,1fr);overflow:hidden;background:#fff8e6;box-shadow:6px 7px #27303f;user-select:text}.journey-route{background:#d7e8cd;border-right:3px solid #27303f;padding:22px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.journey-back{display:flex;align-items:center;gap:7px;background:#fff8e6;border:2px solid #27303f;border-radius:8px;padding:8px 12px;min-height:40px;font-size:13px;box-shadow:2px 2px #27303f;margin-bottom:22px}.journey-kicker,.journey-chapter{font-family:Silkscreen,monospace;font-size:9px;color:#4d7261}.journey-route h2{font-size:29px;line-height:1.1;margin:9px 0 18px}.journey-owner{display:flex;gap:10px;align-items:center;padding:12px 0;border-top:2px dashed #abc09b;border-bottom:2px dashed #abc09b;font-size:16px;overflow-wrap:anywhere}.journey-owner small{display:block;font-size:11px;margin-top:3px;color:#527266}.journey-route ol{padding:0;list-style:none;margin:18px 0}.journey-route li{display:flex;align-items:center;gap:9px;position:relative;padding:7px 0;color:#768578;font-size:11px;line-height:1.3;min-height:35px}.journey-route li>span{width:23px;height:23px;flex-shrink:0;display:grid;place-items:center;background:#c1d2b7;border:2px solid #8ba17e;border-radius:50%;font-size:11px}.journey-route li b{font-weight:500}.journey-route li.current{color:#27303f}.journey-route li.current>span{background:#f7cf52;border-color:#27303f;box-shadow:2px 2px #27303f}.journey-route li.done{color:#2f7162}.journey-route li.done>span{background:#368c82;border-color:#28685f;color:#fff8e6}.journey-saved{font-size:10px;color:#527266}.journey-content{overflow-y:auto;overscroll-behavior:contain;padding:30px 38px 24px;scrollbar-width:thin;min-width:0;outline-offset:-5px!important}.journey-chapter{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px}.journey-content h1{font-size:clamp(26px,3vw,38px);line-height:1.15;letter-spacing:-.7px;margin-bottom:20px}.journey-content>p{font-size:16px;line-height:1.65;margin:18px 0}.journey-content .full-width{margin-top:20px;min-height:49px}.journey-illustration{background:#e3edda;border:2px dashed #a4b98f;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:24px;padding:22px;color:#368c82;margin:8px 0 20px}.journey-illustration span{font-family:Silkscreen;font-size:14px;max-width:180px;line-height:1.6}.journey-illustration.driving{background:#fae9b8;color:#9e742b;border-color:#d7b964}.journey-ticket{padding:20px;background:#fff1c3;border:2px dashed #b69e5f;border-radius:12px;margin:20px 0;transform:rotate(-.5deg)}.journey-ticket>*{display:block}.journey-ticket small{font-family:Silkscreen;font-size:9px;color:#8a744b}.journey-ticket b{font-size:24px;margin:10px 0}.journey-ticket span{font-size:13px;color:#806e52}.journey-check{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.5;padding:12px;background:#f0ead7;border-radius:10px}.journey-check input{flex-shrink:0;width:24px;height:24px;accent-color:#368c82}.registration-actions{display:grid;gap:10px;margin:20px 0}.registration-step{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:12px;background:#f0ead7;border:2px solid #c5ccb5;border-radius:11px}.registration-step>span{display:grid;place-items:center;width:27px;height:27px;border:2px solid #8c9c85;border-radius:50%;font-weight:700;color:#647565}.registration-step.done{background:#d8ebd1;border-color:#78a383}.registration-step.done>span{background:#368c82;border-color:#28685f;color:#fff}.registration-step b,.registration-step small{display:block}.registration-step b{font-size:13px}.registration-step small{font-size:11px;color:#687769;margin-top:3px;line-height:1.35}.registration-step button{min-height:38px;font-size:11px;padding:8px 10px}.registration-step button:disabled{opacity:.5}.registration-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#152c32bb;backdrop-filter:blur(3px)}.registration-dialog{position:relative;width:min(500px,96vw);max-height:min(88dvh,760px);overflow-y:auto;padding:26px;background:#fff8e6;border:3px solid #27303f;border-radius:20px;box-shadow:7px 8px #152c32;color:#27303f}.registration-dialog-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:2px solid #27303f;border-radius:10px;background:#fff1c3;font-size:26px;line-height:1}.registration-dialog-icon{width:54px;height:54px;display:grid;place-items:center;border:2px solid #27303f;border-radius:15px;background:#d8ebd1;color:#2f7869;margin-bottom:14px;box-shadow:3px 3px #27303f}.registration-dialog>small{font-family:Silkscreen,monospace;font-size:8px;color:#568070;letter-spacing:.3px}.registration-dialog h2{font-size:clamp(22px,5vw,30px);margin:7px 40px 8px 0;line-height:1.15}.registration-dialog>p{font-size:14px;line-height:1.5;color:#5e7064;margin:8px 0 16px}.mock-identity-card{position:relative;min-height:195px;padding:16px 18px;background:linear-gradient(125deg,#d8edcb,#a6d1c2 60%,#85b5b7);border:2px solid #456c67;border-radius:15px;overflow:hidden;box-shadow:inset 0 -22px #ffffff1a}.mock-identity-card:after{content:"✦";position:absolute;right:20px;top:35px;font-size:92px;color:#ffffff30}.mock-identity-top{display:flex;justify-content:space-between;font-size:13px;color:#24484c}.mock-identity-top span{font-family:Silkscreen;font-size:8px;background:#fff9;padding:5px 7px;border-radius:5px}.mock-identity-chip{width:38px;height:30px;display:grid;place-items:center;margin:18px 0 12px;background:#e8d99b;border:1px solid #887d58;border-radius:7px;color:#615b43;font-size:23px}.mock-identity-card small,.mock-identity-card footer{display:block;font-size:8px;letter-spacing:.8px;color:#365957}.mock-identity-card>div:last-of-type>b{display:block;margin-top:3px;font-size:19px}.mock-identity-card footer{margin-top:13px}.mock-identity-card footer span{margin-left:8px;font-weight:700}.registration-dialog .registration-dialog-note{font-size:11px;padding:10px 12px;background:#f1ead7;border-radius:9px}.payment-total{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;margin:18px 0;padding:14px 16px;border:2px dashed #9eae91;border-radius:12px;background:#edf1df}.payment-total small{font-family:Silkscreen;font-size:8px;color:#5b796b}.payment-total>b{grid-column:2;grid-row:1/3;font-size:24px;color:#327566}.payment-total>span{font-size:11px;color:#6f7d6b}.payment-class-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.payment-class-choice button{display:flex;align-items:center;gap:10px;padding:10px 13px;border:2px solid #bdc9b2;border-radius:10px;background:#f0eedf;text-align:left}.payment-class-choice button.selected{background:#fff0b8;border-color:#27303f;box-shadow:2px 2px #27303f}.payment-class-choice b{font-size:19px}.payment-class-choice span{font-size:12px;color:#5d7063}.payment-fee-detail{margin:12px 0;padding:12px 14px;border:1px dashed #aab69f;border-radius:10px;background:#f6f2e2;font-size:11px;color:#5c6f63}.payment-fee-detail summary{min-height:28px;display:flex;align-items:center;cursor:pointer;font-weight:700}.payment-fee-detail p{line-height:1.5;margin:8px 0}.payment-fee-detail a{display:block;margin:8px 0;color:#286f77;text-decoration:underline}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 18px}.payment-methods button{min-height:104px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left;border:2px solid #bfc9b2;border-radius:12px;background:#f2f0df}.payment-methods button.selected{background:#fff0b8;border-color:#27303f;box-shadow:3px 3px #27303f}.payment-methods button>span{font-size:22px}.payment-methods button>b{font-size:12px}.payment-methods button>small{font-size:10px;color:#607465}.kpp-book{width:min(260px,80%);height:190px;position:relative;display:flex;margin:20px auto 18px;filter:drop-shadow(5px 6px 0 #27303f30);perspective:600px}.kpp-book-spine{width:28px;display:grid;place-items:center;background:#b75d45;color:#fff6d9;font-family:Silkscreen;font-size:12px;writing-mode:vertical-rl;border-radius:7px 0 0 7px;border:2px solid #27303f;border-right:0}.kpp-book-cover{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:15px;background:linear-gradient(145deg,#4f9b91,#347d80);color:#fff8df;text-align:center;border:2px solid #27303f;border-radius:0 12px 12px 0}.kpp-book-cover small{font-family:Silkscreen;font-size:7px}.kpp-book-cover b{font-size:20px}.kpp-book-cover span{font-size:9px;letter-spacing:1px}.book-pickup-ticket{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;padding:12px 15px;background:#fff0bd;border:2px dashed #b49a5d;border-radius:10px;margin:12px 0 18px}.book-pickup-ticket span{font-family:Silkscreen;font-size:8px;color:#867448}.book-pickup-ticket>b{grid-column:2;grid-row:1/3;font-size:19px}.book-pickup-ticket small{font-size:11px;color:#776e55}@media(max-width:650px){.registration-step{grid-template-columns:28px minmax(0,1fr);gap:8px}.registration-step button{grid-column:2;justify-self:start}.registration-dialog{padding:22px 18px}.mock-identity-card{min-height:180px}.kpp-book{height:165px}.registration-overlay{padding:10px}}.licence-classes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.class-choice{position:relative;border:3px solid #27303f;border-radius:15px;box-shadow:3px 4px #27303f;background:#f1eddd;padding:24px 16px;display:flex;align-items:center;flex-direction:column;gap:10px;min-height:190px}.class-choice.selected{background:#fbe49a;outline:3px solid #e6ad36;outline-offset:3px}.class-choice>b{font-size:35px}.class-choice>span{font-size:17px}.class-choice small{font-size:11px;color:#727665}.class-choice>.lucide-check{position:absolute;right:12px;top:12px}.lesson-counter{display:flex;gap:8px;align-items:center;font-size:14px;color:#4b8174;margin:20px 0}.lesson-card{background:#e4edda;border:2px solid #a8bd95;border-radius:16px;padding:25px}.lesson-card h2{font-size:25px;margin-bottom:14px}.lesson-card p{font-size:17px;line-height:1.8}.lesson-tip{margin-top:18px;padding:15px;border-radius:10px;background:#fff0bd;color:#6e613f;font-size:14px;line-height:1.6}.journey-content p.journey-note,.journey-note{font-size:12px;line-height:1.65;color:#69756c;display:block;margin-top:15px}.journey-content p.journey-disclaimer{font-size:10px;line-height:1.5;color:#7a8274;border-top:1px dashed #c9c5ad;padding-top:15px;margin:25px 0 0}.theory-progress{display:flex;gap:8px;margin:22px 0}.theory-progress i{height:8px;flex:1;border-radius:8px;background:#d8dfc9;border:1px solid #b5c2a7}.theory-progress i.filled{background:#eabe40;border-color:#c29a31}.theory-question{font-size:24px;line-height:1.4;margin:20px 0}.theory-options{display:grid;gap:14px}.theory-options button{text-align:left;justify-content:flex-start;min-height:55px;font-size:15px}.theory-options button b{display:grid;place-items:center;width:29px;height:29px;background:#e5e7d6;border-radius:7px;flex-shrink:0}.theory-review{display:grid;gap:12px;margin:20px 0}.theory-review>div{background:#f4eddb;border:2px solid #d9caac;border-radius:10px;padding:15px;font-size:14px}.theory-review p{margin-top:7px;color:#726f5b;line-height:1.6}.journey-status{text-align:center;padding:25px;background:#e4edda;border:2px solid #b5c7a1;border-radius:16px;color:#33766a}.journey-status>b{display:block;font-size:27px;margin:10px 0}.journey-status p{font-size:15px;line-height:1.6}.journey-status.retry{background:#faead0;border-color:#d8b488;color:#957049}.drive-brief{display:grid;gap:13px;background:#e8eddf;border-radius:12px;padding:20px;margin:20px 0}.drive-brief span{display:flex;gap:10px;align-items:center;font-size:14px}.licence-reward{display:flex;gap:20px;align-items:center;background:#fff2c6;border:3px solid #27303f;border-radius:16px;box-shadow:4px 5px #27303f;padding:24px;margin:25px 0;transform:rotate(-1deg)}.licence-reward>span{font-size:50px;font-weight:700;background:#cf625c;color:#fff8e6;border:3px solid #27303f;padding:10px 20px;border-radius:10px}.licence-reward>div{flex:1;overflow-wrap:anywhere;min-width:0}.licence-reward small{font-size:8px}.licence-reward h2{font-size:24px;margin:7px 0}.licence-reward p{font-size:11px;margin-top:7px}.exam-timeout-alert{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:15px 17px;margin:0 0 16px;background:#f5c56c;border:3px solid #27303f;border-radius:13px;box-shadow:3px 4px #27303f;color:#674a2e}.exam-timeout-alert>span{grid-row:span 2;font-size:25px}.exam-timeout-alert>b{font-size:17px}.exam-timeout-alert>p{font-size:13px;margin:3px 0 0}.exam-congrats{position:relative;z-index:4;text-align:center;padding:26px 24px;margin:0 0 22px;background:linear-gradient(145deg,#fff2a9,#ffd56c);border:3px solid #27303f;border-radius:18px;box-shadow:6px 7px #27303f;animation:congrats-pop .42s cubic-bezier(.2,1.4,.4,1)}.exam-congrats b{display:block;font-size:22px;line-height:1.2;color:#26776b}.exam-congrats p{font-size:15px;margin:10px 0;color:#584f37}.exam-congrats span{display:block;font-size:12px;color:#8a6333;margin-bottom:16px}.exam-congrats button{display:inline-flex;min-height:44px}@keyframes congrats-pop{0%{opacity:0;transform:scale(.72) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0)}}.exam-confetti{font-size:28px;letter-spacing:8px;margin-bottom:8px}@media(max-width:800px){.licence-journey{grid-template-columns:200px minmax(0,1fr)}.journey-route{padding:17px}.journey-content{padding:23px}.journey-route h2{font-size:24px}.journey-chapter{font-size:7px}}@media(max-width:560px){.registration-step{grid-template-columns:28px 1fr}.registration-step button{grid-column:2;justify-self:start}.registration-step small{max-width:30ch}}@media(max-height:650px)and (orientation:landscape){.licence-journey{inset:66px max(16px,var(--sa-left)) 14px;grid-template-columns:190px minmax(0,1fr);border-width:2px;border-radius:12px}.journey-route{padding:12px 15px;border-right-width:2px}.journey-back{margin-bottom:13px;min-height:36px;font-size:11px}.journey-route h2{font-size:22px;margin:6px 0 12px}.journey-kicker{font-size:7px}.journey-owner{padding:8px 0;font-size:13px}.journey-route ol{margin:12px 0}.journey-route li{font-size:10px;padding:6px 0;min-height:32px}.journey-content{padding:18px 24px}.journey-chapter{font-size:7px;margin-bottom:12px}.journey-content h1{font-size:25px;margin-bottom:14px}.journey-content>p{font-size:13px;margin:12px 0}.journey-illustration{padding:14px;gap:16px;margin-bottom:12px}.journey-illustration svg{width:35px;height:35px}.journey-illustration span{font-size:10px}.journey-ticket{padding:14px;margin:14px 0}.journey-ticket b{font-size:20px;margin:6px 0}.journey-check{font-size:12px}.journey-content .full-width{font-size:13px;padding:11px 14px;margin-top:16px;min-height:45px}.licence-classes{margin:16px 0;gap:12px}.class-choice{padding:15px 10px;min-height:150px;gap:6px}.class-choice>b{font-size:29px}.class-choice>span{font-size:14px}.class-choice small{font-size:10px}.lesson-card{padding:18px}.lesson-card h2{font-size:20px}.lesson-card p{font-size:14px}.lesson-tip{font-size:12px;padding:12px}.theory-question{font-size:19px;margin:14px 0}.theory-progress{margin:16px 0}.theory-options{gap:11px}.theory-options button{min-height:47px;padding:10px 13px;font-size:13px}.journey-status{padding:18px}.journey-status>b{font-size:23px}.journey-status p{font-size:13px}.drive-brief{padding:15px;gap:10px;margin:15px 0}.drive-brief span{font-size:12px}.licence-reward{padding:17px;gap:14px}.licence-reward>span{font-size:35px}.licence-reward h2{font-size:20px}}@media(max-width:650px)and (orientation:landscape){.licence-journey{grid-template-columns:150px minmax(0,1fr);inset:62px 12px 12px}.journey-route{padding:10px}.journey-route h2{font-size:18px}.journey-route li{font-size:9px;gap:6px}.journey-route li>span{width:20px;height:20px}.journey-content{padding:15px}.journey-chapter>span:last-child{display:none}.journey-content h1{font-size:22px}.journey-check{padding:10px}.licence-classes{gap:9px}.class-choice small{line-height:1.4}.licence-reward{flex-wrap:wrap}.journey-content .journey-disclaimer{font-size:9px}}.journey-back{position:sticky;top:0;z-index:1}.journey-route li{scroll-margin-top:55px}.theory-progress{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:4px}.theory-clock{display:inline-flex;align-items:center;gap:10px;background:#fff0bd;border:2px solid #c6ac6a;border-radius:9px;padding:9px 14px;font-variant-numeric:tabular-nums;font-size:24px}.theory-clock small{font-size:12px}.sop-sources{margin-top:24px;border:2px dashed #b5c2a2;border-radius:10px;padding:12px;font-size:12px;color:#4d6e60}.sop-sources summary{cursor:pointer;font-weight:600;min-height:26px}.sop-sources p{line-height:1.7;margin:12px 0}.sop-sources a{display:block;color:#286f77;margin:10px 0;min-height:30px}.journey-check+.journey-check{margin-top:8px}.inspection-tabs{display:flex;gap:12px;margin:15px 0}.inspection-tabs>span{flex:1;display:flex;align-items:center;gap:8px;justify-content:center;padding:11px;border:2px solid #bfccb1;border-radius:10px;background:#e8eddf}.inspection-tabs>span.active{background:#ffe49a;border-color:#b49c58}.inspection-tabs>span.done{background:#d2e6c6}.inspection-checks{display:grid;gap:10px;margin:18px 0}.inspection-checks label{display:flex;align-items:center;gap:13px;padding:13px;border:2px solid #c6cfb9;border-radius:10px;background:#eff0e2}.inspection-checks input{width:24px;height:24px;flex-shrink:0;accent-color:#368c82}.inspection-checks b{display:block;font-size:14px}.inspection-checks small{display:block;font-size:12px;line-height:1.5;color:#657869;margin-top:5px}.ldl-term{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;background:#e7eddd;border-radius:10px}.ldl-term select{font:inherit;padding:10px;border:2px solid #567969;border-radius:8px;background:#fff8e6;color:#27303f;min-height:44px}.test-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.test-mode-picker .class-choice>b{font-size:20px}.test-mode-picker .class-choice span{font-size:13px;line-height:1.5}.test-mode-picker .class-choice small{line-height:1.6}.assessment-mode{display:block;font-size:9px;color:#347466;margin-top:7px}@media(max-width:650px){.test-mode-picker{grid-template-columns:1fr}.test-mode-picker .class-choice{min-height:140px}}.computer-exam-intro{text-align:center;padding:25px;background:#dbe8df;border:3px solid #5a7c76;border-radius:16px;box-shadow:0 8px #a4b7ac}.computer-exam-intro h2{font-size:25px;margin:14px 0 10px}.computer-exam-intro>span{font-family:Silkscreen;font-size:9px;color:#4d7565}.exam-console{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#dce9e0;border:2px solid #8da99b;border-radius:11px;padding:12px}.exam-console>b{font-size:12px;letter-spacing:.5px}.exam-console .theory-clock{font-size:20px;padding:7px 12px}.exam-count{font-size:13px;color:#5b7f71;margin-top:16px}.theory-options button.answer-selected{background:#d8eac8!important;border-color:#438775}.exam-navigation{display:flex;gap:12px;justify-content:space-between;margin:20px 0}.exam-navigation button{flex:1;font-size:13px}.exam-question-map{margin-top:24px;font-size:12px;line-height:1.6}.exam-question-map summary{cursor:pointer;padding:10px 0}.exam-question-map>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:7px;margin-top:12px}.exam-question-map button{min-height:44px;border:2px solid #b9c4b0;border-radius:8px;background:#eeeddf;font-size:13px}.exam-question-map button.answered{background:#c8e3bf;border-color:#78a383}.exam-question-map button.current{outline:3px solid #d7aa39;outline-offset:1px}.exam-submit{padding:18px;border:2px dashed #c2ad74;border-radius:12px;background:#fff0c5;margin:20px 0}.exam-submit p{font-size:14px;line-height:1.7;margin-top:10px}.journey-route{display:flex;flex-direction:column;overflow:hidden}.journey-route ol{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.journey-back{position:static;flex-shrink:0;align-self:flex-start}.journey-owner,.journey-route h2,.journey-kicker,.journey-saved{flex-shrink:0}.journey-route li{scroll-margin-top:6px}@media(max-height:650px)and (orientation:landscape){.journey-content:has(.computer-exam)>.journey-chapter,.journey-content:has(.computer-exam)>h1{display:none}.exam-console{padding:7px 10px;flex-wrap:nowrap}.exam-console>b{font-size:9px}.exam-console .theory-clock{font-size:17px;padding:5px 8px;white-space:nowrap}.exam-console .theory-clock small{font-size:9px}.exam-count{margin-top:10px;font-size:11px}.computer-exam .theory-question{font-size:17px;line-height:1.4;margin:12px 0}.computer-exam .theory-options{gap:8px}.computer-exam .theory-options button{min-height:44px;padding:8px 11px}.computer-exam .theory-options button b{width:25px;height:25px}}.journey-route li>small{margin-left:auto;font-family:Silkscreen;font-size:6px;color:#87958a}.journey-route li.current>small{color:#7e641c}.journey-route li.done>small{color:#2f7162}.journey-route li.locked{opacity:.62}.story-beat{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center;background:#e8f0df;border:2px solid #9fb696;border-radius:16px;padding:17px;margin:0 0 20px}.story-beat>div>small,.story-roadmap header small,.story-roadmap li small{font-family:Silkscreen;font-size:7px;color:#567668}.story-beat h2{font-size:19px;margin:5px 0}.story-beat h2 span{font-size:11px;color:#6f8077;font-weight:400;margin-left:8px}.story-beat p{font-size:13px;line-height:1.55;color:#4e655b}.story-objective{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding-top:9px;border-top:1px dashed #afbd9e;font-size:12px}.story-objective svg{color:#b07e23;flex-shrink:0}.story-objective b{display:block;font-size:9px;text-transform:uppercase;color:#89702e;margin-bottom:2px}.story-portrait{--shirt:#e9a06e;--accent:#4c8f86;width:82px;height:82px;border:3px solid #27303f;border-radius:50%;background:#f7d579;position:relative;display:block;overflow:hidden;box-shadow:3px 4px #27303f}.story-portrait i{position:absolute;width:35px;height:35px;left:21px;top:13px;border:3px solid #27303f;border-radius:50%;background:#bf7e58;z-index:2}.story-portrait i:after{content:"";position:absolute;left:8px;top:15px;width:4px;height:4px;border-radius:50%;background:#27303f;box-shadow:12px 0 #27303f}.story-portrait b{position:absolute;width:56px;height:49px;left:11px;top:48px;border:3px solid #27303f;border-radius:25px 25px 0 0;background:var(--shirt)}.story-portrait em{position:absolute;width:45px;height:22px;left:16px;top:5px;border-radius:22px 22px 9px 9px;background:var(--accent);z-index:3}.story-roadmap{border:2px solid #b7c5a9;border-radius:16px;padding:18px;background:#f1f2e3;margin:18px 0 24px}.story-roadmap header{display:flex;justify-content:space-between;align-items:center}.story-roadmap header h2{font-size:18px;margin-top:4px}.story-roadmap header>b{background:#f1cc55;border:2px solid #27303f;border-radius:8px;padding:6px 9px}.story-progress,.campus-story-progress{height:7px;background:#cad4bd;border-radius:8px;overflow:hidden;margin:13px 0}.story-progress i,.campus-story-progress i{display:block;height:100%;background:#3c8c7f;border-radius:8px}.story-roadmap ol{display:grid;gap:8px;padding:0;margin:0;list-style:none}.story-roadmap li{display:flex;gap:10px;align-items:center;padding:9px;border-radius:10px;background:#e4e7d6;color:#7e877d}.story-roadmap li>span{width:28px;height:28px;border:2px solid #aab6a0;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.story-roadmap li b{display:block;font-size:13px;margin-top:3px}.story-roadmap li p{font-size:11px;line-height:1.4;margin-top:3px}.story-roadmap li.current{background:#fff0b8;color:#4f4937}.story-roadmap li.current>span{background:#f2ce58;border-color:#27303f}.story-roadmap li.done{background:#d7ead0;color:#397164}.story-roadmap li.done>span{background:#3c8c7f;color:#fff;border-color:#2a7066}@media(max-height:650px)and (orientation:landscape){.story-beat{grid-template-columns:64px 1fr;padding:11px;gap:12px;margin-bottom:12px}.story-portrait{width:58px;height:58px}.story-portrait i{width:26px;height:26px;left:13px;top:9px}.story-portrait i:after{left:6px;top:10px;box-shadow:8px 0 #27303f}.story-portrait b{width:42px;height:35px;left:5px;top:36px}.story-portrait em{width:34px;height:16px;left:9px;top:3px}.story-beat h2{font-size:15px;margin:3px 0}.story-beat p{font-size:11px}.story-objective{font-size:10px;margin-top:6px;padding-top:6px}.story-roadmap{padding:12px}.story-roadmap li{padding:7px}.story-roadmap li p{display:none}}.document-desk{margin:14px 0;padding:14px;border:3px solid var(--ink);border-radius:16px;background:linear-gradient(#fffaf0,#f6efdc);box-shadow:4px 5px #27303f}.desk-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.desk-head small{display:block;font-family:Silkscreen,monospace;font-size:7px;letter-spacing:.5px;color:#7a8a8a}.desk-head b{display:block;font-size:14px;margin-top:3px;color:#27303f}.desk-progress{flex:none;padding:5px 10px;border:2px solid var(--ink);border-radius:999px;background:#ffe27a;font-weight:700;font-size:13px}.desk-bar{height:9px;margin:10px 0 12px;border:2px solid var(--ink);border-radius:99px;background:#fffdf3;overflow:hidden}.desk-bar i{display:block;height:100%;background:linear-gradient(90deg,#69c28a,#3e9f6c);transition:width .5s cubic-bezier(.2,.9,.3,1.2)}.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px}.doc-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;border:3px solid var(--ink);border-radius:14px;background:var(--tint);box-shadow:3px 4px #27303f;transition:transform .25s,box-shadow .25s,filter .3s}.doc-card:not(.handed):hover{transform:translateY(-3px) rotate(-.6deg)}.doc-card.handed{filter:saturate(.8);box-shadow:1px 2px #27303f;transform:translateY(2px)}.doc-badge{position:absolute;top:-11px;left:-8px;width:34px;height:34px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:11px;background:#fffdf3;transform:rotate(-6deg)}.doc-paper{margin-top:6px;min-height:78px;padding:10px;border:2px solid #27303f66;border-radius:8px;background:#fffefa;box-shadow:inset 0 -3px #0000000d;transform-origin:50% 100%}.doc-card.handed .doc-paper{animation:docHandOver .7s cubic-bezier(.5,0,.3,1) forwards}@keyframes docHandOver{0%{transform:translateY(0) rotate(0)}40%{transform:translateY(-14px) rotate(-3deg) scale(1.05)}to{transform:translateY(16px) rotate(2deg) scale(.9);opacity:.55}}.doc-meta b{display:block;font-size:13px;color:#27303f}.doc-meta small{display:block;margin-top:3px;font-size:10.5px;line-height:1.35;color:#5b6d70}.doc-card .cartoon-button{min-height:38px;padding:8px 12px;font-size:12px;gap:6px}.doc-stamp{position:absolute;right:10px;top:46px;padding:3px 8px;border:3px solid #2d8a58;border-radius:8px;color:#2d8a58;background:#e8fbef;font-family:Silkscreen,monospace;font-size:10px;letter-spacing:.5px;transform:rotate(-12deg);animation:docStamp .4s .45s cubic-bezier(.3,1.6,.5,1) both}@keyframes docStamp{0%{transform:rotate(-12deg) scale(2.2);opacity:0}to{transform:rotate(-12deg) scale(1);opacity:1}}.desk-tray{margin-top:12px;padding:8px 10px;border:2px dashed #8a9a96;border-radius:10px;background:#fffdf3;font-size:11px;text-align:center;color:#556a68}.paper-ic{display:grid;gap:3px}.paper-chip{display:block;width:26px;height:19px;border-radius:5px;background:linear-gradient(135deg,#f0c75e,#d7a23a);border:2px solid #27303f88}.paper-ic b{font-size:12px}.paper-ic small,.paper-ldl small,.paper-l3 small,.paper-form small{font-family:Silkscreen,monospace;font-size:6.5px;letter-spacing:.4px;color:#789}.paper-ldl{display:grid;gap:3px}.paper-ldl b{font-size:12px}.paper-ldl span{font-size:10px;color:#4f6a58}.paper-l3 p{display:flex;align-items:center;gap:6px;margin:3px 0;font-size:10.5px}.paper-l3 p span{font-weight:700;width:38px}.paper-l3 p i{flex:1;font-style:normal;color:#6b7c7c}.paper-l3 svg{color:#2d8a58}.paper-form{display:grid;gap:5px}.paper-form u{display:block;height:5px;border-radius:3px;background:#d7dcd9;text-decoration:none}.paper-form u.short{width:60%}.paper-form em{font-size:9px;color:#9aa;font-family:cursive}@media(prefers-reduced-motion:reduce){.doc-card.handed .doc-paper,.doc-stamp{animation:none}.doc-card.handed .doc-paper{opacity:.6}}.ldl-issue{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:16px;overflow:hidden;background:#20343ec7;backdrop-filter:blur(3px);animation:ldlFade .3s ease both}@keyframes ldlFade{0%{opacity:0}to{opacity:1}}.ldl-stage{position:relative;z-index:2;display:grid;justify-items:center;gap:12px;perspective:900px;max-width:100%}.ldl-card{position:relative;width:min(380px,86vw);padding:16px 18px 12px;border:4px solid var(--ink);border-radius:18px;background:linear-gradient(135deg,#fff6d2,#ffe9a6 55%,#ffd978);box-shadow:6px 8px #27303f,0 18px 40px #0006;overflow:hidden;animation:ldlDeal 1s cubic-bezier(.2,.9,.25,1.15) both}@keyframes ldlDeal{0%{opacity:0;transform:translateY(130%) rotateX(65deg) rotate(-10deg) scale(.7)}55%{opacity:1;transform:translateY(-6%) rotateX(0) rotate(2.5deg) scale(1.05)}78%{transform:translateY(2%) rotate(-1deg) scale(.99)}to{opacity:1;transform:none}}.ldl-card:before{content:"✦";position:absolute;right:-14px;bottom:-34px;font-size:150px;color:#fff8;pointer-events:none}.ldl-card header small{display:block;font-family:Silkscreen,monospace;font-size:7px;letter-spacing:.5px;color:#7a6a3a}.ldl-card header b{display:block;margin-top:3px;font-size:17px;letter-spacing:.3px;color:#27303f}.ldl-body{display:flex;gap:14px;align-items:center;margin:12px 0 10px}.ldl-photo{flex:none;width:76px;height:90px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:10px;background:linear-gradient(#cfe9f5,#a8d3ea);color:#27303f}.ldl-body dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:baseline;font-size:12px}.ldl-body dt{font-family:Silkscreen,monospace;font-size:7px;color:#8a7a45}.ldl-body dd{margin:0;font-weight:700;color:#27303f}.ldl-card footer{padding-top:8px;border-top:2px dashed #b99c4a;font-family:Silkscreen,monospace;font-size:7px;letter-spacing:.4px;color:#7a6a3a}.ldl-shine{position:absolute;inset:-20% auto -20% -60%;width:40%;background:linear-gradient(100deg,transparent,#fffc,transparent);transform:skew(-18deg);animation:ldlShine 1.1s .95s ease-out both;pointer-events:none}@keyframes ldlShine{to{left:140%}}.ldl-stamp{position:absolute;right:14px;top:50px;padding:4px 10px;border:4px solid #2d8a58;border-radius:10px;color:#2d8a58;background:#f0fff5e6;font-family:Silkscreen,monospace;font-size:13px;letter-spacing:.8px;transform:rotate(-14deg);animation:ldlStamp .45s 1.05s cubic-bezier(.3,1.7,.5,1) both}@keyframes ldlStamp{0%{opacity:0;transform:rotate(-14deg) scale(3)}to{opacity:1;transform:rotate(-14deg) scale(1)}}.ldl-caption{margin:0;max-width:340px;text-align:center;font-size:13px;line-height:1.45;color:#fff8e2;text-shadow:1px 2px 0 #27303f;animation:ldlFade .5s 1.2s both}.ldl-stage .cartoon-button{animation:ldlFade .5s 1.4s both}.ldl-confetti{position:absolute;inset:0;pointer-events:none}.ldl-confetti i{position:absolute;top:-16px;left:var(--x);width:9px;height:14px;border-radius:2px;background:var(--c);transform:rotate(var(--r));animation:ldlFall var(--d) var(--w) linear infinite}@keyframes ldlFall{0%{transform:translateY(0) rotate(var(--r))}to{transform:translateY(115vh) rotate(calc(var(--r) + 540deg))}}@media(max-height:450px){.ldl-card{padding:11px 14px 9px;width:min(330px,70vw)}.ldl-photo{width:56px;height:66px}.ldl-card header b{font-size:14px}.ldl-body{margin:8px 0 6px}.ldl-caption{font-size:11px}.ldl-stamp{top:38px;font-size:11px}}@media(prefers-reduced-motion:reduce){.ldl-card,.ldl-shine,.ldl-stamp,.ldl-confetti i,.ldl-caption,.ldl-stage .cartoon-button{animation:none}.ldl-confetti{display:none}}.ldl-card.pdl{background:linear-gradient(135deg,#e6f6ff,#c9e8fb 55%,#a9d6f2)}.ldl-card.pdl header small,.ldl-card.pdl footer,.ldl-card.pdl .ldl-body dt{color:#4f7890}.ldl-card.pdl footer{border-top-color:#7fb0cf}.p-plate{display:grid;place-items:center;width:48px;height:48px;border:3px solid #c0392b;border-radius:8px;background:#fff;color:#c0392b;font-size:34px;font-weight:700;line-height:1}.campus-next{background:#ffdc54!important;font-weight:700}.licence-wallet{margin:0 0 14px;padding:12px;border:3px solid var(--ink);border-radius:14px;background:linear-gradient(#fffaf0,#f4ecd8);box-shadow:3px 4px #27303f}.licence-wallet>header{display:flex;align-items:center;gap:10px}.licence-wallet>header small{display:block;font-family:Silkscreen,monospace;font-size:7px;letter-spacing:.5px;color:#7a8a8a}.licence-wallet>header b{display:block;font-size:15px;color:#27303f}.wallet-count{margin-left:auto;padding:4px 10px;border:2px solid var(--ink);border-radius:99px;background:#ffe27a;font-weight:700;font-size:13px}.wallet-count.all{background:#9fe0b4}.wallet-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0}.wallet-card{padding:10px;border:2px solid var(--ink);border-radius:11px;background:#eceee6;color:#6b7b7b}.wallet-card b{display:block;font-size:12px;margin-bottom:6px;color:#27303f}.wallet-card.owned{background:linear-gradient(135deg,#e2f6e6,#c8ecd2)}.wallet-card.learner{background:linear-gradient(135deg,#fff3c9,#ffe596)}.wallet-card ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:10.5px}.wallet-card li{display:flex;align-items:center;gap:6px}.wallet-card li span{flex:none;width:16px;height:16px;border:2px solid #27303f88;border-radius:5px;display:grid;place-items:center;background:#fff}.wallet-card li.got{color:#27303f;font-weight:700}.wallet-card li.got span{background:#3e9f6c;border-color:var(--ink);color:#fff}.wallet-note{margin:0;font-size:11px;line-height:1.4;color:#556a68}.payment-class-choice button.owned,.class-choice.owned{opacity:.55;filter:grayscale(.6);cursor:not-allowed}.payment-class-choice button.owned span,.class-choice.owned small{color:#2d8a58;font-weight:700}.wallet-fix{display:block;width:100%;margin:0 0 8px;padding:7px 10px;border:2px dashed #b3694f;border-radius:9px;background:#fff1e8;color:#6b3f30;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.campus-hud{position:absolute;inset:0;pointer-events:none}.campus-hud>section,.campus-hud>button,.campus-toolbar{pointer-events:auto}.campus-quest{position:absolute;top:105px;left:30px;width:350px;padding:17px 20px}.campus-quest>small{font-family:Silkscreen;font-size:8px;color:#5b8272}.campus-quest h1{font-size:23px;margin:8px 0 10px;line-height:1.2}.campus-quest p{display:flex;gap:6px;align-items:center;font-size:13px}.campus-quest p b{margin-left:auto;background:#eddfb4;padding:3px 8px;border-radius:6px}.campus-guide{display:flex;gap:8px;align-items:center;justify-content:center;width:100%;margin-top:12px;border:2px solid #7c9c84;border-radius:8px;min-height:42px;background:#e2edce;font-size:12px}.campus-minimap{position:absolute;top:105px;right:30px;width:170px;padding:7px}.campus-minimap svg{display:block;width:100%}.campus-minimap>span{font-family:Silkscreen;font-size:7px}.campus-toolbar{position:absolute;top:25px;left:235px;display:flex;gap:10px;align-items:center}.campus-toolbar>span{font-size:12px;background:#fff8e6da;padding:7px 10px;border-radius:8px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campus-controls{position:absolute;left:30px;right:30px;bottom:25px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.campus-controls>*{pointer-events:auto}.campus-context{max-width:360px;width:40vw}.campus-context>.cartoon-button{width:100%;min-height:52px}.campus-greeting{padding:16px 18px;margin-bottom:14px;background:#fff9e9}.campus-greeting small{font-size:11px;color:#4e8475}.campus-greeting p{font-size:14px;line-height:1.6;margin-top:6px}.campus-map-panel{position:absolute;right:30px;top:100px;bottom:25px;width:min(450px,80vw);padding:20px;z-index:3;overflow:auto}.campus-map-panel>.square-button{float:right}.campus-map-panel h2{font-size:22px;margin:7px 0 18px}.campus-map-panel>svg{width:100%;height:auto}.campus-map-panel>p{display:flex;gap:8px;align-items:center;margin:13px 0;font-size:13px}.campus-map-panel>p b{font-size:10px;margin-left:auto;color:#428272}.campus-activity{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:transparent;overflow:hidden;color:#27303f}.campus-activity::backdrop{background:#183e4666}.campus-activity .licence-journey{inset:75px max(18px,calc((100vw - 1180px)/2)) 20px}.campus-activity-close{position:absolute;top:17px;right:max(18px,calc((100vw - 1180px)/2));z-index:2}@media(max-height:650px)and (orientation:landscape){.campus-quest{top:64px;left:16px;width:300px;max-width:calc(100vw - 172px);padding:10px 13px;border-width:2px}.campus-quest>small{font-size:6px}.campus-quest h1{font-size:17px;margin:5px 0 7px}.campus-quest p{font-size:11px}.campus-guide{min-height:36px;font-size:10px;margin-top:8px}.campus-minimap{top:65px;right:18px;width:130px;border-width:2px;padding:5px}.campus-minimap>span{font-size:5px}.campus-toolbar{top:15px;left:170px;gap:7px}.campus-toolbar>span{font-size:10px;max-width:100px}.campus-controls{bottom:17px;left:20px;right:20px}.campus-controls .joystick{width:94px;height:94px}.campus-context{max-width:330px;width:42vw}.campus-context>.cartoon-button{font-size:12px;padding:10px 13px;min-height:46px;border-width:2px}.campus-greeting{padding:10px 13px;margin-bottom:10px;border-width:2px}.campus-greeting small{font-size:9px}.campus-greeting p{font-size:11px;line-height:1.5}.campus-map-panel{top:61px;bottom:14px;right:16px;padding:15px;width:340px}.campus-activity .licence-journey{inset:59px 16px 13px}.campus-activity-close{width:35px;height:35px;top:12px;right:19px}}@media(max-width:650px)and (orientation:landscape){.campus-toolbar{left:150px}.campus-toolbar>span{max-width:65px}.campus-quest{width:270px;max-width:calc(100vw - 150px)}.campus-minimap{width:110px;right:14px}.campus-context{width:45vw}.campus-quest h1{font-size:15px}.campus-controls{left:15px;right:15px;bottom:14px}.campus-controls .joystick{width:85px;height:85px}.campus-greeting p{font-size:10px}.campus-activity .licence-journey{inset:56px 12px 12px}}.campus-story-progress{margin:5px 0 9px;background:#d3d9c2}.campus-quest{transition:width .2s,padding .2s}.campus-quest.minimized{width:54px;height:48px;padding:6px;display:grid;place-items:center}.campus-quest-toggle{position:absolute;top:8px;right:8px;width:28px;height:28px;min-height:28px;padding:0;z-index:1}.campus-quest:not(.minimized) .campus-quest-toggle{background:#fff8e6}.campus-quest.minimized .campus-quest-toggle{position:static}.campus-chapters{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px}.campus-chapters li{display:flex;align-items:center;gap:10px;padding:9px;background:#edf0df;border-radius:9px;color:#7d877c}.campus-chapters li>b{width:27px;height:27px;display:grid;place-items:center;border:2px solid #aeb9a4;border-radius:50%;font-size:11px}.campus-chapters li>span{font-size:13px}.campus-chapters li small{font-family:Silkscreen;font-size:6px;display:block;margin-bottom:3px}.campus-chapters li.current{background:#fff0b6;color:#4c493d}.campus-chapters li.current>b{background:#f0cb54;border-color:#27303f}.campus-chapters li.done{background:#d4e8cb;color:#397266}.campus-chapters li.done>b{background:#3c8c7f;color:#fff;border-color:#286e64}.campus-map-panel h3{font-size:14px;margin:18px 0 10px;border-top:2px dashed #c5cbb3;padding-top:15px}.loading-screen{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#fff6dc,#b4e5f0 60%,#8fd0de);color:#27303f;transition:opacity .5s ease,transform .5s ease}.loading-screen::backdrop{background:#b4e5f0}.loading-screen.leaving{opacity:0;transform:scale(1.03);pointer-events:none}.loading-inner{width:min(380px,86vw);display:grid;justify-items:center;gap:12px;text-align:center}.loading-logo{width:96px;height:96px;border:4px solid #27303f;border-radius:22px;box-shadow:5px 6px #27303f;object-fit:cover;transform:rotate(-4deg);animation:loadBob 1.6s ease-in-out infinite}.loading-inner h1{margin:2px 0 0;font-size:32px;line-height:.95;letter-spacing:-1px;font-weight:700;-webkit-text-stroke:5px #27303f;paint-order:stroke fill;color:#fff8e2;text-shadow:3px 4px 0 #27303f}.loading-inner h1 span{display:block;color:#f6c744}.loading-road{position:relative;width:100%;height:34px;margin-top:6px;border:3px solid #27303f;border-radius:10px;background:#586b70;overflow:hidden}.loading-road i{position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;background:repeating-linear-gradient(90deg,#fff4d6 0 18px,transparent 18px 36px);animation:loadRoad .7s linear infinite}.loading-road span{position:absolute;left:0;top:2px;font-size:22px;animation:loadCar 2.2s ease-in-out infinite alternate}.loading-bar{width:100%;height:16px;border:3px solid #27303f;border-radius:99px;background:#fffdf3;overflow:hidden}.loading-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#69c28a,#f6c744);transition:width .25s ease}.loading-label{margin:0;font-size:13px;color:#3d5356}.loading-label b{font-size:15px;color:#27303f}.loading-tip{margin:4px 0 0;max-width:340px;font-size:11.5px;line-height:1.45;color:#557;background:#fff8e6cc;border:2px dashed #27303f55;border-radius:10px;padding:7px 10px}@keyframes loadBob{50%{transform:rotate(3deg) translateY(-4px)}}@keyframes loadRoad{to{background-position:-36px 0}}@keyframes loadCar{0%{left:2%}to{left:calc(100% - 34px)}}@media(max-height:430px){.loading-inner{gap:7px}.loading-logo{width:60px;height:60px;border-radius:15px}.loading-inner h1{font-size:22px;-webkit-text-stroke-width:4px}.loading-road{height:26px;margin-top:2px}.loading-road span{font-size:17px}.loading-tip{display:none}}@media(prefers-reduced-motion:reduce){.loading-logo,.loading-road i,.loading-road span{animation:none}.loading-screen{transition:none}}.loading-version{margin-top:2px;font-family:Silkscreen,monospace;font-size:8px;letter-spacing:.5px;color:#4c6a6a;opacity:.85}.doc-check{display:grid;gap:12px;padding:6px 4px;color:var(--ink)}.doc-check>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.doc-check>header small{display:block;font-family:Silkscreen,monospace;font-size:7px;letter-spacing:.5px;color:#7a8a8a}.doc-check>header h2{margin:3px 0 0;font-size:20px}.doc-steps{display:flex;gap:5px}.doc-steps i{width:20px;height:9px;border:2px solid var(--ink);border-radius:99px;background:#fffdf3}.doc-steps i.done{background:#69c28a}.doc-steps i.now{background:#f6c744}.doc-body{display:grid;grid-template-columns:minmax(150px,200px) 1fr;gap:12px;align-items:start}.doc-applicant{display:grid;justify-items:center;gap:5px;padding:12px;border:3px solid var(--ink);border-radius:14px;background:linear-gradient(#e9f4fb,#d3e8f5);box-shadow:3px 4px #27303f;text-align:center}.doc-avatar{display:grid;place-items:center;width:62px;height:62px;border:3px solid var(--ink);border-radius:50%;background:#fff8e6;font-size:34px}.doc-applicant b{font-size:13px;line-height:1.25}.doc-applicant small{font-size:11px;color:#4c6a7a}.doc-bubble{position:relative;margin:6px 0 0;padding:8px 10px;border:2px solid var(--ink);border-radius:12px;background:#fff;font-size:12px;line-height:1.4;text-align:left}.doc-bubble:before{content:"";position:absolute;left:50%;top:-8px;width:12px;height:12px;border:2px solid var(--ink);border-right:0;border-bottom:0;background:#fff;transform:translate(-50%) rotate(45deg)}.doc-papers{display:grid;gap:8px;min-width:0}.doc-tabs{display:flex;gap:6px;flex-wrap:wrap}.doc-tabs button{display:flex;align-items:center;gap:5px;padding:6px 9px;border:2px solid var(--ink);border-radius:9px;background:#fffdf3;font:inherit;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer}.doc-tabs button.on{background:#ffd45c;box-shadow:2px 2px #27303f}.doc-tabs em{font-style:normal;font-size:10px}.doc-sheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;padding:10px;border:3px solid var(--ink);border-radius:12px;background:#fffefa;box-shadow:inset 0 -3px #0000000d}.doc-field{position:relative;display:grid;gap:2px;padding:7px 28px 7px 9px;border:2px dashed #27303f55;border-radius:9px;background:#fff;text-align:left;font:inherit;color:var(--ink);cursor:pointer;transition:transform .15s,background .15s}.doc-field:hover{transform:translateY(-1px);background:#fff8e0}.doc-field small{font-size:9.5px;color:#6b7b7b}.doc-field b{font-size:13px;word-break:break-word}.doc-field span{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:15px}.doc-field.flagged{border:2px solid #d9534f;background:#fff1ee}.doc-field.flaw{border:2px solid #e8a317;background:#fff3cf;animation:docFlaw .5s ease}@keyframes docFlaw{0%,to{transform:none}30%{transform:scale(1.04)}}.doc-tip{display:flex;align-items:center;gap:6px;margin:0;font-size:10.5px;color:#5b6d70}.doc-decisions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.doc-decisions .cartoon-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:8px 10px;font-size:13px}.doc-decisions .cartoon-button span{display:grid;text-align:left;line-height:1.15}.doc-decisions .cartoon-button small{font-size:9px;font-weight:400;opacity:.8}.cartoon-button.red{background:#e8574a;color:#fff8e2;text-shadow:1px 2px 0 #27303f}.doc-outcome{display:grid;gap:6px;padding:12px 14px;border:3px solid var(--ink);border-radius:13px;box-shadow:3px 4px #27303f;animation:docPop .3s cubic-bezier(.3,1.5,.5,1)}.doc-outcome.good{background:#dff4e5}.doc-outcome.bad{background:#ffe3d8}.doc-outcome b{font-size:14px;line-height:1.35}.doc-outcome p{margin:0;font-size:12px;line-height:1.45;color:#40545a}.doc-outcome small{font-size:11px;color:#5b6d70}.doc-outcome .cartoon-button{justify-self:end;min-height:40px;padding:8px 14px;font-size:13px}@keyframes docPop{0%{opacity:0;transform:translateY(10px) scale(.97)}}.doc-check.summary{justify-items:center;text-align:center}.doc-check.summary h2{font-size:26px;margin:4px 0 0}.doc-grade{display:flex;align-items:baseline;gap:6px}.doc-grade b{font-size:54px;line-height:1;color:#2d8a58;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink)}.doc-grade span{font-size:16px;color:#5b6d70}.doc-grade-line{margin:0;max-width:360px;font-size:13px;line-height:1.45}.doc-results{list-style:none;margin:0;padding:0;display:grid;gap:5px;width:min(380px,100%)}.doc-results li{display:flex;align-items:center;gap:8px;padding:6px 10px;border:2px solid var(--ink);border-radius:9px;background:#fff;font-size:12px;text-align:left}.doc-results li.ok{background:#e4f6ea}.doc-results li.no{background:#ffe9e3}.doc-results li b{flex:1}.doc-results li i{font-style:normal;font-weight:700}.doc-note{margin:0;font-size:11.5px;color:#5b6d70}@media(max-width:620px){.doc-body{grid-template-columns:1fr}.doc-applicant{grid-template-columns:auto 1fr;justify-items:start;text-align:left;column-gap:10px}.doc-avatar{grid-row:span 2;width:50px;height:50px;font-size:28px}.doc-bubble{grid-column:1/-1}.doc-bubble:before{display:none}.doc-decisions{grid-template-columns:1fr}}@media(orientation:landscape)and (max-height:450px){.doc-check{gap:8px}.doc-check>header h2{font-size:16px}.doc-body{grid-template-columns:minmax(120px,160px) 1fr;gap:8px}.doc-applicant{padding:8px}.doc-avatar{width:44px;height:44px;font-size:24px}.doc-bubble{font-size:10.5px;padding:6px 8px}.doc-sheet{padding:7px;gap:5px;grid-template-columns:repeat(2,1fr)}.doc-field{padding:5px 24px 5px 7px}.doc-field b{font-size:11.5px}.doc-tabs button{padding:4px 7px;font-size:11px}.doc-tip{display:none}.doc-decisions{grid-template-columns:repeat(3,1fr);gap:6px}.doc-decisions .cartoon-button{min-height:38px;padding:5px 7px;font-size:11px}.doc-decisions .cartoon-button small{display:none}.doc-outcome{padding:8px 10px;gap:3px}.doc-outcome b{font-size:12px}.doc-outcome p{font-size:10.5px}}@media(prefers-reduced-motion:reduce){.doc-field.flaw,.doc-outcome{animation:none}}.campus-activity .doc-check{position:absolute;inset:75px max(18px,calc((100vw - 980px)/2)) 20px;align-content:start;overflow:auto;padding:14px 16px;border:3px solid var(--ink);border-radius:18px;background:#fff8e6;box-shadow:6px 7px #27303f;overscroll-behavior:contain}.campus-activity .doc-check>header{padding-right:50px}@media(max-width:650px),(max-height:450px){.campus-activity .doc-check{inset:59px 16px 13px;padding:10px 12px;border-radius:14px}}@media(orientation:landscape)and (max-height:450px){.campus-activity .doc-check{inset:56px max(12px,var(--sa-left)) 12px}}.doc-check.reg>header{align-items:flex-start}.reg-steps{display:flex;gap:5px;margin:0;padding:0;list-style:none;flex-wrap:wrap;justify-content:flex-end}.reg-steps li{padding:4px 9px;border:2px solid var(--ink);border-radius:99px;background:#fffdf3;font-size:11px;font-weight:700}.reg-steps li.now{background:#f6c744}.reg-steps li.done{background:#69c28a}.reg-body{grid-template-columns:minmax(190px,260px) 1fr}.reg-mykad{display:grid;gap:5px;padding:12px;border:3px solid var(--ink);border-radius:12px;background:linear-gradient(135deg,#e6f1ff,#fff7d6);box-shadow:3px 4px #27303f}.reg-mykad small{font-family:Silkscreen,monospace;font-size:8px;color:#4c6a7a}.reg-mykad p{margin:0;display:grid}.reg-mykad span{font-size:9.5px;color:#6b7b7b}.reg-mykad b{font-size:12.5px;word-break:break-word}.reg-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reg-form label{display:grid;gap:3px;font-size:11px;font-weight:700}.reg-form label:nth-child(4){grid-column:1/-1}.reg-form input{padding:9px 10px;border:2px solid var(--ink);border-radius:9px;background:#fff;font:inherit;font-size:14px;color:var(--ink);min-width:0}.reg-form input:focus{outline:3px solid #f6c74488}.reg-form label.bad input{border-color:#d9534f;background:#fff1ee}.reg-form em{font-style:normal;font-size:10.5px;color:#c0392b;font-weight:600}.reg-form .doc-tip,.reg-form .cartoon-button{grid-column:1/-1}.reg-form .cartoon-button{display:flex;justify-content:center;align-items:center;gap:7px;min-height:44px}.reg-photo{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:14px;align-items:center}.reg-frame{position:relative;display:grid;place-items:center;aspect-ratio:3/4;max-height:46vh;border:4px solid var(--ink);border-radius:14px;background:linear-gradient(#cfe7f5,#e8f4fb);overflow:hidden;box-shadow:4px 5px #27303f;justify-self:center;width:100%}.reg-face{font-size:clamp(70px,16vh,120px);transition:transform .3s}.reg-frame.blurry .reg-face{filter:blur(7px);transform:translate(10px) rotate(6deg)}.reg-frame .corner{position:absolute;width:22px;height:22px;border:3px solid #27303f}.corner.tl{top:10px;left:10px;border-right:0;border-bottom:0}.corner.tr{top:10px;right:10px;border-left:0;border-bottom:0}.corner.bl{bottom:10px;left:10px;border-right:0;border-top:0}.corner.br{bottom:10px;right:10px;border-left:0;border-top:0}.reg-flash{position:absolute;inset:0;background:#fff;animation:regFlash .45s ease-out forwards;pointer-events:none}@keyframes regFlash{0%{opacity:1}to{opacity:0}}.reg-stamp{position:absolute;right:10px;bottom:12px;padding:3px 9px;border:3px solid;border-radius:6px;font-size:14px;transform:rotate(-8deg);background:#fffdf3cc;animation:docPop .3s cubic-bezier(.3,1.5,.5,1)}.reg-stamp.good{color:#2d8a58}.reg-stamp.bad{color:#c0392b}.reg-controls{display:grid;gap:10px}.reg-controls .doc-line{margin:0;font-size:13px}.reg-controls .cartoon-button{display:flex;justify-content:center;align-items:center;gap:7px;min-height:46px}.reg-meter{position:relative;height:16px;border:3px solid var(--ink);border-radius:99px;background:#fffdf3}.reg-meter .zone{position:absolute;left:28%;width:44%;top:0;bottom:0;background:#69c28a88}.reg-meter i{position:absolute;top:-5px;width:12px;height:20px;margin-left:-6px;border:3px solid var(--ink);border-radius:5px;background:#f6c744}.reg-meter.ready i{background:#69c28a}.reg-print{display:grid;gap:10px}.reg-actions{display:flex;gap:8px;flex-wrap:wrap}.reg-actions .cartoon-button{display:flex;align-items:center;gap:6px;min-height:42px;font-size:12.5px}.reg-papers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;min-height:60px}.reg-paper{position:relative;padding:10px 12px;border:2px solid var(--ink);border-radius:6px;background:#fffefa;box-shadow:3px 4px #27303f;animation:regPaper .4s cubic-bezier(.3,1.4,.5,1);font-size:11px}@keyframes regPaper{0%{opacity:0;transform:translateY(-16px) rotate(-3deg)}}.reg-paper h3{margin:0 0 6px;font-size:12px}.reg-paper dl{margin:0;display:grid;gap:3px}.reg-paper dl div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dotted #27303f55}.reg-paper dt{color:#6b7b7b}.reg-paper dd{margin:0;font-weight:700;text-align:right}.reg-paper p{margin:6px 0 0;font-size:10.5px;color:#40545a}.reg-id{float:right;display:grid;justify-items:center;margin:0 0 4px 8px;padding:4px 7px;border:2px solid var(--ink);background:#e8f4fb;font-size:22px}.reg-id small{font-size:8px}.reg-paper .reg-stamp{right:8px;bottom:8px}.reg-print>.cartoon-button{justify-self:end;display:flex;align-items:center;gap:7px;min-height:44px}.reg-print>.cartoon-button:disabled{opacity:.45}@media(max-width:620px){.reg-body,.reg-photo,.reg-form{grid-template-columns:1fr}.reg-frame{max-height:34vh;aspect-ratio:4/3}}@media(orientation:landscape)and (max-height:450px){.reg-body{grid-template-columns:minmax(130px,170px) 1fr;gap:8px}.reg-mykad{padding:7px;gap:2px}.reg-mykad p{grid-template-columns:auto 1fr;gap:6px}.reg-form{gap:5px}.reg-form input{padding:5px 8px;font-size:12px}.reg-form .doc-tip{display:none}.reg-form .cartoon-button{min-height:36px}.reg-photo{grid-template-columns:150px 1fr;gap:10px}.reg-frame{aspect-ratio:3/4;max-height:56vh}.reg-face{font-size:56px}.reg-steps li{padding:2px 7px;font-size:10px}.reg-actions .cartoon-button{min-height:36px;padding:4px 9px;font-size:11px}.reg-paper{padding:6px 8px;font-size:10px}.reg-paper p{display:none}.reg-papers{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){.reg-flash{display:none}.reg-paper,.reg-stamp{animation:none}}.reg-form label.reg-name,.reg-form label.reg-address{grid-column:1/-1}.reg-form input{font-size:16px;min-height:44px}.reg-form label>span{font-size:11px}.reg-mykad{position:sticky;top:0;z-index:1;align-self:start}.reg-class-pick{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;border:0}.reg-class-pick legend{float:left;margin-right:4px;font-size:11px;font-weight:700}.reg-class-pick button{display:grid;justify-items:center;min-width:74px;min-height:44px;padding:4px 14px;border:2px solid var(--ink);border-radius:10px;background:#fff;font:inherit;font-size:16px;font-weight:800;color:var(--ink);cursor:pointer}.reg-class-pick button small{font-size:9.5px;font-weight:600;color:#6b7b7b}.reg-class-pick button.on{background:#f6c744;box-shadow:2px 2px #27303f}.reg-class-pick.bad button{border-color:#d9534f}.reg-class-pick em{flex-basis:100%;font-style:normal;font-size:10.5px;color:#c0392b;font-weight:600}.reg-form .cartoon-button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:620px){.reg-mykad{grid-template-columns:1fr 1fr;column-gap:10px;padding:8px 10px}.reg-mykad small{grid-column:1/-1}.reg-mykad p:nth-of-type(3){grid-column:1/-1}.reg-form label.reg-icNo,.reg-form label.reg-dob{grid-column:auto}}@media(orientation:landscape)and (max-height:450px){.doc-check.reg>header small{display:none}.doc-check.reg>header h2{font-size:14px;margin:0}.reg-body{grid-template-columns:minmax(150px,175px) 1fr}.reg-mykad b{font-size:11px}.reg-mykad span{font-size:8.5px}.reg-form{gap:6px 8px}.reg-form label{gap:1px}.reg-form label>span{font-size:9.5px}.reg-form input{font-size:16px;min-height:36px;padding:4px 8px}.reg-class-pick button{min-height:36px;min-width:64px;padding:2px 10px;font-size:14px}.reg-form .cartoon-button{min-height:38px}}@media(orientation:landscape)and (max-height:450px){.reg-mykad{grid-template-columns:1fr;gap:3px}.reg-mykad p{display:grid;grid-template-columns:1fr;gap:0}.reg-mykad p:nth-of-type(3){grid-column:auto}}.doc-head-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.doc-date{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:2px solid var(--ink);border-radius:99px;background:#e9f4fb;font-size:11px}.doc-tips-toggle{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:3px 10px;border:2px solid var(--ink);border-radius:99px;background:#fffdf3;font:inherit;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer}.doc-tips-toggle.on{background:#ffd45c}.doc-guide{display:grid;gap:6px;padding:10px 14px;border:3px dashed #e0a92e;border-radius:12px;background:#fff6d6;font-size:12px;line-height:1.45;animation:docPop .3s cubic-bezier(.3,1.5,.5,1)}.doc-guide b{font-size:14px}.doc-guide ol{margin:0;padding-left:20px;display:grid;gap:4px}.doc-guide p{margin:0;color:#5b6d70}.doc-guide .cartoon-button{justify-self:end;min-height:38px;padding:6px 14px;font-size:13px}.doc-tab-tip{align-items:flex-start}.doc-tab-tip svg{flex-shrink:0;margin-top:2px;color:#c9921c}.doc-help-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.doc-flag-count{font-size:11px;font-weight:700;color:#8a3f35}.doc-hint-button{min-height:32px;padding:4px 10px;border:2px solid var(--ink);border-radius:9px;background:#e9f4fb;font:inherit;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer}.doc-hint-button small{font-weight:600;color:#c0392b}.doc-hint{flex:1 1 220px;padding:6px 9px;border:2px solid #4c8fb5;border-radius:9px;background:#e6f3fb;font-size:11.5px;line-height:1.4;animation:docPop .3s ease}@media(orientation:landscape)and (max-height:450px){.doc-tab-tip{display:flex!important;font-size:10px}.doc-date{font-size:9.5px;padding:2px 6px}.doc-tips-toggle{min-height:26px;font-size:11px}.doc-guide{font-size:10.5px;padding:7px 10px;gap:3px}.doc-guide b{font-size:12px}.doc-guide .cartoon-button{min-height:32px}.doc-hint-button{min-height:28px;font-size:11px}.doc-hint{font-size:10.5px}}@media(prefers-reduced-motion:reduce){.doc-guide,.doc-hint{animation:none}}.queue-score{padding:3px 9px;border:2px solid var(--ink);border-radius:99px;background:#fff3c4;font-size:12px;font-weight:800}.queue-rules ol{font-size:11.5px}.queue-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr);gap:12px;align-items:start}.queue-board{display:grid;gap:5px;padding:8px;border:3px solid var(--ink);border-radius:12px;background:#fffefa}.queue-board-head,.queue-row{display:grid;grid-template-columns:52px minmax(0,1.6fr) 38px 74px 86px 82px;align-items:center;gap:6px}.queue-board-head{padding:0 8px;font-family:Silkscreen,monospace;font-size:7px;color:#7b8a7c}.queue-row{min-height:42px;padding:5px 8px;border:2px solid #27303f33;border-radius:9px;background:#fff;font:inherit;font-size:12px;color:var(--ink);text-align:left;cursor:pointer}.queue-row:hover:not(:disabled){background:#fff8e0}.queue-row.on{border-color:var(--ink);background:#ffe69a;box-shadow:2px 2px #27303f}.queue-row:disabled{cursor:default;filter:none;opacity:1}.queue-row.done{background:#e4f6ea;opacity:.75}.queue-row.counter{background:#eef0f3;opacity:.75}.queue-row.skipped{border-style:dashed;background:#fff4ec}.queue-row>b{font-size:13px}.queue-name{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-name i{font-style:normal}.queue-row .klass{justify-self:start;padding:1px 6px;border:2px solid var(--ink);border-radius:6px;font-style:normal;font-size:11px;font-weight:800}.klass.D{background:#d7ecff}.klass.DA{background:#ffe0ef}.queue-row .paid{color:#2d8a58;font-weight:700;font-size:11px}.queue-row .unpaid{color:#c0392b;font-weight:800;font-size:11px}.queue-row small{font-size:10.5px;color:#4f6266}.queue-side{display:grid;gap:8px}.queue-actions{display:grid;gap:6px;padding:9px;border:2px solid var(--ink);border-radius:12px;background:#e9f4fb}.queue-actions p{margin:0;font-size:12px}.queue-actions .cartoon-button{min-height:42px;padding:6px 12px;font-size:13px}.queue-event{display:grid;gap:7px;padding:10px 12px;border:3px solid var(--ink);border-radius:12px;background:#fffdf3;box-shadow:3px 4px #27303f;animation:docPop .3s cubic-bezier(.3,1.5,.5,1)}.queue-event.order,.queue-event.unpaid{background:#ffe3d8}.queue-event.absent{background:#f1f1f1}.queue-event.cutter{background:#fff1c9}.queue-event.sent,.queue-event.arrive{background:#dff4e5}.queue-pa{margin:0;font-size:12px;color:#40545a;animation:queuePa .6s ease}@keyframes queuePa{0%{transform:scale(.92);opacity:0}60%{transform:scale(1.04)}}.queue-person{display:flex;gap:9px;align-items:flex-start;margin:0;font-size:12.5px;line-height:1.45}.queue-person>i{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:2px solid var(--ink);border-radius:50%;background:#fff;font-style:normal;font-size:21px}.queue-person small{color:#8a3f35}.queue-choice{display:grid;grid-template-columns:1fr 1fr;gap:6px}.queue-event .cartoon-button{min-height:40px;padding:6px 10px;font-size:12.5px}.queue-log{margin:0;padding:0;list-style:none;display:grid;gap:4px;width:min(420px,100%);font-size:12px;text-align:left}.queue-log li{padding:5px 9px;border:2px solid #e8a317;border-radius:8px;background:#fff6d6}@media(max-width:760px){.queue-body{grid-template-columns:1fr}}@media(orientation:landscape)and (max-height:450px){.queue-body{grid-template-columns:minmax(0,1.45fr) minmax(190px,1fr);gap:8px}.queue-board{padding:5px;gap:3px}.queue-board-head{display:none}.queue-board-head,.queue-row{grid-template-columns:44px minmax(0,1fr) 30px 60px 0 62px;gap:4px}.queue-row{min-height:34px;padding:3px 6px;font-size:10.5px}.queue-row>b{font-size:11px}.queue-row .paid,.queue-row .unpaid{grid-column:2/4;grid-row:2;font-size:9px}.queue-row small{font-size:9px}.queue-rules ol{font-size:10px}.queue-actions{padding:6px;gap:4px}.queue-actions .cartoon-button{min-height:34px;font-size:11.5px}.queue-event{padding:7px 9px;gap:5px}.queue-person{font-size:11px}.queue-person>i{width:30px;height:30px;font-size:16px}.queue-event .cartoon-button{min-height:34px;font-size:11px}}@media(prefers-reduced-motion:reduce){.queue-event,.queue-pa{animation:none}}@media(orientation:landscape)and (max-height:450px){.queue-row{grid-template-columns:44px minmax(0,1fr) 30px 58px;grid-template-areas:"no name klass slot" "no paid paid status";row-gap:1px}.queue-row>:nth-child(1){grid-area:no}.queue-row>:nth-child(2){grid-area:name}.queue-row>:nth-child(3){grid-area:klass}.queue-row>:nth-child(4){grid-area:slot;font-size:9.5px}.queue-row>:nth-child(5){grid-area:paid;grid-column:auto;grid-row:auto}.queue-row>:nth-child(6){grid-area:status;text-align:right}}.doc-check.summary>header{flex-direction:column;gap:2px;text-align:center}.circuit-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,1fr);gap:12px;align-items:start}.circuit-screen{display:grid;gap:7px}.circuit-cam-wrap{position:relative;border:3px solid var(--ink);border-radius:12px;overflow:hidden;background:#27303f;box-shadow:3px 4px #27303f}.circuit-cam{display:block;width:100%;height:auto;aspect-ratio:2/1}.circuit-rec{position:absolute;left:8px;top:6px;padding:2px 7px;border-radius:6px;background:#27303fcc;color:#ff6b5e;font-family:Silkscreen,monospace;font-size:7px;animation:recBlink 1.2s steps(2) infinite}@keyframes recBlink{50%{opacity:.4}}.circuit-speed{position:absolute;right:8px;top:6px;padding:3px 8px;border:2px solid var(--ink);border-radius:8px;background:#fffdf3;font-weight:800;font-size:13px}.circuit-speed.over{background:#e0463f;color:#fff}.circuit-line{margin:0;text-align:left}.circuit-line:before{display:none}.circuit-feed{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:130px;overflow:auto}.circuit-feed li{padding:5px 9px;border:2px solid #27303f33;border-radius:8px;background:#fff;font-size:11.5px;line-height:1.35;animation:docPop .25s ease}.circuit-feed li.warn{border-color:#e8a317;background:#fff3cf}.circuit-feed li.wait{color:#7b8a7c;border-style:dashed}.circuit-panel{display:grid;gap:8px}.circuit-check ul{margin:0;padding-left:18px;display:grid;gap:3px;font-size:11.5px}.circuit-decide{display:grid;gap:6px}.doc-decisions.two{grid-template-columns:1fr 1fr}.circuit-replay{justify-self:start;display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:4px 10px;border:2px solid var(--ink);border-radius:9px;background:#e9f4fb;font:inherit;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer}.circuit-wait{font-size:11px;color:#7b8a7c}.circuit-reasons{display:grid;gap:6px;padding:9px;border:2px solid var(--ink);border-radius:12px;background:#ffe3d8}.circuit-reasons p{margin:0;font-size:12px;font-weight:700}.circuit-reasons .cartoon-button{min-height:40px;padding:6px 10px;font-size:12.5px;justify-content:flex-start}.circuit-cancel{justify-self:start;border:0;background:none;font:inherit;font-size:12px;color:#5b6d70;cursor:pointer}.circuit-marks{margin:0;padding:0;list-style:none;display:grid;gap:5px}.circuit-marks li{padding:6px 10px;border:2px solid var(--ink);border-radius:9px;background:#fff;font-size:12.5px}@media(max-width:760px){.circuit-body{grid-template-columns:1fr}}@media(orientation:landscape)and (max-height:450px){.circuit-body{grid-template-columns:minmax(0,1.15fr) minmax(200px,1fr);gap:8px}.circuit-line{display:none}.circuit-feed{max-height:74px}.circuit-feed li{font-size:10px;padding:3px 7px}.circuit-check ul{font-size:10px}.circuit-reasons .cartoon-button{min-height:32px;font-size:11px}}@media(prefers-reduced-motion:reduce){.circuit-rec,.circuit-feed li{animation:none}}.campus-activity.exam-mode::backdrop{background:transparent;backdrop-filter:none}.campus-activity.exam-mode{pointer-events:none}.campus-activity.exam-mode>*{pointer-events:auto}.campus-activity.exam-mode .doc-check{inset:70px 16px 16px auto;width:min(470px,46vw);overscroll-behavior:contain}.campus-activity.exam-mode .circuit-body{grid-template-columns:1fr}.campus-activity.exam-mode .doc-check>header{flex-wrap:wrap}.campus-activity.exam-mode .doc-check.summary,.campus-activity.exam-mode .doc-check.circuit-final{width:min(520px,60vw)}.circuit-live{display:flex;align-items:center;gap:8px;padding:6px 8px;border:2px solid var(--ink);border-radius:10px;background:#27303f}.circuit-live .circuit-rec{position:static}.circuit-progress{flex:1;height:8px;border-radius:99px;background:#fff3;overflow:hidden}.circuit-progress i{display:block;height:100%;background:#ff6b5e;transition:width .1s linear}.circuit-live .circuit-speed{position:static}@media(orientation:landscape)and (max-height:450px){.campus-activity.exam-mode .doc-check{inset:52px 10px 10px auto;width:min(380px,50vw);padding:8px 10px}.campus-activity.exam-mode .doc-check.summary,.campus-activity.exam-mode .doc-check.circuit-final{width:min(440px,62vw)}.campus-activity.exam-mode .doc-head-tools .doc-date{display:none}}@media(max-width:620px)and (orientation:portrait){.campus-activity.exam-mode .doc-check{inset:auto 8px 8px;width:auto;max-height:55dvh}}.road-dash{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:6px 8px;border:2px solid var(--ink);border-radius:10px;background:#27303f;color:#fffdf3}.road-dash .circuit-speed{position:static}.road-dash .circuit-progress{flex-basis:100%;order:9}.road-signal{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#3d4a55;color:#5b6a73;font-size:13px}.road-signal.on{background:#ffa530;color:#27303f;animation:recBlink .8s steps(2) infinite}.road-gear{padding:3px 8px;border-radius:8px;background:#3d4a55;font-size:12px}.road-gear b{font-size:15px;color:#f2c744}.road-clutch{padding:3px 8px;border-radius:8px;background:#3d4a55;font-size:12px;font-weight:700}.road-clutch.on{background:#69c28a;color:#27303f}.road-alert{padding:3px 8px;border-radius:8px;background:#e0463f;color:#fff;font-weight:800;font-size:12px;animation:docPop .3s ease}.road-views{display:flex;gap:6px}.road-views button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:4px 10px;border:2px solid var(--ink);border-radius:9px;background:#fffdf3;font:inherit;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer}.road-views button.on{background:#ffd45c;box-shadow:2px 2px #27303f}.circuit-check li.manual{color:#8a3f35;font-weight:600}@media(orientation:landscape)and (max-height:450px){.road-dash{gap:4px;padding:4px 6px}.road-signal{width:22px;height:22px}.road-gear,.road-clutch,.road-alert{font-size:10.5px;padding:2px 6px}.road-views button{min-height:28px;font-size:11px}}@media(prefers-reduced-motion:reduce){.road-signal.on,.road-alert{animation:none}}.road-dash .circuit-speed{color:var(--ink)}.campus-activity.exam-mode .exam-look{position:absolute;inset:0;z-index:0;touch-action:none;cursor:grab}.campus-activity.exam-mode .exam-look:active{cursor:grabbing}.campus-activity.exam-mode .doc-check{z-index:1}.exam-view-tools{position:absolute;left:16px;bottom:16px;z-index:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:min(50vw,420px)}.exam-view-tools button{display:grid;place-items:center;width:40px;height:40px;border:3px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:2px 3px 0 var(--ink);color:var(--ink);cursor:pointer}.exam-view-tools small{padding:3px 8px;border-radius:7px;background:#27303fb3;color:#fffdf3;font-size:10.5px}@media(orientation:landscape)and (max-height:450px){.exam-view-tools{left:10px;bottom:10px;gap:4px}.exam-view-tools button{width:34px;height:34px;border-width:2px}.exam-view-tools small{display:none}}.campus-activity.exam-mode{--exam-w:min(470px,46vw);--exam-top:70px}.campus-activity.exam-mode .doc-check:not(.summary):not(.circuit-final){width:var(--exam-w)}.campus-activity.exam-mode .circuit-check{cursor:pointer}.campus-activity.exam-mode .circuit-check summary{font-weight:700;list-style:none}.campus-activity.exam-mode .circuit-check summary::-webkit-details-marker{display:none}.campus-activity.exam-mode .circuit-check summary:after{content:" ▾";color:#8b927e}.campus-activity.exam-mode .circuit-check:not([open]) summary:after{content:" ▸"}.campus-activity.exam-mode .circuit-decide,.campus-activity.exam-mode .circuit-reasons,.campus-activity.exam-mode .doc-outcome{position:sticky;bottom:-2px;z-index:2;background:#fff8e6;box-shadow:0 -8px 10px 2px #fff8e6}.exam-panel-toggle{position:absolute;z-index:3;top:calc(var(--exam-top) + 50px);right:calc(var(--exam-w) + 22px);display:flex;align-items:center;gap:2px;min-width:40px;height:44px;padding:0 8px;border:2px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:2px 3px 0 var(--ink);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.campus-activity.exam-mode.panel-tucked .doc-check{visibility:hidden;pointer-events:none}.campus-activity.exam-mode.panel-tucked .exam-panel-toggle{right:calc(var(--sa-right) + 12px)}body:has(.campus-activity.exam-mode[open]) .game-header{visibility:hidden}@media(orientation:landscape)and (max-height:450px){.campus-activity.exam-mode{--exam-w:min(330px,42vw);--exam-top:8px}.campus-activity.exam-mode .doc-check{inset:8px calc(var(--sa-right) + 8px) 8px auto;padding:7px 9px;gap:6px}.campus-activity.exam-mode .campus-activity-close{top:8px;right:calc(var(--exam-w) + 22px);width:40px;height:40px}.campus-activity.exam-mode.panel-tucked .campus-activity-close{right:calc(var(--sa-right) + 12px)}.campus-activity.exam-mode.panel-tucked .exam-panel-toggle{top:58px}.campus-activity.exam-mode .doc-check>header h2{font-size:14px;line-height:1.2}.campus-activity.exam-mode .doc-check>header small{font-size:7px}.campus-activity.exam-mode .doc-head-tools,.campus-activity.exam-mode .circuit-line{display:none}.campus-activity.exam-mode .road-dash{padding:4px 7px;gap:5px;font-size:11px;min-height:0}.campus-activity.exam-mode .road-dash .circuit-speed{font-size:13px}.campus-activity.exam-mode .road-views{gap:5px}.campus-activity.exam-mode .road-views button{min-height:30px;padding:3px 8px;font-size:11px}.campus-activity.exam-mode .circuit-feed{max-height:74px;overflow:auto;font-size:11px;gap:3px}.campus-activity.exam-mode .circuit-feed li{padding:4px 7px}.campus-activity.exam-mode .circuit-check{font-size:11px;padding:6px 8px}.campus-activity.exam-mode .circuit-decide .cartoon-button,.campus-activity.exam-mode .circuit-reasons .cartoon-button{min-height:40px;padding:6px 8px;font-size:13px}.campus-activity.exam-mode .circuit-replay{font-size:11px}.campus-activity.exam-mode .doc-outcome{font-size:11.5px;padding:7px 9px}.campus-activity.exam-mode .doc-outcome p{margin:3px 0}}
