:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf4ef;--bg:#020504;--panel:#080d0af0;--panel-2:#0c130f;--line:#243029;--muted:#78847c;--green:#74eba0;--watch:#ffc15d;--phone:#74eba0;--meta:#65b9ff;--vision:#d592ff;--danger:#ef7a6d;background:#020504;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px;min-height:100%}body{background:radial-gradient(circle at 58% -20%,#1a2b20 0,#060a08 42%,#020504 74%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a,select,input{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #fff176}.app-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:30px clamp(18px,4vw,54px);position:relative;overflow:hidden}.app-shell:before{z-index:-1;content:"";pointer-events:none;opacity:.05;background-image:linear-gradient(#ffffff2b 1px,#0000 1px),linear-gradient(90deg,#ffffff2b 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.app-shell:after{content:"";pointer-events:none;border:1px solid #74eba00d;border-radius:50%;width:180px;height:180px;position:absolute;top:28px;right:24px;box-shadow:0 0 0 32px #74eba005,0 0 0 64px #74eba003}.brand-header{z-index:1;border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:22px;display:flex;position:relative}.brand-header>div{min-width:0}.brand-header .eyebrow{color:var(--green);letter-spacing:.22em;margin-bottom:7px;font:700 10px/1 Arial Narrow,sans-serif;display:block}.brand-header h1{letter-spacing:-.035em;margin:0;font:900 clamp(31px,5vw,55px)/.9 Arial Narrow,Impact,sans-serif}.brand-header h1>span{color:var(--green)}.brand-header h1 small{color:var(--green);letter-spacing:.08em;vertical-align:middle;background:#1f492c66;border:1px solid #74eba059;margin-left:10px;padding:4px 6px;font:800 9px/1 monospace;display:inline-block}.brand-header>p{color:#89958d;letter-spacing:.16em;text-align:right;margin:0 0 2px;font:700 9px/1 Arial Narrow,sans-serif}.setup-copy{grid-template-columns:repeat(2,1fr);gap:16px;margin:28px 0 20px;display:grid}.setup-copy>div{align-items:flex-start;gap:12px;display:flex}.step-index{width:32px;height:32px;color:var(--green);border:1px solid #34423a;flex:0 0 32px;place-items:center;font:800 9px monospace;display:grid}.setup-copy p{margin:0}.setup-copy b{letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font:800 12px Arial Narrow,sans-serif;display:block}.setup-copy small{color:var(--muted);font-size:11px;line-height:1.45;display:block}.role-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.role-card{border:1px solid var(--line);text-align:left;background:linear-gradient(135deg,#0c130ff5,#050907f5);grid-template-columns:43px 1fr;gap:13px;min-height:116px;padding:18px;transition:transform .16s,border-color .16s,background .16s;display:grid;position:relative}.role-card:hover{z-index:2;border-color:var(--green);background:linear-gradient(135deg,#132b1bf5,#060c08f5);transform:translateY(-2px)}.role-icon,.device-token{color:var(--green);background:#ffffff05;border:1px solid;place-items:center;font:900 13px monospace;display:grid}.role-icon{width:43px;height:43px}.role-card b{letter-spacing:.06em;margin-top:2px;font:800 13px Arial Narrow,sans-serif;display:block}.role-card small{max-width:220px;color:var(--muted);margin-top:7px;font-size:10px;line-height:1.4;display:block}.role-card em{color:#59655d;letter-spacing:.08em;font:700 7px monospace;position:absolute;bottom:11px;right:13px}.role-card[data-role=watch] .role-icon,.device-token.watch{color:var(--watch)}.role-card[data-role=meta] .role-icon,.device-token.meta{color:var(--meta)}.role-card[data-role=vision] .role-icon,.device-token.vision{color:var(--vision)}.join-bar{grid-template-columns:minmax(250px,1fr) auto auto;gap:9px;margin-top:14px;display:grid}.join-bar label{border:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;display:flex}.join-bar label span{color:var(--muted);letter-spacing:.14em;font:700 8px Arial Narrow,sans-serif}.join-bar input{color:#e5eee8;letter-spacing:.2em;text-align:right;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #435148;outline:0;width:150px;font:900 15px monospace}.join-bar button,.lobby-status button,.dashboard-footer button,.calibration-footer button,.configuration-actions button,.lobby-footer button{color:#b6c0b9;letter-spacing:.08em;background:#0a100c;border:1px solid #35423a;min-height:42px;padding:0 17px;font:800 9px Arial Narrow,sans-serif}button.primary{border-color:var(--green);background:var(--green);color:#041008}button:disabled{cursor:not-allowed;opacity:.42}.secure-note{color:#667269;letter-spacing:.1em;text-align:center;margin:13px 0 0;font:700 8px Arial Narrow,sans-serif}.secure-note i,.lobby-status i,.calibration-status i{vertical-align:1px;background:#7c6334;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.secure-note i,.lobby-status i.online,.calibration-status i.online{background:var(--green);box-shadow:0 0 8px var(--green)}.notice{color:#f5d270;letter-spacing:.04em;text-align:center;min-height:24px;padding-top:9px;font:700 9px monospace}.lobby-status,.calibration-status,.dashboard-status{border-bottom:1px solid var(--line);color:#89958d;letter-spacing:.11em;align-items:center;gap:28px;min-height:46px;font:700 8px Arial Narrow,sans-serif;display:flex;position:relative}.lobby-status>b{color:#dfe8e2;margin-left:auto}.lobby-status button{min-height:30px;padding:0 11px}.lobby-layout{grid-template-columns:minmax(0,1.6fr) minmax(240px,.75fr);gap:11px;margin-top:13px;display:grid}.roster-panel,.preview-panel,.sensor-preview,.configuration-panel,.avatar-stage{border:1px solid var(--line);background:var(--panel)}.roster-panel>header,.preview-panel>header,.sensor-preview>header,.configuration-panel>header,.avatar-stage>header{border-bottom:1px solid var(--line);letter-spacing:.11em;justify-content:space-between;align-items:center;min-height:36px;padding:0 13px;font:800 8px Arial Narrow,sans-serif;display:flex}.roster-panel header em,.preview-panel header em,.sensor-preview header em,.configuration-panel header em,.avatar-stage header em{color:#667269;font-size:7px;font-style:normal}#roster{min-height:294px}.roster-row{border-bottom:1px solid #1f2822;grid-template-columns:38px minmax(100px,.8fr) minmax(150px,1.4fr) 82px;align-items:center;gap:12px;min-height:64px;padding:10px 13px;display:grid}.device-token{width:36px;height:36px;font-size:10px}.roster-row b{letter-spacing:.04em;font:800 11px Arial Narrow,sans-serif;display:block}.roster-row small{color:#69756d;margin-top:4px;font:700 7px monospace;display:block}.roster-row p{color:#7c8980;margin:0;font:700 8px/1.5 monospace}.ready-state{color:#a58142;letter-spacing:.08em;text-align:right;font:800 8px Arial Narrow,sans-serif}.ready-state i{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.roster-row.ready .ready-state{color:var(--green)}.empty-roster{color:#6b776f;text-align:center;place-content:center;min-height:294px;display:grid}.empty-roster>span{border:1px dashed #465349;border-radius:50%;place-items:center;width:50px;height:50px;margin:0 auto 12px;font-size:20px;display:grid}.empty-roster b{letter-spacing:.1em;font:800 10px Arial Narrow,sans-serif}.empty-roster small{margin-top:7px;font-size:9px}.join-hints{gap:8px;padding:11px 13px;display:flex}.join-hints a{color:var(--green);font:700 8px monospace;text-decoration:none}.preview-panel{min-height:363px}#lobby-preview{background:var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.preview-value{background:#080d0a;min-height:96px;padding:15px}.preview-value.wide{grid-column:1/-1}.preview-value span,.preview-value small{color:#647068;text-transform:uppercase;font:700 7px monospace;display:block}.preview-value b{margin:12px 0 5px;font:800 21px Arial Narrow,sans-serif;display:block}.preview-value.wide b{font-size:15px}.preview-empty{color:#657168;text-align:center;background:#080d0a;grid-column:1/-1;margin:0;padding:40px 20px;font-size:10px}.lobby-footer,.calibration-footer,.dashboard-footer{align-items:center;gap:8px;margin-top:12px;display:flex}.lobby-footer p,.calibration-footer p{color:#6f7b72;flex:1;margin:0;font-size:10px;line-height:1.4}.calibration-status{justify-content:flex-start}.calibration-status b{color:#dce5df;margin-left:auto}.calibration-layout{grid-template-columns:minmax(330px,1.1fr) minmax(300px,.9fr);gap:11px;margin-top:13px;display:grid}.calibration-layout.vision{grid-template-columns:minmax(400px,1.35fr) minmax(300px,.75fr)}.sensor-preview,.configuration-panel{min-height:500px}.sensor-preview .radar-card{width:min(360px,100% - 32px);margin:28px auto}.configuration-panel{padding-bottom:12px}.configuration-panel>header{margin-bottom:16px}.field{gap:6px;margin:0 15px 14px;display:grid}.field>span,fieldset legend{color:#6e7a72;letter-spacing:.12em;font:800 8px Arial Narrow,sans-serif}.field select{background:#09100c;border:1px solid #354139;outline:0;width:100%;min-height:42px;padding:0 11px;font:800 10px monospace}fieldset{border:0;margin:0 15px;padding:0}fieldset legend{margin-bottom:7px}.data-toggle{cursor:pointer;background:#080d0a;border:1px solid #29342d;border-bottom:0;grid-template-columns:1fr 20px;align-items:center;min-height:54px;padding:0 12px;display:grid}.data-toggle:last-of-type{border-bottom:1px solid #29342d}.data-toggle input{opacity:0;pointer-events:none;position:absolute}.data-toggle b{font:800 10px Arial Narrow,sans-serif;display:block}.data-toggle small{color:#6e7a72;margin-top:3px;font-size:8px;display:block}.data-toggle>i{border:1px solid #526057;border-radius:8px;width:19px;height:11px;position:relative}.data-toggle>i:after{content:"";background:#647168;border-radius:50%;width:5px;height:5px;transition:transform .15s;position:absolute;top:2px;left:2px}.data-toggle input:checked~i{border-color:var(--green);background:#74eba01f}.data-toggle input:checked~i:after{background:var(--green);box-shadow:0 0 6px var(--green);transform:translate(8px)}.calibration-help{color:#758178;margin:15px;font-size:9px;line-height:1.5}.configuration-actions{grid-template-columns:1fr 1.2fr;gap:8px;margin:15px;display:grid}.configuration-panel.locked .field,.configuration-panel.locked fieldset{pointer-events:none;opacity:.45}.configuration-panel.locked #ready{color:var(--green);background:#214c31}.camera-stage{aspect-ratio:4/3;background:#030504;width:calc(100% - 24px);margin:12px;position:relative;overflow:hidden}.camera-stage video{opacity:0;width:1px;height:1px;position:absolute}.camera-stage canvas{width:100%;height:100%}.camera-stage>span{color:var(--vision);letter-spacing:.06em;background:#010402c7;padding:5px 7px;font:700 7px monospace;position:absolute;bottom:10px;left:10px}.observer-wait{text-align:center;place-content:center;min-height:500px;display:grid}.waiting-ring{border:1px solid #34423a;border-top-color:var(--green);border-radius:50%;width:64px;height:64px;margin:0 auto 20px;animation:1.2s linear infinite spin}.observer-wait h2{letter-spacing:.06em;margin:0;font:900 22px Arial Narrow,sans-serif}.observer-wait p{color:#758078;max-width:370px;font-size:11px;line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-status{grid-template-columns:1fr 1fr 1fr 1fr;display:grid}.dashboard-status>:nth-child(2),.dashboard-status>:nth-child(3){text-align:center}.dashboard-status>:last-child{text-align:right}.record-pulse{background:#f16767;border-radius:50%;width:7px;height:7px;margin-right:7px;animation:1s infinite alternate pulse;display:inline-block;box-shadow:0 0 7px #f16767}.record-pulse.paused{box-shadow:none;background:#687269;animation:none}@keyframes pulse{to{opacity:.35}}.data-stage{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:11px;margin-top:13px;display:grid}.dashboard-view:not(.has-vision) .data-stage{grid-template-columns:1fr}.radar-stage{grid-template-columns:repeat(var(--radar-count), minmax(0, 1fr));gap:8px;display:grid}.radar-card{border:1px solid var(--line);background:var(--panel);min-width:0}.radar-card>header{border-bottom:1px solid var(--line);letter-spacing:.09em;justify-content:space-between;align-items:center;min-height:34px;padding:0 10px;font:800 8px Arial Narrow,sans-serif;display:flex}.radar-card header i{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block;box-shadow:0 0 7px}.radar-card header em{color:#67736b;font-size:7px;font-style:normal}.radar-card.watch header span{color:var(--watch)}.radar-card.phone header span{color:var(--phone)}.radar-card.meta header span{color:var(--meta)}.radar-card svg{width:min(100%,230px);margin:5px auto;display:block}.radar-card svg circle,.radar-card svg path{fill:none;stroke:#28342c;stroke-width:1px}.radar-card svg .minor{stroke-dasharray:2 5}.radar-card svg text{fill:#657169;font:8px sans-serif}.radar-card svg polyline{fill:none;stroke-width:2px;opacity:.62}.radar-card.watch svg polyline{stroke:var(--watch)}.radar-card.phone svg polyline{stroke:var(--phone)}.radar-card.meta svg polyline{stroke:var(--meta)}.sensor-dot{fill-opacity:var(--depth,.6);stroke-width:2px!important}.watch .sensor-dot{fill:var(--watch);filter:drop-shadow(0 0 6px var(--watch));stroke:#fff2d9!important}.phone .sensor-dot{fill:var(--phone);filter:drop-shadow(0 0 6px var(--phone));stroke:#dffff0!important}.meta .sensor-dot{fill:var(--meta);filter:drop-shadow(0 0 6px var(--meta));stroke:#ddecff!important}.angles{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin:0 8px;display:grid}.angles span{color:#68746c;text-align:center;background:#080d0a;padding:6px 3px;font:700 7px monospace}.angles b{color:#e2eae4;margin-top:3px;font:800 12px Arial Narrow,sans-serif;display:block}.sensor-state{color:#69756d;justify-content:center;align-items:center;min-height:27px;font:700 7px monospace;display:flex}.sensor-state i{background:#454f48;border-radius:50%;width:5px;height:5px;margin-right:5px}.sensor-state i.active{background:var(--green);box-shadow:0 0 6px var(--green)}.avatar-stage{min-width:0}.avatar-stage canvas{background:radial-gradient(circle at 50% 38%,#3a5d4938,#030604e6 65%);width:100%;height:min(53vh,470px);display:block}.pose-readout{border-top:1px solid var(--line);padding:10px 13px}.pose-readout span,.pose-readout small{color:#667269;font:700 7px monospace;display:block}.pose-readout b{color:var(--vision);margin:5px 0;font:800 14px monospace;display:block}.dashboard-footer{justify-content:flex-end}.dashboard-footer button:first-child{margin-right:auto}.no-data{color:#68746c;text-align:center}@media (width<=820px){.app-shell{padding:20px 14px}.role-grid{grid-template-columns:repeat(2,1fr)}.lobby-layout,.calibration-layout,.calibration-layout.vision,.data-stage{grid-template-columns:1fr}.preview-panel{min-height:auto}.radar-stage{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.avatar-stage canvas{height:440px}.sensor-preview,.configuration-panel{min-height:auto}}@media (width<=560px){.brand-header{align-items:flex-start}.brand-header>p{max-width:110px;line-height:1.4}.brand-header h1{font-size:32px}.setup-copy,.role-grid{grid-template-columns:1fr}.role-card{min-height:96px}.join-bar{grid-template-columns:1fr 1fr}.join-bar label{grid-column:1/-1}.lobby-status,.calibration-status{flex-wrap:wrap;gap:10px 18px;padding:8px 0}.lobby-status>b{margin-left:0}.roster-row{grid-template-columns:38px 1fr 80px}.roster-row p{display:none}.lobby-footer,.calibration-footer{flex-wrap:wrap}.lobby-footer p,.calibration-footer p{flex-basis:100%}.dashboard-status{grid-template-columns:repeat(2,1fr);row-gap:8px;padding:8px 0}.dashboard-status>*{text-align:left!important}.radar-stage{grid-template-columns:1fr}.dashboard-footer{grid-template-columns:repeat(2,1fr);display:grid}.dashboard-footer button:first-child{margin:0}.dashboard-footer .primary{grid-column:1/-1}}@media (height<=650px) and (width>=500px){.app-shell{padding-top:15px;padding-bottom:10px}.brand-header{padding-bottom:12px}.brand-header h1{font-size:35px}.setup-copy{margin:14px 0 12px}.role-card{min-height:90px;padding:12px}.sensor-preview,.configuration-panel{min-height:420px}.avatar-stage canvas{height:380px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.single-page{width:min(980px,100%);min-height:100vh;margin:0 auto;padding:clamp(18px,4vw,42px)}.compact-brand{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:16px;display:flex}.compact-brand>div>span{letter-spacing:-.025em;font:900 clamp(24px,5vw,42px)/1 Arial Narrow,Impact,sans-serif}.compact-brand>div>span span{color:var(--green)}.compact-brand small{color:var(--green);vertical-align:middle;border:1px solid #74eba059;margin-left:7px;padding:3px 5px;font:800 8px monospace}.compact-brand p,.compact-brand>b{color:#728078;letter-spacing:.12em;margin:5px 0 0;font:700 8px monospace}.compact-brand>b{text-align:right;margin:0 0 3px}.section-label{color:var(--green);letter-spacing:.18em;margin:0;font:800 8px Arial Narrow,sans-serif}.room-card-main{background:linear-gradient(145deg,#0a110df7,#040806fa);border:1px solid #2d3a32;margin:22px auto 0;padding:clamp(18px,3vw,28px);box-shadow:0 24px 90px #0000005c}.room-code{color:#f5fbf7;letter-spacing:.16em;text-align:center;text-shadow:0 0 34px #74eba029;margin:7px 0 11px;font:900 clamp(42px,9vw,78px)/1 monospace}.invite-row{grid-template-columns:1fr auto;gap:8px;display:grid}.invite-row input{border:1px solid var(--line);color:#839087;background:#060a08;outline:0;min-width:0;height:42px;padding:0 12px;font:9px monospace}.invite-row button,.host-actions button,.controller-actions button,.calibration-actions button{color:#b8c3bb;letter-spacing:.09em;background:#0a100c;border:1px solid #35433a;min-height:42px;padding:0 15px;font:800 8px Arial Narrow,sans-serif}.room-status{color:#ba934c;text-align:center;margin:13px 0;font:800 9px monospace}.room-status i,#controller-connection i{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.room-status.connected{color:var(--green)}.room-grid-simple{grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:9px;display:grid}.room-subcard{border:1px solid var(--line);background:#060a08;min-height:290px}.room-subcard>header{border-bottom:1px solid var(--line);letter-spacing:.1em;justify-content:space-between;align-items:center;height:34px;padding:0 11px;font:800 8px Arial Narrow,sans-serif;display:flex}.room-subcard header em{color:#5e6a62;font-size:7px;font-style:normal}.simple-player{border-bottom:1px solid #1d2721;grid-template-columns:38px minmax(90px,.8fr) minmax(120px,1.2fr) 78px;align-items:center;gap:10px;min-height:61px;padding:9px 11px;display:grid}.simple-player b{font:800 10px Arial Narrow,sans-serif;display:block}.simple-player small{color:#67736b;margin-top:3px;font:7px monospace;display:block}.simple-player p{color:#748078;margin:0;font:7px/1.5 monospace}.simple-player>em{color:#af8845;letter-spacing:.08em;text-align:right;font:800 7px Arial Narrow,sans-serif}.simple-player>em i{background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.simple-player.ready>em{color:var(--green)}.roster-empty{color:#657169;text-align:center;place-content:center;min-height:254px;display:grid}.roster-empty span{border:1px dashed #46534a;border-radius:50%;place-items:center;width:44px;height:44px;margin:0 auto 11px;display:grid}.roster-empty b{letter-spacing:.1em;font:800 9px Arial Narrow,sans-serif}.roster-empty small{max-width:290px;margin-top:7px;font-size:8px;line-height:1.5}#host-preview{min-height:196px}.preview-line{border-bottom:1px solid #1d2721;min-height:52px;padding:11px}.preview-line span{color:#68746c;text-transform:uppercase;font:700 7px monospace;display:block}.preview-line b{color:#dce6df;margin-top:6px;font:800 10px monospace;display:block}.preview-line.vision b{color:var(--vision)}.preview-waiting{color:#657169;text-align:center;padding:48px 18px;font-size:9px;line-height:1.5}.capture-summary{border-top:1px solid var(--line);padding:12px}.capture-summary span,.capture-summary small{color:#76827a;font:700 8px monospace;display:block}.capture-summary b{color:#e5eee8;font-size:15px}.capture-summary small{margin-top:6px;font-size:7px}.host-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.host-actions button:first-child{margin-right:auto}.host-actions .primary{min-width:230px}.controller-page{grid-template-rows:auto 1fr auto;display:grid}.controller-join-card,.controller-active-card{background:var(--panel);border:1px solid #2e3a32;width:min(540px,100%);margin:28px auto 0;padding:24px;box-shadow:0 28px 100px #0006}.controller-join-card h2{letter-spacing:-.01em;margin:8px 0 22px;font:900 28px Arial Narrow,sans-serif}.controller-join-card>label{gap:6px;margin-bottom:12px;display:grid}.controller-join-card label>span{color:#6d7971;letter-spacing:.12em;font:800 8px Arial Narrow,sans-serif}.controller-join-card input,.controller-join-card select{background:#070c09;border:1px solid #35423a;outline:0;width:100%;height:44px;padding:0 11px;font:800 11px monospace}.controller-join-card #room-input{text-transform:uppercase;letter-spacing:.18em}.controller-connect{letter-spacing:.1em;border:0;width:100%;min-height:48px;margin-top:5px;font:900 10px Arial Narrow,sans-serif}.controller-note{color:#68746c;text-align:center;margin:12px 0 0;font-size:8px;line-height:1.5}.controller-active-card{padding:0;overflow:hidden}.controller-live-head{border-bottom:1px solid var(--line);color:#b98f48;justify-content:space-between;align-items:center;min-height:42px;padding:0 13px;font:800 8px monospace;display:flex}#controller-connection i.online{color:var(--green);background:var(--green);box-shadow:0 0 7px var(--green)}#ready-indicator{color:#c09a57;border:1px solid #5b4930;padding:4px 6px}#ready-indicator.ready{color:var(--green);border-color:#74eba059}.controller-preview{min-height:330px;padding:12px}.controller-preview .radar-card{width:min(310px,100%);margin:0 auto}.controller-preview .camera-stage{width:100%;margin:0}.controller-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px;display:flex}.controller-actions button:first-child{margin-right:auto}.calibration-overlay{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000301c7;place-items:center;padding:16px;display:none;position:fixed;inset:0}.calibration-overlay.open{display:grid}.calibration-popover{background:#080e0a;border:1px solid #3a4a40;width:min(500px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 30px 120px #000}.calibration-popover>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px;display:flex}.calibration-popover h2{margin:5px 0 0;font:900 24px Arial Narrow,sans-serif}.calibration-popover header button{color:#9da8a0;background:#0b120e;border:1px solid #35423a;width:32px;height:32px;font-size:20px}.calibration-instruction{color:#849088;margin:16px 18px;font-size:9px;line-height:1.5}.calibration-popover .field,.calibration-popover fieldset{margin-left:18px;margin-right:18px}.calibration-actions{justify-content:flex-end;gap:8px;padding:18px;display:flex}.calibration-actions .primary{min-width:150px}.dashboard-page .compact-brand{margin-bottom:0}.dashboard-page .dashboard-status{grid-template-columns:repeat(3,1fr)}.dashboard-page .data-stage{margin-top:10px}.dashboard-page .radar-stage{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}@media (width<=700px){.single-page{padding:15px 12px}.compact-brand>b{display:none}.room-grid-simple{grid-template-columns:1fr}.room-code{letter-spacing:.1em}.invite-row{grid-template-columns:1fr}.simple-player{grid-template-columns:38px 1fr 75px}.simple-player p{display:none}.room-subcard{min-height:auto}.host-actions{grid-template-columns:1fr;display:grid}.host-actions button:first-child{order:2;margin:0}.host-actions .primary{min-width:0}.controller-join-card{margin-top:18px;padding:18px}.controller-preview{min-height:280px}.dashboard-page .data-stage{grid-template-columns:1fr}}
