.front-menu{position:absolute;inset:0;z-index:5;background:linear-gradient(180deg,#143f48ed,#143f48b8);color:#f4edd8;overflow-y:auto;padding:28px 23px 20px;scrollbar-width:thin;scrollbar-color:#c5c4a4 #153f46}.menu-wordmark{font:900 60px/.82 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px;margin:12px 0 16px}.menu-wordmark em{color:#f09462;font-style:normal}.menu-kicker{font-size:8px;letter-spacing:2px;color:#d4cbaa}.menu-lead{font-size:11px;color:#d2dbca;line-height:1.6;margin-bottom:22px}.menu-nav{display:grid;gap:8px}.menu-button{width:100%;border:1px solid #b8c8ac55;color:#f4edd8;background:#17464bbb;text-align:left;padding:13px 14px;font:700 11px 'DM Sans',sans-serif;letter-spacing:1px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.menu-button:hover{background:#30615f}.menu-button.accent{background:#e87543;border-color:#e87543;box-shadow:0 3px #a95032}.menu-button:disabled{opacity:.35;cursor:default}.menu-bottom{font-size:8px;line-height:1.8;color:#c2c9b2;margin:20px 0 0}.menu-back{border:0;background:none;color:#e8dab9;padding:0 0 15px;cursor:pointer;font:700 9px 'DM Sans',sans-serif;letter-spacing:1px}.menu-heading{font:800 37px/1 'Barlow Condensed',Impact,sans-serif;margin:0 0 10px}.map-grid{display:grid;gap:9px;margin-top:18px}.map-card{position:relative;border:1px solid #b6c6ac55;background:#153f48d9;padding:13px 12px 13px 53px;color:#f4edd8;text-align:left;cursor:pointer;min-height:83px}.map-card:hover{border-color:#e9b27e;background:#285650}.map-card.selected{border-color:#ed9d64;box-shadow:inset 3px 0 #ed9d64}.map-card strong{display:block;font-size:13px;margin-bottom:5px}.map-card small{display:block;font-size:7px;letter-spacing:.7px;color:#d5be96}.map-card p{font-size:9px;line-height:1.5;color:#bccbbb;margin:7px 0 0}.map-art{position:absolute;left:12px;top:16px;width:27px;height:43px;background:linear-gradient(90deg,var(--map-color) 0 24%,#4d9691 24% 76%,var(--map-color) 76%);border-top:3px solid #e0cf9e;border-bottom:3px solid #e0cf9e}.map-art:after{content:'';position:absolute;left:12px;top:16px;width:3px;height:12px;background:#ebdbad}.menu-panel{padding:14px;background:#123b41b3;border:1px solid #b6c6ac40;margin:14px 0;font-size:11px;line-height:1.7}.menu-panel label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:15px 0}.menu-panel select{max-width:145px;background:#f1e6cc;color:#173f46;border:0;padding:8px;font:11px 'DM Sans',sans-serif}.menu-panel input[type=range]{width:115px;accent-color:#e87543}.menu-panel input[type=checkbox]{accent-color:#e87543;width:18px;height:18px}.slot{border-bottom:1px solid #bac7ac33;padding:13px 0}.slot:last-child{border-bottom:0}.slot strong{font-size:11px}.slot p{font-size:9px;color:#c5cdb9;margin:4px 0 9px}.slot-actions{display:flex;gap:8px}.slot-actions button{font-size:9px;padding:9px}.menu-feedback{font-size:10px;color:#ffd59d;min-height:16px;margin-top:12px}.pause-tools{display:flex;gap:8px;margin-top:14px}.pause-tools button{flex:1;border:1px solid #788b78;background:none;padding:10px 4px;font:700 8px 'DM Sans',sans-serif;color:#254c49;cursor:pointer}@media(max-height:700px){.front-menu{padding-top:20px}.menu-wordmark{font-size:49px}.menu-nav{gap:6px}.menu-button{padding:11px 13px}.menu-lead{margin-bottom:15px}}
.game-frame{touch-action:auto}#game{touch-action:none}.front-menu{touch-action:pan-y}.front-menu>.menu-button{position:sticky;bottom:0;z-index:1}
.vehicle-picker{border:0;padding:0;margin:20px 0 24px;display:grid;gap:8px}.vehicle-picker legend{font-size:8px;letter-spacing:1.5px;padding:0 0 12px;color:#d5be96}.vehicle-card{display:flex;align-items:center;gap:15px;text-align:left;background:#163f48;border:1px solid #b6c6ac55;padding:14px 12px;color:#f4edd8;cursor:pointer}.vehicle-card.selected{border-color:#ed9d64;box-shadow:inset 3px 0 #ed9d64;background:#295853}.vehicle-card strong{display:block;font:700 12px 'DM Sans',sans-serif;margin-bottom:5px}.vehicle-card small{display:block;font:9px/1.6 'DM Sans',sans-serif;color:#c9d5c5}.vehicle-art{display:flex;align-items:center;justify-content:center;flex:0 0 24px;height:52px;background:#1c302f;border:3px solid #a27b51;border-radius:50% 50% 40% 40%;font:700 14px monospace;color:#ddc393}.vehicle-art.ambulance{background:#f4cf46;border:3px solid #e4e3cd;border-radius:45% 45% 8% 8%;font-size:10px;color:#29556a;position:relative}.vehicle-art.ambulance:before,.vehicle-art.ambulance:after{content:'';position:absolute;top:11px;width:5px;height:5px;background:#78d6ff;box-shadow:0 0 7px #78d6ff}.vehicle-art.ambulance:before{left:-5px}.vehicle-art.ambulance:after{right:-5px}#emergency-status{flex:1;color:#9ddfff;font-size:9px;letter-spacing:1px;text-align:center}#balance-title{white-space:nowrap}
#sight{position:absolute;top:90px;left:14px;right:14px;text-align:center;pointer-events:none;color:#f4e7c6;font:600 10px 'DM Sans',sans-serif;letter-spacing:.4px;padding:7px;background:#143f48b3;border-bottom:1px solid #d9bb8155}#toast{top:134px}
.difficulty-picker{border:0;padding:0;margin:20px 0 24px}.difficulty-picker legend{font-size:8px;letter-spacing:1.5px;padding:0 0 12px;color:#d5be96}.difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.difficulty-card{border:1px solid #b6c6ac55;background:#163f48;color:#f4edd8;padding:13px 5px;text-align:center;cursor:pointer;font-family:'DM Sans',sans-serif;min-width:0}.difficulty-card.selected{border-color:#ed9d64;box-shadow:inset 0 -3px #ed9d64;background:#295853}.difficulty-card:hover{background:#30615f}.difficulty-card strong{display:block;font-size:11px;margin-bottom:7px}.difficulty-card span{display:block;font-size:8px;min-height:24px;line-height:1.4}.difficulty-card small{font-size:8px;color:#e5bd88}.difficulty-picker p{font-size:9px;color:#c9d5c5;line-height:1.6;margin:11px 0 0}.difficulty-card:focus-visible{outline:2px solid #f4edd8;outline-offset:2px}
.coin-counter{position:absolute;top:119px;right:16px;border:1px solid #eed18b77;background:#173f48dd;color:#ffdf83;padding:7px 10px;font:700 9px 'DM Sans',sans-serif;border-radius:4px;cursor:pointer;letter-spacing:.5px}#gadget-status{position:absolute;bottom:49px;left:20px;right:20px;font:700 7px 'DM Sans',sans-serif;letter-spacing:.6px;color:#dce6c9;pointer-events:none}.market-wallet{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f0db9c;color:#254841;margin:17px 0}.market-wallet span{font-size:8px;letter-spacing:1px;font-weight:700}.market-wallet strong{font-size:23px}.shop-section{font-size:8px;letter-spacing:1.5px;color:#d9c49b;margin:24px 0 12px}.shop-card{display:grid;grid-template-columns:34px 1fr;gap:12px;background:#153f48d9;border:1px solid #b6c6ac44;padding:14px 12px;margin-bottom:10px}.shop-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#e3c77f;color:#214a48;font-size:24px}.shop-card h3{margin:0 0 6px;font-size:12px}.shop-card p{font-size:10px;color:#d0d8c8;line-height:1.6;margin:0 0 8px}.shop-card small{font-size:8px;color:#e5bd88}.shop-actions{display:flex;gap:7px;margin-top:11px}.shop-actions button{font-size:8px;padding:10px;justify-content:center}.shop-actions button:last-child:not(:first-child){max-width:62px}.market-wallet+.menu-lead{font-size:10px}#toast{top:158px}.touch-hint{bottom:82px}

.fleet-art{width:45px!important;height:88px!important;flex-shrink:0;background:#286e6b;border-radius:4px;image-rendering:pixelated}.fleet-card{align-items:center}.fleet-card h3{font-size:15px}.fleet-card small{line-height:1.6}.map-card:disabled{opacity:.45;cursor:default}.vehicle-picker>p{font-size:10px;line-height:1.6}.vehicle-card .fleet-art{width:34px!important;height:67px!important}.shop-actions .menu-button{font-size:9px}.special-button:focus-visible{outline:3px solid #fff4d6;outline-offset:3px}

.touch-hint{bottom:133px}.fleet-card{grid-template-columns:45px 1fr}

#weather-status{position:absolute;top:165px;left:12px;right:12px;padding:7px 8px;background:#173f48e8;color:#f7dfae;border-left:3px solid #9ed1c0;font:700 8px 'DM Sans',sans-serif;letter-spacing:.4px;pointer-events:none}#weather-status[data-warning="true"]{border-color:#f5ac67;color:#ffcf91}#toast{top:207px;font-size:10px;line-height:1.5}#sight{top:91px!important}
/* Title, scorebook, profile and result screens. */
.front-menu[data-screen=title]{background:linear-gradient(180deg,#123b45ed,#123b45b8 55%,#102f3ef5);padding:20px 25px}.title-screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.title-logo{width:min(100%,300px);height:auto;filter:drop-shadow(0 5px 0 #0e2f3990);animation:logo-arrival .7s ease-out both}.title-tagline{font-size:12px;line-height:1.7;color:#d6ddc8;margin:0 0 10px}.title-screen .menu-button{max-width:310px;flex:none}.title-audio{background:none;border:1px solid #c4d4b04d;color:#dbe4cd;font:700 9px 'DM Sans',sans-serif;letter-spacing:1px;padding:10px 18px;cursor:pointer;min-height:36px}.title-version{font-size:7px;letter-spacing:1.3px;color:#94b1a9;margin-top:10px}.title-screen .menu-bottom{margin:0}.home-brand{display:flex;align-items:center;gap:8px;margin:-14px 0 10px}.home-brand img{width:137px;height:124px}.home-brand>div{flex:1}.home-brand .menu-kicker{font-size:7px;letter-spacing:1px;line-height:1.7;display:block}.home-brand strong{display:block;font:800 27px 'Barlow Condensed',Impact,sans-serif;color:#f0cc8a;margin:7px 0 3px}.home-brand small{font-size:6px;letter-spacing:1px;color:#b8c9b6}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.home-grid .menu-button{font-size:8px;letter-spacing:.6px;padding:12px 10px;min-height:43px}.home-grid .menu-button span{font-size:13px}.record-banner{background:#efd99b;color:#244b4a;padding:16px;margin:20px 0;display:flex;justify-content:space-between;align-items:center}.record-banner span{font-size:8px;font-weight:700;letter-spacing:1px}.record-banner strong{font:800 30px 'Barlow Condensed',Impact,sans-serif}.score-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.score-filters label{font-size:8px;color:#c5d0bc;display:grid;gap:5px}.score-filters select{min-width:0;width:100%;background:#f0e6ce;border:0;padding:9px 5px;color:#254c49;font:10px 'DM Sans',sans-serif;min-height:35px}.score-count{font-size:7px;letter-spacing:1.2px;color:#c7b888;margin:20px 0 12px}.score-list{padding:0;list-style:none;margin:0}.score-row{display:grid;grid-template-columns:25px 1fr;gap:8px;border:1px solid #d1dab92c;padding:12px 9px;background:#123b43c9;margin:8px 0}.score-rank{font:800 22px 'Barlow Condensed',Impact,sans-serif;color:#9cae9b}.score-row.podium{border-left:3px solid #edbf7c}.score-row.podium .score-rank{color:#edbf7c}.score-name{display:flex;justify-content:space-between;gap:8px;align-items:center}.score-name strong{font-size:11px;overflow-wrap:anywhere}.score-name b{font:700 24px 'Barlow Condensed',Impact,sans-serif;color:#f3d59b;white-space:nowrap}.score-row p{font-size:8px;line-height:1.7;margin:4px 0 8px;color:#d2d8c5}.score-row small{font-size:7px;line-height:1.8;color:#b8c8b6}.score-pages{display:flex;gap:8px;margin:16px 0}.score-pages .menu-button{font-size:8px;letter-spacing:.5px;padding:10px}.empty-state{padding:24px 12px;background:#123b43b3;border:1px dashed #9ab3a25a;text-align:center;margin:17px 0}.empty-state strong{font-size:13px}.empty-state p{font-size:10px;line-height:1.7;color:#bdcbb7}.name-editor label{display:block;font-size:8px;letter-spacing:1px;color:#ddc291;margin-bottom:10px}.name-editor>div{display:flex;gap:8px}.name-editor input{min-width:0;flex:1;background:#f0e6ce;border:1px solid #b0c3a9;color:#244c49;padding:10px;font:12px 'DM Sans',sans-serif}.name-editor button{width:auto;font-size:9px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stats-grid article{padding:15px 12px;background:#153e46d6;border:1px solid #b6c6ac35}.stats-grid strong{font:800 30px 'Barlow Condensed',Impact,sans-serif;display:block;color:#eed09a}.stats-grid span{font-size:8px;display:block;color:#c6d0bc;margin-top:5px}.goal-card{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:15px 10px;border:1px solid #b6c6ac33;margin:9px 0;background:#123b43d1;opacity:.65}.goal-card.unlocked{border-color:#dabb7c;opacity:1}.goal-card>span{font-size:25px;color:#e7c58b}.goal-card strong{font-size:11px}.goal-card p{font-size:9px;line-height:1.7;color:#cad5bf;margin:5px 0 10px}.goal-card small{font-size:7px;color:#c5be96;letter-spacing:1px}.goal-track{height:3px;background:#698b784d;margin-bottom:9px}.goal-track i{display:block;height:100%;background:#d9bb80}.help-steps article{display:flex;gap:13px;border-bottom:1px solid #b6c6ac33;padding:16px 0}.help-steps article>b{font:800 31px 'Barlow Condensed',Impact,sans-serif;color:#edbb80}.help-steps h3{font-size:13px;margin:0 0 8px}.help-steps p{font-size:10px;line-height:1.8;color:#ced9c2;margin:0}#run-score{color:#f4ce8b;font-weight:700}.result-score{background:#163f48;color:#f5dba7;padding:10px 12px;margin:8px 0 10px}.result-score small{font:700 7px 'DM Sans',sans-serif;letter-spacing:1px;display:block}.result-score strong{font:800 40px/1.15 'Barlow Condensed',Impact,sans-serif;display:block}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:8px;color:#45665b;padding-bottom:10px}.result-badges{font-size:8px;line-height:1.6;color:#966337;margin:0 0 10px}.start-card{max-height:calc(100% - 44px);overflow-y:auto;touch-action:pan-y}.overlay[data-state=won] .start-card,.overlay[data-state=lost] .start-card{margin-top:0;padding-top:18px}.overlay[data-state=won] .start-card h2,.overlay[data-state=lost] .start-card h2{font-size:43px;margin:14px 0 12px}.overlay[data-state=won] .start-card>p,.overlay[data-state=lost] .start-card>p{font-size:10px;line-height:1.6;margin-bottom:12px}.pause-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.pause-tools button{min-height:31px;padding:8px 4px}.menu-button:focus-visible,.menu-back:focus-visible,.title-audio:focus-visible{outline:2px solid #f1ce91;outline-offset:3px}@keyframes logo-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-height:700px){.title-logo{max-width:230px}.title-screen{gap:9px}.title-tagline{font-size:11px}.title-version{margin-top:3px}.home-brand img{width:112px;height:102px}.home-grid{gap:6px}.home-grid .menu-button{min-height:38px;padding:10px}.home-brand strong{font-size:24px}}@media(prefers-reduced-motion:reduce){.title-logo{animation:none}}
/* Keep the title within the 640px cabinet as well as a full-height phone. */
.title-screen{gap:10px}.title-logo{max-width:260px}.title-version{margin-top:0}.audio-readiness{font-size:9px;line-height:1.6;color:#e8cf95}.hud-bottom{gap:6px}#run-score{white-space:nowrap}

#overlay{z-index:4}

.score-row p{font-size:10px}.score-row small{font-size:9px}.score-name strong{font-size:12px}.score-filters label{font-size:9px}.score-filters select{font-size:11px}.score-count{font-size:8px}

.title-install{border:0;background:none;color:#efd49c;font:700 8px 'DM Sans',sans-serif;letter-spacing:1px;padding:7px 10px;cursor:pointer}.front-menu[data-screen=install] .menu-panel h3{font-size:12px}.home-grid>.menu-button:last-child:nth-child(odd){grid-column:1/-1}
@media(pointer:coarse){body{background:#123f48;overflow:hidden}.cabinet{padding:0}.masthead,.intro-copy,.field-guide,.page-footer{display:none}.game-layout{display:flex;justify-content:center;max-width:none;padding:0;margin:0}.game-frame{width:min(100vw,600px);height:100vh;height:100dvh;border-radius:0;box-shadow:none}}
@media(max-width:600px),(pointer:coarse){.game-frame{--hud-safe-extra:max(0px,calc(env(safe-area-inset-top,0px) - 19px))}#sight{top:calc(91px + var(--hud-safe-extra,0px))!important}.coin-counter{top:calc(119px + var(--hud-safe-extra,0px))}#level-status{top:calc(134px + var(--hud-safe-extra,0px))}#weather-status{top:calc(165px + var(--hud-safe-extra,0px))}#toast{top:calc(207px + var(--hud-safe-extra,0px))}}
/* The install invitation appears only over the title or main menu. */
.install-invitation{position:absolute;inset:0;z-index:12;background:#0d303ccc;display:flex;align-items:center;justify-content:center;padding:18px;touch-action:pan-y;overflow-y:auto}.install-invite-card{width:min(100%,330px);max-height:100%;overflow-y:auto;padding:23px 22px;background:#f3ecd9;color:#153f46;text-align:center;box-shadow:5px 5px 0 #082d3c99;border:1px solid #fff3d4}.install-invite-card>img{display:block;margin:0 auto 16px;border-radius:15px}.install-invite-card .menu-kicker{color:#6e8275;font-size:7px;letter-spacing:1.2px}.install-invite-card h2{font:800 36px/1 'Barlow Condensed',Impact,sans-serif;margin:12px 0 14px}.install-invite-card>p{font-size:11px;line-height:1.7;margin:0 0 13px}.install-invite-card .install-invite-note{font-size:10px;color:#63796b;min-height:30px}.install-invite-card .menu-button{justify-content:center;min-height:44px}.install-invite-later{display:block;width:100%;margin:12px 0 7px;padding:10px;border:1px solid #8b9e884f;background:transparent;color:#486659;font:700 9px 'DM Sans',sans-serif;letter-spacing:1px;min-height:40px;cursor:pointer}.install-invite-card>small{font-size:8px;line-height:1.7;color:#6e8275}.install-invite-card button:focus-visible{outline:2px solid #214f53;outline-offset:3px}@media(max-height:600px){.install-invite-card{padding:15px 18px}.install-invite-card>img{width:48px;height:48px;margin-bottom:9px}.install-invite-card h2{font-size:30px;margin:8px 0 11px}.install-invite-card>p{font-size:10px}}

/* iPad and larger touch screens: generous controls and space for safe areas. */
@media(pointer:coarse) and (min-width:601px) and (orientation:portrait){
  .game-layout{height:100dvh;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
  .game-frame{width:min(100vw,600px);height:100%;max-height:none}
  .front-menu{padding:32px}
  .menu-button,.home-grid .menu-button{min-height:52px;font-size:12px}
  .menu-lead,.title-tagline{font-size:15px}
  .menu-bottom{font-size:11px}
  .title-logo{width:min(80%,360px)}
  .hud button{width:44px;height:44px}
  #hud #sound-mobile{right:66px}
  .special-button{min-height:52px;font-size:13px}
}
.rotate-notice{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right));background:#123f48;color:#f3ecd9;text-align:center;overflow:auto}
.rotate-notice>div{max-width:600px}
.rotate-device{display:block;font-size:58px;line-height:1;color:#efb77e}
.rotate-notice h1{font:800 clamp(28px,5vw,44px)/1.1 'Barlow Condensed',sans-serif;margin:12px 0}
.rotate-notice p{font-size:15px;line-height:1.6;margin:0 0 12px}
.rotate-notice small{font-size:11px;color:#bfd2c6}
