/* Island Cup interface: compact racing instruments, clear touch targets. */
:root{font-family:ui-rounded,'SF Pro Rounded','Avenir Next',system-ui,-apple-system,sans-serif;font-weight:600;background:#102f45;color:#fff}.icon{width:24px;height:24px;flex:none;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,transform .1s;position:relative}button:focus-visible,select:focus-visible{outline:3px solid #ffe27e;outline-offset:3px}button:active{transform:translateY(2px)}button:disabled{cursor:default;opacity:.48}.masthead{height:52px}.masthead a:first-child{font-weight:900;letter-spacing:-.8px}.masthead span{letter-spacing:.15em}.masthead a:last-child{opacity:.6;font-size:12px}
.overlay{background:linear-gradient(90deg,#082e48ee,transparent 45%,transparent 64%,#082e4880);padding:5%}#menu .intro{max-width:29%}.intro>small{font-size:13px;font-weight:850;letter-spacing:.2em;color:#97eff0}#menu .intro h1,.result-card h2,.pause-panel h2{font-family:inherit;font-weight:900;letter-spacing:-.06em;line-height:.93;font-size:clamp(40px,6.5vw,78px);margin:15px 0 20px}.intro em{font-style:normal;color:#ffe287}.cup-mark{display:block;font-size:11px;font-weight:750;letter-spacing:.1em;line-height:1.6;margin-top:17px;color:#b8d9e2}.intro p{font-size:14px}.intro .instructions{font-size:12px;line-height:1.65;color:#c4dce6}.intro label{font-size:14px}.primary{background:#ffd568;color:#163a52;border-radius:16px;padding:16px 23px;font-size:19px;letter-spacing:0;box-shadow:0 5px 0 #c09338;justify-content:center;min-height:54px;font-weight:850}.primary .icon{width:26px;height:26px}.back-garage{border-color:#bce4f344;border-radius:12px;font-size:13px;background:#143a5366}.back-garage .icon{width:19px;height:19px}.edition{display:none}.garage-panel{width:28%;padding:20px;border-radius:22px;background:#10364beb;border:1px solid #b3e4f340;box-shadow:0 15px 35px #08263655;scrollbar-width:thin;scrollbar-color:#67a7b8 transparent}.garage-panel h2{font:800 24px ui-rounded,system-ui,sans-serif;color:white}.garage-panel>label:not(.wing-option){display:flex;align-items:center;gap:8px;font-size:12px;color:#a7ccd8;letter-spacing:.06em}.garage-panel label .icon{width:17px;height:17px}.garage-panel select{font-family:inherit;font-weight:650;border-radius:10px;border-color:#aaceda44;background:#214b62;min-height:42px}.garage-panel>small{font-size:11px;color:#91bac7}.garage-panel .wing-option{font-size:13px}
.hud{top:20px;left:22px;right:22px}.track small{font-size:11px;color:#d3f5ff;letter-spacing:.1em}.track strong{font-size:14px;letter-spacing:.02em}.clock{background:#10354bc9;padding:10px 15px;border:1px solid #d8faff40;border-radius:17px;min-width:100px}.clock #lapLabel{font-size:13px;color:#ffe394}.clock span{font-size:24px;font-weight:750;letter-spacing:-.03em}.clock small{display:none}.race-hud{top:85px;left:22px}.race-hud>strong{font-size:40px;font-weight:900;letter-spacing:-.06em;line-height:1}.race-hud span{font-size:11px;max-width:210px;line-height:1.7}.utilities{top:18px;bottom:auto;left:50%;transform:translateX(-50%);gap:6px;max-width:none;flex-wrap:nowrap}.utilities button{width:42px;height:42px;min-height:42px;padding:9px;border-radius:13px;background:#10384dce;border:1px solid #dbfaff40}.utilities .icon{width:22px;height:22px}.utilities #quality:after{content:attr(data-level);position:absolute;bottom:-12px;font-size:9px;font-weight:800;letter-spacing:.06em;color:#fff;text-shadow:0 1px 4px #000}#quality[data-level="LOW"]{color:#ffc46e}#sound[aria-pressed="false"]{color:#90acba;background:#18303ed9}.controls button{width:72px;height:72px;background:#153d56ce;border:1px solid #e2f9ff70;border-radius:23px;box-shadow:0 4px 0 #082c4266;backdrop-filter:blur(6px)}.controls .icon{width:30px;height:30px}.controls .gas{width:80px;height:92px;background:#ffd46a;color:#173a51;border-color:#ffecaf}.controls .gas .icon{width:40px;height:40px}.controls .drift{background:#57d8c9;color:#133d50;border-color:#a8fff1}.controls [data-key="brake"]{background:#31566ddd}.controls .held{box-shadow:0 0 20px #d4fffe55}.driftbar small{font-size:10px;font-weight:750;letter-spacing:.08em}.driftbar>div{height:8px;border:1px solid #e0fbff44}.speed strong{font-size:45px;font-weight:800;letter-spacing:-.04em}.speed small{font-size:10px}.item-slot{top:145px;right:24px;align-items:flex-end}.item-slot button{position:relative;width:80px;height:92px;border-radius:21px;background:#173d56e8;border:2px solid #ffe28b;display:flex;flex-direction:column;gap:2px;color:#ffe28b}.item-slot button:disabled{border-color:#c2dfed55}.item-slot #itemGlyph .icon{width:36px;height:36px}.item-slot #itemName{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.item-slot button>small{position:absolute;right:-5px;bottom:-5px;border-radius:6px;padding:3px 5px;background:#edfaff;color:#17384e;font-size:10px}.item-slot>span{font-size:11px;max-width:145px;text-align:right;line-height:1.35}.pause-panel{position:absolute;inset:0;z-index:12;display:grid;place-items:center;background:#08263c99;backdrop-filter:blur(8px)}.pause-panel>div{min-width:240px;padding:30px 35px;background:#123a50;border:1px solid #9cd9df55;border-radius:26px;text-align:center;box-shadow:0 20px 60px #001e4277}.pause-panel small{font-size:11px;letter-spacing:.15em;color:#a9dce3}.pause-panel h2{font-size:46px;letter-spacing:-.05em}.pause-panel .primary{width:100%}.result-card{border-radius:26px;border-color:#a3dadd55;background:#10364bef}.result-card h2{font-size:44px}.result-card .primary{margin-top:20px}#loading strong{font:800 30px ui-rounded,system-ui,sans-serif}#loading{background:#12384d}#loading p{color:#b8dbe5}
@media(max-width:760px),(max-height:550px){#menu .intro{max-width:29%}#menu .intro h1{font-size:42px;margin:10px 0}.cup-mark{margin-top:10px;font-size:9px}.intro .instructions{font-size:11px}.garage-panel{width:29%;padding:12px}.garage-panel h2{font-size:19px}.primary{min-height:45px;font-size:16px;padding:10px 15px}.back-garage{padding:8px;gap:6px}.utilities{top:12px;left:50%;bottom:auto}.utilities button{width:38px;height:38px;min-height:38px;padding:8px}.utilities .icon{width:21px;height:21px}.race-hud{top:72px}.race-hud span{display:none}.hud .track{max-width:24%}.track strong{font-size:12px}.clock{padding:7px 10px;min-width:83px}.clock span{font-size:20px}.item-slot{top:112px;right:18px}.item-slot button{width:66px;height:74px}.item-slot #itemGlyph .icon{width:29px;height:29px}.item-slot>span{display:none}.speed{bottom:108px}.speed strong{font-size:36px}.driftbar{bottom:20px}.controls{bottom:15px}.controls button{width:64px;height:64px}.controls .gas{width:72px;height:82px}.garage-panel .wing-option{font-size:12px}.garage-panel>small{display:none}}
@media(pointer:coarse) and (orientation:landscape){#menu .intro{max-width:29%}#menu .intro h1{font-size:42px}#menu .intro .instructions{font-size:11px}.garage-panel{width:30%;max-height:92%}.garage-panel select{min-height:38px;font-size:16px}.utilities{top:12px;bottom:auto;left:50%;max-width:none;gap:5px;flex-wrap:nowrap}.controls button{width:64px;height:64px}.controls .gas{width:74px;height:84px}.race-hud{top:78px}.item-slot{top:110px}.speed{bottom:105px}#screenHint{display:none}}
@media(pointer:coarse) and (orientation:portrait){#menu .intro{max-width:100%}#menu .intro h1{font-size:37px}#menu .intro h1 br{display:none}.cup-mark{display:none}.garage-panel{width:88%;max-height:45%;right:6%;padding:12px}#menu .intro .primary{max-width:180px}.utilities{top:auto;bottom:205px;left:16px;transform:none;gap:6px}.utilities button{width:39px;height:39px}.hud .track{max-width:57%}.race-hud{top:110px}.item-slot{top:145px}.controls button{width:54px;height:64px}.controls .gas{width:60px;height:78px}.controls .icon{width:26px;height:26px}.speed{bottom:120px}.clock{margin-top:0}.intro .back-garage{margin-top:12px}#menuFullscreen{top:130px}}
#frame.in-garage{touch-action:pan-y}.controls button{-webkit-touch-callout:none}.control-caption{position:absolute;bottom:6px;font-size:9px;letter-spacing:.06em;pointer-events:none}.controls [data-key="drift"] .icon,.controls [data-key="brake"] .icon{margin-bottom:9px}
@media(prefers-reduced-motion:reduce){button{transition:none}}
