:root{font-family:Avenir Next,Avenir,Trebuchet MS,system-ui,sans-serif;color:#143d48;font-synthesis:none;--ink: #143d48;--cream: #fffaf0;--yellow: #ffd15c;--muted: #526e73}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#38b3c1;overscroll-behavior:none}body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;border:0;min-width:44px;min-height:44px}button:disabled{cursor:default;opacity:.5}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #167b91;outline-offset:3px}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;pointer-events:none}#app{position:fixed;inset:0;isolation:isolate;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#lake{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center}#sideTerrain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#stage{flex:none;position:relative}#game{position:absolute;display:block;width:100%;height:100%;touch-action:none;outline:none}.topbar{position:absolute;top:max(8px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.topbar>*{pointer-events:auto}.hud-center{display:flex;gap:8px;align-items:stretch}.timer,.earnings,.icon-btn{background:var(--cream);border-radius:14px;box-shadow:0 3px 12px #123f4920}.timer{font-size:23px;font-weight:800;padding:6px 14px;position:relative;overflow:hidden;min-width:95px;text-align:center;font-variant-numeric:tabular-nums}#timerLine{position:absolute;bottom:0;left:0;height:3px;background:#f3b448}.timer.urgent{color:#a33a25;background:#fff0d7}.earnings{display:flex;gap:8px;align-items:center;padding:8px 14px}.earnings small{font-size:10px;letter-spacing:1px;font-weight:800}.earnings strong{font-size:22px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none}.dockbar{position:absolute;bottom:max(8px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:end;gap:16px;pointer-events:none}.dockbar>*{pointer-events:auto}.fleet{display:flex;gap:6px}.taxi-card{display:flex;align-items:center;gap:7px;min-height:50px;padding:5px 10px 5px 6px;background:var(--cream);border:2px solid transparent;border-radius:14px;box-shadow:0 3px 12px #123f4920;min-width:99px}.taxi-card.selected{border-color:#163e48}.taxi-card.locked{opacity:.65}.taxi-swatch{display:grid;place-items:center;width:32px;height:32px;background:var(--swatch);border-radius:10px}.taxi-copy{text-align:left;display:flex;flex-direction:column}.taxi-name{font-size:11px;font-weight:800}.taxi-status{font-size:13px;font-weight:800}#app:not([data-screen=playing]):not([data-screen=paused]) .topbar,#app:not([data-screen=playing]):not([data-screen=paused]) .dockbar{visibility:hidden}.toast{position:absolute;left:50%;top:max(10px,env(safe-area-inset-top));transform:translate(-50%,-12px);max-width:min(460px,calc(100% - 390px));background:#173f49ed;color:var(--cream);border-radius:14px;padding:10px 16px;font-size:13px;line-height:1.4;font-weight:600;text-align:center;pointer-events:none;opacity:0;transition:opacity .18s,transform .18s}.toast.show{opacity:1;transform:translate(-50%)}#app:not([data-screen=playing]) .toast{display:none}.toast.celebrate{background:#fff0bd;color:#143d48}.overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#153d486b;backdrop-filter:blur(7px)}.modal{background:var(--cream);border-radius:26px;padding:28px;box-shadow:0 20px 90px #153d4840;max-height:100%;overflow:auto;width:min(900px,100%)}h1,h2,h3,p{margin:0}h2{font-size:30px;letter-spacing:-1px}h3{font-size:27px;letter-spacing:-.7px}p{color:var(--muted);font-size:14px;line-height:1.5;margin:10px 0 16px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#697c6e;margin-bottom:6px}.home-modal{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;background:#123f49;color:var(--cream);max-width:800px;padding:44px}.title-art h1{margin:0;line-height:0}.game-logo{display:block;width:100%;max-width:320px;height:auto;margin:0 auto}h1{font-size:clamp(44px,6vw,78px);line-height:.94;letter-spacing:-4px;font-weight:900;margin-top:12px}h1 em{color:var(--yellow);font-style:normal}.title-art p{color:#b1d3ce;text-align:center;margin:20px 0 0}.home-actions,.modal-actions{display:flex;flex-direction:column;gap:8px}.primary-btn,.secondary-btn,.text-btn{border-radius:13px;padding:11px 18px;font-weight:800}.primary-btn{background:var(--yellow);color:#153e48;min-height:50px;width:100%}.secondary-btn{background:#e5eee4;color:#153e48}.text-btn{background:transparent}.home-actions .text-btn{color:var(--cream)}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.course-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;align-items:center}.course-preview svg{width:100%;display:block;border-radius:16px}.course-actions{display:grid;grid-column:1 / -1;grid-template-columns:inherit;column-gap:inherit}.course-actions button{min-width:0;padding-inline:8px}.mode-picker{display:flex;gap:4px;padding:4px;background:#e7eddf;border-radius:12px}.mode-btn{flex:1;font-size:12px;font-weight:800;padding:8px;background:transparent;border-radius:9px;white-space:nowrap}.mode-btn.selected{background:var(--cream);box-shadow:0 2px 6px #143d481a}.start-meta{font-size:13px;font-weight:700;margin:12px 0}.mode-description{min-height:40px;margin:10px 0;font-size:12px}.mini-modal{width:min(430px,100%);text-align:center}.mini-modal h2{margin-bottom:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;margin:10px 0;min-height:48px;font-size:14px;font-weight:700}select{min-height:44px;max-width:190px;border:1px solid #bed0c3;border-radius:10px;background:#fff;padding:7px}.mobile-switch{display:grid;place-items:center;width:64px;min-height:48px;padding:0;background:transparent;flex-shrink:0}.switch-track{display:flex;align-items:center;width:56px;height:32px;padding:3px;border-radius:99px;background:#a3b5b1;transition:background .18s ease}.switch-thumb{width:26px;height:26px;border-radius:50%;background:#fffaf0;box-shadow:0 2px 4px #143d4833;transition:transform .18s ease}.mobile-switch[aria-checked=true] .switch-track{background:#176a70}.mobile-switch[aria-checked=true] .switch-thumb{transform:translate(24px)}.segmented-control{display:flex;padding:3px;border-radius:14px;background:#143d4812}.segmented-control button{min-height:44px;padding:0 12px;border-radius:11px;background:transparent;color:#143d48;font:inherit;transition:background .18s ease,box-shadow .18s ease}.segmented-control button[aria-pressed=true]{background:#fffaf0;box-shadow:0 2px 5px #143d4826}#settingsOverlay .secondary-btn,#settingsOverlay .text-btn{width:100%;margin-bottom:8px}.help-modal{width:min(740px,100%)}.help-row{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid #163e4819;font-size:14px;line-height:1.6}.help-row span{color:var(--muted)}.help-modal>.primary-btn{margin-top:20px}.result-score{font-size:60px;font-weight:900;letter-spacing:-3px}.record-label{font-size:11px;font-weight:900;color:#a45219;margin:4px 0 16px}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.results-grid strong{display:block;font-size:25px}.results-grid small{font-size:9px;font-weight:800;letter-spacing:1px}.screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-height:500px){.modal{padding:20px;border-radius:20px}.home-modal{padding:28px 36px}.mini-modal{width:min(600px,100%)}.mini-modal .modal-actions{display:grid;grid-template-columns:1fr 1fr}.mini-modal .modal-actions>.primary-btn{grid-column:1/-1}.mini-modal h2{font-size:25px;margin-bottom:5px}.mini-modal p{margin:5px 0 12px}.result-score{font-size:46px}.results-grid{margin:10px 0}.modal-heading{margin-bottom:12px}.course-layout{grid-template-columns:.9fr 1.1fr;gap:12px 20px}.course-details h3{font-size:24px}.course-details p{margin:5px 0 8px}.start-meta{margin:8px 0}.toast{top:auto;bottom:max(69px,calc(env(safe-area-inset-bottom) + 59px));max-width:calc(100% - 40px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{transition:none!important;animation:none!important}.route-hint{position:absolute;bottom:max(70px,calc(env(safe-area-inset-bottom) + 60px));left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 40px);padding:8px 16px;border-radius:12px;background:#fffaf0ed;font-size:12px;font-weight:700;text-align:center;pointer-events:none}#app:has(.route-hint:not([hidden])) .toast{opacity:0}.course-list{display:flex;gap:6px;margin-bottom:16px}.course-tab{flex:1;text-align:left;border-radius:12px;padding:9px 10px;background:#e4ecdf;border:2px solid transparent}.course-tab strong{display:block;font-size:12px}.course-tab small{display:block;font-size:10px;margin-top:4px}.course-tab.selected{border-color:#28656b;background:#fff1bd}.offering{font-size:12px;margin:0 0 12px}.course-challenge{font-size:12px;font-weight:700}.pack-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pack-previews svg{width:100%;border-radius:12px;display:block;margin-bottom:8px}.pack-previews strong{font-size:14px}.pack-previews p{font-size:12px;margin:4px 0}.pack-actions{display:flex;gap:12px}.pack-actions>*{flex:1}.price{font-size:13px;font-weight:700;margin:8px 0}.prototype-note{font-size:11px;margin:4px 0 12px}.purchase-simulation{margin-top:16px;font-size:12px}.purchase-simulation summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.purchase-simulation label{display:flex;align-items:center;justify-content:space-between}@media(max-height:500px){.course-modal{padding:14px 20px}.course-modal .modal-heading{margin-bottom:4px}.course-modal h2{font-size:23px}.course-modal .offering{margin-bottom:6px}.course-list{margin-bottom:8px}.course-layout{grid-template-columns:.8fr 1.2fr;gap:8px 16px}.course-details h3{font-size:20px}.course-details p{font-size:11px}.course-details .mode-description{min-height:0}.course-details .start-meta{margin:5px 0}.pack-modal{padding:16px 24px}.pack-previews svg{max-height:110px}}.intro-guide{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;max-width:calc(100% - 40px);width:max-content;border-radius:16px;padding:4px 8px 4px 18px;background:#fffaf0f5;font-size:14px;font-weight:700}.intro-guide .text-btn{font-size:11px;color:#527079;white-space:nowrap}#app[data-practice=true] .dockbar,#app[data-practice=true] .hud-center{display:none}#app:not([data-screen=playing]) .intro-guide{display:none}#pauseBtn{margin-left:auto}@media(max-height:500px){.course-modal{padding:10px 20px}.course-modal .modal-heading{margin:0}.course-modal .offering{font-size:10px;line-height:14px;margin:0 0 4px}.course-tab{height:48px;min-height:44px;padding:5px 8px}.course-tab strong{font-size:11px}.course-tab small{display:none}.course-list{margin-bottom:6px}.course-details .eyebrow{font-size:9px;margin-bottom:2px}.course-details h3{font-size:20px;line-height:24px}.course-details p{font-size:11px;line-height:15px;margin:3px 0}.course-details .mode-description{display:none}.course-details .start-meta{font-size:12px;margin:3px 0 5px}.course-details .mode-picker{margin-bottom:6px;padding:2px}.course-actions button{min-height:44px;padding:8px;font-size:14px}.pack-modal{padding:10px 20px}.pack-modal .modal-heading{margin:0 0 4px}.pack-modal h2{font-size:24px;line-height:26px}.pack-modal .eyebrow{margin-bottom:2px;font-size:9px}.pack-previews{gap:12px}.pack-previews svg{height:62px;margin-bottom:3px}.pack-previews strong{font-size:12px}.pack-previews p{font-size:10px;line-height:13px;margin:2px 0}#purchaseStatus{font-size:12px;line-height:16px;margin:6px 0}.pack-modal .price{font-size:11px;line-height:14px;margin:3px 0}.pack-modal .prototype-note{font-size:10px;line-height:13px;margin:3px 0 6px}.pack-actions .primary-btn,.pack-actions .secondary-btn{min-height:44px;padding:8px 12px;font-size:12px}.purchase-simulation{margin-top:6px}#settingsOverlay .mini-modal{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:16px 20px}#settingsTitle,#settingsDoneBtn,#restoreSettingsStatus{grid-column:1/-1}#settingsOverlay .setting-row{margin:0;min-height:48px;font-size:12px;gap:8px}#settingsOverlay .arrows-setting{grid-column:1/-1}#settingsOverlay .setting-row:first-of-type{grid-column:1/-1}#settingsOverlay .secondary-btn,#settingsOverlay .text-btn{margin:0;min-height:44px;font-size:12px}#restoreSettingsStatus{margin:0;font-size:12px}#restoreSettingsStatus:empty{display:none}#settingsDoneBtn{min-height:44px}}.orientation-gate{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:32px;background:#123f49;color:#fffaf0}.orientation-gate h2{font-size:26px}.orientation-gate p{color:#c4e1db}.rotate-symbol{font-size:70px;color:#ffd15c;margin-bottom:12px}.course-details #courseAccess,.course-details #courseName{min-height:2lh}.course-details #courseDescription{min-height:4lh}.course-details #courseChallenge{min-height:2lh}@media(max-height:500px){.course-details #courseAccess,.course-details #courseName,.course-details #courseChallenge{min-height:1lh}.course-details #courseDescription{min-height:3lh}}@media(max-height:500px){.course-modal>.offering,.course-modal .modal-heading .eyebrow{display:none}}#diagnosticsStatus:empty{display:none}#diagnosticsStatus,#diagnosticsText{grid-column:1 / -1}#diagnosticsStatus{margin:0;font-size:12px}
