: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}}
