@font-face{font-family:Inter;src:url('./assets/Inter.woff2') format('woff2');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Inter,Arial,sans-serif;color:#18383b;background:#8aa897;font-variant-numeric:tabular-nums}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid #efab41;outline-offset:4px}button{border:0}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#game{width:100%;height:100%;position:relative}#world{display:block;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 150px #1e4c3425}#brand{position:absolute;left:36px;top:28px;display:flex;align-items:center;gap:26px;z-index:5}#brand a{text-decoration:none;color:#19383b;font-weight:900;font-size:21px;letter-spacing:-1.2px}#brand a span{font-weight:400}#brand i{margin-left:8px;font-style:normal;color:#407a69}.edition{font-size:10px;font-weight:700;letter-spacing:1.7px}.screen{position:absolute;inset:0;background:linear-gradient(90deg,#eef1e8 0%,#eef1e8f5 30%,#eef1e86a 50%,transparent 64%);display:flex;align-items:center;padding:90px 6vw 30px}.start-content{width:480px;max-width:44vw}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px}.tiny-square{width:7px;height:7px;background:#347b69}h1{font-size:clamp(72px,8.8vw,142px);line-height:.82;letter-spacing:-.085em;margin:30px 0 28px;font-weight:900;position:relative}h1 em{font-style:normal;color:#347b69}.title-arrow{font-size:.8em;position:absolute;left:2.65em;bottom:0;color:#347b69;font-weight:400}.tagline{font-size:20px;line-height:1.5;letter-spacing:-.5px;margin:0 0 28px}.start-route{border-top:1px solid #b9c8bc;border-bottom:1px solid #b9c8bc;display:flex;gap:22px;padding:16px 0;margin-bottom:25px}.start-route span{font-size:10px;color:#6e817a;letter-spacing:.8px}.start-route b{font-size:9px;display:block;color:#24443e;margin-top:6px;letter-spacing:.5px}label{font-size:10px;letter-spacing:1.6px;font-weight:700;display:block;margin-bottom:8px}.start-form{display:flex;gap:8px}.start-form input{background:#ffffff80;border:1px solid #b8c7bb;min-width:0;padding:16px;width:40%;border-radius:0;font-size:16px;color:#173935}.start-form button,.primary{background:#1c4740;color:white;padding:17px 22px;font-size:12px;font-weight:700;letter-spacing:1px;flex:1}.start-form button:hover,.primary:hover{background:#2d6557}.text-button{padding:17px 0;color:#4f6d61;background:none;font-size:12px;text-align:left}.text-button span{margin-left:10px}.start-foot{font-size:9px;letter-spacing:1px;display:flex;justify-content:space-between;border-top:1px solid #b9c8bc;padding-top:15px;margin-top:5px;color:#60776e}.scene-caption{position:absolute;right:6vw;bottom:38px;display:flex;flex-direction:column;text-align:right;gap:8px;color:#204139}.scene-caption>span{font-size:10px;letter-spacing:2px}.scene-caption b{font-size:27px;letter-spacing:3px}.scene-caption small{font-size:11px}#hud{position:absolute;top:25px;left:30px;right:270px;display:flex;align-items:start;justify-content:space-between;gap:20px;pointer-events:none}body.playing #brand{display:none}.route-meta{background:#eef3eaf2;padding:15px 22px;min-width:195px;border-top:3px solid #295f50}.route-meta span{font-size:10px;letter-spacing:1.5px}.route-meta h2{font-size:24px;letter-spacing:-1px;margin:7px 0 0}.hud-stats{display:flex;background:#f5f6eef5;padding:13px 17px;gap:25px;box-shadow:0 4px 20px #2038300a}.hud-stats>div{display:flex;flex-direction:column;gap:5px}.hud-stats small{font-size:9px;letter-spacing:1px}.hud-stats strong{font-size:19px;font-weight:650}.hud-stats #notches{font-size:9px;color:#367660;letter-spacing:1px}.hud-stats .limit{text-align:center;border:1px solid #577263;padding:4px 8px;gap:0}.hud-stats .limit strong{font-size:25px}.hud-stats button{background:none;color:#244b40;pointer-events:auto;font-size:20px}.mapFooter{border-top:1px solid #bacbbb;padding-top:8px;font-size:8px}#toast{position:absolute;top:125px;left:50%;transform:translateX(-50%);background:#253c37ee;color:#fff;padding:12px 20px;font-size:13px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:8;max-width:80vw}#toast.visible{opacity:1}#dispatch{position:absolute;bottom:132px;left:30px;background:#eef3eaf2;border-left:3px solid #367760;padding:12px 16px;max-width:380px;pointer-events:none}#dispatch small{display:block;font-size:9px;letter-spacing:1.3px;margin-bottom:6px;color:#6b8073}#instruction{font-size:13px;line-height:1.5}#parcel{position:absolute;right:30px;bottom:138px;background:#d6b788;color:#433e31;width:208px;padding:15px;transform:rotate(2deg);border-bottom:3px solid #b89768;box-shadow:0 4px 15px #243e3325}#parcel span{font-size:9px;letter-spacing:1.2px}#parcel strong{display:block;font-size:17px;margin:7px 0}#parcel small{background:#f5efdc;padding:5px 7px;display:block;font-size:11px}#controls{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px}#controls button{background:#f0f3eaf0;color:#244b40;border:1px solid #c1d0be;min-height:47px;min-width:45px;font-size:20px;box-shadow:0 2px 0 #728f7f40}#controls button:hover{background:white}#controls small{display:block;font-size:8px;letter-spacing:.5px;margin-top:5px}#controls button.active{background:#285c4f;color:#f4f5eb;border-color:#285c4f}#controls button.warn{color:#a84b35;border-color:#aa684e}.drive-controls{display:flex;gap:16px}.control-pair{display:grid;grid-template-columns:repeat(2,45px);gap:5px}.control-pair>span{grid-column:span 2;text-align:center;font-size:8px;letter-spacing:1px;margin-top:4px}.throw-controls{display:flex;gap:8px;padding-bottom:17px}.throw-controls button{padding:10px 18px!important}.throw-controls span{font-size:10px;letter-spacing:1px}.action-controls{display:flex;gap:6px;padding-bottom:17px}.action-controls button{font-size:15px!important;padding:7px}.action-controls small{font-size:7px!important}#phone{position:absolute;left:30px;bottom:230px;display:flex;align-items:center;gap:14px;text-align:left;background:#1d3835;color:#f4f5eb;padding:14px 18px;box-shadow:0 10px 30px #233c3330;transform:rotate(-2deg)}#phone>span{font-size:27px}#phone small{font-size:8px;letter-spacing:1px;display:block;color:#b4c8b9}#phone strong{font-size:13px;display:block;margin-top:5px}#phone>b{font-size:9px;margin-left:10px;color:#bddaba}dialog{border:0;padding:35px;color:#24483f;background:#f5f6ef;width:min(560px,92vw);max-height:90vh}dialog::backdrop{background:#122f29aa}dialog h2{font-size:26px;letter-spacing:-1px}dialog p{font-size:14px;line-height:1.65}.close{float:right;background:none;font-size:27px;color:#25483c}.modal-screen{position:absolute;inset:0;background:#eef1e8f7;z-index:10;overflow-y:auto;padding:60px 24px}.day-card{max-width:640px;margin:3vh auto}.day-card h1{font-size:74px;letter-spacing:-5px;margin:25px 0}.day-card h2{font-size:26px}.day-counts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #acbfb0;border-bottom:1px solid #acbfb0;margin:25px 0;gap:25px;padding:25px 0}.day-counts strong{font-size:37px;display:block}.day-counts span{font-size:11px;color:#648071}.day-log{font-size:13px;line-height:1.8;margin-bottom:25px}.day-actions{display:flex;gap:10px}.secondary{background:transparent;border:1px solid #b4c1b7;padding:15px 20px;color:#355247;font-size:12px}.scorecard{max-width:840px;margin:auto;color:#383547;background:white;padding:42px 50px;font-family:Inter,Arial,sans-serif;box-shadow:0 10px 70px #213a2510}.report-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:2px solid #383547}.report-top h2{font-size:24px;margin:0;letter-spacing:-.7px}.report-top span{font-size:10px;letter-spacing:1.5px}.report-meta{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:15px;margin:23px 0}.report-meta small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:6px;color:#74717c}.report-meta strong{font-size:13px;overflow-wrap:anywhere}.standing{border-top:1px solid #dedde2;border-bottom:1px solid #dedde2;padding:20px 0;margin-bottom:25px}.standing small{font-size:10px;letter-spacing:1px}.standing h1{font-size:39px;letter-spacing:-1.8px;margin:10px 0;line-height:1.1}.score-group{margin:23px 0}.score-group h3{font-size:13px;border-bottom:1px solid #a9a6b0;padding-bottom:10px;display:flex;justify-content:space-between;font-weight:650}.score-group h3 span{font-weight:400;font-size:11px}.score-group table{width:100%;border-collapse:collapse;font-size:12px}.score-group th{text-transform:uppercase;font-size:9px;letter-spacing:.6px;color:#777381;font-weight:400;text-align:left;padding:4px 0 10px}.score-group td{padding:9px 0;border-bottom:1px solid #eeedf0}.score-group td:nth-child(2),.score-group th:nth-child(2){text-align:right;padding-right:22px;white-space:nowrap}.score-group td:last-child,.score-group th:last-child{text-align:right;width:80px}.score-group td small{font-size:9px;margin-left:5px;color:inherit}.score-group .miss{color:#ac643a}.score-group p{font-size:11px;color:#777381}.coaching{font-size:12px;line-height:1.6;border-top:1px solid #a9a6b0;padding-top:18px;margin-top:25px}.report-note{font-size:10px;color:#807c89;line-height:1.5}.score-actions{display:flex;gap:10px;margin-top:25px}.score-actions button{flex:1}.best{font-size:11px;color:#6d6877;margin-top:20px}#transition{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);background:#f1f4e9;padding:25px;text-align:center;z-index:8;box-shadow:0 20px 80px #122e3950;width:330px}#transition>span{font-size:10px;letter-spacing:1px}#transition h2{font-size:25px}#transition button{display:block;width:100%;background:#244c40;color:white;padding:14px;margin-top:8px;font-size:12px}#loadingError{position:absolute;bottom:20px;left:20px;background:white;padding:20px;color:#9c492f;z-index:20}
@media(max-width:1100px){.edition{display:none}#hud{right:220px}.hud-stats{gap:15px}.route-meta{min-width:150px}.throw-controls button{padding:10px!important}.throw-controls span{display:none}.start-content{max-width:47vw}.start-route{gap:12px}}
@media(max-width:700px){#brand{top:20px;left:22px}#brand a{font-size:17px}.screen{align-items:flex-end;padding:75px 23px 27px;background:linear-gradient(0deg,#eef1e8 0%,#eef1e8fa 35%,#eef1e860 63%,transparent 80%)}.start-content{width:100%;max-width:100%}.eyebrow{font-size:9px}h1{font-size:80px;line-height:.78;margin:20px 0}.title-arrow{left:2.75em}.tagline{font-size:16px;line-height:1.4;margin-bottom:18px}.start-route{margin-bottom:16px;padding:12px 0;justify-content:space-between}.start-form input{padding:13px}.start-form button{padding:14px;font-size:10px}.start-foot{font-size:8px}.text-button{font-size:11px;padding:14px 0}.scene-caption{display:none}.mapFooter{font-size:7px}#hud{top:16px;left:16px;right:140px;display:block}.route-meta{padding:10px 12px;min-width:0;display:inline-block}.route-meta span{font-size:8px}.route-meta h2{font-size:20px;margin-top:4px}.hud-stats{padding:10px;gap:13px;margin-top:8px;width:max-content}.hud-stats small{font-size:7px}.hud-stats strong{font-size:13px}.hud-stats .limit{padding:2px 4px}.hud-stats .limit strong{font-size:18px}.hud-stats button{font-size:15px;padding:0}#notches{font-size:7px!important}#controls{bottom:max(15px,env(safe-area-inset-bottom));left:15px;right:15px;flex-wrap:wrap;gap:8px}.drive-controls{gap:10px}.control-pair{grid-template-columns:repeat(2,43px)}#controls button{min-height:46px;min-width:40px}.action-controls{gap:4px;padding-bottom:15px}.action-controls button{width:29px;min-width:29px!important;font-size:13px!important;padding:4px}.action-controls small{font-size:6px!important}.throw-controls{position:absolute;bottom:80px;left:0;right:0;justify-content:space-between;pointer-events:none;padding:0}.throw-controls button{pointer-events:auto;min-width:70px!important;font-size:24px!important}.throw-controls small{display:none!important}#dispatch{bottom:165px;left:16px;max-width:calc(100vw - 170px);padding:9px 10px}#instruction{font-size:11px}#parcel{bottom:165px;right:16px;width:138px;padding:10px}#parcel strong{font-size:12px}#parcel small{font-size:9px}#parcel span{font-size:7px}#phone{bottom:250px;left:16px;padding:10px}#toast{top:155px;font-size:11px;width:max-content;max-width:90vw}.modal-screen{padding:24px 12px}.day-card{padding:15px}.day-card h1{font-size:57px}.day-counts{gap:12px}.day-counts strong{font-size:28px}.scorecard{padding:25px 18px}.report-top h2{font-size:19px}.report-top span{font-size:8px}.report-meta{grid-template-columns:1fr 1fr}.score-group table{font-size:10px}.score-group td small{font-size:8px}.score-group td:nth-child(2),.score-group th:nth-child(2){padding-right:9px}.score-group td:last-child{width:57px}.score-group h3{font-size:11px}.standing h1{font-size:33px}.score-actions{flex-direction:column}}
@media(max-height:680px) and (min-width:701px){h1{font-size:90px}.screen{padding-top:70px}.start-route{margin-bottom:16px}.tagline{margin-bottom:16px}#brand{top:18px}}

/* Simplified driving surface: arrows and one contextual Space action. */
.simple-fire{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.simple-fire>span{font-size:9px;letter-spacing:1.3px;color:#335b48}.simple-fire #throwButton{min-width:218px;min-height:60px;padding:12px 23px;background:#214d41;color:#f3f5e9;border:1px solid #214d41;font-size:14px;font-weight:650;letter-spacing:.7px}.simple-fire #throwButton:hover{background:#326753}.simple-fire #throwButton small{font-size:10px;margin-top:6px;font-weight:400;letter-spacing:2px;color:#bbd3c1}.briefing h1{font-size:64px;line-height:1.03;letter-spacing:-3px;max-width:580px}.briefing>p{font-size:19px;line-height:1.6;max-width:540px}.brief-controls{display:flex;gap:32px;padding:24px 0;margin-top:26px;border-top:1px solid #aebfae;border-bottom:1px solid #aebfae}.brief-controls>span{font-size:22px}.brief-controls b{display:block;font-size:10px;letter-spacing:1px;margin-top:10px}.briefing .brief-note{font-size:12px;color:#647e6b;margin:25px 0}.briefing>.primary{min-width:230px}#transition button{background:#e2e9db;color:#244b40;border:2px solid transparent}#transition button.selected{border-color:#285d4b;background:#d0dfca}#transition #transitionConfirm{background:#244b40;color:white;margin-top:20px}#controls .control-pair button{min-height:56px;font-size:26px}#controls .control-pair>span{font-size:9px}#dispatch{max-width:360px}
@media(max-width:700px){#controls{flex-wrap:nowrap;align-items:flex-start;gap:12px}.simple-fire{flex:1;align-items:stretch;max-width:180px}.simple-fire #throwButton{min-width:0;min-height:57px;font-size:11px;padding:8px}.simple-fire>span{font-size:7px;letter-spacing:.5px;text-align:center;white-space:nowrap}.drive-controls{gap:8px}.control-pair{grid-template-columns:repeat(2,38px);gap:4px}#controls .control-pair button{min-width:38px;min-height:57px}#dispatch{bottom:122px;max-width:calc(100vw - 169px)}#parcel{bottom:122px}.briefing h1{font-size:47px;letter-spacing:-2px}.briefing>p{font-size:17px}.brief-controls{gap:23px}.brief-controls>span{font-size:18px}.brief-controls b{font-size:8px}.start-foot{font-size:7px}#transition{max-width:calc(100vw - 32px)}}

#timingHud{position:absolute;right:30px;top:25px;width:180px;padding:16px 20px;background:#203e36;color:#f0ffcf;text-align:right;border-top:3px solid #b9ff84}#timingHud small{font-size:10px;letter-spacing:1.3px;display:block}#timingHud strong{font-size:40px;line-height:1.3;display:block;font-weight:750}#timingHud>span{font-size:9px;letter-spacing:1px;color:#c1d9ad}#timingFeedback{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);pointer-events:none;z-index:9;white-space:nowrap;font-weight:850;font-size:27px;color:#fff2a2;background:#204739eF;padding:10px 17px;border:2px solid #ffe36f;box-shadow:0 4px 25px #20392d35;letter-spacing:-.5px}#timingFeedback[data-result="MISSED"],#timingFeedback[data-result="OFF PORCH"]{color:#f7dfc5;border-color:#d5b799;font-size:18px}.day-timing{font-size:20px;font-weight:650;color:#347557}#hud{right:235px}
@media(max-width:700px){#timingHud{right:16px;top:16px;width:110px;padding:10px 12px}#timingHud small{font-size:8px;letter-spacing:.4px}#timingHud strong{font-size:29px}#timingHud>span{font-size:7px;letter-spacing:.4px}#hud{right:140px}#timingFeedback{font-size:21px;padding:8px 12px}}
#throwButton.delivery-ready{background:#ffda63;color:#243c2b;box-shadow:0 0 0 3px #ffda6355,0 0 28px #ffda6355}

.photo-setting{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#e4ece1;margin-top:6px;pointer-events:auto}.photo-setting input{accent-color:#a8e8a2;width:16px;height:16px}.simple-fire #throwButton.photo-ready{background:#e2f1dc;color:#1b4630;border-color:#a8e8a2}#photoPrompt{position:absolute;left:50%;top:43%;transform:translateX(-50%);width:260px;padding:17px 20px;background:#19382eea;color:#e7f2e3;border:2px solid #a7bbaa;z-index:8;pointer-events:none;text-align:center;border-radius:8px}#photoPrompt small{display:block;font-size:9px;letter-spacing:1px}#photoPrompt strong{display:block;font-size:13px;margin:10px 0}#photoPrompt.green{border-color:#a2ff9c;box-shadow:0 0 22px #a2ff9c44}.photo-track{position:relative;height:8px;background:#657969;border-radius:4px}.photo-track span{position:absolute;left:17.857%;width:57.143%;height:100%;background:#a2ff9c}.photo-track i{position:absolute;top:-4px;width:3px;height:16px;background:white;transform:translateX(-50%)}

#hazardAlert{position:absolute;top:145px;left:50%;transform:translateX(-50%);z-index:7;background:#ffc45b;color:#332917;border:2px solid #ffdf9b;border-radius:5px;padding:11px 18px;font-size:12px;font-weight:800;letter-spacing:.7px;text-align:center;pointer-events:none;box-shadow:0 4px 24px #0003;max-width:90%;width:max-content}@media(max-width:700px){#hazardAlert{top:165px;font-size:10px;padding:9px 12px}}

.drive-controls button{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

.drivr-logo{display:block;background:#162f36;border-radius:12px;object-fit:contain}#brand a{display:block}#brand .drivr-logo{width:106px;height:52px}.challenge-title{font-size:clamp(48px,5.8vw,86px);line-height:.9;letter-spacing:-.065em;margin:22px 0}.challenge-title .hero-logo{width:148px;height:72px;margin-bottom:18px}.challenge-title>span{display:block}.challenge-title>small{display:block;font-size:14px;letter-spacing:.38em;margin-top:16px;line-height:1.2}.report-top>span{max-width:180px;text-align:right;line-height:1.5}@media(max-width:700px){#brand{gap:14px;top:14px}#brand .drivr-logo{width:86px;height:42px}#brand .edition{font-size:8px}.challenge-title{font-size:56px;margin:16px 0}.challenge-title .hero-logo{width:110px;height:54px;margin-bottom:12px}.challenge-title>small{font-size:11px;margin-top:12px}}@media(max-height:700px){.challenge-title{font-size:48px}.challenge-title .hero-logo{width:98px;height:48px;margin-bottom:10px}.challenge-title>small{font-size:10px;margin-top:10px}}

.level-picker{display:flex;gap:12px;margin:12px 0}.level-picker label{flex:1;font-size:10px;letter-spacing:1px}select{display:block;width:100%;background:#f4f6ee;color:#23483c;border:1px solid #a5bca7;padding:10px;margin-top:5px;font:inherit;letter-spacing:0}.level-board{border-top:1px solid #adc1ac;margin:22px 0;padding-top:14px}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.board-heading h3{margin:10px 0}.board-heading span,.board-note{font-size:10px;line-height:1.5}.board-result{padding:10px;background:#d7ead0;font-weight:650;font-size:13px}.board-table{width:100%;border-collapse:collapse;font-size:13px}.board-table th,.board-table td{text-align:left;padding:10px 7px;border-bottom:1px solid #c9d5c4}.board-table th{font-size:10px}.board-table td:nth-child(2){max-width:180px;overflow-wrap:anywhere}.board-table .your-score{background:#d7ead0}.board-table small{font-size:8px}.day-actions{flex-wrap:wrap;gap:10px}#boardsDialog{width:min(580px,94vw);max-height:85vh;overflow:auto;padding:28px;background:#eef1e8;color:#19383b;border:0;border-radius:10px}#boardsDialog>.primary{margin-top:22px}.screen{overflow-y:auto}.start-content{padding:12px 0}.start-route{display:none}#boardsButton{margin-right:16px}.challenge-title{font-size:clamp(45px,5.2vw,72px)}.challenge-title .hero-logo{width:110px;height:54px}@media(max-height:780px){.screen{align-items:flex-start;padding-top:25px}.challenge-title{font-size:42px;margin:14px 0}.challenge-title .hero-logo{width:86px;height:42px;margin-bottom:10px}.tagline{font-size:16px;margin-bottom:12px}.challenge-title>small{margin-top:8px}.start-foot{margin-top:10px}}

#photoButton{min-height:38px;padding:8px 18px;font:600 14px Inter,sans-serif;background:#143429;color:#fff;border:1px solid #72ff9b;border-radius:8px;cursor:pointer}#photoButton small{margin-left:12px;color:#72ff9b}

/* Transient collision notices and upcoming hazards share one exclusive slot. */
#toast,#hazardAlert{top:150px;left:50%;max-width:min(90vw,540px);text-align:center;white-space:normal}
@media(max-width:700px){#toast,#hazardAlert{top:180px}}

/* Arcade menu */
#start.arcade-menu{display:block;overflow:auto;overscroll-behavior:contain;padding:0;background:#071c26;color:#eafaef;z-index:12;scroll-behavior:smooth}
.menu-shell{max-width:1480px;margin:auto;padding:0 38px}.menu-top{display:flex;align-items:center;gap:22px;padding:19px 0;border-bottom:1px solid #2a464b}.menu-top img{filter:brightness(0) invert(1);object-fit:contain;width:104px;height:48px}.menu-top span,.menu-top a{font-size:12px;letter-spacing:1.5px;font-weight:700}.menu-top a.menu-logo{margin-left:0;display:inline-flex;line-height:0;border-radius:8px}.menu-top a.menu-logo:focus-visible{outline:2px solid #baff78;outline-offset:4px}.menu-top a{margin-left:auto;color:#baff78;text-decoration:none}.menu-hero{display:grid;grid-template-columns: minmax(310px,.82fr) minmax(0,1.18fr);gap:30px;padding:30px 0 36px}.menu-launch{padding:6px 8px 0 0}.menu-kicker{font-size:12px;font-weight:800;letter-spacing:2px;color:#baff78;margin:0 0 20px}#start h1{font-size:clamp(48px,5.8vw,88px);line-height:.9;letter-spacing:-4px;margin:0 0 18px;font-weight:900}#start h1 em{color:#baff78}.menu-intro{font-size:18px;line-height:1.45;color:#bacbcd;margin:0 0 22px}.menu-label{font-size:12px;font-weight:750;letter-spacing:1.3px;display:block;margin-bottom:8px}#start input,#start select{color:#f6fff7;background:#142e39;border:1px solid #3a555d;border-radius:6px;padding:12px 14px;font-size:16px;min-width:0;width:100%;height:46px}#start .level-picker{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px;margin:14px 0}#start .level-picker label{font-size:12px;letter-spacing:1px;color:#c1d5d4}#start .level-picker select{margin-top:7px}#start .menu-play{width:100%;min-height:57px;background:#baff78;color:#11271b;border-radius:6px;font-size:17px;font-weight:900;letter-spacing:.8px;box-shadow:0 4px 0 #60963a;transition:background .15s,transform .15s}#start .menu-play:hover{background:#d0ff9e;transform:translateY(-1px)}.menu-alternates{display:flex;gap:10px;margin-top:15px}.menu-alternates button{flex:1;min-height:45px;padding:9px;background:transparent;border:1px solid #597078;border-radius:6px;color:#eafaef;font-size:12px;font-weight:800}.menu-alternates button:hover{background:#23414b}.menu-caption{font-size:13px;color:#90aaaa;margin:17px 0 0}.menu-art{margin:0;position:relative;min-height:510px;overflow:hidden;border-radius:10px;border:1px solid #31575e;background:#163e45}.menu-art>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:52% 50%}.menu-art:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#051b27ef)}.menu-art figcaption{position:absolute;bottom:28px;left:28px;z-index:1}.menu-art figcaption span{font-size:12px;letter-spacing:3px;color:#cdff9e;display:block}.menu-art figcaption strong{font-size:38px;display:block;letter-spacing:-1.5px;margin:6px 0}.menu-art figcaption small{font-size:12px;letter-spacing:1.5px;color:#d1e0e0}.menu-bottom{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.8fr);gap:30px;border-top:1px solid #2a464b;padding:32px 0}.menu-section-title>span{font-size:12px;color:#88a4ab;font-weight:700;letter-spacing:1.6px}.menu-section-title h2{font-size:30px;letter-spacing:-1px;margin:9px 0 25px;color:#f1fff5}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.rules-grid h3{font-size:16px;color:#ddf6e2;margin:0 0 8px}.rules-grid p{font-size:14px;line-height:1.65;color:#acc2c7;margin:0}#start kbd{display:inline-block;min-width:24px;padding:1px 5px;border:1px solid #46616a;border-bottom-width:3px;border-radius:4px;color:#fff;font:700 13px Inter,sans-serif;background:#193440;text-align:center}.score-rules{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px;padding:22px 0;border-block:1px solid #2a464b}.score-rules h3{font-size:12px;letter-spacing:1px;color:#baff78;margin:0 0 13px}.score-rules dl{margin:0}.score-rules dl>div{display:flex;justify-content:space-between;gap:10px;margin:11px 0}.score-rules dt{font-size:13px;color:#b2c7cb}.score-rules dd{font-size:14px;font-weight:800;color:#baff78;white-space:nowrap;margin:0}.score-rules .penalty-rules h3,.score-rules .penalty-rules dd{color:#ffae83}.rules-foot{font-size:12px;line-height:1.6;color:#91abb1;margin:17px 0}.route-targets{padding:14px 0;border-bottom:1px solid #2a464b}.route-targets summary{font-size:12px;letter-spacing:1px;font-weight:800;cursor:pointer}.route-targets p{font-size:14px;line-height:1.6;color:#acc2c7}.menu-link{color:#baff78;background:transparent;padding:14px 0;font-weight:800;font-size:12px;letter-spacing:1px}.menu-leaderboard{background:#102d38;border:1px solid #36535c;border-radius:10px;padding:24px;align-self:start;min-width:0}#menuBoard{min-height:110px;overflow-x:auto}#menuBoard .board-heading h3{font-size:17px;color:#fff}#menuBoard .board-heading span{font-size:12px;color:#a9c1c7}#menuBoard .board-note{color:#91abb1;font-size:12px}#menuBoard .board-table{width:100%;font-size:14px;border-collapse:collapse;color:#edfbed}#menuBoard .board-table td,#menuBoard .board-table th{padding:11px 5px;border-bottom:1px solid #37515a}#menuBoard .board-table th{color:#99b6bd;font-size:12px}#menuBoard .board-table .your-score{background:#28523c;color:#d5ffb8}#menuBoard p{line-height:1.6;font-size:14px}#menuBoard .secondary{color:#142f23;background:#baff78}.menu-footer{display:flex;justify-content:space-between;padding:20px 0 28px;border-top:1px solid #2a464b;font-size:12px;letter-spacing:1px;color:#74959e}.footer-link{background:none;border:0;padding:0;margin:0;font:inherit;letter-spacing:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.footer-link:hover,.footer-link:focus-visible{color:#e8fff1}#start button:focus-visible,#start a:focus-visible,#start select:focus-visible{outline:3px solid #ffcf65;outline-offset:4px}
@media(max-width:950px){.menu-shell{padding:0 22px}.menu-hero{grid-template-columns:1fr 1fr;gap:22px}.menu-bottom{grid-template-columns:1fr;gap:24px}.menu-art{min-height:490px}.menu-art figcaption strong{font-size:29px}.menu-alternates{flex-direction:column}.menu-top span{font-size:10px}.menu-leaderboard{width:100%}}
@media(max-width:650px){.menu-shell{padding:0 18px}.menu-top{gap:12px;padding:12px 0}.menu-top span{display:none}.menu-top a{font-size:11px}.menu-hero{display:flex;flex-direction:column;gap:20px;padding-top:22px}.menu-launch{padding:0}#start h1{font-size:58px;letter-spacing:-3px}.menu-intro{font-size:16px}.menu-art{min-height:260px;order:-1}.menu-art>img{object-position:center 46%}.menu-art figcaption{bottom:18px;left:18px}.menu-art figcaption strong{font-size:27px}.menu-art figcaption small{font-size:10px}.menu-kicker{margin-bottom:15px}.menu-alternates{flex-direction:row}.rules-grid,.score-rules{grid-template-columns:1fr}.menu-footer{gap:15px;font-size:10px}.menu-section-title h2{font-size:27px}}

@media(min-width:1151px){.menu-hero{grid-template-columns:minmax(280px,.9fr) minmax(310px,1.05fr) minmax(280px,.85fr);gap:22px;align-items:stretch}#start h1{font-size:68px}.menu-art{min-height:510px}.menu-art figcaption strong{font-size:29px}.menu-hero .menu-leaderboard{align-self:stretch;padding:20px;max-height:660px;overflow:auto}.menu-hero .menu-section-title h2{font-size:26px;margin-bottom:20px}.menu-hero .menu-section-title>span{font-size:10px;letter-spacing:1px}.menu-bottom{grid-template-columns:1fr}.rules-grid{grid-template-columns:repeat(4,1fr)}.score-rules{max-width:850px}}
@media(min-width:651px) and (max-width:1150px){.menu-hero{grid-template-columns:1fr 1fr}.menu-hero>.menu-leaderboard{grid-column:1/-1}.menu-bottom{grid-template-columns:1fr}}

/* DRIVR session scorecard */
.session-card{width:min(940px,100%);margin:0 auto;background:#e8e9eb;color:#405c75;border-radius:22px;overflow:hidden;box-shadow:0 20px 80px #071c3540;font-size:16px;line-height:1.5;text-align:left}.sc-brand{padding:30px;background:#087d9b;display:flex;align-items:center;justify-content:space-between;gap:20px;color:white}.sc-brand img{width:150px;height:72px;object-fit:contain;filter:brightness(0) invert(1)}.sc-brand span{font-size:13px;letter-spacing:1.5px;font-weight:700}.sc-body{padding:32px}.sc-title{text-align:center}.sc-title>span{font-size:13px;letter-spacing:2px;font-weight:800}.session-card h1{font-size:40px;letter-spacing:-1.5px;line-height:1.15;margin:8px 0 24px}.sc-tabs{display:flex;justify-content:center;margin:0 auto 28px;width:fit-content;border-radius:30px;overflow:hidden;background:#fff}.sc-tabs button{padding:12px 22px;color:#405c75;background:white;font-weight:700;font-size:16px}.sc-tabs button[aria-pressed=true]{background:#405c75;color:white}.sc-identity{display:flex;gap:16px;align-items:center;margin:22px 0}.sc-avatar{background:#087d9b;color:white;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;flex-shrink:0;font-size:28px;font-weight:800}.sc-identity h2{font-size:24px;margin:0;overflow-wrap:anywhere}.sc-identity p{margin:3px 0;color:#627385}.sc-deliveries{text-align:center;font-size:22px;margin:24px 0}.sc-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.sc-highlights>div{background:#087d9b;color:white;border-radius:20px;padding:24px 12px;text-align:center;display:flex;flex-direction:column;justify-content:center}.sc-highlights strong{font-size:30px;line-height:1.2;overflow-wrap:anywhere}.sc-highlights span{font-size:14px;margin-top:10px}.sc-section{background:#fff;border-radius:20px;overflow:hidden;margin:20px 0}.sc-section h2{font-size:21px;line-height:1.3;background:#087d9b;color:white;margin:0;padding:17px 22px;letter-spacing:-.4px}.sc-quality h2{background:#328317}.sc-feedback h2{background:#ae7900}.sc-section-body{padding:20px 22px}.sc-section p{margin:0 0 12px}.sc-section p:last-child{margin-bottom:0}.sc-caption{font-size:14px;color:#607284;line-height:1.5}.sc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 4px;border-bottom:1px solid #e1e5e9;font-size:16px}.sc-row:last-child{border-bottom:0}.sc-row strong{text-align:right;white-space:nowrap}.sc-row summary{cursor:pointer}.sc-row details p,.sc-tier-help p{font-size:14px;font-weight:400;margin:9px 0;color:#607284}.sc-good{background:linear-gradient(90deg,transparent,#bce9ce)}.sc-bad{background:linear-gradient(90deg,transparent,#ffd9d6)}.sc-total{font-size:22px;font-weight:800;border-top:2px solid #087d9b;margin-top:6px}.sc-tier-help{margin-top:18px;font-size:14px}.sc-tier-help summary{cursor:pointer;font-weight:700}.sc-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sc-columns .sc-section{margin:0}.sc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.sc-actions button{border-radius:8px;min-height:50px;font-size:14px;flex:1;min-width:150px}.sc-actions .primary{background:#087d9b}.sc-actions .secondary{background:#fff;color:#405c75}.sc-board{overflow-x:auto}.session-card button:focus-visible,.session-card summary:focus-visible{outline:3px solid #db9800;outline-offset:3px}.session-card .board-table{width:100%;border-collapse:collapse;font-size:14px}.session-card .board-table td,.session-card .board-table th{padding:10px 5px;border-bottom:1px solid #e1e5e9;text-align:left}.session-card .board-heading h3{font-size:20px;margin:0}.session-card .board-heading span,.session-card .board-note{font-size:14px}.session-card .your-score{background:#daf2e4}.session-card .board-result{font-weight:700;color:#087d9b}@media(max-width:700px){.sc-body{padding:20px 14px}.sc-brand{padding:20px}.sc-brand img{width:110px;height:52px}.sc-brand span{font-size:12px;max-width:130px}.sc-columns{grid-template-columns:1fr}.sc-columns .sc-section+.sc-section{margin-top:0}.sc-highlights{gap:7px}.sc-highlights>div{padding:20px 8px;border-radius:14px}.sc-highlights strong{font-size:23px}.sc-highlights span{font-size:13px}.sc-section-body{padding:16px}.sc-section h2{padding:15px 16px}.sc-row{font-size:14px}.session-card h1{font-size:34px}.sc-tabs button{padding:12px 18px}.sc-identity h2{font-size:22px}}@media(prefers-reduced-motion:no-preference){.sc-highlights{animation:scoreReveal .45s ease-out}@keyframes scoreReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}

/* End-of-route phone held by the game driver. */
.modal-screen:has(.score-scene){padding:0;overflow:hidden;background:#071c2c;display:flex;align-items:center;justify-content:center}.score-scene{position:relative;width:min(118vw,180dvh);aspect-ratio:3/2;flex:none;isolation:isolate}.score-scene-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.score-scene-caption{position:absolute;left:9%;bottom:13%;color:white;text-shadow:0 3px 18px #051e32;max-width:42%;pointer-events:none}.score-scene-caption>span{display:block;font-size:14px;font-weight:800;letter-spacing:3px;color:#c3ff81;margin-bottom:12px}.score-scene-caption>strong{display:block;font-size:clamp(26px,4.4vw,64px);line-height:.98;letter-spacing:-2px;font-style:italic;font-weight:900}.score-phone{position:absolute;left:56.97%;top:9.86%;width:24.22%;height:71.58%;border-radius:26px;background:#112a37;color:#e7f4ec;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 0 3px #14232c;min-width:0}.phone-status{display:flex;justify-content:space-between;gap:12px;padding:10px 15px 9px;flex:none;background:#0a202e;color:#b5d2d1;font-size:12px;font-weight:800;letter-spacing:1px;border-bottom:1px solid #2b4956}.phone-status>span:first-child{color:#c3ff81}.phone-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;scrollbar-color:#73ab92 #173240;scrollbar-width:thin;touch-action:pan-y}.phone-scroll:focus-visible{outline:2px solid #c3ff81;outline-offset:-3px}.score-phone .session-card{border-radius:0;background:#102b39;box-shadow:none;color:#dcebea;width:100%;font-size:14px}.score-phone .sc-brand{background:#102b39;padding:14px 16px 0;gap:10px}.score-phone .sc-brand img{width:76px;height:36px}.score-phone .sc-brand span{font-size:12px;letter-spacing:.5px;max-width:130px;text-align:right;color:#a7c3c7}.score-phone .sc-body{padding:18px 15px 8px}.score-phone .sc-title>span{color:#adceba;font-size:12px;letter-spacing:1.4px}.score-phone .session-card h1{font-size:30px;letter-spacing:-1px;margin:6px 0 16px;color:#f0fff5}.score-phone .sc-tabs{margin-bottom:16px;border-radius:6px;background:#244552;width:100%}.score-phone .sc-tabs button{font-size:14px;padding:10px 8px;flex:1;background:#244552;color:#c6dcdf}.score-phone .sc-tabs button[aria-pressed=true]{background:#c3ff81;color:#163729}.score-phone .sc-identity{margin:16px 0;gap:10px}.score-phone .sc-avatar{width:40px;height:40px;font-size:20px;background:#2a654e;color:#c3ff81}.score-phone .sc-identity h2{font-size:19px}.score-phone .sc-identity p{font-size:13px;color:#9db7be}.score-phone .sc-deliveries{font-size:17px;margin:16px 0}.score-phone .sc-highlights{gap:7px;margin:16px 0}.score-phone .sc-highlights>div{padding:16px 6px;background:#234a49;border:1px solid #42765f;border-radius:8px}.score-phone .sc-highlights strong{font-size:21px;color:#c3ff81}.score-phone .sc-highlights span{font-size:12px;color:#c4dcda;margin-top:6px;line-height:1.35}.score-phone .sc-section{border:1px solid #365565;border-radius:9px;background:#173442;margin:14px 0}.score-phone .sc-section h2{font-size:17px;padding:12px 13px;background:#23576a;color:#f2fff9;letter-spacing:0}.score-phone .sc-quality h2{background:#285d3a}.score-phone .sc-feedback h2{background:#705920}.score-phone .sc-section-body{padding:13px}.score-phone .sc-section p{font-size:14px;line-height:1.6}.score-phone .sc-caption{font-size:12px!important;color:#a7c1c5}.score-phone .sc-columns{display:block}.score-phone .sc-columns .sc-section{margin:14px 0}.score-phone .sc-row{font-size:14px;padding:9px 2px;border-color:#36515e;gap:8px}.score-phone .sc-row details p,.score-phone .sc-tier-help p{font-size:13px;color:#a7c1c5}.score-phone .sc-good{background:linear-gradient(90deg,transparent,#285944)}.score-phone .sc-bad{background:linear-gradient(90deg,transparent,#623c3e)}.score-phone .sc-total{font-size:20px;border-color:#77b68a}.score-phone .sc-tier-help{font-size:14px}.score-phone .board-result{color:#c3ff81}.score-phone .board-table{font-size:13px}.score-phone .board-table td,.score-phone .board-table th{padding:9px 3px;border-color:#36515e}.score-phone .your-score{background:#2c5744}.phone-scroll-hint{font-size:12px;letter-spacing:.6px;text-align:center;padding:7px 5px;color:#98b8c0;background:#0b2330;flex:none;border-top:1px solid #2b4956}.score-phone .sc-actions{margin:0;padding:0 10px 10px;background:#0b2330;gap:6px;display:grid;grid-template-columns:1fr 1fr;flex:none}.score-phone .sc-actions button{font-size:12px;min-width:0;min-height:38px;padding:9px 5px;border-radius:5px;letter-spacing:.4px;background:#254653;color:#d7e9e8}.score-phone .sc-actions .primary{grid-column:1/-1;background:#c3ff81;color:#163729;font-weight:900;min-height:43px;font-size:14px;box-shadow:0 2px 0 #739b49}.score-phone .sc-actions button:last-child:nth-child(2){grid-column:1/-1}@media(max-width:1000px){.modal-screen:has(.score-scene){display:block;overflow:hidden}.score-scene{width:100%;height:100dvh;aspect-ratio:auto;background:#0b2534}.score-scene-art{width:100%;height:auto;top:0;object-fit:contain;opacity:.85}.score-scene-caption{top:18px;left:18px;bottom:auto;max-width:55%}.score-scene-caption>span{font-size:12px;letter-spacing:1.5px;margin-bottom:6px}.score-scene-caption>strong{font-size:25px;letter-spacing:-1px}.score-phone{left:5%;top:18%;width:90%;height:79%;height:calc(82% - max(14px,env(safe-area-inset-bottom)));border:7px solid #263640;border-radius:25px;box-shadow:0 0 0 2px #537381,0 18px 55px #0009}.phone-status{padding:7px 12px}.score-phone .sc-brand{padding-top:10px}.score-phone .sc-body{padding-top:12px}}@media(max-height:550px) and (min-width:1001px){.score-scene{width:100vw;height:100dvh;aspect-ratio:auto}.score-scene-art{object-fit:cover}.score-phone{top:3%;height:94%;left:53%;width:43%}.score-scene-caption>strong{font-size:32px}}

.score-phone .board-result{background:#102b26;color:#c3ff81;border:1px solid #568967;border-left:4px solid #c3ff81;border-radius:6px;padding:12px 14px;font-size:14px;line-height:1.6;}

#mobileBrake,#rotateHint,.mobile-caption{display:none}.mobile-play .mobile-caption{display:block}.mobile-play .desktop-caption{display:none}.mobile-play #controls{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:nowrap;pointer-events:none;gap:20px}.mobile-play #controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-play .drive-controls{display:block;padding:0;background:none}.mobile-play .drive-controls .control-pair:nth-child(2){display:none}.mobile-play .control-pair{display:grid;grid-template-columns:72px 72px;gap:10px}.mobile-play .control-pair>button{width:72px;height:68px;border:2px solid #6e9e99;border-bottom:5px solid #3a645f;border-radius:15px;background:#102f3ee8;color:#edfff4;font-size:34px!important;box-shadow:0 3px 15px #0003}.mobile-play .control-pair>button:active{background:#416e63;transform:translateY(2px)}.mobile-play .control-pair>span{font-size:11px;color:white;text-shadow:0 1px 5px #000;letter-spacing:1px}.mobile-play .simple-fire{display:flex;flex-direction:column;gap:9px;align-items:stretch;width:165px;padding:0;pointer-events:none}.mobile-play .simple-fire>span{display:none}.mobile-play #mobileBrake{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#173747ed;color:#eff7f2;border:2px solid #a0b7b5;border-radius:12px;min-height:54px;font-size:17px;font-weight:900;letter-spacing:1px;padding:6px}.mobile-play #mobileBrake small{font-size:10px;letter-spacing:1px;margin-top:2px}.mobile-play #mobileBrake.braking{background:#ba6a2e;color:white;border-color:#ffca85}.mobile-play #throwButton{width:165px;min-height:78px;border-radius:15px;background:#c3ff81;color:#1c382b;border-bottom:5px solid #6b9c49;padding:10px 5px;font-weight:900}.mobile-play #throwButton span{font-size:18px;letter-spacing:0}.mobile-play #throwButton small{font-size:10px;letter-spacing:1px;display:block;margin-top:5px}.mobile-play #throwButton.delivery-ready{background:#ffda63;box-shadow:0 0 0 3px #ffda6370,0 0 26px #ffda6370;border-bottom-color:#b68a20}.mobile-play #hud{top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:140px;display:flex;gap:10px}.mobile-play .route-meta{padding:9px 12px;min-width:0}.mobile-play .route-meta h2{font-size:20px}.mobile-play .route-meta>span{font-size:9px}.mobile-play .hud-stats{padding:8px 10px;gap:13px;margin:0;align-items:center}.mobile-play .hud-stats>div:last-of-type,.mobile-play .hud-stats .limit{display:none}.mobile-play .hud-stats strong{font-size:18px}.mobile-play .hud-stats small{font-size:9px}.mobile-play .hud-stats button{pointer-events:auto;min-width:40px;min-height:40px;font-size:23px}.mobile-play #notches{font-size:9px!important;max-width:95px}.mobile-play #timingHud{top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));padding:9px 12px;width:115px}.mobile-play #timingHud strong{font-size:23px}.mobile-play #timingHud small,.mobile-play #streakLabel{font-size:9px}.mobile-play #parcel{display:none!important}.mobile-play #dispatch{left:50%;transform:translateX(-50%);bottom:15px;max-width:calc(100vw - 400px);padding:7px 10px;pointer-events:none;background:#102f3ed9;color:#fff}.mobile-play #dispatch small{display:none}.mobile-play #instruction{font-size:11px;line-height:1.4}.mobile-play #toast,.mobile-play #hazardAlert{top:92px;max-width:70vw;font-size:13px;padding:10px 14px}.mobile-play .briefing h1{font-size:clamp(30px,7vh,55px);letter-spacing:-2px;margin:14px 0}.mobile-play .briefing{margin:0 auto;padding:0;max-width:700px}.mobile-play .briefing h2{font-size:22px}.mobile-play .briefing p{font-size:14px;margin:10px 0}.mobile-play .modal-screen:has(.briefing){padding:20px 24px}.mobile-play .brief-controls{gap:12px}.mobile-play .brief-controls span{font-size:12px}@media(orientation:portrait){.mobile-play.playing #rotateHint{display:block;position:absolute;top:115px;left:50%;transform:translateX(-50%);width:max-content;max-width:95%;z-index:4;background:#123342df;color:#eaffef;border-radius:20px;padding:7px 12px;font-size:12px;pointer-events:none}.mobile-play #hud{display:block}.mobile-play .hud-stats{margin-top:6px}.mobile-play .control-pair{grid-template-columns:62px 62px;gap:8px}.mobile-play .control-pair>button{width:62px;height:66px}.mobile-play .simple-fire,.mobile-play #throwButton{width:145px}.mobile-play #dispatch{bottom:183px;max-width:90vw;width:max-content}.mobile-play #toast,.mobile-play #hazardAlert{top:155px;max-width:94vw}.mobile-play #timingFeedback{top:200px}}@media(orientation:landscape) and (max-height:450px){.mobile-play .control-pair>button{height:57px}.mobile-play #throwButton{min-height:63px}.mobile-play #mobileBrake{min-height:46px}.mobile-play #dispatch{bottom:10px}.mobile-play .route-meta h2{font-size:17px}.mobile-play #toast,.mobile-play #hazardAlert{top:78px}}


/* Booth mode: one endless route, no level selection. */
#start .level-picker,#start .menu-alternates,.route-targets,#menuBoardLevel,#boardLevel,#boardsDialog>label,.menu-leaderboard>label{display:none!important}.menu-leaderboard .menu-section-title h2{font-size:26px}#packageCount{color:#c57441}.mobile-play #packageCount{font-size:20px}.sc-highlights #sessionRank{color:inherit}

/* Runner-style controls: automatic acceleration and a rechargeable brake. */
#mobileBrake{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:150px;min-height:60px;padding:8px 14px;background:#173747ed;color:#eff7f2;border:2px solid #8ca9a7;border-radius:10px;font-size:16px;font-weight:900;letter-spacing:1px}
#mobileBrake small{font-size:9px;letter-spacing:1px;margin:0;color:#c7d9d7}
#mobileBrake.braking{background:#ba6a2e;color:white;border-color:#ffca85}
#mobileBrake.empty{opacity:.65}
.brake-meter{display:block;width:100%;height:6px;border-radius:4px;overflow:hidden;background:#081d27;margin-top:2px}
.brake-meter span{display:block;width:100%;height:100%;background:#c3ff81;transition:width .08s linear}
#mobileBrake.braking .brake-meter span{background:#ffda63}
@media(pointer:fine){.simple-fire{display:grid;grid-template-columns:150px 218px;align-items:end;gap:9px}.simple-fire>span{grid-column:1/-1;text-align:right}.simple-fire #throwButton{height:60px}}

/* A speed surge should feel like an arcade event, not a quiet stat change. */
#toast.speed-surge{top:18%;background:#b93624;color:#fff6d4;border:3px solid #ffcf65;font-size:clamp(18px,2.4vw,30px);font-weight:950;letter-spacing:1px;box-shadow:0 0 0 7px #b9362440,0 14px 45px #0006;animation:surgePunch .5s ease-out}
@keyframes surgePunch{0%{transform:translateX(-50%) scale(.6);opacity:0}55%{transform:translateX(-50%) scale(1.14);opacity:1}100%{transform:translateX(-50%) scale(1)}}

/* Booth identity: a driver name plus the four-character DSP/station code. */
.identity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.identity-field{min-width:0;margin:0}.identity-field>span{display:block;font-size:11px;font-weight:800;letter-spacing:1.25px;margin:0 0 8px}.identity-field input{text-transform:none}.identity-code input{text-transform:uppercase;letter-spacing:.17em;font-weight:850}.identity-code input::placeholder{color:#e8fff1;opacity:.16;letter-spacing:.12em}.field-help,.field-error{font-size:11px;line-height:1.4;margin:8px 0 14px}.field-help{color:#89a6ad}.field-error{color:#ffd3bf;font-weight:800}.identity-field input[aria-invalid="true"]{border-color:#ff956f!important;box-shadow:0 0 0 2px #ff956f40}
.controller-indicator{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#88a4ab;font-size:11px;letter-spacing:.06em}.controller-indicator i{width:9px;height:9px;border-radius:50%;background:#607284;box-shadow:0 0 0 3px #60728425}.controller-indicator span{font-weight:850;color:#c3d4d8}.controller-indicator b{font-weight:650}.controller-indicator.connected{color:#8be6a1}.controller-indicator.connected i{background:#63ff87;box-shadow:0 0 0 3px #63ff8730,0 0 12px #63ff87}.controller-indicator.connected span{color:#fff}
.sc-station{color:#6b8388;font-size:.78em;letter-spacing:.08em;white-space:nowrap}

/* A dedicated status rail keeps coaching and arcade alerts out of the road view. */
:root{--game-rail-height:64px}#gameRail{display:none;position:absolute;inset:0 0 auto;height:var(--game-rail-height);z-index:9;grid-template-columns:minmax(190px,280px) minmax(0,1fr) minmax(110px,280px);align-items:center;gap:18px;padding:0 22px;background:linear-gradient(90deg,#082832,#123b3e 52%,#082832);border-bottom:3px solid #baff78;box-shadow:0 7px 22px #061b2560;pointer-events:none;overflow:hidden}body.playing #gameRail{display:grid}body.playing #world{position:absolute;left:0;top:var(--game-rail-height);height:calc(100% - var(--game-rail-height))}body.playing .vignette{top:var(--game-rail-height)}body.playing #hud{top:calc(var(--game-rail-height) + 18px)}body.playing #timingHud{top:calc(var(--game-rail-height) + 18px)}
#nurseryRoute{position:relative;inset:auto;display:block;width:max-content;max-width:100%;opacity:0;transform:translateX(-125%) rotate(-2deg);transition:opacity .22s ease,transform .42s cubic-bezier(.2,.9,.25,1.2);color:#102d27;font-size:17px;font-weight:1000;line-height:1;letter-spacing:.105em;text-align:center;text-shadow:none;-webkit-text-stroke:0;mix-blend-mode:normal;overflow:visible}#nurseryRoute span{position:relative;display:block;padding:12px 27px 12px 18px;background:#baff78;clip-path:polygon(0 4%,88% 4%,100% 50%,88% 96%,0 96%,5% 50%)}#nurseryRoute.active{opacity:1;transform:translateX(0) rotate(-2deg)}
#railMessages{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.58fr);align-items:center;justify-items:center;gap:8px;height:100%;min-width:0;overflow:hidden}#railMessages>#toast,#railMessages>#hazardAlert,#railMessages>#timingFeedback{position:static!important;left:auto!important;top:auto!important;transform:none;width:max-content;max-width:100%;margin:0;padding:8px 14px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;line-height:1.15;box-shadow:none;z-index:auto;font-size:12px;letter-spacing:.055em}#railMessages>#toast,#railMessages>#hazardAlert{grid-area:1/1}#railMessages>#toast{background:#315249;color:#f4fff4}#railMessages>#hazardAlert{background:#ffc45b;color:#332917;border:2px solid #ffdf9b;font-weight:900}#railMessages>#timingFeedback{grid-area:1/2;color:#fff2a2;background:#204739;border:2px solid #ffe36f;font-size:15px}#railMessages:not(:has(#timingFeedback:not([hidden])))>#toast,#railMessages:not(:has(#timingFeedback:not([hidden])))>#hazardAlert{grid-column:1/-1}#railMessages>#timingFeedback[data-result="MISSED"],#railMessages>#timingFeedback[data-result="OFF PORCH"]{font-size:13px}.rail-mark{justify-self:end;display:flex;align-items:center;gap:10px;color:#d9ece7}.rail-mark strong{font-size:15px;letter-spacing:.13em}.rail-mark span{font-size:8px;letter-spacing:.15em;color:#8eadad}#railMessages>#toast.speed-surge{background:#b93624;color:#fff6d4;border:2px solid #ffcf65;font-size:17px;font-weight:950;letter-spacing:.08em;animation:railSurgePunch .5s ease-out}@keyframes railSurgePunch{0%{transform:scale(.65);opacity:0}55%{transform:scale(1.1);opacity:1}100%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:no-preference){#nurseryRoute.active span{animation:nurseryWave 1.05s ease-in-out infinite alternate;transform-origin:8% 50%}@keyframes nurseryWave{0%{transform:perspective(220px) rotateY(-3deg) skewY(-1deg)}100%{transform:perspective(220px) rotateY(4deg) skewY(1.4deg) translateY(-2px)}}}
@media(max-width:700px){:root{--game-rail-height:54px}.identity-field:not(.identity-code){grid-column:1/-1}.field-help,.field-error{margin-bottom:12px}#gameRail{grid-template-columns:minmax(118px,.72fr) minmax(0,1.28fr);gap:7px;padding:0 8px}#nurseryRoute{font-size:11px;letter-spacing:.07em}#nurseryRoute span{padding:10px 17px 10px 10px}.rail-mark{display:none}#railMessages{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-content:center;gap:2px}#railMessages>#toast,#railMessages>#hazardAlert,#railMessages>#timingFeedback{max-width:100%;padding:5px 8px;font-size:9px;letter-spacing:.025em}#railMessages>#timingFeedback{grid-area:1/1;font-size:11px}#railMessages>#toast,#railMessages>#hazardAlert{grid-area:2/1}#railMessages:not(:has(#timingFeedback:not([hidden])))>#toast,#railMessages:not(:has(#timingFeedback:not([hidden])))>#hazardAlert{grid-area:1/1}#railMessages>#toast.speed-surge{font-size:11px}body.mobile-play.playing #hud{top:calc(var(--game-rail-height) + 10px)}body.mobile-play.playing #timingHud{top:calc(var(--game-rail-height) + 10px)}}

/* The scorecard itself is a light, obviously scrollable app inside the dark phone. */
.phone-scroll{background:#e8e9eb;scrollbar-color:#087d9b #cbd3d9;scrollbar-width:auto}.phone-scroll::-webkit-scrollbar{width:10px}.phone-scroll::-webkit-scrollbar-track{background:#cbd3d9}.phone-scroll::-webkit-scrollbar-thumb{background:#087d9b;border:2px solid #cbd3d9;border-radius:10px}.phone-scroll:focus-visible{outline-color:#087d9b}.score-phone .session-card{background:#e8e9eb;color:#405c75}.score-phone .sc-brand{background:#111;border-bottom:1px solid #30383d;padding:14px 16px 12px}.score-phone .sc-brand img{background:transparent;border-radius:0;padding:0;filter:brightness(0) invert(1)}.score-phone .sc-brand span{color:#f4f7f7}.score-phone .sc-title>span{color:#607284}.score-phone .session-card h1{color:#405c75}.score-phone .sc-tabs{background:#fff}.score-phone .sc-tabs button{background:#fff;color:#405c75}.score-phone .sc-tabs button[aria-pressed=true]{background:#405c75;color:#fff}.score-phone .sc-avatar{background:#087d9b;color:#fff}.score-phone .sc-identity p,.score-phone .sc-caption,.score-phone .sc-row details p,.score-phone .sc-tier-help p{color:#607284}.score-phone .sc-highlights>div{background:#087d9b;border-color:#087d9b}.score-phone .sc-highlights strong,.score-phone .sc-highlights span{color:#fff}.score-phone .sc-section{background:#fff;border-color:#d2d9de}.score-phone .sc-section h2{background:#087d9b}.score-phone .sc-quality h2{background:#328317}.score-phone .sc-feedback h2{background:#ae7900}.score-phone .sc-row{border-color:#dfe4e8}.score-phone .sc-good{background:linear-gradient(90deg,transparent,#bce9ce)}.score-phone .sc-bad{background:linear-gradient(90deg,transparent,#ffd9d6)}.score-phone .sc-total{border-color:#087d9b}.score-phone .board-result{background:#e6f5ed;color:#087d9b;border-color:#87bda0;border-left-color:#087d9b}.score-phone .board-table td,.score-phone .board-table th{border-color:#dfe4e8}.score-phone .your-score{background:#daf2e4}

/* Base pace is automatic; Boost adds optional risk and pace points. */
.brief-controls{flex-wrap:wrap}.pace-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:270px}#boostButton,#mobileBrake{min-width:0;width:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;padding:8px 10px;border-radius:10px;font-size:15px;font-weight:900;letter-spacing:1px}#boostButton{background:#164d5ced!important;color:#effff5!important;border:2px solid #72b8c8!important}#boostButton small{font-size:9px;letter-spacing:1px;color:#b9dce2;margin:0}#boostButton.boosting{background:#087d9b!important;color:#fff!important;border-color:#c3ff81!important;box-shadow:0 0 0 3px #c3ff8142,0 0 22px #4ee3d545!important}#boostButton.boosting small{color:#eaffef}.mobile-play .hud-stats>div:last-of-type{display:flex}
@media(pointer:fine){.simple-fire{grid-template-columns:270px 218px}.simple-fire .pace-controls{grid-column:1;grid-row:1}.simple-fire #throwButton{grid-column:2;grid-row:1}.simple-fire>span{grid-column:1/-1}}
@media(max-width:700px){.mobile-play .pace-controls{width:100%;gap:7px}.mobile-play #boostButton,.mobile-play #mobileBrake{width:auto;min-width:0;min-height:54px;padding:5px 4px;font-size:12px;letter-spacing:.5px}.mobile-play #boostButton small,.mobile-play #mobileBrake small{font-size:8px;letter-spacing:.4px}.mobile-play .brake-meter{height:5px}.mobile-play .brief-controls{justify-content:center}}
@media(orientation:landscape) and (max-height:450px){.mobile-play #boostButton,.mobile-play #mobileBrake{min-height:46px}}

/* Unified DRIVR game colors: action, timing and outcome always mean the same thing. */
:root{--drivr-blue:#087d9b;--drivr-blue-dark:#075f78;--drivr-navy:#102d3b;--drivr-orange:#f36b21;--drivr-orange-dark:#b84612;--drivr-green:#2f8a20;--drivr-perfect:#63ff87;--drivr-yellow:#ffcf65;--drivr-red:#d6404e;--drivr-paper:#f4f6f7;--drivr-ink:#405c75;--drivr-muted:#607284}
.primary,.start-form button{background:var(--drivr-blue);color:#fff;border:1px solid var(--drivr-blue);border-radius:7px}.primary:hover,.start-form button:hover{background:var(--drivr-blue-dark)}.secondary{background:#fff;color:var(--drivr-ink);border:1px solid #9aabb8;border-radius:7px}.secondary:hover{border-color:var(--drivr-blue);color:var(--drivr-blue)}
#start .menu-play{background:var(--drivr-orange);color:#fff;box-shadow:0 4px 0 var(--drivr-orange-dark)}#start .menu-play:hover{background:#ff7b32}.menu-link{color:#55bdd7}.score-rules h3,.score-rules dd{color:var(--drivr-perfect)}.score-rules .penalty-rules h3,.score-rules .penalty-rules dd{color:#ff9a86}
.simple-fire #throwButton,.mobile-play #throwButton{background:var(--drivr-blue);color:#fff;border-color:var(--drivr-blue-dark);border-bottom-color:var(--drivr-blue-dark)}.simple-fire #throwButton:hover,.mobile-play #throwButton:hover{background:var(--drivr-blue-dark)}#throwButton.delivery-ready,.mobile-play #throwButton.delivery-ready{background:var(--drivr-perfect);color:var(--drivr-navy);border-color:#218b4a;border-bottom-color:#218b4a;box-shadow:0 0 0 4px #63ff8755,0 0 28px #63ff8780}
#toast.speed-surge,#railMessages>#toast.speed-surge{background:var(--drivr-yellow);color:var(--drivr-navy);border-color:#fff0aa;box-shadow:0 0 0 7px #ffcf6540,0 14px 45px #0005}#hazardAlert,#railMessages>#hazardAlert{background:var(--drivr-yellow);color:#302817;border-color:#fff0aa}#timingFeedback[data-result="MISSED"],#timingFeedback[data-result="OFF PORCH"]{background:var(--drivr-red);color:#fff;border-color:#ffb4bc}
.phone-scroll{background:var(--drivr-paper);scrollbar-color:var(--drivr-blue) #d5dde2}.score-phone .session-card{background:var(--drivr-paper);color:var(--drivr-ink)}.score-phone .sc-brand{background:#111}.score-phone .sc-body{background:var(--drivr-paper)}.score-phone .sc-tabs{background:#fff;border:1px solid #cad4db}.score-phone .sc-tabs button{background:#fff;color:var(--drivr-ink)}.score-phone .sc-tabs button[aria-pressed=true]{background:var(--drivr-blue);color:#fff}.score-phone .sc-avatar,.score-phone .sc-highlights>div{background:var(--drivr-blue);border-color:var(--drivr-blue)}.score-phone .sc-highlights strong,.score-phone .sc-highlights span{color:#fff}.score-phone .sc-section{background:#fff;border-color:#d2d9de}.score-phone .sc-section h2{background:var(--drivr-blue)}.score-phone .sc-quality h2{background:var(--drivr-green)}.score-phone .sc-feedback h2{background:#bd8100}.score-phone .sc-good{background:linear-gradient(90deg,transparent,#bce9ce)}.score-phone .sc-bad{background:linear-gradient(90deg,transparent,#ffd9d6)}.score-phone .sc-actions{background:#e7ebee}.score-phone .sc-actions button{background:#fff;color:var(--drivr-ink);border:1px solid #9aabb8}.score-phone .sc-actions .primary{background:var(--drivr-blue);color:#fff;border-color:var(--drivr-blue);box-shadow:0 2px 0 var(--drivr-blue-dark)}.score-phone .board-result{background:#e6f5ed;color:#176a52;border-color:#87bda0;border-left-color:var(--drivr-green)}.score-phone .your-score{background:#daf2e4}.phone-scroll-hint{background:#dce3e7;color:var(--drivr-ink);border-color:#c3cfd6}

/* Keep the compact phone summary readable without breaking words mid-letter. */
.score-phone .sc-highlights{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.score-phone .sc-highlights>div{min-width:0;min-height:96px;padding:13px 5px}
.score-phone .sc-highlights strong{font-size:clamp(16px,1.15vw,19px);line-height:1.08;overflow-wrap:normal;word-break:normal;hyphens:none}
.score-phone .sc-highlights span{font-size:11px;line-height:1.22;margin-top:7px;overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:700px){.score-phone .sc-highlights strong{font-size:19px}.score-phone .sc-highlights span{font-size:11px}}
