:root{--ink:#f4f2ee;--dim:#a89f92;--edge:#a89f9252;--panel:#1a1612f0;--road:#2b333d;--paint:#f2f2ee;--go:#4ade7a;--wait:#ff8a3d;--stop:#ff5e52;--sun:#ffb020}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:#14110e;margin:0;font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#game-canvas{touch-action:none;width:100%;height:100%;display:block}#app[data-input=touch]{user-select:none}#boot-status{text-align:center;color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700;position:fixed;inset:auto 0 46%}#hud-root{pointer-events:none;position:absolute;inset:0}.sk-hud{position:absolute;inset:0}.sk-hud.hidden{display:none}#app[data-scenery=park-town] :is(.sk-nav,.sk-prompt,.sk-check,.sk-dash,.sk-tally){backdrop-filter:none}.sk-nav{text-align:center;border:1px solid var(--edge);backdrop-filter:blur(3px);opacity:0;background:#14110ec7;border-radius:14px;min-width:232px;max-width:min(560px,92vw);padding:8px 20px 9px;transition:opacity .18s,border-color .18s;position:absolute;top:14px;left:50%;transform:translate(-50%)}.sk-nav.visible{opacity:1}.sk-nav.close{border-color:#ffb02099}.sk-nav-head{justify-content:center;align-items:baseline;gap:12px;display:flex}.sk-nav-short{letter-spacing:.01em;color:var(--sun);font-size:21px;font-weight:900}.sk-nav-distance{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-size:13px;font-weight:800}.sk-nav.close .sk-nav-distance{color:var(--sun)}.sk-nav-text{color:var(--dim);margin-top:1px;font-size:12.5px}.sk-map{opacity:.94;position:absolute;bottom:20px;left:20px}.sk-map-canvas{border-radius:50%;display:block}.sk-prompt{text-align:center;max-width:min(680px,88vw);color:var(--ink);border:1px solid var(--edge);backdrop-filter:blur(3px);background:#14110e9e;border-radius:999px;padding:9px 18px;font-size:15px;font-weight:700;position:absolute;top:86px;left:50%;transform:translate(-50%)}.sk-progress{letter-spacing:.1em;color:var(--dim);font-size:13px;font-weight:800;position:absolute;top:20px;right:20px}.sk-check{text-align:center;border:1px solid var(--edge);backdrop-filter:blur(4px);opacity:0;background:#14110eb8;border-radius:14px;width:min(430px,84vw);padding:12px 16px 10px;transition:opacity .16s;position:absolute;bottom:116px;left:50%;transform:translate(-50%)}.sk-check.visible{opacity:1}.sk-dash{border:1px solid var(--edge);backdrop-filter:blur(4px);background:#14110ebd;border-radius:14px;align-items:center;gap:14px;padding:8px 16px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.sk-gauge{flex:none;width:78px;height:78px;position:relative}.sk-gauge-svg{width:100%;height:100%;display:block;overflow:visible}.sk-gauge-track{fill:none;stroke:#a89f9238;stroke-width:7px;stroke-linecap:round}.sk-gauge-fill{fill:none;stroke:var(--sun);stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .12s linear,stroke .15s}.sk-gauge-fill.over{stroke:var(--stop)}.sk-gauge-tick{stroke:var(--stop);stroke-width:3.5px;stroke-linecap:round}.sk-gauge-readout{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.sk-speed{color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;font-size:25px;font-weight:900;line-height:1}.sk-speed.over{color:var(--stop)}.sk-limit{letter-spacing:.04em;color:var(--dim);text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:800}.sk-ind{color:#a89f9238;text-align:center;width:26px;font-size:20px;font-weight:900}.sk-ind.on{color:var(--go);text-shadow:0 0 10px #4ade7ab3}#app:not(.paneled):not([data-paused]) .sk-ind.on{animation:.72s step-end infinite blink}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:.15}}.sk-demerits{letter-spacing:.06em;color:var(--dim);border-left:1px solid var(--edge);font-variant-numeric:tabular-nums;padding-left:12px;font-size:13px;font-weight:900}.sk-demerits.low{color:var(--stop)}.sk-clock{letter-spacing:.04em;color:var(--dim);border-left:1px solid var(--edge);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px;font-size:12px;font-weight:800}.sk-clock:empty{display:none}.sk-limit.school{color:var(--sun)}.sk-check-label{letter-spacing:.06em;color:var(--wait);font-size:17px;font-weight:800}.sk-check-label b{font-weight:900}.sk-check-label.want-left,.sk-check-label.want-right{color:var(--wait)}.sk-check-label.done{color:var(--go)}.sk-check-label.stale{color:var(--stop);font-size:15px}#app:not(.paneled):not([data-paused]) .sk-check-label.want-left,#app:not(.paneled):not([data-paused]) .sk-check-label.want-right{animation:1.15s ease-in-out infinite nudge}@keyframes nudge{0%,to{opacity:1}50%{opacity:.55}}.sk-sweep{background:#a89f922e;border-radius:999px;height:8px;margin:10px 0 8px;position:relative;overflow:hidden}.sk-sweep-fill{background:var(--wait);border-radius:999px;width:0;height:100%;transition:width 60ms linear}.sk-sweep-head{background:var(--paint);border-radius:2px;width:3px;height:14px;margin-left:-1.5px;transition:left 60ms linear;position:absolute;top:-3px}.sk-sweep-head.holding{background:var(--go);box-shadow:0 0 8px var(--go)}.sk-pips{justify-content:center;gap:8px;display:flex}.sk-pip{letter-spacing:.06em;width:30px;height:22px;color:var(--dim);background:#a89f9224;border:1px solid #0000;border-radius:6px;font-size:12px;font-weight:900;line-height:22px}.sk-pip.active{border-color:var(--wait);color:var(--wait)}.sk-pip.done{color:var(--go);background:#4ade7a33;border-color:#4ade7a80}.sk-freshness-track{background:#a89f9229;border-radius:999px;height:3px;margin-top:9px;overflow:hidden}.sk-freshness{background:var(--go);width:0;height:100%;transition:width .12s linear}.sk-freshness.low{background:var(--stop)}.sk-gap{opacity:0;letter-spacing:.05em;border:1px solid var(--edge);background:#14110ea8;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:800;transition:opacity .14s;position:absolute;bottom:160px;left:50%;transform:translate(-50%)}.sk-gap.visible{opacity:1}.sk-gap.clear{color:var(--go);border-color:#4ade7a73}.sk-gap.wait{color:var(--wait);border-color:#ff8a3d73}.sk-signal{opacity:0;letter-spacing:.07em;text-transform:uppercase;border:1px solid var(--edge);background:#14110eb3;border-radius:8px;padding:6px 15px;font-size:13px;font-weight:800;transition:opacity .14s;position:absolute;top:162px;left:50%;transform:translate(-50%)}.sk-signal.visible{opacity:1}.sk-signal.walk{color:var(--go);border-color:#4ade7a80}.sk-signal.clearing{color:var(--wait);border-color:#ff8a3d80}.sk-signal.stop{color:var(--stop);border-color:#ff5e5280}.sk-coach{text-align:center;opacity:0;border:1px solid var(--edge);background:#14110ee6;border-radius:12px;max-width:min(560px,86vw);padding:12px 20px;font-size:16px;font-weight:700;line-height:1.45;transition:opacity .2s;position:absolute;top:204px;left:50%;transform:translate(-50%)}.sk-coach.visible{opacity:1}.sk-coach.good{color:var(--go);border-color:#4ade7a8c}.sk-flash{opacity:0;pointer-events:none;background:#fff;transition:opacity 90ms linear;position:absolute;inset:0}#touch{pointer-events:none;position:absolute;inset:0}#touch[hidden],#app.paneled #touch,#app[data-paused] #touch{display:none}.pad{padding:0 max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.pad>*{pointer-events:auto}.wheel{touch-action:none;cursor:grab;border-radius:50%;flex:none;place-items:center;width:124px;height:124px;display:grid;position:relative}.wheel:active{cursor:grabbing}.wheel-art{width:100%;height:100%;transform:rotate(calc(var(--turn,0) * 1deg));filter:drop-shadow(0 4px 10px #00000080);transition:transform 60ms linear}.wheel-art .rim{fill:#14110e80;stroke:#4d4740;stroke-width:22px}.wheel-art .spokes{stroke:#4d4740;stroke-width:15px;stroke-linecap:round}.wheel-art .hub{fill:#625a50}.wheel-mark{background:var(--sun);border-radius:2px;width:4px;height:13px;position:absolute;top:2px;box-shadow:0 0 8px #ffb02099}.right-hand{flex-direction:column;flex:none;gap:8px;width:122px;display:flex}.stalks{gap:8px;display:flex}.stalk{border:1px solid var(--edge);min-height:46px;color:var(--dim);font:inherit;cursor:pointer;touch-action:none;background:#14110ed1;border-radius:13px;flex:1;font-size:15px;font-weight:800}#app:not(.paneled):not([data-paused]) .stalk[data-on=true]{animation:.72s step-end infinite blink}.stalk[data-on=true]{color:#06210f;background:#4ade7ae6;border-color:#0000}.pedals{flex-direction:column;gap:8px;display:flex}.pedal{border:1px solid var(--edge);min-height:54px;color:var(--ink);font:inherit;cursor:pointer;touch-action:none;background:#14110ed1;border-radius:16px;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:800;display:flex}.pedal-arrow{color:var(--dim);font-size:15px}.pedal[data-on=true] .pedal-arrow{color:inherit}#go-fwd[data-on=true]{color:#06210f;background:#4ade7ae6;border-color:#0000}#go-stop[data-on=true]{color:#2a1705;background:#ff8a3deb;border-color:#0000}#go-stop[data-gear=reverse] .pedal-word{font-size:0}#go-stop[data-gear=reverse] .pedal-word:after{content:"Reverse";font-size:14px}#app[data-input=touch][data-short=true] .wheel{width:100px;height:100px}#app[data-input=touch][data-short=true] .pedal{min-height:46px}#app[data-input=touch][data-short=true] .stalk{min-height:44px}#app[data-input=touch][data-narrow=true] .wheel{width:100px;height:100px}#app[data-input=touch][data-narrow=true] .right-hand{width:104px}#app[data-input=touch] .sk-hud:not(.hidden){padding:max(8px, env(safe-area-inset-top)) 62px 0;flex-direction:column;align-items:center;gap:6px;display:flex}#app[data-input=touch] :is(.sk-nav,.sk-prompt,.sk-progress,.sk-signal,.sk-check,.sk-gap,.sk-dash,.sk-coach){max-width:100%;margin:0;position:static;transform:none}#app[data-input=touch] .sk-nav{order:1;width:100%;min-width:0}#app[data-input=touch] .sk-signal{order:2}#app[data-input=touch] .sk-prompt{order:3;padding:7px 14px;font-size:12.5px}#app[data-input=touch] .sk-progress{order:4}#app[data-input=touch] .sk-check{order:5;width:100%}#app[data-input=touch] .sk-gap{order:6}#app[data-input=touch] .sk-dash{order:7;gap:10px;padding:6px 12px}#app[data-input=touch] .sk-dash .sk-gauge{width:64px;height:64px}#app[data-input=touch] .sk-dash .sk-speed{font-size:21px}#app[data-input=touch] .sk-coach{order:8;padding:10px 16px;font-size:14px}#app[data-input=touch] :is(.sk-nav,.sk-signal,.sk-check,.sk-gap,.sk-coach):not(.visible),#app[data-input=touch] .sk-prompt:empty{display:none}#app[data-input=touch] .sk-map{--map-scale:.58;transform:translateX(-50%) scale(var(--map-scale));transform-origin:bottom;bottom:10px;left:50%;right:auto}#app[data-input=touch][data-narrow=true] .sk-map,#app[data-input=touch][data-short=true] .sk-map{--map-scale:.44}#app[data-input=touch] #pp-pause-open{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));bottom:auto}#app[data-view=chase]:not([data-input=touch]) .sk-dash{bottom:78px;left:auto;right:20px;transform:none}.view-toggle{top:max(10px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));border:1px solid var(--edge);width:48px;height:48px;color:var(--ink);letter-spacing:.02em;pointer-events:auto;touch-action:manipulation;background:#14110ebd;border-radius:14px;padding:0;font-family:inherit;font-size:12px;font-weight:800;line-height:1;position:absolute}.view-toggle[hidden],#app[data-input=touch] .sk-dash .sk-ind{display:none}#ui-root{backdrop-filter:blur(7px);background:#0c0a08a3;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0;overflow-y:auto}#ui-root.hidden{display:none}.panel{text-align:center;background:var(--panel);border:1px solid var(--edge);border-radius:18px;width:min(660px,94vw);max-height:92vh;padding:26px 28px;overflow-y:auto;box-shadow:0 30px 70px #00000080}.title{letter-spacing:.02em;margin:0 0 2px;font-size:40px;font-weight:900}h2.title{font-size:30px}.tagline{color:var(--sun);letter-spacing:.06em;margin:0 0 14px;font-weight:800}.eyebrow{letter-spacing:.14em;color:var(--dim);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.blurb{color:var(--dim);margin:10px 0;font-size:14px}.blurb b{color:var(--ink)}.lesson{margin:10px 0;font-size:17px;font-weight:700}.rulenote{color:var(--dim);margin:6px 0 14px;font-size:13px}.advice{color:var(--wait);margin:8px 0 12px;font-size:14px;font-weight:700}.fineprint{color:var(--dim);opacity:.8;margin:14px 0 0;font-size:12px}.promo{color:var(--dim);margin:12px 0 0;font-size:13px}.promo a{color:var(--sun);font-weight:800;text-decoration:none}.row{flex-wrap:wrap;justify-content:center;gap:4px;margin:12px 0 4px;display:flex}.btn{border:1px solid var(--edge);color:var(--ink);font:inherit;letter-spacing:.05em;cursor:pointer;background:#a89f921a;border-radius:10px;margin:5px 4px;padding:11px 22px;font-size:15px;font-weight:800;display:inline-block}.btn:hover{background:#a89f9233}.btn.primary{background:var(--sun);border-color:var(--sun);color:#20160a}.btn.primary:hover{background:#ffc44f}.btn.warn{color:var(--stop);background:#ff5e521f;border-color:#ff5e526b}.btn.small{padding:7px 14px;font-size:12px}.modes{align-items:stretch;gap:8px;margin:18px 0 8px;display:flex}.modes .mode{text-align:left;border:1px solid var(--edge);color:var(--dim);font:inherit;cursor:pointer;background:#a89f9214;border-radius:11px;flex-direction:column;flex:1 1 0;gap:5px;padding:11px 12px;display:flex}.modes .mode b{letter-spacing:.06em;color:var(--ink);font-weight:800}.modes .mode.on b{color:inherit}.modes .mode span{letter-spacing:0;opacity:.85;font-size:12.5px;font-weight:600;line-height:1.45}.modes .mode:hover{background:#a89f9229}.modes .mode.on{background:var(--sun);border-color:var(--sun);color:#211703}.panel.freeplay .modes .mode.on{background:var(--stop);border-color:var(--stop);color:#2a0b08}.mode-note{color:var(--dim);margin:0 0 4px;font-size:13px;line-height:1.5}@media (width<=380px){.modes{flex-direction:column}}.panel.freeplay .lvl:hover{border-color:var(--stop)}.sk-hud.sk-free .sk-demerits,.sk-hud.sk-free .sk-progress,.sk-hud.sk-free .sk-nav{display:none}.sk-tally{border:1px solid var(--edge);backdrop-filter:blur(3px);letter-spacing:.04em;color:var(--ink);white-space:pre;text-align:right;background:#16120ebd;border-radius:12px;padding:10px 14px;font-size:15px;font-weight:800;line-height:1.6;display:none;position:absolute;top:12px;right:14px}.sk-hud.sk-free .sk-tally{display:block}.levels{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin:18px 0 8px;display:grid}.lvl{aspect-ratio:1;text-align:center;cursor:pointer;border:1px solid var(--edge);width:100%;color:var(--ink);font:inherit;background:#a89f9214;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px;display:flex}.lvl:hover{border-color:var(--sun);background:#a89f9229}.lvl-name{font-size:17px;font-weight:800;line-height:1.15}.lvl-best{color:var(--dim);font-size:12px;font-weight:900}.lvl-best.perfect{color:var(--go)}.panel .card-foot{z-index:1;border-top:1px solid var(--edge);background:#1a1612;border-radius:0 0 17px 17px;margin:10px -28px -26px;padding:10px 28px 12px;position:sticky;bottom:-26px}.panel .card-foot .btn{margin-bottom:0}.controls-table{border-collapse:collapse;text-align:left;margin:12px auto 8px;font-size:13px}.controls-table td{color:var(--dim);padding:3px 10px}.controls-table td:first-child{color:var(--sun);text-align:right;white-space:nowrap;font-weight:800}.howto{text-align:left;max-width:460px;color:var(--dim);margin:10px auto 14px;font-size:14.5px;line-height:1.8}.howto b{color:var(--ink)}.settings{border-top:1px solid var(--edge);margin-top:14px;padding-top:12px}.setting{color:var(--dim);justify-content:center;align-items:center;gap:12px;margin:6px 0;font-size:13px;display:flex}.setting input{width:200px}.setting-block{margin-top:10px}.setting-label{letter-spacing:.1em;color:var(--dim);text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:800;display:block}.report-headline{font-variant-numeric:tabular-nums;margin:6px 0 2px;font-size:56px;font-weight:900}.report-headline.good{color:var(--go)}.report-headline.ok{color:var(--sun)}.report-headline.bad{color:var(--stop)}.marks{flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0;display:flex}.mark{border:1px solid var(--edge);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800}.mark.got{color:var(--go);background:#4ade7a1a;border-color:#4ade7a73}.mark.missed{color:var(--dim)}img.report-card{border:1px solid var(--edge);border-radius:12px;width:100%;margin:12px 0 4px}@media (width<=560px){.title{font-size:30px}.panel{padding:20px 18px}.sk-prompt{font-size:13px}.sk-nav-short{font-size:18px}.sk-map{transform-origin:0 100%;bottom:12px;left:12px;transform:scale(.8)}}.lvl-flag{font-size:34px;line-height:1}.subhead{letter-spacing:.12em;text-transform:uppercase;color:var(--sun);margin:16px 0 4px;font-size:13px;font-weight:800}.controls-table.wide td{padding:5px 12px}.controls-table.wide td:first-child{white-space:nowrap}.howto em{color:var(--sun);font-style:normal;font-weight:800}.faults{text-align:left;flex-direction:column;gap:6px;max-width:520px;margin:12px auto;display:flex}.fault{border:1px solid var(--edge);background:#a89f9212;border-radius:10px;align-items:flex-start;gap:10px;padding:9px 12px;display:flex}.fault-sev{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:5px;margin-top:1px;padding:3px 7px;font-size:10px;font-weight:900}.fault.minor .fault-sev{color:var(--dim);background:#a89f9229}.fault.serious .fault-sev{color:var(--sun);background:#ffb02029}.fault.immediate .fault-sev{color:var(--stop);background:#ff5e522e}.fault-body b{font-size:14px;display:block}.fault-body small{color:var(--dim);margin-top:2px;font-size:12.5px;line-height:1.45;display:block}.fault-count{color:var(--dim);font-size:12px;font-weight:800}.sheet-line{color:var(--dim);font-variant-numeric:tabular-nums;margin:4px 0 10px;font-size:13px}#app[data-view=chase][data-input=touch][data-short=true] .sk-dash{gap:6px;width:185px;padding:4px 6px;position:absolute;top:66px;bottom:auto;left:10px}#app[data-view=chase][data-input=touch][data-short=true] .sk-map{transform-origin:0 100%;bottom:122px;left:42px;transform:scale(.44)}#app[data-view=chase][data-input=touch][data-short=true] .sk-coach{width:182px;padding:5px;font-size:11px;line-height:1.15;position:absolute;top:178px;left:auto;right:10px}#app[data-view=chase][data-input=touch][data-short=true] .sk-hud{padding-left:210px;padding-right:200px}#app[data-view=chase][data-input=touch][data-short=true] .sk-signal{width:129px;padding:4px 6px;font-size:11px;position:absolute;top:8px;left:66px}#app[data-view=chase][data-input=touch][data-short=true] .sk-check{width:182px;padding:6px;position:absolute;inset:64px 10px auto auto}#app[data-view=chase][data-input=touch][data-short=true] .sk-check-label{font-size:12px}#app[data-view=chase][data-input=touch][data-short=true] .sk-gap{width:182px;padding:4px 6px;font-size:11px;line-height:1.15;position:absolute;inset:140px 10px auto auto}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-hud{gap:4px}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-nav{padding:4px 8px}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-nav-short{font-size:17px}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-prompt{padding:5px 8px;font-size:12px;line-height:1.25}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-signal{padding:4px 8px;font-size:12px}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-check{padding:6px 8px}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-check-label{font-size:12px;line-height:1.25}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-gap{padding:5px 8px;font-size:12px;line-height:1.25}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-dash{padding:4px 10px}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-gauge{width:52px;height:52px}#app[data-view=chase][data-input=touch]:not([data-short=true]) .sk-coach{padding:6px 8px;font-size:12px;line-height:1.35}
