*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#06121f;color:#eaf4ff}button,input,select,textarea{font:inherit}.appShell{position:relative;width:100%;height:100%;overflow:hidden}.viewport{width:100%;height:100%}.raceOverlay{position:absolute;left:.75rem;top:.75rem;z-index:14;pointer-events:none}.raceOverlayCard{width:min(360px,88vw);border:1px solid rgb(251 245 187 / 38%);border-radius:.7rem;background:linear-gradient(150deg,#0c1421eb,#0e2842e5),radial-gradient(circle at 15% 20%,rgb(255 255 255 / 10%),transparent 55%);padding:.75rem;display:flex;flex-direction:column;gap:.35rem;pointer-events:auto}.raceOverlayTitle{font-size:.98rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.modeSwitch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.15rem}.modePickerButtons{display:grid;grid-template-columns:1fr;gap:.45rem;margin-top:.35rem}.modeButton{border:1px solid #8aa8c7;border-radius:.45rem;min-height:40px;background:linear-gradient(145deg,#1f3043,#112033);color:#d9ecff;font-weight:700;letter-spacing:.02em;cursor:pointer}.modeButton.active{border-color:#8fffad;background:linear-gradient(145deg,#1f9f4d,#0d6631);color:#effff4}.racePlayers{display:flex;flex-direction:column;gap:.2rem}.racePlayers p.waiting{color:#d5e6f7}.racePlayers p.ready{color:#96ffac;font-weight:700}.raceHint{color:#ffdc8f;font-size:.82rem}.readyButton{margin-top:.25rem;border:1px solid #ffe59d;border-radius:.45rem;background:linear-gradient(145deg,#8a5a11,#5f3b07);color:#fff6dc;min-height:44px;padding:.55rem .7rem;font-weight:800;letter-spacing:.06em;cursor:pointer}.readyButton.ready{background:linear-gradient(145deg,#1f9f4d,#0d6631);border-color:#8fffad}.readyButton:disabled{opacity:.6;cursor:not-allowed}.raceResultCard{border-color:#9bceff73}.raceResultHeadline{margin:.1rem 0 .2rem;font-size:1.15rem;font-weight:800;color:#fff3bf}.raceResultsTable{display:flex;flex-direction:column;gap:.25rem}.raceResultRow{margin:0;display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid rgb(155 206 255 / 28%);border-radius:.4rem;padding:.35rem .45rem;background:#0f233a8c}.raceResultRow.local{border-color:#97ff7f73;background:#183e2b8c}.countdownOverlay{position:absolute;inset:0;z-index:16;display:grid;place-items:center;pointer-events:none}.countdownValue{font-size:clamp(4rem,20vw,10rem);font-weight:900;letter-spacing:.08em;color:#fff2a7;text-shadow:0 0 14px rgb(255 246 208 / 45%),0 12px 28px rgb(0 0 0 / 50%);animation:countdown-pop .95s cubic-bezier(.22,.8,.15,1) both}.countdownValue.go{color:#97ff7f}@keyframes countdown-pop{0%{opacity:0;transform:scale(.35) rotate(-10deg);filter:blur(4px)}25%{opacity:1;transform:scale(1.08) rotate(0);filter:blur(0)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.72)}}.debugDrawer{position:absolute;top:.75rem;right:.75rem;z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}.debugDrawerToggle{border:1px solid #9bc6ff;border-radius:.4rem;background:#0f2c4d;color:#eaf4ff;padding:.45rem .75rem;min-height:44px;cursor:pointer}.debugDrawerPanel{width:min(420px,94vw);max-height:85vh;overflow:hidden;border-radius:.6rem;border:1px solid rgb(155 206 255 / 35%);background:#040a14f0;display:flex;flex-direction:column}.debugDrawerHeader{display:flex;justify-content:space-between;align-items:center;padding:.65rem .75rem;border-bottom:1px solid rgb(155 206 255 / 20%)}.debugDrawerHeader p{margin:0;font-size:.95rem;font-weight:700}.debugDrawerHeader button{border:1px solid #9bc6ff;border-radius:.35rem;background:#0f2c4d;color:#eaf4ff;padding:.35rem .55rem;min-height:40px;cursor:pointer}.debugTabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;padding:.5rem .75rem;border-bottom:1px solid rgb(155 206 255 / 20%)}.debugTabs button{border:1px solid #9bc6ff;border-radius:.35rem;background:#0f2c4d;color:#eaf4ff;min-height:40px;padding:.35rem .3rem;cursor:pointer}.debugTabs button.active{background:#1a487a}.debugContent{overflow:auto;padding:.75rem}.debugSection{display:flex;flex-direction:column;gap:.55rem}.debugSection p{margin:0;font-size:.88rem}.controlLabel{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem}.controlRow{display:grid;grid-template-columns:1fr 88px;gap:.4rem;align-items:center}.controlCheck{display:flex;align-items:center;gap:.45rem;font-size:.85rem}.controlCheck input{width:18px;height:18px}.debugSection input,.debugSection select,.debugSection textarea,.debugSection button{border:1px solid #9bc6ff;border-radius:.35rem;background:#0f2c4d;color:#eaf4ff}.debugSection input,.debugSection select,.debugSection textarea{padding:.35rem .5rem;min-height:40px}.debugSection input[type=range]{padding:0;min-height:0}.debugButtonRow{display:flex;flex-wrap:wrap;gap:.45rem}.debugButtonRow button{flex:1;min-width:8rem;min-height:42px;padding:.4rem .6rem;cursor:pointer}.importBox{width:100%;min-height:120px;resize:vertical}.joinUrl{word-break:break-all;font-size:.78rem;color:#b6d4f1}.qrPreview{width:min(220px,100%);border-radius:.45rem;border:1px solid rgb(155 206 255 / 35%);background:#fff}.errorText{color:#ffb2b2}.tiltStatus{font-size:.82rem;opacity:.95}.tiltMessage{font-size:.82rem;color:#b6d4f1}.tiltFallback{display:flex;flex-direction:column;gap:.25rem;margin-top:.2rem}.tiltFallback p{margin:0;font-weight:600}.tiltFallback label{font-size:.8rem}.tiltIndicatorWrap{display:flex;flex-direction:column;gap:.25rem}.tiltIndicator{position:relative;width:4.5rem;height:4.5rem;border:1px solid rgb(155 206 255 / 45%);border-radius:.4rem;background:#0a1b2fcc}.tiltIndicatorLarge{width:7.5rem;height:7.5rem}.tiltCrosshair{position:absolute;background:#9bceff59}.tiltCrosshairX{left:50%;top:0;width:1px;height:100%;transform:translate(-.5px)}.tiltCrosshairY{left:0;top:50%;width:100%;height:1px;transform:translateY(-.5px)}.tiltDot{position:absolute;width:.6rem;height:.6rem;border-radius:50%;background:#eaf4ff;border:1px solid #4fc3f7;transform:translate(-50%,-50%)}.netDebug,.netDebugEmbedded{display:flex;flex-direction:column;gap:.35rem;min-width:0}.netDebug p,.netDebugEmbedded p{margin:0;font-size:.82rem;line-height:1.25}.netTitle{font-weight:700}.netRow{display:flex;gap:.4rem}.netRow button,.netRow input{flex:1;border:1px solid #9bc6ff;border-radius:.35rem;background:#0f2c4d;color:#eaf4ff;padding:.35rem .5rem;min-height:40px}@media(max-width:700px){.raceOverlay{left:.5rem;right:.5rem;top:3.1rem}.raceOverlayCard{width:100%}.debugDrawer{top:.5rem;right:.5rem;left:.5rem;align-items:stretch}.debugDrawerToggle{align-self:flex-end}.debugDrawerPanel{width:100%;height:85vh;max-height:85vh}.debugContent{font-size:16px}.controlRow{grid-template-columns:1fr 92px}}
