:root{--hud:#7dff9a;--warn:#ff5a4f;--panel-bg:#080e14c7;--panel-fg:#d8e6ef;--muted:#8ea3b0}*{box-sizing:border-box}html,body{height:100%;color:var(--panel-fg);background:#000;margin:0;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#gl,#hud{width:100%;height:100%;display:block;position:absolute;inset:0}#hud{pointer-events:none}.panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #ffffff14;border-radius:8px;padding:14px 18px;font-size:13px;line-height:1.5;position:absolute}.hidden{display:none!important}#help{width:calc(100% - 32px);max-width:560px;top:50%;left:50%;transform:translate(-50%,-50%)}#help h2{margin:0 0 8px;font-size:18px;font-weight:600}#help table{border-collapse:collapse;width:100%}#help td{vertical-align:top;padding:3px 8px 3px 0}#help td:first-child{white-space:nowrap;color:var(--hud);font-family:Consolas,monospace}#help .note{color:var(--muted);margin:10px 0 0}#telemetry{width:270px;max-height:calc(100% - 200px);padding:10px 12px;font-family:Consolas,monospace;font-size:12px;top:64px;left:16px;overflow:auto}#telemetry h3{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:8px 0 2px;font-size:11px;font-weight:600}#telemetry h3:first-child{margin-top:0}#telemetry .row{justify-content:space-between;display:flex}#telemetry .row span:last-child{color:#fff;font-variant-numeric:tabular-nums}#banner{text-align:center;background:var(--panel-bg);border-radius:8px;padding:16px 28px;font-size:15px;position:absolute;top:28%;left:50%;transform:translate(-50%)}#banner h1{color:var(--warn);letter-spacing:.04em;margin:0 0 6px;font-size:26px}#banner.paused h1{color:var(--hud)}#loading{color:var(--muted);font-size:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.screen{position:absolute;inset:0}.muted{color:var(--muted)}.small{font-size:12px}.warn{color:var(--warn)}button{font:inherit;color:var(--panel-fg);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;padding:9px 16px;transition:background .12s,border-color .12s}button:hover{background:#ffffff1f}button.primary{color:#fff;background:#1f7a4a;border-color:#2fae6c;font-weight:600}button.primary:hover{background:#26935a}button:disabled{opacity:.4;cursor:default}#menu{background:linear-gradient(90deg,#04080ce0 0%,#04080c80 45%,#04080c00 75%);align-items:center;padding-left:7vw;display:flex}.menu-box h1{letter-spacing:.08em;margin:0;font-size:54px;font-weight:800}.menu-box h1 span{color:var(--hud);margin-left:6px}.tagline{color:var(--muted);margin:4px 0 26px}.menu-buttons{flex-direction:column;gap:10px;width:260px;display:flex}.menu-buttons button{text-align:left;padding:12px 18px;font-size:16px}.menu-panel{background:var(--panel-bg);border:1px solid #ffffff14;border-radius:10px;width:min(620px,52vw);padding:18px 22px;position:absolute;top:8vh;bottom:8vh;right:4vw;overflow:auto}.credits{max-width:60vw;position:absolute;bottom:12px;left:7vw}#hangar{pointer-events:none}#hangar>div{pointer-events:auto}.hg-left,.hg-right{background:var(--panel-bg);border:1px solid #ffffff14;border-radius:10px;padding:14px 16px;position:absolute;top:16px;bottom:16px;overflow:auto}.hg-left{width:min(420px,34vw);left:16px}.hg-right{flex-direction:column;width:min(340px,28vw);display:flex;right:16px}.hg-left h2{margin:0 0 6px}.hg-left h3,.hg-right h3{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:14px 0 6px;font-size:12px}.cards{flex-direction:column;gap:6px;display:flex}.card{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.card.sel{border-color:var(--hud);background:#7dff9a1a}.card-name{font-weight:600}.card-stats{color:var(--hud);font-family:Consolas,monospace;font-size:12px}.card-desc{color:var(--muted);font-size:12px}.slider{margin:10px 0;font-size:13px;display:block}.slider b{float:right;color:var(--hud);font-family:Consolas,monospace}.slider input[type=range]{accent-color:#2fae6c;width:100%;margin-top:6px}.check,.text{margin:10px 0;font-size:13px;display:block}.text input{width:100%;font:inherit;color:var(--panel-fg);background:#ffffff0f;border:1px solid #ffffff29;border-radius:5px;margin-top:6px;padding:7px 9px;display:block}#hg-summary{flex:1;font-size:13px}#hg-summary.busy{opacity:.55}#hg-summary .row,.menu-panel .row{justify-content:space-between;padding:2px 0;display:flex}#hg-summary .row span:last-child{font-family:Consolas,monospace}#hg-summary .row.warn span:last-child{color:var(--warn)}#hg-summary .big{color:var(--hud);font-size:26px;font-weight:700}#hg-summary .big small{color:var(--muted);font-size:12px;font-weight:400;display:block}table.env{border-collapse:collapse;width:100%;font-family:Consolas,monospace;font-size:12px}table.env th{text-align:left;color:var(--muted);padding:2px 4px;font-weight:400}table.env td{padding:2px 4px}table.env tr.best td{color:var(--hud);font-weight:700}.lim-flutter{color:#ff9b6a}.lim-heat{color:#ffc14d}.lim-engine{color:#e48cff}.lim-aero{color:#8fd0ff}.hg-buttons{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.modal{z-index:20;width:min(440px,100% - 32px);top:50%;left:50%;transform:translate(-50%,-50%)}.modal h2{margin:0 0 8px}table.board{border-collapse:collapse;width:100%;font-size:13px}table.board th,table.board td{text-align:left;border-bottom:1px solid #ffffff0f;padding:5px 6px}table.board td.num{text-align:right;font-family:Consolas,monospace}table.board tr.me td{color:var(--hud)}.tabs{flex-wrap:wrap;gap:6px;margin:8px 0 12px;display:flex}.tabs button.sel{border-color:var(--hud);background:#7dff9a1a}.race-card{text-align:left;width:100%;margin:6px 0;display:block}.race-card b{font-size:15px;display:block}#banner .muted{color:var(--muted)}#banner .row{justify-content:space-between;gap:24px;display:flex}#banner .btns{justify-content:center;gap:8px;margin-top:12px;display:flex}.close-x{float:right;padding:4px 10px;position:sticky;top:0}.select{width:100%;font:inherit;color:var(--panel-fg);background:#121a21;border:1px solid #ffffff29;border-radius:6px;margin-bottom:10px;padding:8px}.small-btn{padding:4px 10px;font-size:12px}.menu-panel h3{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:16px 0 4px;font-size:12px}.menu-panel h2{margin:0 0 8px}#banner{min-width:340px}#banner b{color:#fff;font-size:18px}td.nowrap{white-space:nowrap}.devices{margin:4px 0 10px;padding-left:18px;font-size:13px}table.ctl td{vertical-align:middle}.axbar{background:#ffffff14;border-radius:4px;width:110px;height:8px;position:relative}.axbar:not(.abs):after{content:"";background:#ffffff59;width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.axbar i{background:var(--hud);border-radius:4px;position:absolute;top:0;bottom:0}.btn-led{background:#ffffff1f;border-radius:50%;width:12px;height:12px;display:inline-block}.btn-led.on{background:var(--hud);box-shadow:0 0 8px var(--hud)}#ctl-hint.capturing{color:#ffd166;font-weight:600}.modal.wide{width:min(760px,100% - 32px);max-height:calc(100% - 48px);overflow:auto}
