@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";
:root{--ink:#203a3c;--muted:#687772;--paper:#f4f1e4;--yellow:#f4c54a;--green:#326d60;--line:#203a3c26}*{box-sizing:border-box}html,body{width:100%;height:100%;color:var(--ink);background:#cbdad4;margin:0;font-family:DM Sans,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.65}button:focus-visible{outline-offset:5px;outline:3px solid #e38242}button{-webkit-tap-highlight-color:transparent}svg{flex-shrink:0}button svg{pointer-events:none}.game-shell{width:100%;height:100dvh;min-height:440px;position:relative;overflow:hidden}.world{outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.scene-wash{pointer-events:none;background:linear-gradient(90deg,#f1efdcfa 0%,#f1efdcf0 18%,#f1efdcc4 32%,#f1efdc21 57%,#0000 80%);transition:opacity .65s;position:absolute;inset:0}.mode-running .scene-wash,.mode-paused .scene-wash,.mode-crashed .scene-wash,.mode-finished .scene-wash{opacity:0}.topbar{z-index:15;justify-content:space-between;align-items:center;gap:20px;padding:27px 38px;display:flex;position:absolute;top:0;left:0;right:0}.brand{letter-spacing:-.4px;background:0 0;align-items:center;gap:11px;padding:0;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;display:flex}.brand-icon{background:var(--ink);width:36px;height:36px;color:var(--paper);border-radius:10px;place-items:center;display:grid;transform:rotate(-7deg)}.brand-icon svg{transform:rotate(7deg)}.brand-dot{color:#bc7936}.top-actions{align-items:center;gap:10px;display:flex}.city-stamp{letter-spacing:1.3px;align-items:center;gap:8px;margin-right:16px;font-size:10px;font-weight:700;display:flex}.stamp-sep{opacity:.35;padding:0 5px}.live-dot,.small-dot{background:#42725e;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.icon-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f4e4a6;border:1px solid #213b3624;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.icon-button:hover{background:var(--paper)}.intro{z-index:10;width:370px;position:absolute;top:50%;left:8%;transform:translateY(-48%)}.eyebrow{letter-spacing:2px;align-items:center;gap:10px;font-size:10px;font-weight:700;display:flex}.tiny-line{background:var(--green);width:22px;height:2px}h1{letter-spacing:-8px;margin:23px 0 27px;font-family:Space Grotesk,sans-serif;font-size:100px;font-weight:700;line-height:.96;position:relative}h1 span{color:#337363}h1 svg{fill:none;stroke:#dba937;stroke-width:5px;stroke-linecap:round;width:205px;height:25px;position:absolute;bottom:-16px;left:0}.intro-copy{color:#64726c;margin:27px 0 25px;font-size:16px;font-weight:450;line-height:1.6}.intro-copy strong{color:var(--ink);font-weight:550}.trip-ticket{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:13px;margin-bottom:23px;padding:14px 0;display:flex;position:relative}.ticket-icon{place-items:center;width:32px;height:38px;display:grid}.ticket-label{letter-spacing:1.4px;font-size:8px;font-weight:700}.ticket-values{align-items:center;gap:13px;margin-top:5px;font-size:15px;font-weight:700;display:flex}.ticket-values small{color:var(--muted);font-size:10px;font-weight:450}.ticket-divider{background:var(--line);width:1px;height:13px}.cab-time{color:#86918a;text-decoration:line-through}.cab-time small{text-decoration:none}.cancelled{letter-spacing:1px;color:#b45f45;border:1px solid #c78268;border-radius:3px;padding:3px 4px;font-size:7px;font-weight:700;position:absolute;top:15px;right:-2px;transform:rotate(-8deg)}.start-button{background:var(--yellow);border:1px solid #dcb143;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:58px;padding:15px 23px;font-size:16px;font-weight:700;transition:transform .15s,background .15s;display:flex;box-shadow:0 4px #c99939}.start-button:hover{background:#ffcf4f;transform:translateY(-2px)}.start-button:active{transform:translateY(2px);box-shadow:0 1px #c99939}.intro-meta{justify-content:space-between;align-items:center;gap:14px;margin-top:20px;display:flex}.intro-meta>span{letter-spacing:.8px;align-items:center;gap:5px;font-size:7px;font-weight:650;display:flex}.intro-meta button{background:0 0;align-items:center;gap:6px;padding:0;font-size:10px;font-weight:550;display:flex}.small-dot{width:4px;height:4px}.scene-note{color:#f7f0cf;text-shadow:0 1px 8px #334c46;font-size:15px;line-height:1.6;position:absolute;bottom:23%;right:8%;transform:rotate(-5deg)}.scene-note strong{font-size:20px;font-weight:650}.note-line{background:var(--yellow);width:31px;height:2px;margin-bottom:7px;display:block}.menu-footer{z-index:11;letter-spacing:1.2px;justify-content:space-between;align-items:center;font-size:9px;display:flex;position:absolute;bottom:27px;left:38px;right:38px}.menu-footer>div{align-items:center;gap:10px;display:flex}.menu-footer small{letter-spacing:0;color:#68776f;font-size:10px;font-weight:400;line-height:2}.record{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5f1dc99;border-radius:24px;align-items:center;gap:9px;padding:10px 15px;font-size:8px;display:flex}.record b{letter-spacing:0;font-family:Space Grotesk,sans-serif;font-size:15px}.load-error{color:#a14b38;font-size:12px;line-height:1.5}.hud{z-index:10;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:100px;left:38px;right:38px}.distance-card,.signal-card,.score-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f7f5e4ed;border:1px solid #ffffff80;border-radius:12px;box-shadow:0 4px 24px #193c3d0a}.distance-card{width:225px;padding:17px 19px}.stat-label{letter-spacing:1.5px;align-items:center;gap:7px;font-size:9px;font-weight:700;display:flex}.stat-label>span{letter-spacing:0;opacity:.65;margin-left:auto;font-size:9px;font-weight:500}.distance-number{letter-spacing:-1.5px;font:600 39px/1.4 Space Grotesk,sans-serif}.distance-number small{letter-spacing:0;color:var(--muted);font:500 13px DM Sans,sans-serif}.progress-track{background:#d6dccb;border-radius:5px;width:100%;height:3px;overflow:hidden}.progress-track div{background:#448174;border-radius:5px;height:100%;transition:width .1s}.signal-card{align-items:center;gap:12px;margin-top:0;padding:12px 15px;display:flex}.signal-lights{background:#244244;border-radius:16px;gap:4px;padding:6px;display:flex}.signal-lights i{background:#536861;border-radius:50%;width:8px;height:8px}.red .signal-lights i:first-child{background:#f1836a;box-shadow:0 0 6px #f1836a88}.amber .signal-lights i:nth-child(2){background:#f4c54a}.green .signal-lights i:nth-child(3){background:#8dc58c}.signal-card strong{letter-spacing:1px;font-size:9px;display:block}.signal-card span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.score-card{text-align:right;min-width:130px;padding:17px 19px}.score-card .stat-label{justify-content:flex-end}.score-card>strong{letter-spacing:-1px;margin-top:6px;font-family:Space Grotesk,sans-serif;font-size:31px;font-weight:600;display:block}.coin-count{color:var(--muted);justify-content:flex-end;align-items:center;gap:5px;margin-top:4px;font-size:11px;display:flex}.coin-count>span{color:#6c5524;background:#efc256;border-radius:50%;place-items:center;width:15px;height:15px;font-size:9px;font-weight:700;display:grid}.coin-count i{background:#aeb9a6;width:1px;height:10px;margin:0 3px}.run-toast{z-index:10;white-space:nowrap;pointer-events:none;position:absolute;top:200px;left:50%;transform:translate(-50%)}.run-toast>span{color:#294440;background:#f7ce5c;border-radius:30px;align-items:center;gap:7px;padding:9px 15px;font-size:12px;font-weight:700;animation:.2s ease-out toast-in;display:flex}.tutorial-hint{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fbf1ce;white-space:nowrap;pointer-events:none;background:#213c3dd9;border:1px solid #ffffff45;border-radius:30px;padding:11px 18px;font-size:12px;position:absolute;bottom:135px;left:50%;transform:translate(-50%)}.run-footer{z-index:10;color:#f2f0dc;pointer-events:none;text-shadow:0 1px 4px #1a363c55;justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute;bottom:28px;left:38px;right:38px}.location-pill{letter-spacing:1px;align-items:center;gap:9px;font-size:10px;display:flex}.location-pill span{letter-spacing:0;opacity:.7;font-size:10px;line-height:1.8;display:block}.keyboard-guide{align-items:center;gap:17px;font-size:10px;display:flex}.keyboard-guide>span{align-items:center;gap:4px;display:flex}kbd{background:#ebf0dc18;border:1px solid #f2f0dc55;border-radius:4px;place-items:center;min-width:22px;height:23px;margin-right:1px;font:12px DM Sans,sans-serif;display:inline-grid}.run-clock{text-align:right;font:600 23px Space Grotesk,sans-serif}.run-clock span{letter-spacing:1px;opacity:.75;margin-top:4px;font:500 8px DM Sans,sans-serif;display:block}.touch-controls,.swipe-zone{display:none}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e3a3d55;justify-content:center;align-items:center;padding:22px;display:flex;position:absolute;inset:0}.modal{background:var(--paper);text-align:center;border:1px solid #ffffff80;border-radius:19px;width:min(440px,100%);max-height:calc(100dvh - 40px);padding:35px;position:relative;overflow:auto;box-shadow:0 25px 100px #1b363c33}.modal .eyebrow{letter-spacing:1.7px;justify-content:center;margin:17px 0;font-size:9px}.modal h2{letter-spacing:-2px;margin:12px 0;font-family:Space Grotesk,sans-serif;font-size:41px;font-weight:600;line-height:1.08}.modal>p{color:var(--muted);margin:12px 0 24px;font-size:13px;line-height:1.6}.modal-symbol,.result-stamp{color:#4a7b69;background:#e4e7d7;border-radius:50%;place-items:center;width:58px;height:58px;display:inline-grid}.result-stamp{color:#a87c35;background:#f5dfac}.result-stamp.success{color:#447b5e;background:#dce7d6}.secondary-button{background:0 0;margin-top:23px;font-size:12px}.close-button{position:absolute;top:14px;right:14px}.result-stats{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:24px 0 15px;padding:20px 0;display:grid}.result-stats>div+div{border-left:1px solid var(--line)}.result-stats span{letter-spacing:1px;font-size:8px;font-weight:650;display:block}.result-stats strong{letter-spacing:-1px;margin-top:7px;font-family:Space Grotesk,sans-serif;font-size:29px;font-weight:600;display:block}.result-stats small{margin-left:2px;font-size:14px;font-weight:400}.result-note{color:#6b7e6c;justify-content:center;align-items:center;gap:7px;margin-bottom:25px;font-size:11px;display:flex}.result-actions{justify-content:space-between;gap:10px;margin-top:24px;display:flex}.result-actions button{background:0 0;align-items:center;gap:4px;padding:0;font-size:11px;display:flex}.help-modal{width:min(560px,100%);padding-top:35px}.how-grid{text-align:left;border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:21px;padding:23px 0;display:grid}.how-grid>div>span{background:#e3e5d6;border-radius:7px;justify-content:center;align-items:center;gap:3px;width:61px;height:42px;margin-bottom:14px;display:flex}.how-grid strong{font-size:14px}.how-grid p{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.7}.help-tip{text-align:left;align-items:center;gap:8px;font-size:11px;display:flex}.help-modal .mobile-tip{margin:16px 0 24px;font-size:11px}.route-disclaimer{color:var(--muted);margin-top:23px;font-size:9px;line-height:1.5;display:block}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1500px){.intro{width:410px;left:10%}h1{font-size:122px}.intro-copy{font-size:18px}.trip-ticket{padding-block:19px}.start-button{min-height:64px}.ticket-label{font-size:9px}.ticket-values{font-size:17px}.ticket-values small{font-size:11px}.intro-meta>span{font-size:8px}.intro-meta button{font-size:11px}}@media (max-width:1000px){.intro{width:330px;left:6%}h1{font-size:89px}.topbar{padding:23px 26px}.menu-footer{left:26px;right:26px}.city-stamp{margin-right:5px;font-size:8px}.scene-note{font-size:12px;right:5%}.scene-note strong{font-size:16px}.keyboard-guide{gap:9px}.location-pill span{max-width:140px}.hud{top:91px;left:25px;right:25px}.distance-card{width:196px}.run-footer{left:25px;right:25px}.signal-card{padding:11px}.signal-card span{font-size:9px}}@media (max-height:720px) and (min-width:701px){.intro{width:330px;top:50%}h1{margin:18px 0 25px;font-size:77px}.intro-copy{margin:21px 0 16px;font-size:14px;line-height:1.5}.trip-ticket{margin-bottom:17px;padding-block:12px}.start-button{min-height:52px}.intro-meta{margin-top:16px}.topbar{padding-block:20px}.menu-footer{bottom:18px}}@media (pointer:coarse){.swipe-zone{z-index:11;touch-action:none;display:block;position:absolute;inset:205px 0 115px}.touch-controls{z-index:12;pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:80px;left:23px;right:23px}.touch-controls>div{gap:9px;display:flex}.touch-controls button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;touch-action:none;width:54px;height:54px;color:var(--ink);background:#f2efdcc9;border:1px solid #fff7;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.touch-controls small{letter-spacing:1px;font-size:7px;font-weight:700}.touch-controls .jump-button{background:#f4c54ae8}.keyboard-guide{display:none}.tutorial-hint{bottom:155px}}@media (max-width:700px){.game-shell{min-height:400px}.topbar{padding:18px 20px}.brand{gap:9px;font-size:11px}.brand-icon{border-radius:8px;width:31px;height:31px}.brand-icon svg{width:17px}.city-stamp{display:none}.icon-button{width:32px;height:32px}.intro{width:calc(100% - 50px);max-width:345px;top:105px;left:25px;transform:none}.eyebrow{letter-spacing:1.4px;font-size:8px}h1{letter-spacing:-6px;margin:17px 0 23px;font-size:83px;line-height:.93}h1 svg{width:158px;bottom:-17px}.intro-copy{margin:25px 0 17px;font-size:13px;line-height:1.5}.trip-ticket{max-width:310px;margin-bottom:17px;padding:12px 0}.ticket-label{font-size:7px}.ticket-values{font-size:14px}.start-button{min-height:53px;padding-inline:19px;font-size:14px}.intro-meta>span{letter-spacing:.6px;font-size:6px}.intro-meta button{font-size:9px}.scene-wash{background:linear-gradient(#f1efdcfa 0%,#f1efdced 20%,#f1efdca6 40%,#f1efdc00 70%)}.intro .start-button{max-width:310px}.intro-meta{max-width:310px;margin-top:18px}.scene-note{font-size:11px;bottom:16%;right:8%}.scene-note strong{font-size:15px}.menu-footer{align-items:flex-end;bottom:19px;left:20px;right:20px}.menu-footer>div{letter-spacing:.6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#e6ead780;border-radius:9px;padding:8px 9px;font-size:7px}.menu-footer small{font-size:8px}.record{gap:5px;padding:8px 10px;font-size:6px}.record b{font-size:12px}.record svg{width:13px}.hud{flex-wrap:wrap;gap:12px;top:77px;left:16px;right:16px}.distance-card{order:0;width:175px;padding:12px 14px}.distance-number{font-size:31px}.stat-label{letter-spacing:1px;font-size:7px}.stat-label>span{font-size:8px}.score-card{order:1;min-width:102px;padding:12px 14px}.score-card>strong{margin-top:2px;font-size:27px}.coin-count{gap:4px;font-size:9px}.signal-card{white-space:nowrap;border-radius:25px;order:2;gap:8px;padding:8px 11px;position:absolute;top:108px;left:50%;transform:translate(-50%)}.signal-card strong{font-size:8px}.signal-card span{display:none}.signal-lights{padding:4px}.signal-lights i{width:6px;height:6px}.run-toast{font-size:10px;top:226px}.run-toast>span{padding:8px 12px;font-size:10px}.run-footer{bottom:20px;left:20px;right:20px}.location-pill{gap:6px;font-size:8px}.location-pill span{font-size:8px}.run-clock{font-size:19px}.run-clock span{font-size:7px}.keyboard-guide{display:none}.tutorial-hint{white-space:normal;text-align:center;max-width:calc(100% - 28px);padding:10px 13px;font-size:10px;bottom:155px}.modal{border-radius:15px;padding:28px 23px}.modal h2{font-size:35px}.modal .eyebrow{letter-spacing:1.1px;font-size:8px}.how-grid{gap:14px}.how-grid p{font-size:10px}.modal>p{font-size:12px}.result-stats strong{font-size:25px}.result-stats span{font-size:7px}.help-tip,.result-note,.result-actions button{font-size:10px}.swipe-zone{z-index:11;touch-action:none;display:block;position:absolute;inset:225px 0 145px}.touch-controls{z-index:12;pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:77px;left:20px;right:20px}.touch-controls>div{gap:8px;display:flex}.touch-controls button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;touch-action:none;width:51px;height:51px;color:var(--ink);background:#f2efdcc9;border:1px solid #fff7;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.touch-controls small{letter-spacing:1px;font-size:7px;font-weight:700}.touch-controls .jump-button{background:#f4c54ae8}}@media (max-width:700px) and (max-height:740px){.intro{top:87px}h1{margin-top:14px;font-size:68px}.intro-copy{margin:20px 0 12px;font-size:12px}.trip-ticket{margin-bottom:14px;padding:10px 0}.start-button{min-height:48px}.intro-meta{margin-top:15px}.scene-note{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.mode-running .topbar,.mode-paused .topbar{background:linear-gradient(#e8eed2b3,#0000)}@media (max-width:700px){.scene-wash{background:linear-gradient(#f1efdcfc 0%,#f1efdcf5 27%,#f1efdcdb 43%,#f1efdc1f 68%,#0000 78%)}}.speed-trails{z-index:2;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.is-sprinting .speed-trails{opacity:.6}.speed-trails line{stroke:#fff3c4;stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:44 180;animation:.48s linear infinite rush-lines}.pace-card{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#f4f1e4ed;border:1px solid #ffffff70;border-radius:12px;width:215px;padding:13px 15px;transition:background .2s,border-color .2s;position:absolute;bottom:105px;left:38px;box-shadow:0 8px 28px #203a3c16}.pace-heading{align-items:center;gap:7px;display:flex}.pace-heading>span{letter-spacing:1.2px;font-size:8px;font-weight:700}.pace-heading strong{letter-spacing:-1px;margin-left:auto;font-family:Space Grotesk,sans-serif;font-size:25px;font-weight:600;line-height:1.1}.pace-heading small{letter-spacing:0;margin-left:2px;font-size:13px}.energy-track{background:#d6dccd;border-radius:6px;height:5px;margin-top:10px;overflow:hidden}.energy-track>div{background:#428778;border-radius:6px;height:100%;transition:width 60ms linear,background .2s}.pace-tip{color:#65766c;justify-content:space-between;gap:8px;margin-top:7px;font-size:8px;display:flex}.boosting{background:#ffe9abef;border-color:#f2c459}.boosting .energy-track>div{background:#cc8b22}.boosting .pace-heading{color:#826019}.exhausted .energy-track>div{background:#c77e5b}.how-grid{grid-template-columns:repeat(4,1fr);gap:14px}.sprint-button{position:relative}.touch-controls .sprint-button{background:#f4d36ee6}.touch-controls .sprint-button[aria-pressed=true]{background:#ffbf37;box-shadow:0 0 0 3px #f6ca5266}.keyboard-guide kbd{padding-inline:4px}.mode-running .tutorial-hint{bottom:142px}@keyframes rush-lines{0%{stroke-dashoffset:224px}to{stroke-dashoffset:0}}@media (max-width:1000px){.pace-card{width:190px;bottom:105px;left:25px}.keyboard-guide{gap:10px;font-size:9px}.keyboard-guide kbd{font-size:10px}}@media (max-width:700px){.pace-card{border-radius:10px;width:185px;padding:10px 12px;bottom:146px;left:20px}.pace-heading strong{font-size:23px}.pace-heading>span{letter-spacing:.8px;font-size:7px}.pace-tip{font-size:7px}.energy-track{height:4px;margin-top:7px}.mode-running .tutorial-hint{font-size:9px;bottom:240px}.touch-controls>div{gap:6px}.touch-controls button{width:49px;height:51px}.how-grid{grid-template-columns:repeat(2,1fr);gap:18px}.how-grid>div>span{margin-bottom:9px}.result-note{font-size:9px}.help-modal>p{margin-bottom:16px}.how-grid{padding:18px 0}}@media (pointer:coarse) and (min-width:701px){.pace-card{bottom:150px}.mode-running .tutorial-hint{bottom:160px}}@media (prefers-reduced-motion:reduce){.speed-trails{display:none}}@media (max-width:700px){.mode-running .tutorial-hint{max-width:300px;top:272px;bottom:auto}.pace-card{padding:9px 12px}.pace-heading strong{font-size:21px}.pace-tip{margin-top:5px}}.coffee-card{z-index:12;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#57412e;background:#eee9dced;border:1px solid #fff5d080;border-radius:12px;align-items:center;gap:12px;width:300px;min-height:85px;padding:14px 16px;display:flex;position:absolute;bottom:105px;right:38px;overflow:hidden;box-shadow:0 8px 28px #203a3c16}.coffee-card:disabled{opacity:1;cursor:default}.coffee-icon{background:#dbcdb7;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:44px;display:grid}.coffee-copy{flex:1}.coffee-copy strong{letter-spacing:1.4px;font-size:10px;display:block}.coffee-copy small{margin-top:5px;font-size:9px;line-height:1.5;display:block}.coffee-card kbd{background:#ffedbe;border-color:#b87a3c;width:29px;height:29px;font-weight:700}.coffee-card.ready{cursor:pointer;background:#ffe4a8;border-color:#d7a34b}.coffee-card.ready:hover{background:#ffda86}.coffee-card.ready .coffee-icon{background:#e6b960}.coffee-card.active{color:#fff2d0;background:#6b3d2ef2;border-color:#f4c67c}.coffee-card.active .coffee-icon{color:#6b3d2e;background:#f1c26a}.coffee-charge{opacity:.55;font-size:11px}.coffee-countdown{font-variant-numeric:tabular-nums;min-width:49px;font:600 28px Space Grotesk,sans-serif}.coffee-countdown small{margin-left:2px;font-size:13px}.coffee-timer{background:#fff1ce22;width:100%;height:4px;position:absolute;bottom:0;left:0}.coffee-timer>span{background:#ffd375;height:100%;transition:width 60ms linear;display:block}.is-coffee-rush .speed-trails{opacity:.8}.is-coffee-rush .speed-trails line{stroke:#ffd67b;stroke-width:2.3px}.coffee-help{text-align:left;background:#eadfc6;border-radius:10px;gap:13px;margin-bottom:18px;padding:15px;display:flex}.coffee-help>svg{color:#825332;flex-shrink:0}.coffee-help strong{font-size:12px}.coffee-help p{color:#6c6558;margin:6px 0 0;font-size:11px;line-height:1.6}.coffee-result{color:#896140;justify-content:center;align-items:center;gap:7px;margin:13px 0 16px;font-size:11px;display:flex}@media (max-width:1000px){.coffee-card{width:275px;right:25px}.keyboard-guide{gap:8px}.keyboard-guide>span{font-size:8px}}@media (pointer:coarse) and (min-width:701px){.coffee-card{bottom:150px}}@media (max-width:700px){.coffee-card{border-radius:10px;flex-wrap:wrap;gap:7px;width:150px;min-height:77px;padding:9px 10px;bottom:146px;right:20px}.coffee-icon{border-radius:7px;width:26px;height:28px}.coffee-icon svg{width:19px}.coffee-copy{min-width:83px}.coffee-copy strong{letter-spacing:.7px;font-size:8px}.coffee-copy small{margin-top:3px;font-size:7px}.coffee-card kbd,.coffee-countdown,.coffee-charge{background:0 0;border:0;width:auto;min-width:0;height:auto;font-size:10px;position:absolute;top:-1px;right:7px;transform:translateY(0)}.coffee-card kbd{display:none;top:7px}.coffee-countdown{font-size:18px;top:auto;bottom:8px;right:10px}.coffee-countdown small{font-size:10px}.coffee-card.active .coffee-copy small{max-width:67px}.coffee-card.empty .coffee-charge{display:none}.coffee-card .coffee-copy{flex:1}.coffee-card.active{padding-bottom:12px}.coffee-help{gap:10px;padding:12px}.coffee-help p{font-size:10px}.pace-card{width:calc(100% - 210px);min-height:77px}.pace-heading>svg{display:none}.pace-tip>span:first-child{max-width:105px}.run-toast{white-space:normal;text-align:center;max-width:calc(100% - 28px)}.run-toast>span{justify-content:center}.mode-running .tutorial-hint{top:285px}}@media (max-width:360px){.coffee-card{width:139px;right:12px}.pace-card{width:calc(100% - 175px);left:12px}.touch-controls{left:12px;right:12px}.touch-controls button{width:46px}.touch-controls>div{gap:5px}}.route-modal{width:min(650px,100%);padding-top:26px}.route-modal h2{font-size:36px}.route-preview{text-align:left;margin:20px 0}.route-map-caption{letter-spacing:.9px;justify-content:space-between;gap:10px;margin-bottom:11px;font-size:9px;display:flex}.route-map-caption b{letter-spacing:0;color:#68776b;font-weight:500}.route-preview svg{border-radius:12px;width:100%;height:auto;display:block}.route-map-labels circle{fill:#ba8242;stroke:#fff1d2;stroke-width:2px}.route-map-labels text{fill:#39554c;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600}.route-stops{border-top:1px solid var(--line);margin:15px 0;padding:0;list-style:none}.route-stops li{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:8px 0;font-size:11px;display:flex}.route-stops li>span{font-variant-numeric:tabular-nums;color:#728173;width:42px;font-size:10px}.route-stops strong{font-weight:550}.route-stops small{text-transform:uppercase;letter-spacing:1px;color:#748371;margin-left:auto;font-size:8px}.route-explanation{color:#6c786d;margin:13px 0;font-size:11px;line-height:1.65}.route-sources{justify-content:space-between;gap:12px;font-size:10px;display:flex}.route-sources a,.map-credit a,.route-disclaimer a{color:#317e70;text-underline-offset:3px}.map-credit{color:#6f7d70;margin-top:12px;font-size:8px;line-height:1.6;display:block}.location-pill{text-transform:uppercase}.location-pill span{text-transform:none;max-width:230px}.intro-meta .route-open{font-size:10px;font-weight:600}.route-modal .start-button{margin-top:15px}@media (max-width:700px){.route-modal{padding:24px 20px}.route-modal h2{font-size:30px}.route-preview{margin:16px 0}.route-map-caption{letter-spacing:.3px;font-size:8px}.route-stops{margin-top:12px}.route-stops li{padding:7px 0;font-size:10px}.route-explanation{font-size:10px}.route-sources{font-size:9px}.map-credit,.location-pill{font-size:7px}.location-pill span{max-width:235px;font-size:7px}.intro-meta .route-open{font-size:9px}.ticket-label{letter-spacing:.8px}}.road-indicator{z-index:10;color:#fff2cf;pointer-events:none;background:#244b4bee;border:1px solid #fff5;border-radius:11px;align-items:center;gap:10px;max-width:285px;padding:12px 15px;display:flex;position:absolute;top:230px;right:38px;box-shadow:0 8px 30px #183f3d22}.road-indicator small{letter-spacing:1.5px;opacity:.65;font-size:7px;font-weight:700;display:block}.road-indicator strong{margin:4px 0;font-size:13px;display:block}.road-indicator span{opacity:.8;font-size:9px;line-height:1.4;display:block}.junction-panel{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f1dfed;border:1px solid #fff8db;border-radius:16px;width:min(600px,100% - 36px);padding:22px;position:absolute;bottom:95px;left:50%;transform:translate(-50%);box-shadow:0 18px 60px #153f3d40}.junction-eyebrow{letter-spacing:1.3px;color:#4a7668;align-items:center;gap:6px;font-size:9px;font-weight:700;display:flex}.junction-eyebrow>span{letter-spacing:0;margin-left:auto;font-size:9px;font-weight:500}.junction-panel h2{letter-spacing:-1px;margin:10px 0 6px;font:600 29px Space Grotesk,sans-serif}.junction-panel p{color:#647568;margin:0 0 16px;font-size:12px;line-height:1.5}.junction-choices{gap:10px;display:flex}.junction-choices button{text-align:left;background:#e2e7d7;border:1px solid #b5c3a8;border-radius:9px;flex:1;align-items:center;gap:12px;padding:14px;display:flex}.junction-choices button:first-child{background:#f5c954;border-color:#dfb245}.junction-choices button:hover{filter:brightness(1.05);transform:translateY(-2px)}.junction-choices kbd{background:#fff6d477;border:1px solid #42675b44;flex-shrink:0;width:30px;height:34px;font-size:22px}.junction-choices strong{font-size:12px;display:block}.junction-choices small{color:#536c5f;margin-top:4px;font-size:9px;line-height:1.5;display:block}.junction-tip{color:#758273;margin-top:13px;font-size:9px;display:block}.at-junction .pace-card,.at-junction .coffee-card,.at-junction .touch-controls,.at-junction .swipe-zone,.at-junction .tutorial-hint,.at-junction .run-toast{visibility:hidden}.at-junction .speed-trails{opacity:0}.route-map-branch{stroke:#c58c49;stroke-dasharray:5 3}.route-map-labels text{font-size:10px}.route-map-labels path{stroke:#6a8975;stroke-width:.8px;fill:none}@media (max-width:700px){.road-indicator{border-radius:9px;gap:6px;width:184px;max-width:calc(100% - 175px);min-height:60px;padding:8px 10px;top:175px;right:16px}.road-indicator>svg{width:14px}.road-indicator strong{margin:3px 0;font-size:10px}.road-indicator small{font-size:6px}.road-indicator span{font-size:7px}.signal-card{max-width:148px;top:103px;left:0;transform:none}.signal-card strong{font-size:7px}.run-toast{top:246px}.junction-panel{padding:17px;bottom:96px}.junction-panel h2{font-size:25px}.junction-panel p{margin-bottom:12px;font-size:11px}.junction-choices{flex-direction:column;gap:8px}.junction-choices button{padding:11px}.junction-choices strong{font-size:12px}.junction-choices small{font-size:9px}.junction-eyebrow{letter-spacing:.8px;font-size:8px}.junction-eyebrow>span,.junction-tip{font-size:8px}.at-junction .keyboard-guide{display:none}.mode-running .tutorial-hint{top:290px}.route-stops{max-height:170px;overflow:auto}}@media (max-height:650px){.junction-panel{padding:13px;bottom:65px}.junction-panel h2{font-size:22px}.junction-panel p{margin-bottom:8px;font-size:10px}.junction-choices{flex-direction:row}.junction-choices button{gap:7px;padding:9px}.junction-choices small{font-size:8px}.junction-eyebrow>span{display:none}.junction-tip{margin-top:7px}.road-indicator{top:180px}}@font-face{font-family:Noto Sans Kannada;src:url(/fonts/noto-sans-kannada.ttf)format("truetype");font-weight:100 900;font-display:swap}.departure-picker{max-width:370px;color:var(--ink);background:#f5f2e8cc;border:1px solid #597d622b;border-radius:12px;margin:0 0 19px;padding:13px 15px 10px}.departure-heading{color:#6b7a6c;justify-content:space-between;align-items:center;font-size:9px;display:flex}.departure-heading label{letter-spacing:1.3px;align-items:center;gap:6px;font-size:8px;font-weight:700;display:flex}.departure-heading>span{align-items:center;gap:5px;display:flex}.departure-choice{justify-content:space-between;align-items:center;gap:8px;display:flex}.departure-choice select{letter-spacing:-1px;color:var(--ink);cursor:pointer;background:0 0;border:0;max-width:175px;min-height:42px;padding:4px 20px 4px 0;font:600 26px Space Grotesk,sans-serif}.departure-choice select:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #cb8b34}.departure-choice option{color:#203a3c;background:#f4f1e4;font:16px DM Sans,sans-serif}.traffic-level{white-space:nowrap;align-items:center;gap:5px;font-size:9px;font-weight:600;display:flex}.traffic-level i{background:#5c9671;border-radius:50%;width:6px;height:6px}.traffic-level.busy i{background:#c78346}.traffic-sparkline{align-items:flex-end;gap:4px;height:22px;margin:2px 0 9px;display:flex}.traffic-sparkline i{background:#89a59566;border-radius:2px 2px 0 0;flex:1}.traffic-sparkline i.selected{background:#b6772f;box-shadow:0 0 0 1px #b6772f}.departure-presets{gap:5px;display:flex}.departure-presets button{white-space:nowrap;background:#e4e8dacc;border:1px solid #0000;border-radius:5px;flex:1;padding:6px 3px;font-size:8px}.departure-presets button[aria-pressed=true]{background:#e8ce88;border-color:#cda957}.city-name{align-items:center;gap:7px;display:flex}.city-stamp time{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.5px}.mode-menu .intro{scrollbar-width:thin;max-height:calc(100dvh - 170px);overflow:auto}.mode-menu h1{margin:18px 0 24px;font-size:86px}.mode-menu .intro-copy{margin:20px 0 16px}.mode-menu .trip-ticket{margin-bottom:14px;padding-block:11px}.game-shell[data-light=night] .scene-wash{background:linear-gradient(90deg,#101d32f7 0%,#142239ee 18%,#18263bcb 32%,#18263b25 60%,#0000 85%)}.game-shell[data-light=night] .intro,.game-shell[data-light=night] .brand,.game-shell[data-light=night] .city-stamp,.game-shell[data-light=night] .menu-footer{color:#f4ead3}.game-shell[data-light=night] h1 span{color:#9ccab3}.game-shell[data-light=night] .intro-copy,.game-shell[data-light=night] .menu-footer small{color:#b3c0c3}.game-shell[data-light=night] .intro-copy strong{color:#f4ead3}.game-shell[data-light=night] .trip-ticket{border-color:#c1d4dc33}.game-shell[data-light=night] .start-button,.game-shell[data-light=night] .record{color:var(--ink)}.game-shell[data-light=night] .topbar{background:linear-gradient(#122036b3,#0000)}.game-shell[data-light=night] .brand-icon{color:#223748;background:#f4ead3}@media (min-width:701px) and (max-height:800px){.mode-menu .intro{max-height:none;top:86px;bottom:76px;transform:none}.mode-menu h1{font-size:65px}.mode-menu .intro-copy{margin:17px 0 10px;font-size:13px;line-height:1.4}.departure-picker{margin-bottom:14px;padding-block:9px}.mode-menu .trip-ticket{padding-block:9px}.departure-choice select{min-height:35px;font-size:23px}.mode-menu .intro-meta{margin-top:15px}}@media (max-width:700px){.topbar{gap:8px}.top-actions{gap:7px}.city-stamp{margin:0;font-size:9px;display:flex}.city-name{display:none}.mode-menu .intro{max-width:345px;max-height:none;top:85px;bottom:90px}.mode-menu h1{margin:16px 0 20px;font-size:66px}.mode-menu .intro-copy{margin:18px 0 11px;font-size:12px}.mode-menu .trip-ticket{margin-bottom:11px;padding-block:10px}.departure-picker{max-width:310px;margin-bottom:14px;padding:10px 12px 8px}.departure-choice select{font-size:24px}.traffic-sparkline{height:18px;margin-bottom:7px}.departure-presets button{padding-block:6px}.mode-menu .scene-note{display:none}.game-shell[data-light=night] .scene-wash{background:linear-gradient(#101d32fa 0%,#142239f5 27%,#18263bdb 43%,#18263b20 78%,#0000)}.game-shell[data-light=night] .menu-footer>div{background:#17293cb3}.record{letter-spacing:0;gap:5px;padding-inline:8px;font-size:6px}}@media (max-width:700px) and (max-height:740px){.mode-menu .intro{top:74px;bottom:78px}.mode-menu h1{margin-block:12px 17px;font-size:52px}.mode-menu .intro-copy{margin:13px 0 8px;font-size:11px}.mode-menu .trip-ticket{padding-block:7px}.departure-picker{margin-bottom:11px;padding:7px 10px}.departure-choice select{min-height:34px;font-size:22px}.mode-menu .intro-meta{margin-top:12px}.mode-menu .start-button{min-height:45px;padding-block:11px}.traffic-sparkline{margin-block:0 5px}}@media (max-width:360px){.topbar{padding-inline:12px}.brand{gap:6px;font-size:10px}.top-actions{gap:5px}.city-stamp{font-size:8px}.icon-button{width:29px;height:29px}}.game-shell[data-light=night] .ticket-values small{color:#b3c0c3}.game-shell[data-light=night] .cab-time{color:#a3afb4}.city-stamp .rain-mark{color:#4f7480;margin-left:2px}.is-raining .world{filter:saturate(.9)}.run-toast>span.flood-warning{color:#e8f1ef;background:#2e4a52}.game-shell:after{content:"";z-index:3;pointer-events:none;opacity:0;background:radial-gradient(#0000 52%,#0e1c1e80 100%);transition:opacity .25s;position:absolute;inset:0}.is-slowmo:after{opacity:1}.world{transition:filter .3s}.is-slowmo .world{filter:saturate(.78)contrast(1.06)}.finish-caption{z-index:12;text-align:center;color:#fbf4dc;text-shadow:0 2px 18px #12262aaa;pointer-events:none;white-space:nowrap;animation:.9s ease-out 1.1s both caption-in;position:absolute;bottom:5%;left:50%;transform:translate(-50%)}.finish-caption small{letter-spacing:3px;opacity:.85;font-size:11px;font-weight:700;display:block}.finish-caption strong{letter-spacing:-4px;margin:10px 0 12px;font:700 76px/1 Space Grotesk,sans-serif;display:block}.finish-caption span{opacity:.9;font-size:14px}.postcard-preview{background:0 0;width:118px;min-height:58px;margin:0 auto;padding:0;transition:transform .2s;display:block;transform:rotate(-2.5deg)}.postcard-preview:hover:not(:disabled){transform:rotate(0)scale(1.03)}.postcard-preview img{border-radius:6px;width:100%;display:block;box-shadow:0 10px 28px #1b363c38}.postcard-preview span{color:#447b5e;background:#dce7d6;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto;display:grid}@keyframes caption-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@media (max-height:760px){.postcard-preview{width:92px}}@media (max-width:700px){.finish-caption{bottom:9%}.finish-caption strong{letter-spacing:-3px;font-size:56px}.finish-caption span{font-size:12px}.postcard-preview{width:96px}}@media (pointer:coarse){.game-shell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;--pad-bottom:max(12px,env(safe-area-inset-bottom))}.swipe-zone{z-index:11;inset:0}.touch-controls{bottom:var(--pad-bottom);left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right))}.pace-card,.coffee-card{bottom:calc(var(--pad-bottom) + 66px)}.coffee-card{z-index:12}.run-footer{bottom:calc(var(--pad-bottom) + 152px)}.game-shell{min-height:0}.topbar{pointer-events:none}.topbar button{pointer-events:auto}}@media (pointer:coarse) and (orientation:landscape) and (max-height:500px){.topbar{padding:10px max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))}.hud{top:58px;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right))}.signal-card,.road-indicator,.run-footer,.city-stamp .city-name{display:none}.distance-card{width:175px;padding:8px 12px}.distance-number{font-size:24px;line-height:1.25}.score-card{min-width:0;padding:8px 12px}.score-card>strong{margin-top:2px;font-size:20px}.pace-card,.coffee-card{bottom:calc(var(--pad-bottom) + 64px);min-height:0}.pace-card{left:max(14px,env(safe-area-inset-left));width:180px;padding:7px 11px}.pace-tip{display:none}.pace-heading strong{font-size:18px}.energy-track{margin-top:6px}.coffee-card{right:max(14px,env(safe-area-inset-right));gap:9px;width:205px;padding:6px 10px}.coffee-icon{width:32px;height:34px}.run-toast{top:58px}.mode-running .tutorial-hint{top:auto;bottom:calc(var(--pad-bottom) + 130px)}}@media (pointer:coarse) and (orientation:landscape) and (max-height:500px) and (max-width:640px){.coffee-card{width:172px}.pace-card{width:160px}.coffee-copy small{font-size:8px}}.pace-chip,.coffee-button{display:none}@media (pointer:coarse){.pace-card,.coffee-card{display:none}.distance-card{position:relative}.distance-card .stat-label>span{display:none}.pace-chip{letter-spacing:0;color:#3c6b5f;background:#e3e8d8;border-radius:6px;padding:4px 6px;font:600 12px/1 Space Grotesk,sans-serif;display:block;position:absolute;top:11px;right:12px}.pace-chip.sprint{color:#7a5916;background:#f6dc8f}.pace-chip.rush{color:#6b3d2e;background:#f1c26a}.run-footer{bottom:calc(var(--pad-bottom) + 66px)}.touch-controls button{position:relative;overflow:hidden}.touch-controls button svg,.touch-controls button small{z-index:1;position:relative}.touch-controls .coffee-button{color:#8b7d68;background:#e9e4d6c4;display:flex}.coffee-button small{white-space:nowrap}.coffee-button:disabled{cursor:default;opacity:.85}.touch-controls .coffee-button.ready{color:#5a3424;opacity:1;background:#f1c26a;animation:1.4s ease-in-out infinite coffee-ready;box-shadow:0 0 0 3px #f1c26a55}.touch-controls .coffee-button.active{color:#fff1d6;opacity:1;background:#7a4a33}.coffee-button-timer{pointer-events:none;background:#ffffff2e;position:absolute;bottom:0;left:0;right:0}.sprint-energy{pointer-events:none;background:#ffffff5c;transition:height .1s linear;position:absolute;bottom:0;left:0;right:0}.sprint-energy.exhausted{background:#c77e5b66}}@keyframes coffee-ready{50%{box-shadow:0 0 0 7px #f1c26a26}}@media (pointer:coarse) and (max-width:350px){.touch-controls button{width:43px}.touch-controls>div{gap:4px}}@media (max-width:360px){.distance-card{width:158px;padding:11px 12px}.score-card{min-width:94px;padding:11px 12px}}@media (pointer:coarse) and (max-width:360px){.distance-card .stat-label{letter-spacing:.6px;font-size:8px}.pace-chip{font-size:11px;top:9px;right:8px}}@media (pointer:coarse) and (orientation:landscape) and (max-height:500px){.distance-card{width:212px}}
