:root{--bg:#0c0f15db;--line:#ffffff1f;--text:#e8ecf4;--dim:#9aa5b8;--accent:#38ff7a;--accent-ink:#06140b;--warn:#ff6b6b;--osd:#f2f5f9}*{box-sizing:border-box}html,body{height:100%;color:var(--text);background:#0b0e13;margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#view{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}button,select,input{font:inherit;color:inherit}.screen{z-index:20;background:linear-gradient(#080a0e40,#080a0e99);justify-content:center;align-items:center;gap:18px;padding:16px;display:none;position:fixed;inset:0;overflow:auto}.screen.active{flex-wrap:wrap;align-content:safe center;align-items:safe center;display:flex}@media (min-width:1000px){#home{justify-content:flex-start;padding-left:4vw}}.card{background:var(--bg);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;width:min(430px,100%);padding:22px 24px}.card.narrow{width:min(300px,100%)}.card.wide{width:min(880px,100%)}.card.side{width:min(340px,100%)}h1{letter-spacing:.04em;margin:0;font-size:40px;font-style:italic;font-weight:800}h1 span{color:var(--accent)}h2{letter-spacing:.03em;margin:0 0 10px;font-size:17px}h2 small{color:var(--dim);margin-left:6px;font-weight:400}.tag{color:var(--dim);margin:4px 0 16px}.note{color:var(--dim);margin:6px 0;font-size:13px}.note.err{color:var(--warn);min-height:1.2em}.row{justify-content:space-between;align-items:center;gap:10px;margin:8px 0;display:flex}.row output{color:var(--dim);font-variant-numeric:tabular-nums;text-align:right;min-width:3.2em;margin-left:auto}.row input[type=range]{width:130px;accent-color:var(--accent)}.row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}button{border:1px solid var(--line);cursor:pointer;background:#ffffff12;border-radius:9px;padding:10px 14px;font-weight:600}button:hover{background:#ffffff21}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}button.primary:hover{filter:brightness(1.08)}button.small{padding:7px 11px;font-size:13px}button.link{color:var(--dim);background:0 0;border:0;padding:2px 6px;font-weight:400;text-decoration:underline}button:disabled{opacity:.45;cursor:default}select,input[type=text],input:not([type]),input[type=number]{border:1px solid var(--line);background:#00000059;border-radius:8px;min-width:0;padding:8px 10px}select option{background:#151a23}.buttons{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.buttons.col{grid-template-columns:1fr}.joinrow,#guest-row{gap:8px;margin-top:10px;display:flex}.joinrow input,#guest-row input{flex:1}#join-code{text-transform:uppercase;letter-spacing:.15em}#account{border:1px solid var(--line);background:#0003;border-radius:10px;margin:4px 0 12px;padding:12px}#signed-in{align-items:center;gap:10px;display:flex}#signed-in img{border-radius:50%;width:30px;height:30px}#signed-in img[src=""]{display:none}#me-name{flex:1;font-weight:600}#gbtn:empty{display:none}#gbtn{min-height:40px;margin-bottom:10px}.device{color:var(--dim);margin:12px 0 0;font-size:13px}.device strong{color:var(--text)}.glyph{vertical-align:middle;margin:0 1px}table.controls{border-collapse:collapse;width:100%}table.controls td{vertical-align:middle;color:var(--dim);padding:4px 6px 4px 0}table.controls td:first-child{white-space:nowrap;width:1%;padding-right:12px}#leaderboard{font-variant-numeric:tabular-nums;margin:0 0 18px;padding-left:22px}#leaderboard li{margin:2px 0}#leaderboard li span{float:right;color:var(--accent)}#leaderboard li.note{margin-left:-22px;list-style:none}.grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;display:grid}fieldset{border:1px solid var(--line);border-radius:10px;min-width:0;margin:0;padding:10px 14px}legend{color:var(--dim);letter-spacing:.05em;text-transform:uppercase;padding:0 6px;font-size:13px}table.rates{border-collapse:collapse;width:100%}table.rates th{color:var(--dim);text-align:left;padding:2px 4px;font-size:12px;font-weight:500}table.rates td{padding:3px 4px}table.rates input{width:76px}#rate-curve{background:#0000004d;border-radius:6px;width:100%;height:120px;margin-top:8px}.axes{gap:3px;margin-top:8px;display:grid}.axes div{background:#ffffff14;border-radius:3px;height:6px;position:relative}.axes i{background:var(--accent);border-radius:3px;width:6px;margin-left:-3px;position:absolute;top:0;bottom:0}#osd{pointer-events:none;z-index:10;color:var(--osd);text-shadow:0 0 3px #000,0 1px 2px #000,1px 0 2px #000;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;position:fixed;inset:0}.osd{letter-spacing:.04em;flex-direction:column;gap:2px;font-size:clamp(14px,1.7vw,22px);font-weight:700;display:flex;position:absolute}.osd small{opacity:.85;font-size:.55em}.tl{top:5%;left:5%}.tr{text-align:right;top:5%;right:5%}.tc{text-align:center;top:4%;left:50%;transform:translate(-50%)}#o-timer{font-variant-numeric:tabular-nums;font-size:1.5em}.ml{top:46%;left:5%}.mr{text-align:right;top:46%;right:5%}.ml span,.mr span{font-variant-numeric:tabular-nums;font-size:1.6em}.bl{bottom:13%;left:5%}#crosshair{opacity:.75;filter:drop-shadow(0 0 2px #000);background:linear-gradient(#fff,#fff) 50%/2px 8px no-repeat,linear-gradient(#fff,#fff) 50%/8px 2px no-repeat;width:22px;height:22px;margin:-11px;position:absolute;top:50%;left:50%}#gate-arrow{will-change:transform;flex-direction:column;align-items:center;font-size:12px;display:flex;position:absolute;top:0;left:0}#gate-arrow svg{transition:none}#banner{text-align:center;letter-spacing:.04em;white-space:pre-line;opacity:0;font:800 clamp(22px,4vw,46px)/1.15 system-ui,sans-serif;transition:opacity .25s;position:absolute;top:27%;left:50%;transform:translate(-50%)}#banner.show{opacity:1}#banner small{letter-spacing:.02em;margin-top:6px;font-size:.45em;font-weight:600;display:block}#sticks{opacity:.85;gap:14px;display:flex;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.stickbox{background:#00000040;border:1.5px solid #ffffffb3;border-radius:6px;width:62px;height:62px;position:relative}.stickbox:before{content:"";border-top:1px solid #ffffff40;position:absolute;inset:50% 0 auto}.stickbox:after{content:"";border-left:1px solid #ffffff40;position:absolute;inset:0 auto 0 50%}.stickbox i{background:var(--accent);z-index:1;border-radius:50%;width:10px;height:10px;margin:-5px;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #000}#standings{text-align:right;margin:0;padding:0;font-size:clamp(12px,1.2vw,16px);list-style:none;position:absolute;top:16%;right:5%}#standings li{margin:2px 0}#standings li i{border-radius:50%;width:9px;height:9px;margin-left:6px;display:inline-block}#standings li.me{color:var(--accent)}#hints{white-space:nowrap;opacity:.9;gap:16px;font:12px system-ui,sans-serif;display:flex;position:absolute;bottom:.8%;left:50%;transform:translate(-50%)}#hints .glyph{width:auto;height:20px}#hints em{font-style:normal}@media (max-width:900px){#hints span:nth-child(n+3):not(#hint-ready){display:none}}#roompanel{z-index:12;background:var(--bg);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;width:230px;padding:12px;font-size:13px;position:fixed;top:22%;left:16px}#roompanel header{justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;display:flex}#rp-code{letter-spacing:.12em;padding:3px 8px;font-size:12px}#rp-pilots{margin:0;padding:0;list-style:none}#rp-pilots li{align-items:center;gap:7px;padding:3px 0;display:flex}#rp-pilots i{border-radius:50%;flex:none;width:10px;height:10px}#rp-pilots span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}#rp-pilots b{color:var(--dim);font-size:11px;font-weight:600}#rp-pilots b.ok{color:var(--accent)}#rp-host{gap:6px;margin-top:8px;display:flex}#rp-host select{flex:1;padding:5px 6px;font-size:12px}#rp-status{color:var(--dim);margin:8px 0 0}body.racing #roompanel{display:none}#res-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}#res-table th{text-align:left;color:var(--dim);padding:4px 8px;font-size:12px;font-weight:500}#res-table td{border-top:1px solid var(--line);padding:6px 8px}#res-table i{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}#results{background:#080a0e59}#loading{z-index:50;color:var(--dim);letter-spacing:.05em;background:#0b0e13;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#credit{color:#ffffff73;z-index:21;pointer-events:none;font-size:11px;position:fixed;bottom:6px;left:10px}body.flying #credit{display:none}body.inroom:not(.racing) .ml{left:262px}@media (max-width:760px){#roompanel{width:190px;top:14%}body.inroom:not(.racing) .ml{left:222px}}
