:root{--navy:#10263c;--cream:#fff7e8;--coral:#ff684f;--yellow:#ffd255;--teal:#47c8c3;--ink:#142437;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:Arial,Helvetica,sans-serif;background:#071827;color:var(--ink);touch-action:none;user-select:none}.game{position:relative;width:100%;height:100dvh;min-height:580px;overflow:hidden;background:var(--navy)}canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;z-index:7;top:0;left:0;right:0;display:grid;grid-template-columns:42px 1fr auto 42px 42px;align-items:center;gap:7px;padding:calc(10px + env(safe-area-inset-top,0px)) 11px 9px;color:#fff;background:linear-gradient(#10263ce6,#10263c00)}.round-button,.menu-top button{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:13px;color:#fff;background:rgba(5,20,35,.32);font-size:17px;font-weight:800}.round-button:active,.menu-top button:active{transform:scale(.92)}.route-copy{display:grid;gap:1px;min-width:0}.route-copy small{color:#71d9d2;font-size:8px;font-weight:900;letter-spacing:.15em}.route-copy strong{overflow:hidden;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.coin-counter{display:flex;align-items:center;gap:5px;padding:8px 10px;border-radius:12px;background:rgba(5,20,35,.32);font-size:13px}.coin-counter span{color:var(--yellow)}.run-hud{position:absolute;z-index:6;top:73px;left:12px;display:flex;gap:8px}.run-hud div{display:grid;gap:1px;min-width:76px;padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:12px;color:#fff;background:rgba(9,28,45,.48);backdrop-filter:blur(7px)}.run-hud small{opacity:.55;font-size:7px;font-weight:900;letter-spacing:.13em}.run-hud strong{font-size:17px}.track-progress{position:absolute;z-index:6;right:14px;bottom:calc(18px + var(--safe));left:14px;height:6px;border-radius:6px;background:rgba(255,255,255,.22)}.track-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--yellow));transition:width .2s}.track-progress i{position:absolute;top:50%;left:0;color:#fff;font-size:18px;font-style:normal;transform:translate(-50%,-55%);transition:left .2s}.callout{position:absolute;z-index:9;top:130px;left:50%;max-width:80%;padding:9px 15px;border-radius:18px;opacity:0;color:var(--ink);background:var(--cream);box-shadow:0 8px 25px rgba(0,0,0,.2);font-size:11px;font-weight:900;text-align:center;transform:translate(-50%,-10px);transition:.22s}.callout.show{opacity:1;transform:translate(-50%,0)}.screen{position:absolute;z-index:20;inset:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.screen.open{opacity:1;visibility:visible}.menu-shell{position:relative;display:grid;grid-template-rows:auto auto minmax(160px,1fr) auto auto auto auto;width:100%;height:100%;padding:calc(12px + env(safe-area-inset-top,0px)) 17px calc(10px + var(--safe));overflow:hidden;color:#fff;background:linear-gradient(165deg,#0c2c46 0%,#19526a 50%,#0b263c 100%)}.menu-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 20%,rgba(255,210,85,.14),transparent 27%),linear-gradient(110deg,transparent 48%,rgba(255,255,255,.035) 49%,transparent 50%);background-size:auto,38px 38px}.menu-top{z-index:2;display:flex;align-items:center;gap:10px}.menu-top a{display:grid;place-items:center;width:41px;height:41px;border-radius:13px;color:#fff;background:var(--coral);font-size:11px;font-weight:900;text-decoration:none;box-shadow:0 7px 20px rgba(0,0,0,.2)}.menu-top p{margin-right:auto;opacity:.56;font-size:8px;font-weight:900;letter-spacing:.16em}.title-lockup{z-index:2;padding:18px 5px 8px}.title-lockup p{margin:0 0 5px;color:#70ddd4;font-size:8px;font-weight:900;letter-spacing:.22em}.title-lockup h1{margin:0;font-size:clamp(44px,13vw,65px);line-height:.79;letter-spacing:-.07em;text-shadow:0 9px 22px rgba(0,0,0,.22);transform:skew(-5deg)}.title-lockup h1 em{color:var(--yellow);font-style:normal}.title-lockup span{display:block;margin-top:13px;color:rgba(255,255,255,.64);font-size:8px;font-weight:900;letter-spacing:.18em}.hero-road{z-index:1;position:relative;min-height:170px;margin:3px -17px;overflow:hidden}.sun{position:absolute;right:14%;top:1%;width:115px;height:115px;border-radius:50%;background:linear-gradient(#ffe27a,#ff925d);box-shadow:0 0 55px rgba(255,202,91,.28)}.island{position:absolute;bottom:0;border-radius:50% 50% 0 0;background:#0b3543}.island.one{left:-9%;width:58%;height:48%;transform:rotate(5deg)}.island.two{right:-8%;width:55%;height:36%;background:#164b51;transform:rotate(-4deg)}.road{position:absolute;left:8%;bottom:-31%;width:90%;height:101%;border:5px solid #f7c65d;border-radius:52% 55% 0 0;background:#304552;transform:rotate(-7deg);box-shadow:inset 0 0 0 12px #e9dfc9,inset 0 0 0 18px #c75949}.anchor{position:absolute;left:53%;top:31%;width:25px;height:25px;border:7px solid #fff;border-radius:50%;background:var(--coral);box-shadow:0 0 0 8px rgba(255,104,79,.18)}.rope{position:absolute;left:40%;top:45%;width:93px;height:3px;background:var(--yellow);transform:rotate(-34deg);transform-origin:right}.hero-car{position:absolute;left:28%;top:56%;width:86px;height:45px;border-radius:15px 24px 11px 13px;background:var(--coral);box-shadow:0 10px 18px rgba(0,0,0,.3);transform:rotate(22deg)}.hero-car:before{content:"";position:absolute;left:25px;top:6px;width:35px;height:20px;border-radius:8px;background:#b4e6ea}.hero-car i{position:absolute;bottom:-5px;width:17px;height:9px;border-radius:5px;background:#101c27}.hero-car i:first-child{left:10px}.hero-car i:last-child{right:10px}.smoke{position:absolute;border-radius:50%;background:rgba(255,255,255,.65)}.s1{left:21%;top:66%;width:23px;height:23px}.s2{left:17%;top:70%;width:15px;height:15px}.s3{left:13%;top:73%;width:9px;height:9px}.route-ticket{z-index:2;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:75px;border:1px solid rgba(255,255,255,.17);border-radius:18px;background:rgba(4,23,38,.42);backdrop-filter:blur(8px)}.route-ticket button{height:100%;border:0;color:#fff;background:transparent;font-size:32px}.route-ticket div{display:grid;gap:2px;text-align:center}.route-ticket small{color:#69d8d0;font-size:7px;font-weight:900;letter-spacing:.17em}.route-ticket strong{font-size:17px}.route-ticket span{opacity:.53;font-size:8px;font-weight:700}.play-button{z-index:2;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:57px;margin-top:9px;padding:0 18px;border:0;border-radius:17px;color:#fff;background:linear-gradient(135deg,var(--coral),#ed4f42);box-shadow:0 10px 25px rgba(239,79,66,.28);text-align:left}.play-button span{display:grid;gap:1px}.play-button small{opacity:.66;font-size:7px;letter-spacing:.14em}.play-button strong{font-size:14px;letter-spacing:.05em}.play-button b{font-size:27px}.play-button:active{transform:translateY(2px)}.control-note{z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 0 4px}.control-note i{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:var(--yellow);font-size:10px;font-style:normal}.control-note p{margin:0;color:rgba(255,255,255,.54);font-size:8px;line-height:1.5}.control-note strong{color:#fff}.menu-shell footer{z-index:2;display:flex;justify-content:space-between;padding:6px 3px 0;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.45);font-size:7px;font-weight:900;letter-spacing:.13em}.menu-shell footer b{color:#fff}.shade{display:grid;place-items:center;padding:18px;background:rgba(5,18,30,.78);backdrop-filter:blur(9px)}.dialog{width:min(100%,360px);padding:27px 23px;border:1px solid #fff;border-radius:27px;background:linear-gradient(145deg,#fffdf5,#f2e7d4);box-shadow:0 24px 70px rgba(0,0,0,.38);text-align:center}.dialog>p:first-child{margin:0 0 7px;color:var(--coral);font-size:8px;font-weight:900;letter-spacing:.2em}.dialog h2{margin:0 0 20px;font-size:31px;letter-spacing:-.04em}.text-button{width:100%;padding:13px;border:0;color:#75808b;background:transparent;font-size:11px;font-weight:800}.result-badge{display:grid;place-items:center;width:65px;height:65px;margin:0 auto 14px;border-radius:22px;color:#fff;background:linear-gradient(145deg,var(--teal),#248f9b);font-size:30px;box-shadow:0 10px 25px rgba(37,144,155,.25)}.score-row{display:grid;grid-template-columns:1fr 1fr;margin:15px 0;border-radius:18px;background:#e9e2d6}.score-row div{display:grid;gap:3px;padding:13px}.score-row div+div{border-left:1px solid #d3c8ba}.score-row small{color:#8b8c8c;font-size:7px;font-weight:900;letter-spacing:.13em}.score-row strong{font-size:24px}.result-dialog>p:nth-of-type(2){margin:0 0 15px;color:#697582;font-size:11px;line-height:1.45}
@media(min-width:600px){body{display:grid;place-items:center}.game{width:min(100%,480px);height:min(100dvh,900px);border-inline:1px solid rgba(255,255,255,.13);box-shadow:0 0 90px rgba(0,0,0,.5)}}
@media(max-height:680px){.menu-shell{grid-template-rows:auto auto minmax(115px,1fr) auto auto auto auto}.title-lockup{padding-block:8px}.title-lockup h1{font-size:40px}.title-lockup span{margin-top:8px}.route-ticket{min-height:62px}.play-button{min-height:49px}.control-note{padding-block:4px}.hero-road{min-height:115px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}}
.menu-shell{background:#3b2118 url("../../assets/game-art/slingline-drift-desert-portrait.png") center 57%/cover no-repeat}
.menu-shell:before{background:linear-gradient(180deg,rgba(4,17,31,.78) 0%,rgba(4,17,31,.2) 35%,rgba(4,17,31,.08) 55%,rgba(4,17,31,.88) 88%,rgba(4,17,31,.97) 100%)}
.hero-road>*{display:none}
