html,body{-webkit-user-select:none;user-select:none;touch-action:none;background:#11131f;width:100%;height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#game{width:100vw;height:100vh;display:block}#hud{pointer-events:none;color:#fff;text-shadow:3px 3px #141521;position:fixed;inset:0}.hud-panel{background:linear-gradient(135deg,#1f2a47e0,#131521bd);border:3px solid #141521;border-radius:8px;position:absolute;box-shadow:0 6px #141521}.bottom-right{padding:0;position:absolute;bottom:18px;right:18px}.speedo{width:172px;height:172px;display:block}.top-right{text-align:right;min-width:180px;padding:14px 18px;position:absolute;top:18px;right:18px}.bottom-left{width:230px;height:180px;bottom:18px;left:18px}.big{font-size:42px;font-weight:900;line-height:1}.label{color:#7fffd0;letter-spacing:0;text-transform:uppercase;font-size:13px;font-weight:900}.position-row,.lap-row{margin-top:8px}.position-value{color:#ffe066;font-size:24px;font-weight:1000;line-height:1.05}.center-card{text-align:center;position:absolute;top:18%;left:50%;transform:translate(-50%)}.finish-menu{text-align:center;pointer-events:auto;width:min(420px,100vw - 36px);padding:20px;display:none;top:17%;left:50%;transform:translate(-50%)}.finish-title{color:#ffe066;font-size:44px;font-weight:1000;line-height:1}.claim-button{color:#141521;cursor:pointer;width:100%;min-height:50px;font:inherit;letter-spacing:0;text-transform:uppercase;background:#ffe066;border:3px solid #141521;border-radius:8px;margin-top:16px;font-size:14px;font-weight:1000;box-shadow:0 5px #141521}.claim-button:disabled{cursor:default;filter:grayscale(.45)brightness(.78)}.claim-button:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #141521}.finish-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.finish-actions button{color:#fff;cursor:pointer;min-height:48px;font:inherit;letter-spacing:0;text-shadow:2px 2px #141521;text-transform:uppercase;background:#2f4f7e;border:3px solid #141521;border-radius:8px;font-size:12px;font-weight:900;box-shadow:0 5px #141521}.finish-actions button:nth-child(2){background:#37b86f}.finish-actions button:nth-child(3){background:#ff4f8b}.hamburger-button{cursor:pointer;pointer-events:auto;width:56px;height:52px;font:inherit;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;display:flex;top:18px;left:18px}.hamburger-button span{background:#7fffd0;border-radius:2px;width:26px;height:4px;display:block;box-shadow:2px 2px #141521}.hamburger-button:active{transform:translateY(4px);box-shadow:0 2px #141521}.finish-actions button:active{transform:translateY(4px);box-shadow:0 1px #141521}.countdown{color:#ffe066;text-shadow:0 6px #141521e6,0 0 26px #ffe06680;font-size:86px;font-weight:1000}.countdown.pop{animation:.55s cubic-bezier(.16,1.2,.4,1) both countdown-pop}@keyframes countdown-pop{0%{opacity:0;filter:blur(6px);transform:scale(3.2)rotate(-6deg)}60%{opacity:1;filter:blur();transform:scale(.9)rotate(1deg)}80%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}canvas.minimap{width:100%;height:100%;display:block}.menu-overlay{pointer-events:auto;background:radial-gradient(58% 42% at 50% 0,#ffe0662e,#0000 62%),radial-gradient(85% 55% at 88% 100%,#36f1cd29,#0000 58%),radial-gradient(70% 50% at 8% 88%,#7d5fff26,#0000 60%),linear-gradient(#1c2750 0%,#161d3a 48%,#0c101f 100%);place-items:center;padding:18px;display:grid;position:absolute;inset:0}.menu-shell{width:min(940px,100vw - 36px);max-height:min(780px,100vh - 36px);padding:22px;position:relative;overflow:auto}.menu-title{color:#ffe066;font-size:42px;font-weight:1000;line-height:1}.menu-points{color:#7fffd0;margin-top:8px;font-size:18px;font-weight:1000}.menu-actions{gap:12px;margin-top:22px;display:grid}.menu-actions.two{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-actions.two button:last-child{grid-column:1/-1}.menu-head{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.menu-shell button,.shop-card button{color:#fff;cursor:pointer;min-height:48px;font:inherit;letter-spacing:0;text-shadow:2px 2px #141521;text-transform:uppercase;background:#2f4f7e;border:3px solid #141521;border-radius:8px;font-size:13px;font-weight:1000;box-shadow:0 5px #141521}.menu-shell button:disabled{cursor:default;filter:grayscale(.45)brightness(.76)}.menu-shell button:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #141521}.shop-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;display:grid}.shop-card{background:#10121d9e;border:3px solid #141521;border-radius:8px;padding:12px}.shop-card.selected{outline:4px solid #ffe066}.boat-swatch{border:3px solid #141521;border-radius:8px;height:34px;margin-bottom:10px}.boat-preview{object-fit:contain;filter:drop-shadow(0 5px #090b1273);width:100%;height:96px;margin-bottom:8px}.shop-name{color:#fff;margin-bottom:10px;font-size:17px;font-weight:1000;line-height:1.1}.stat-line{color:#7fffd0;text-transform:uppercase;justify-content:space-between;gap:8px;font-size:12px;font-weight:900;display:flex}.stat-line b{color:#ffe066}.shop-card button{width:100%;margin-top:12px}.about-copy{color:#fff;margin-top:18px;font-size:18px;font-weight:800;line-height:1.35}.about-modes{gap:12px;margin-top:18px;display:grid}.about-mode{text-align:left;background:#0d101ceb;border:3px solid #141521;border-radius:8px;padding:14px 16px;box-shadow:0 5px #141521}.about-mode.race{border-left:8px solid #ffe066}.about-mode.adventure{border-left:8px solid #7fffd0}.about-mode-title{letter-spacing:.05em;text-transform:uppercase;text-shadow:2px 2px #141521;margin-bottom:8px;font-size:18px;font-weight:1000}.about-mode-title.race{color:#ffe066}.about-mode-title.adventure{color:#7fffd0}.about-mode-copy{color:#fff;text-shadow:1px 1px #141521;font-size:15px;font-weight:700;line-height:1.5}.menu-social{flex-direction:column;align-items:center;gap:8px;margin-top:18px;display:flex}.x-link{color:#fff;opacity:.85;justify-content:center;align-items:center;padding:4px;transition:opacity .15s,transform .15s;display:inline-flex}.x-link:hover,.x-link:active{opacity:1;transform:scale(1.15)}.x-logo{fill:currentColor;display:block}.social-links{align-items:center;gap:12px;display:flex}.raven-link{color:#fff;opacity:.85;justify-content:center;align-items:center;padding:4px;transition:opacity .15s,transform .15s;display:inline-flex}.raven-link:hover,.raven-link:active{opacity:1;transform:scale(1.15)}.raven-logo{fill:currentColor;display:block}.copyright{color:#8b93b8;letter-spacing:.02em;text-shadow:none;font-size:12px;font-weight:700}.garage-upgrades{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.garage-upgrades button{min-height:36px;margin-top:0;font-size:10px}.touch-controls{pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute;inset:auto 20px 22px}.touch-pad,.touch-button{pointer-events:auto;touch-action:none;color:#fff;text-shadow:2px 2px #141521}.touch-pad{--x:0px;background:0 0;width:190px;height:100px;position:relative}.touch-pad:before{content:"";background:#ffffff29;border-radius:2px;height:3px;position:absolute;top:50%;left:8%;right:8%;transform:translateY(-50%)}.touch-nub{width:54px;height:54px;transform:translate(calc(-50% + var(--x)), -50%);background:radial-gradient(circle at 32% 28%,#7fffd0 0%,#36f1cd 58%,#1fb99a 100%);border:3px solid #141521;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 5px #141521,0 0 22px #36f1cd66}.touch-actions{grid-template-columns:repeat(2,84px);gap:12px;display:grid}.touch-button{opacity:.94;height:64px;font:inherit;letter-spacing:.02em;text-transform:uppercase;background:#2f4f7e;border:3px solid #141521;border-radius:18px;font-size:13px;font-weight:900;box-shadow:0 6px #141521}.touch-button.is-down{filter:brightness(1.22);transform:translateY(4px);box-shadow:0 2px #141521}.throttle-button{background:#37b86f}.boost-button{background:#ff4f8b}.drift-button{background:#7d5fff}.brake-button{background:#d94848}.rotate-overlay{text-align:center;pointer-events:auto;z-index:90;background:#090b14eb;place-items:center;display:none;position:absolute;inset:0}.rotate-phone{border:4px solid #36f1cd;border-radius:14px;width:62px;height:102px;margin:0 auto 22px;animation:1.8s ease-in-out infinite rotate-hint;box-shadow:0 0 26px #36f1cd59}.rotate-phone:after{content:"";background:#36f1cd;border-radius:2px;width:20px;height:4px;margin:84px auto 0;display:block}.rotate-title{margin-bottom:8px}.rotate-copy{color:#dfe6ff;text-shadow:none;font-size:15px;font-weight:600}@keyframes rotate-hint{0%,18%{transform:rotate(0)}62%,to{transform:rotate(90deg)}}@media (orientation:portrait) and (hover:none),(orientation:portrait) and (pointer:coarse){.rotate-overlay{display:grid}}@media (hover:none),(pointer:coarse),(max-width:820px){.touch-controls{display:flex}.bottom-left{bottom:158px}.top-right{top:12px;right:12px}.bottom-right{bottom:158px;right:12px}.hamburger-button{top:12px;left:12px}}@media (max-width:620px){.top-right,.bottom-right{min-width:120px;padding:10px 12px}.speedo{width:132px;height:132px}.nitro-bar{width:min(220px,38vw);bottom:20px}.hamburger-button{gap:4px;width:48px;height:44px}.hamburger-button span{width:22px}.big{font-size:32px}.position-row{margin-top:6px}.position-value{font-size:18px}.bottom-left{width:156px;height:124px}.touch-actions{grid-template-columns:repeat(2,66px);gap:10px}.touch-button{height:52px}.touch-pad{width:146px;height:84px}.center-card{top:20%}.finish-menu{padding:16px;top:14%}.finish-title{font-size:34px}.finish-actions{grid-template-columns:1fr}.countdown{font-size:64px}.menu-shell{padding:16px}.menu-title{font-size:32px}.menu-actions.two,.upgrade-grid{grid-template-columns:1fr}}.pickup-toast{color:#ffd23f;letter-spacing:.02em;text-shadow:0 3px #141521e6,0 0 14px #ffd23f73;opacity:0;pointer-events:none;z-index:40;font-size:30px;font-weight:900;position:absolute;top:16%;left:50%;transform:translate(-50%)}.coin-row{justify-content:flex-end;align-items:center;gap:10px;display:flex}.coin-icon{background:radial-gradient(circle at 35% 30%,#ffe98a 0%,#ffd23f 55%,#e3a51f 100%);border:3px solid #6b4d00;border-radius:50%;flex:none;width:30px;height:30px;box-shadow:inset 0 -3px #6b4d0059}.pickup-toast.show{animation:1.5s forwards pickup-toast}@keyframes pickup-toast{0%{opacity:0;transform:translate(-50%,16px)scale(.85)}18%{opacity:1;transform:translate(-50%)scale(1.08)}32%{transform:translate(-50%)scale(1)}72%{opacity:1}to{opacity:0;transform:translate(-50%,-28px)scale(1)}}.nitro-bar{z-index:30;background:#0d101cb8;border:3px solid #141521;border-radius:12px;width:min(360px,46vw);height:18px;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px #141521}.nitro-fill{background:linear-gradient(90deg,#2ec4ff,#37ffb8);border-radius:8px;width:0%;height:100%;transition:width .25s;box-shadow:0 0 12px #37ffb880}.nitro-fill.flash{animation:.5s nitro-flash}@keyframes nitro-flash{0%{filter:brightness()}30%{filter:brightness(2)}to{filter:brightness()}}.nitro-bolt{color:#37ffb8;text-shadow:2px 2px #141521;font-size:26px;position:absolute;top:50%;left:-36px;transform:translateY(-54%)}.howto-overlay{pointer-events:auto;z-index:80;background:#080a12a8;place-items:center;display:none;position:absolute;inset:0}.howto-card{text-align:left;width:min(470px,100vw - 28px);padding:22px 26px}.howto-title{text-align:center}.howto-rows{gap:12px;max-width:420px;margin:16px auto 18px;display:grid}.howto-row{align-items:center;gap:10px;display:flex}.howto-desc{color:#dfe6ff;text-shadow:none;font-size:15px;font-weight:600}.keycap{color:#fff;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(135deg,#3d4e7e,#232941);border:3px solid #141521;border-radius:9px;flex:none;justify-content:center;align-items:center;min-width:42px;height:42px;padding:0 10px;font-size:18px;font-weight:900;display:inline-flex;box-shadow:0 4px #141521}.keycap-wide{min-width:112px}.howto-close{margin-top:4px}@media (orientation:landscape) and (hover:none) and (max-height:540px){.bottom-left{width:148px;height:116px;bottom:128px}.bottom-right{bottom:128px}.speedo{width:112px;height:112px}.top-right{min-width:150px;padding:10px 14px}.nitro-bar{width:min(260px,34vw);bottom:18px}.touch-controls{inset:auto 18px 16px}}
