:root{font-family:Arial,sans-serif;color:#fff3fa;background:#261c30;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas#arena{position:fixed;inset:0;width:100%;height:100%}button,a{font:inherit}button{cursor:pointer;border:1px solid #a980a2;background:#34283fef;color:#fff3fa;padding:12px 18px;border-radius:7px}button:hover{background:#50384e}a{color:inherit;text-decoration:none}.primary{background:#f84982;color:#261c30;border-color:#f84982;font-weight:700}body>header{position:fixed;top:0;left:0;width:100%;padding:18px 25px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#261c30ce,transparent);z-index:5}body>header a{display:grid;font-size:11px;text-transform:uppercase;letter-spacing:.14em}body>header b{font-size:22px;letter-spacing:-.03em}body>header>span{text-align:center;font-size:12px;letter-spacing:.2em}body>header small{display:block;font-size:10px;margin-top:5px;letter-spacing:.08em}kbd{font-size:10px;opacity:.7}#join-panel,dialog{background:#261c30f2;border:1px solid #aa759965;border-radius:16px;box-shadow:0 16px 60px #0005;padding:30px;max-width:470px;color:#fff3fa}#join-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 32px)}h1{font-size:45px;letter-spacing:-.04em;margin:10px 0}h2{font-size:28px}p{line-height:1.65;font-size:14px;color:#d9c6d9}.eyebrow{color:#ff80a9;font-size:11px;letter-spacing:.2em}#join-panel button{width:100%;margin-top:10px}#choice{display:block;margin-top:15px;text-align:center;color:#d4b9d0}dialog::backdrop{background:#100c1b88;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog:not(.character-select) button,dialog:not(.character-select)>a{display:block;width:100%;margin-top:10px;text-align:center}#race-hud{position:fixed;top:102px;left:26px;display:grid;gap:9px;text-shadow:0 2px 8px #000}#place{font-size:48px;font-style:italic}#standings{position:fixed;top:114px;right:24px;background:#261c30b8;border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.9}#standings .me{color:#ff90b5;font-weight:700}#kart-hud{position:fixed;right:26px;bottom:64px;display:grid;text-align:right;gap:9px;background:#261c30db;padding:16px 20px;border-radius:10px}#speed{font-size:25px}meter{width:140px;height:12px;accent-color:#f84982}#countdown{position:fixed;top:32%;width:100%;text-align:center;font-size:100px;font-weight:900;color:#fff5b4;text-shadow:0 4px 0 #51354b;pointer-events:none}body>footer{position:fixed;bottom:0;width:100%;display:flex;justify-content:center;gap:24px;background:#261c30df;font-size:11px;padding:14px;color:#d7bbd1}[hidden]{display:none!important}@media(max-width:700px){body>header{padding:14px}body>header>span{display:none}#standings{right:10px;top:95px;font-size:9px}#race-hud{left:14px}#place{font-size:32px}#kart-hud{bottom:65px;right:14px;padding:10px}body>footer{gap:10px;font-size:8px}dialog{max-height:85dvh;overflow:auto;width:calc(100% - 28px);padding:22px}}#nickname{display:block;width:100%;padding:12px;margin:8px 0;background:#191420;color:#fff3fa;border:1px solid #886780;border-radius:7px;font:inherit}label{font-size:12px;color:#cdb9cd}#talk{position:fixed;bottom:105px;left:50%;transform:translate(-50%);background:#f84982;color:#261c30;font-weight:700;z-index:6}#notice{position:fixed;top:78px;width:100%;text-align:center;text-shadow:0 2px 5px #261c30;pointer-events:none}button:disabled{opacity:.5;cursor:default}#join-panel{max-height:calc(100dvh - 110px);overflow:auto}#vote-status{color:#ffb1cc}#finish-order{max-height:35dvh;overflow:auto}#finish-order p{margin:8px 0}#drift-state{font-size:11px;line-height:1.45;max-width:225px;color:#d9c6d9}#kart-hud[data-drift=charging] #drift-state{color:#81e8ff}#kart-hud[data-drift=ready] #drift-state{color:#ffd866}#kart-hud[data-drift=ready] meter{accent-color:#ffd866}@media(pointer:coarse)and (min-width:601px)and (max-height:500px){body #kart-hud{left:138px;right:auto;bottom:48px!important;max-width:220px;padding:10px 14px;gap:5px}#kart-hud #speed{font-size:22px}#kart-hud #item{font-size:11px}}@media(pointer:coarse)and (max-width:600px)and (orientation:portrait){#notice{top:65px;left:14px;width:calc(100% - 108px);margin:0;text-align:left;font-size:11px;line-height:1.35}#race-hud{top:122px;gap:4px}#standings{top:122px;max-width:47%;padding:6px 10px}body #kart-hud{left:14px;right:14px;bottom:204px!important;grid-template-columns:85px 1fr;gap:4px;padding:8px 12px;text-align:left}#kart-hud #speed{font-size:20px}#kart-hud #item{text-align:right;font-size:11px;align-self:center}#kart-hud #drift-state{grid-column:1/-1;max-width:none}#kart-hud meter{grid-column:1/-1;width:100%;height:8px}}:root{--flight:#83e7ec}body>header b{color:var(--flight)}.primary{background:var(--flight);border-color:var(--flight)}.eyebrow{color:var(--flight)}#flight-hud{position:fixed;top:105px;left:24px;display:grid;gap:7px;width:235px;background:#261c30c9;border:1px solid #b9d4e242;border-radius:12px;padding:14px 18px;font-size:12px;pointer-events:none}#speed{font-size:26px;color:#bff9ff}#altitude{color:#d1bdd5;margin-bottom:5px}#flight-hud label{display:grid;grid-template-columns:43px 1fr 26px;align-items:center;gap:7px}#flight-hud meter{width:100%;height:9px;accent-color:#83e7ec}#flight-hud b{text-align:right;font-size:11px}#weapons,#roll-status{font-size:11px;color:#eacde1}#standings{top:105px;min-width:155px;max-width:230px;pointer-events:none}#standings div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#standings small{color:#c4b1ca}#radar{position:fixed;width:144px;height:144px;right:25px;bottom:calc(var(--control-reference-height,55px) + 18px);border:1px solid #bad1e755;border-radius:50%;background:#261c30a8;pointer-events:none}#reticle{position:fixed;left:50%;top:50%;width:55px;height:55px;transform:translate(-50%,-50%);border:1px solid #d8ffff99;border-radius:50%;pointer-events:none;color:#e8ffff}#reticle i{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}#reticle span{position:absolute;top:62px;width:130px;left:-38px;text-align:center;font:10px monospace;letter-spacing:.1em}#reticle[data-locked=true]{border-color:#ffe09b;color:#ffe09b;box-shadow:0 0 14px #ffe09b33}#targets{position:fixed;inset:0;pointer-events:none}.target{position:absolute;transform:translate(-50%,-100%);color:#fff0f4;text-shadow:0 1px 4px #201b34;font-size:11px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.target:after{content:"◇";display:block;color:#ff9abc;text-align:center;font-size:23px}.target.locked{color:#ffe09b}.target.locked:after{color:#ffe09b}#notice{top:auto;bottom:calc(var(--control-reference-height,55px) + 22px);left:50%;transform:translate(-50%);max-width:480px;width:65%;font-size:12px;color:#fff4e0;background:#261c30b8;border-radius:7px;padding:7px 12px;margin:0}#notice:empty{display:none}#respawn{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);font-size:30px;color:#ffe2c1;text-align:center;text-shadow:0 2px 8px #261c30;pointer-events:none}body:has(#join-panel:not([hidden])) #flight-hud,body:has(#join-panel:not([hidden])) #reticle,body:has(#join-panel:not([hidden])) #radar,body:has(#join-panel:not([hidden])) #standings{display:none}@media(max-width:700px){#flight-hud{left:12px;top:83px;width:185px;padding:10px;gap:4px;font-size:10px}#speed{font-size:19px}#standings{right:10px;top:83px;min-width:105px;max-width:135px;font-size:10px}#flight-hud label{grid-template-columns:37px 1fr 22px;gap:3px}#radar{width:100px;height:100px;right:12px}#notice{font-size:10px;max-width:240px}}html[data-input=touch] #radar{bottom:auto;top:260px;width:98px;height:98px}html[data-input=touch] #notice{bottom:calc(var(--control-reference-height,55px) + 190px);width:80%;max-width:400px}html[data-input=touch] #flight-hud{pointer-events:none}html[data-input=touch] #standings{top:128px;max-height:120px;overflow:hidden}#scores p{font-size:12px;margin:5px 0}@media(min-height:501px){html[data-input=touch] #notice{top:225px;bottom:auto;max-width:calc(100% - 24px);width:calc(100% - 24px)}html[data-input=touch] #radar{top:290px}}@media(max-height:500px){#flight-hud{top:70px;width:183px;padding:8px;gap:3px}#flight-hud #speed{font-size:18px}#standings{top:70px;max-height:100px;overflow:hidden}html[data-input=touch] #radar{top:80px;right:190px;width:80px;height:80px}html[data-input=touch] #notice{bottom:calc(var(--control-reference-height,45px) + 12px);max-width:260px}body>header{padding:9px 14px}#flight-hud #roll-status{display:none}}@media(max-height:500px){html[data-input=touch] #standings{top:105px;max-height:90px}}
