:root{--ink:#13232b;--ink2:#1d3741;--cream:#fff3da;--muted:#b6c3bd;--saffron:#f4aa3c;--orange:#e65f3c;--teal:#27a69c;--blue:#5fc2cf;--red:#f06a56;----display:system-ui,sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*{box-sizing:border-box}html,body{width:100%;height:100%;color:var(--cream);font-family:var(--display);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background:#24323a;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}button,input{font:inherit;color:inherit}.screen{visibility:hidden;opacity:0;transition:opacity .24s,visibility 0s linear .24s;position:absolute;inset:0}.screen.is-active{visibility:visible;opacity:1;transition:opacity .24s}.screen.is-active :is(button,input,.modal){pointer-events:auto}.screen-boot{background:radial-gradient(#315562,#13232b 72%);place-content:center;justify-items:center;gap:18px;display:grid}.boot-stamp{color:var(--saffron);border:3px solid;border-radius:50%;place-items:center;width:88px;height:88px;font-size:50px;font-weight:900;display:grid;transform:rotate(-8deg);box-shadow:0 0 36px #f4aa3c55}.boot-logo{letter-spacing:.1em;text-transform:uppercase;font-size:clamp(24px,5vw,48px);font-weight:900}.boot-bar{background:#ffffff24;border-radius:8px;width:min(320px,70vw);height:9px;overflow:hidden}.boot-bar i{background:linear-gradient(90deg,var(--teal),var(--saffron));transform-origin:0;height:100%;transition:transform .25s;display:block;transform:scaleX(.04)}.boot-label{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:11px}.btn{color:#172931;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:linear-gradient(135deg,#e5a647,#f7c75f);border:0;border-radius:8px;min-width:196px;padding:13px 20px;font-size:13px;font-weight:900;transition:transform .13s,filter .13s,box-shadow .13s;box-shadow:0 5px #a45b2a,0 12px 24px #09161b44}.btn:hover,.btn:focus-visible{filter:brightness(1.1);outline:2px solid var(--cream);outline-offset:3px;transform:translateY(-2px)}.btn:active{transform:translateY(3px);box-shadow:0 2px #a45b2a}.btn-primary{background:linear-gradient(135deg,#f9bd50,#ffe082)}.btn-quiet{min-width:0;color:var(--cream);box-shadow:none;background:#ffffff10;border:1px solid #ffffff25;padding:10px 14px;font-size:11px}.menu{flex-direction:column;align-items:stretch;gap:10px;display:flex}.menu-secondary,.menu-row{align-items:center;gap:10px;display:flex}.menu-row{flex-wrap:wrap;justify-content:center}kbd{color:#17313a;vertical-align:middle;background:#f5e9d2;border:1px solid #fff4c85c;border-bottom-width:3px;border-radius:5px;place-items:center;min-width:23px;height:23px;margin:0 2px;padding:0 5px;font-size:10px;font-weight:900;line-height:1;display:inline-grid}.screen-title{background:linear-gradient(90deg,#0f1e26f0 0%,#11242bd6 32%,#11242b66 57%,#0000 78%),linear-gradient(#0000 65%,#0f1e266b)}.title-grain{pointer-events:none;background:radial-gradient(at 78% 18%,#ffd06820,#0000 38%),linear-gradient(155deg,#0000 48%,#f5c5650b 48.2%,#0000 49%);position:absolute;inset:0}.title-card{border-left:3px solid var(--saffron);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:linear-gradient(135deg,#142a32d9,#142a3280);width:min(640px,58vw);padding:clamp(22px,4vw,46px);animation:.55s cubic-bezier(.2,1,.4,1) both card-in;position:absolute;top:50%;left:clamp(24px,7vw,112px);transform:translateY(-52%);box-shadow:0 25px 90px #10222c3d}.railway-kicker,.modal-kicker{color:#ffe0a1;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:900;display:flex}.kicker-dot,.route-lamp{background:#4ff0a0;border-radius:50%;width:8px;height:8px;animation:1.6s infinite signal;box-shadow:0 0 12px #4ff0a0}.logo-mark{width:62px;height:62px;color:var(--saffron);background:#f4aa3c15;border:1px solid #f4aa3c77;border-radius:50%;padding:9px;position:absolute;top:34px;right:38px;transform:rotate(8deg)}.logo-mark svg{width:100%;height:100%}.eyebrow{color:var(--blue);letter-spacing:.28em;text-transform:uppercase;margin:38px 0 5px;font-size:11px;font-weight:900}.logo-text{color:#fff5dd;letter-spacing:-.055em;text-transform:uppercase;text-shadow:0 4px #13232b,0 14px 30px #08121755;flex-direction:column;margin:0;font-size:clamp(46px,7vw,92px);font-weight:900;line-height:.83;display:flex}.logo-text em{color:var(--saffron);letter-spacing:.04em;padding-left:3px;font-size:.77em;font-style:normal}.tagline{color:#e0e5d9;letter-spacing:.02em;margin:22px 0 20px;font-size:17px;font-weight:500}.control-strip{color:var(--cream);flex-wrap:wrap;gap:16px;margin:0 0 22px;display:flex}.control-strip span{align-items:center;gap:3px;font-size:11px;display:flex}.control-strip b{color:#ffe5ad;margin-left:5px;font-size:10px}.control-strip small{color:#b9c6c4;margin-left:4px;font-size:10px}.title-card .menu{max-width:340px}.title-card .btn-primary{justify-content:space-between;align-items:center;display:flex}.title-card .btn-primary b{font-size:18px}.title-footer{color:#aec0bd;letter-spacing:.16em;border-top:1px solid #ffffff2a;justify-content:space-between;gap:12px;margin-top:25px;padding-top:12px;font-size:10px;font-weight:700;display:flex}.title-best{right:calc(28px + var(--safe-r));top:calc(24px + var(--safe-t));color:#ffe0a1;background:#152a31cc;border:1px solid #f4aa3c88;border-radius:999px;padding:9px 15px;font-size:12px;font-weight:800;position:absolute}.is-hidden{display:none!important}.title-signal{opacity:.7;gap:12px;display:flex;position:absolute;bottom:clamp(35px,8vh,90px);right:clamp(28px,8vw,120px)}.title-signal i{background:var(--teal);border-radius:8px;width:7px;height:40px;display:block;box-shadow:0 0 18px #27a69c99}.title-signal i:nth-child(2){background:var(--saffron);height:58px;box-shadow:0 0 18px #f4aa3c99}.title-signal i:nth-child(3){background:var(--orange);height:28px}.screen-hud{font-variant-numeric:tabular-nums}.hud-route{top:calc(18px + var(--safe-t));left:calc(20px + var(--safe-l));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.12em;text-transform:uppercase;background:#142932c9;border:1px solid #fff3d644;border-radius:6px;align-items:center;gap:9px;padding:8px 12px;font-size:10px;font-weight:900;display:flex;position:absolute}.hud-route small{color:#9fb5b5;border-left:1px solid #ffffff30;padding-left:9px;font-size:9px}.hud-top-left{left:calc(20px + var(--safe-l));top:calc(68px + var(--safe-t));gap:9px;display:flex;position:absolute}.hud-stat{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#142932d9;border:1px solid #fff3d644;border-radius:9px;grid-template-rows:auto auto;grid-template-columns:30px auto;align-items:center;column-gap:6px;min-width:116px;padding:9px 13px;display:grid;box-shadow:0 8px 28px #09171b33}.hud-stat>span:not(.hud-coin-icon){color:#b5c6c5;letter-spacing:.19em;text-transform:uppercase;grid-column:1/-1;font-size:9px;font-weight:800}.hud-stat>b{color:#fff2d4;grid-column:1/-1;font-size:24px;font-weight:900;line-height:1.1}.hud-coins{grid-template-columns:25px auto;min-width:120px}.hud-coins>span:not(.hud-coin-icon){color:#ffd76e;grid-area:1/2}.hud-coin-icon{color:#ffc64e;filter:drop-shadow(0 0 8px #f4aa3c77);grid-row:1/3;width:24px}.hud-coin-icon svg{width:100%;height:auto}.hud-coins>b{color:#ffd76e;grid-area:2/2}.hud-distance{left:50%;top:calc(18px + var(--safe-t));text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#142932e6;border:1px solid #fff3d644;border-top:0;border-radius:0 0 16px 16px;width:190px;padding:8px 16px 12px;position:absolute;transform:translate(-50%);box-shadow:0 8px 24px #09171b35}.hud-distance small{color:#b6c6c3;letter-spacing:.24em;text-transform:uppercase;font-size:9px;font-weight:900;display:block}.hud-distance b{color:#fff3d9;font-size:28px;font-weight:900;line-height:1.15;display:block}.hud-distance i{background:linear-gradient(90deg,var(--teal),var(--saffron),var(--orange));height:3px;position:absolute;bottom:0;left:17%;right:17%}.hud-top-right{right:calc(20px + var(--safe-r));top:calc(18px + var(--safe-t));align-items:center;gap:10px;display:flex;position:absolute}.hud-health{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#142932d9;border:1px solid #fff3d644;border-radius:9px;gap:4px;padding:8px 11px;display:flex}.heart{color:#ff7861;filter:drop-shadow(0 0 7px #ff624f66);font-size:24px;line-height:1;transition:opacity .2s,transform .2s}.heart.is-empty{opacity:.24;filter:none;transform:scale(.82)}.hud-pause{width:44px;height:44px;color:var(--cream);cursor:pointer;background:#142932dd;border:1px solid #fff3d644;border-radius:9px;place-items:center;padding:10px;display:grid}.hud-pause svg{width:100%;height:100%}.hud-controls{left:50%;bottom:calc(18px + var(--safe-b));color:#e7e6d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#142932a9;border:1px solid #ffffff2a;border-radius:8px;gap:18px;padding:8px 16px;display:flex;position:absolute;transform:translate(-50%)}.hud-controls span{align-items:center;gap:3px;font-size:10px;display:flex}.hud-controls b{color:#ffe0a1;font-size:10px}.hud-controls small{color:#b8c6c3;margin-left:4px;font-size:9px}.hurt-vignette{pointer-events:none;opacity:0;background:radial-gradient(#0000 43%,#db392c55);transition:opacity .15s;position:absolute;inset:0}.hurt-vignette.is-danger{opacity:.25}.hurt-vignette.flash{animation:.52s ease-out hurt-flash}.popups{position:absolute;inset:0;overflow:hidden}.popup{color:#ffe17e;text-shadow:0 2px 10px #10232b;white-space:nowrap;font-size:24px;font-weight:900;animation:.85s ease-out both float-up;position:absolute;transform:translate(-50%,-50%)}.popup-hurt{color:#ff8a75;font-size:30px}.screen-modal{padding:calc(18px + var(--safe-t)) calc(16px + var(--safe-r)) calc(18px + var(--safe-b)) calc(16px + var(--safe-l));-webkit-backdrop-filter:blur(8px)saturate(.8);backdrop-filter:blur(8px)saturate(.8);background:#0d1c22a3;place-items:center;display:grid}.modal{background:linear-gradient(155deg,#25424adf,#132830f5);border:1px solid #fff3d650;border-radius:14px;flex-direction:column;align-items:center;gap:17px;width:min(450px,100vw - 32px);max-height:calc(100dvh - 36px);padding:30px 34px;display:flex;position:relative;overflow:auto;box-shadow:0 24px 90px #07121688}.modal:before{content:"";background:linear-gradient(90deg,var(--teal),var(--saffron),var(--orange));height:3px;position:absolute;top:0;left:22%;right:22%}.modal-kicker{color:#a8d8d2;justify-content:center;font-size:9px}.modal-title{color:#fff4dd;letter-spacing:-.03em;text-transform:uppercase;text-align:center;margin:0;font-size:clamp(30px,5vw,46px);font-weight:900;line-height:1}.modal .menu,.modal .menu .btn,.modal .menu-row{width:100%}.modal .menu-row .btn{flex:1;min-width:140px}.modal-wide{width:min(740px,100vw - 32px)}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;display:grid}fieldset{background:#0d202755;border:1px solid #ffffff2e;border-radius:10px;margin:0;padding:12px 14px 9px}legend{color:#f4c56e;letter-spacing:.2em;text-transform:uppercase;padding:0 7px;font-size:10px;font-weight:900}.row{justify-content:space-between;align-items:center;gap:12px;min-height:45px;font-size:13px;font-weight:700;display:flex}.row input[type=range]{width:132px;accent-color:var(--saffron)}.toggle{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.toggle i{background:#091a20;border:1px solid #fff5;border-radius:99px;width:38px;height:22px;padding:3px}.toggle i:after{content:"";background:#a9b7b3;border-radius:50%;width:14px;height:14px;transition:transform .18s,background .18s;display:block}.toggle[aria-pressed=true] i{background:#217f70;border-color:#56d0a9}.toggle[aria-pressed=true] i:after{background:#fff2c8;transform:translate(15px)}.seg{background:#0d2027;border:1px solid #ffffff35;border-radius:8px;gap:3px;padding:3px;display:flex}.seg button{color:#c1ceca;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:6px 9px;font-size:10px;font-weight:800}.seg button[aria-pressed=true]{background:var(--saffron);color:#19303a}.results-subtitle{color:#c1ceca;text-align:center;margin:-8px 0 0;font-size:13px}.results-best{color:#17303a;letter-spacing:.13em;text-transform:uppercase;background:#f2bf51;border-radius:999px;padding:6px 14px;font-size:10px;font-weight:900;display:none}.results-best.is-active{display:block}.results-table{gap:6px;width:100%;display:grid}.results-table>div{font-variant-numeric:tabular-nums;background:#0d202766;border-radius:7px;justify-content:space-between;align-items:center;padding:10px 13px;display:flex}.results-table dt{color:#c1ceca;font-size:12px;font-weight:700}.results-table dd{color:#fff1d4;margin:0;font-size:16px;font-weight:900}.r-total-row{border:1px solid #f4aa3c77;background:#f4aa3c18!important}.r-total-row dt,.r-total-row dd{color:#ffd56f!important}.r-total-row dd{font-size:26px}.results-save{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.results-name{width:min(190px,50%);height:42px;color:var(--cream);-webkit-user-select:text;user-select:text;background:#10232b;border:1px solid #ffffff45;border-radius:7px;outline:none;padding:0 12px}.results-name:focus{border-color:var(--saffron)}.btn-small{min-width:0;padding:10px 13px;font-size:10px}.results-saved,.results-rank{color:#ffe1a1;font-size:11px;font-weight:800;display:none}.results-save.is-saved :is(.results-name,.btn){display:none}.results-save.is-saved :is(.results-saved,.results-rank){display:inline}.board-head,.board li{grid-template-columns:36px 1fr 58px 90px;align-items:center;gap:8px;width:100%;display:grid}.board-head{color:#aebfbb;letter-spacing:.15em;text-transform:uppercase;padding:0 12px;font-size:9px;font-weight:900}.board-head em,.board em{text-align:right;font-style:normal}.board{flex-direction:column;gap:5px;width:100%;margin:0;padding:0;list-style:none;display:flex}.board li{font-variant-numeric:tabular-nums;background:#0e2029aa;border-radius:7px;padding:9px 12px;font-size:12px}.board li b{color:#f5c768}.board li em{color:#ffe08b;font-size:13px;font-weight:900}.board-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board .board-empty{text-align:center;color:#c1ceca;padding:20px;display:block}.touch{display:none}body.has-touch .touch{display:block}body.has-touch .hud-controls{display:none}.touch-stick{opacity:.5;pointer-events:none;background:#132b3590;border:2px solid #fff4d477;border-radius:50%;width:108px;height:108px;margin:-54px 0 0 -54px;position:absolute;bottom:18%;left:19%}.touch-stick.is-active{opacity:.94}.touch-stick i{background:#ffe6ab;border-radius:50%;width:48px;height:48px;margin:-24px;position:absolute;top:50%;left:50%;box-shadow:0 4px #0c1b21}.touch-btn{color:#17313a;touch-action:none;border:2px solid #17313a;border-radius:50%;place-items:center;font-weight:900;display:grid;position:absolute;box-shadow:0 4px #0c1b21}.touch-btn.is-down{transform:translateY(3px);box-shadow:0 1px #0c1b21}.touch-left,.touch-right{bottom:calc(30px + var(--safe-b));background:#c5e1d1;width:58px;height:58px;font-size:36px}.touch-left{left:calc(34px + var(--safe-l))}.touch-right{left:calc(100px + var(--safe-l))}.touch-slide,.touch-jump{right:calc(24px + var(--safe-r));bottom:calc(34px + var(--safe-b));background:#78d0c4;width:76px;height:76px;font-size:11px}.touch-slide{right:calc(111px + var(--safe-r));bottom:calc(25px + var(--safe-b));background:#ffd774;width:62px;height:62px}.fatal{color:var(--cream);text-align:center;background:#142932;place-items:center;padding:24px;font-weight:700;display:grid;position:fixed;inset:0}@keyframes card-in{0%{opacity:0;transform:translateY(calc(20px - 50%))}}@keyframes signal{50%{opacity:.45;box-shadow:0 0 3px #4ff0a0}}@keyframes hurt-flash{0%{opacity:.9}to{opacity:0}}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-25%)scale(.75)}15%{opacity:1;transform:translate(-50%,-55%)scale(1.1)}to{opacity:0;transform:translate(-50%,-170%)scale(1)}}@media (max-width:760px){.title-card{width:min(620px,100vw - 36px);padding:23px 22px;top:48%;left:18px;transform:translateY(-48%)}.logo-mark{width:48px;height:48px;top:22px;right:20px}.eyebrow{margin-top:28px}.logo-text{font-size:clamp(48px,12vw,78px)}.tagline{margin:17px 0;font-size:14px}.control-strip{gap:8px}.control-strip span{font-size:9px}.control-strip small{font-size:8px}.title-signal{display:none}.hud-route{left:10px;top:calc(9px + var(--safe-t));padding:7px;font-size:8px}.hud-route small{display:none}.hud-top-left{left:10px;top:calc(49px + var(--safe-t));gap:5px}.hud-stat{min-width:82px;padding:7px 9px}.hud-stat>b{font-size:20px}.hud-stat>span:not(.hud-coin-icon){font-size:8px}.hud-coins{min-width:85px}.hud-distance{top:calc(9px + var(--safe-t));width:130px;padding:7px 9px 10px}.hud-distance b{font-size:21px}.hud-distance small{font-size:7px}.hud-top-right{right:10px;top:calc(9px + var(--safe-t));gap:5px}.hud-health{gap:1px;padding:7px}.heart{font-size:18px}.hud-pause{width:36px;height:36px;padding:8px}.settings-grid{grid-template-columns:1fr}.modal{padding:25px 20px}.hud-controls{bottom:calc(10px + var(--safe-b));gap:7px;padding:6px}.hud-controls span{font-size:8px}.hud-controls small{display:none}}@media (max-height:560px){.title-card{padding:14px 20px;top:49%}.eyebrow{margin-top:16px}.tagline{margin:10px 0}.control-strip{margin-bottom:12px}.title-footer{margin-top:12px}.modal{gap:10px;padding:18px}.results-subtitle{margin-top:-4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.boot-icon{object-fit:contain;filter:drop-shadow(0 0 28px #f4aa3c55);width:88px;height:88px;animation:1.8s ease-in-out infinite loader-bob}@keyframes loader-bob{50%{transform:translateY(-4px)}}.fatal{pointer-events:auto}.fatal>div{justify-items:center;gap:14px;max-width:560px;display:grid}.fatal p{overflow-wrap:anywhere;margin:0}.fatal .btn{min-width:150px}.quiz-panel{color:#fff;text-align:center;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050f1ee0;border:1px solid #50dcff80;border-radius:16px;width:min(650px,90%);padding:16px;position:absolute;top:105px;left:50%;transform:translate(-50%);box-shadow:0 0 25px #00beff2e}.quiz-panel[hidden]{display:none}.quiz-heading{color:#42dcff;letter-spacing:1px;justify-content:space-between;gap:10px;font-size:11px;font-weight:800;display:flex}.quiz-question{margin:12px 0;font-size:clamp(15px,2.5vw,21px);line-height:1.4}.quiz-options{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.quiz-option{background:#ffffff12;border:1px solid #fff3;border-radius:10px;min-width:0;padding:11px 7px;transition:all .2s}.quiz-option span{color:#8fa9c4;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.quiz-option b{overflow-wrap:anywhere;font-size:13px}.quiz-option.is-current{background:#00beff33;border:2px solid #42dcff;box-shadow:0 0 15px #00beff4d}.quiz-instruction{color:#a9bfd2;margin:10px 0 0;font-size:11px}.quiz-feedback{color:#42dcff;min-height:16px;margin:7px 0 0;font-size:12px;font-weight:800}@media (max-width:600px){.quiz-panel{padding:11px;top:90px}.quiz-option{padding:9px 4px}.quiz-option b{font-size:11px}.quiz-heading small{font-size:8px}}
