@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}}
