:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f14;--panel:#141a22e0;--panel-solid:#141a22;--panel-2:#242e3ce6;--fg:#f2f5f8;--fg-muted:#9aa7b5;--line:#ffffff17;--accent:#e8b84a;--accent-fg:#1a1200;--tap:46px;--radius:14px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-user-select:none;user-select:none;font-size:15px;line-height:1.4}button{font:inherit;color:inherit}h2,h3,p{margin:0}.hud{pointer-events:none;z-index:2;position:fixed;inset:0}.hud>*{pointer-events:auto}.hud-top{top:max(12px, env(safe-area-inset-top));position:absolute;left:50%;transform:translate(-50%)}.segment{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;gap:4px;padding:4px;display:flex}.segment button{cursor:pointer;background:0 0;border:none;border-radius:999px;min-height:38px;padding:0 18px;font-weight:600}.segment button[aria-selected=true]{background:var(--panel-2);color:#fff}.hud-right{right:max(12px, env(safe-area-inset-right));flex-direction:column;gap:8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hud-gap{height:6px}.hud-btn{min-height:var(--tap);min-width:var(--tap);border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;transition:transform 80ms,background .12s;display:inline-flex}.hud-btn:active{transform:scale(.96)}.hud-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.hud-btn.primary{background:var(--accent);color:var(--accent-fg);border-color:#0000;font-weight:700}.hud-btn.icon{width:var(--tap);padding:0;font-size:18px}.hud-title{left:max(14px, env(safe-area-inset-left));top:max(14px, env(safe-area-inset-top));background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:12px;padding:8px 14px;font-size:16px;position:absolute}.hud-prompt{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);white-space:nowrap;border-radius:14px;align-items:center;gap:10px;padding:8px 10px 8px 16px;display:flex;position:absolute;top:72px;left:50%;transform:translate(-50%)}.hud-prompt.walk{color:var(--fg-muted);padding:10px 16px}.hud-bottom{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));grid-template-columns:1fr auto;align-items:end;gap:10px;width:min(760px,100vw - 24px);margin:0 auto;display:grid;position:absolute}.hud-btn.playbook{height:var(--tap)}.transport{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:10px 12px;display:flex;overflow:hidden}.transport-row{grid-template-columns:var(--tap) var(--tap) 1fr auto;align-items:center;gap:8px;display:grid}.scrub{flex-direction:column;gap:4px;display:flex}.scrub input[type=range]{width:100%;height:28px;accent-color:var(--accent);cursor:pointer;margin:0}.scrub-phases{gap:3px;height:3px;display:flex}.scrub-phases span{background:var(--line);border-radius:2px}.scrub-phases span.on{background:var(--accent)}.speeds{gap:4px;display:flex}.speeds .hud-btn{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;min-width:0;min-height:36px;padding:0 10px}.transport-notes{flex-direction:column;gap:2px;min-width:0;padding:0 4px 2px;display:flex}.transport-notes .step{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.transport-notes p{color:var(--fg);max-height:3em;font-size:14px;line-height:1.45;overflow:hidden}.panel-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05080c73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.panel{background:var(--panel-solid);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:min(560px,100%);max-height:min(80vh,720px);display:flex;overflow:hidden}.panel-head{padding:18px 20px 10px}.panel-head h2{font-size:20px}.panel-head p{color:var(--fg-muted);font-size:14px}.panel-body{flex-direction:column;gap:14px;padding:0 12px 12px;display:flex;overflow-y:auto}.panel-body h3{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);padding:8px 8px 6px;font-size:12px;font-weight:800}.play-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;display:flex}.play-row:hover,.play-row:focus-visible{background:var(--panel-2)}.play-row.on{border-color:var(--accent)}.play-row .name{font-size:16px;font-weight:700}.play-row .sum{color:var(--fg-muted);font-size:13.5px}.panel-foot{border-top:1px solid var(--line);justify-content:flex-end;padding:12px;display:flex}.panel-empty{text-align:center;color:var(--fg-muted);padding:30px}.hud-prompt.walk.good{color:#bff2c6;border-color:#5ad36a}.hud-prompt.walk.off{border-color:var(--accent);color:#ffe6a8}.panel.summary .panel-head h2{letter-spacing:-.02em;font-size:40px}.panel.summary .muted{color:var(--fg-muted);font-size:14px;font-weight:500}.step-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 12px;padding:10px 8px;display:grid}.step-row .name{font-weight:700}.step-row .grade{text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:700}.step-row .grade.good{color:#5ad36a}.step-row .grade.ok{color:var(--accent)}.step-row .grade.off{color:#ff8a8a}.step-row .muted{grid-column:1/-1}.panel-foot{gap:8px}.tools{left:max(12px, env(safe-area-inset-left));flex-direction:column;gap:10px;max-width:170px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.tool-group{flex-direction:column;gap:6px;display:flex}.tools .hud-btn{justify-content:flex-start;min-height:42px}.hud-btn.danger{color:#ff9c9c}.tool-hint{color:var(--fg-muted);padding:4px 6px;font-size:13px;line-height:1.35}.hud-title{border:1px solid var(--line);cursor:pointer;text-align:left}.hud-title .muted{color:var(--fg-muted);font-weight:500}.steps{flex-wrap:wrap;gap:6px;padding:2px 4px 0;display:flex}.step-chip{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;min-width:38px;min-height:34px;padding:0 10px}.transport-notes.editable{cursor:text}.transport-notes.editing{gap:6px}.field{width:100%;font:inherit;color:var(--fg);border:1px solid var(--line);background:#ffffff0f;border-radius:10px;min-height:40px;padding:9px 11px}.field:focus{outline:2px solid var(--accent);outline-offset:0}.field:disabled{opacity:.7}textarea.field{resize:vertical}.transport-notes .row{justify-content:flex-end;display:flex}.panel-body.form{gap:12px;padding:4px 20px 16px}.panel-body.form label,.panel-body.form .label{color:var(--fg-muted);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.panel-body .keys{color:var(--fg);flex-direction:column;gap:6px;margin:6px 0 0;padding-left:18px;font-weight:400;display:flex}.segment.small button{min-height:34px;padding:0 14px}.hud-btn.wide{width:100%;margin:6px 0 4px}.hud-btn.small{min-height:36px;padding:0 12px;font-size:14px}.play-row{flex-direction:row;align-items:center;gap:8px;padding:0;display:flex}.play-row .play-main{min-width:0}.play-row .play-main .sum{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.play-row .play-main{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.play-row .play-main:hover{background:var(--panel-2)}button.play-row{flex-direction:column;align-items:flex-start;padding:12px 14px}.book{border:1px solid var(--line);border-radius:12px;overflow:hidden}.book-row{width:100%}.book-body{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:6px 8px 10px;display:flex}.row.wrap{flex-wrap:wrap;gap:6px;padding:4px 4px 8px;display:flex}.hud-bottom-right{flex-direction:column;align-items:stretch;gap:8px;display:flex}.export{position:relative}.export .menu{flex-direction:column;gap:6px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0}.hud-btn.progress{cursor:default;min-width:170px;position:relative;overflow:hidden}.hud-btn.progress .bar{background:#e8b84a40;position:absolute;top:0;bottom:0;left:0}.hud-btn.progress span:last-child{position:relative}.webcam{right:max(12px, env(safe-area-inset-right));top:max(12px, env(safe-area-inset-top));flex-direction:column;align-items:flex-end;gap:8px;max-width:260px;display:flex;position:absolute}.webcam-row{gap:6px;display:flex}.webcam-view{border:1px solid var(--line);background:#000;border-radius:12px;width:240px;height:180px}.touch-pad{left:max(20px, env(safe-area-inset-left));border:1px solid var(--line);touch-action:none;background:#ffffff0f;border-radius:50%;width:140px;height:140px;position:absolute;bottom:200px}.touch-pad .knob{background:#e8b84a80;border-radius:50%;width:36px;height:36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch-look{touch-action:none;width:50vw;position:absolute;top:120px;bottom:200px;right:0}.hud.m{--m-h:40px;font-size:14px}.m-bar{padding:6px max(8px, env(safe-area-inset-right)) 6px max(8px, env(safe-area-inset-left));pointer-events:auto;background:linear-gradient(#0b0f14eb,#0b0f1499);align-items:center;gap:6px;display:flex;position:absolute;left:0;right:0}.m-bar.top{padding-top:max(6px, env(safe-area-inset-top));top:0}.m-bar.bottom{padding-bottom:max(6px, env(safe-area-inset-bottom));background:linear-gradient(#0b0f1499,#0b0f14eb);bottom:0}.m-spacer{flex:1}.m-btn{height:var(--m-h);min-width:var(--m-h);border:1px solid var(--line);font:inherit;color:var(--fg);cursor:pointer;white-space:nowrap;background:#1c2430d9;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.m-btn:active{transform:scale(.96)}.m-btn:disabled{opacity:.4}.m-btn[aria-pressed=true],.m-btn[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.m-btn.primary{background:var(--accent);color:var(--accent-fg);border-color:#0000;font-weight:700}.m-btn.danger{color:#ff9c9c}.m-btn.wide{width:100%}.m-btn.step{font-variant-numeric:tabular-nums}.m-title{height:var(--m-h);border:1px solid var(--line);max-width:34vw;color:var(--fg);font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#1c2430d9;border-radius:10px;padding:0 10px;font-weight:700;overflow:hidden}.m-seg{background:#1c2430d9;padding:3px}.m-seg button{min-height:32px;padding:0 12px;font-size:14px}.m-scrub{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.m-scrub input[type=range]{width:100%;height:26px;accent-color:var(--accent);margin:0}.m-scrub .scrub-phases{height:3px}.m-prompt{top:calc(var(--m-h) + 16px);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);white-space:nowrap;border-radius:12px;align-items:center;gap:6px;max-width:calc(100vw - 16px);padding:6px 8px;display:flex;position:absolute;left:50%;overflow-x:auto;transform:translate(-50%)}.m-prompt>span{padding:0 6px;font-weight:700}.m-walk{top:calc(var(--m-h) + 14px);max-width:calc(100vw - 16px);position:absolute;left:50%;transform:translate(-50%)}.m-walk .hud-prompt{white-space:normal;text-align:center;padding:6px 12px;font-size:13px;position:static;transform:none}.m-sheet{left:8px;right:8px;bottom:calc(var(--m-h) + 20px + env(safe-area-inset-bottom));background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;gap:6px;padding:8px;display:flex;position:absolute}.m-sheet.strip{scrollbar-width:none;align-items:center;overflow-x:auto}.m-div{background:var(--line);flex:none;align-self:stretch;width:1px;margin:0 2px}.m-hint{color:var(--accent);white-space:nowrap;padding:0 6px;font-weight:600}.m-sheet.more{width:min(280px,100vw - 16px);bottom:auto;left:auto;top:calc(var(--m-h) + 16px);flex-direction:column}.m-sheet.more .export.compact,.m-sheet.more .export.compact .menu{flex-direction:column;gap:6px;display:flex;position:static}.m-sheet.step{flex-direction:column;max-height:45vh;overflow-y:auto}.m-steps{flex-wrap:wrap;gap:6px;display:flex}.m-sheet.step .transport-notes p{max-height:none;font-size:14px}.panel-head{position:relative}.panel-x{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:10px;width:36px;height:36px;font-size:20px;line-height:1;position:absolute;top:10px;right:10px}.hud.m .panel-backdrop{justify-content:stretch;align-items:stretch;padding:0}.hud.m .panel{border:none;border-radius:0;width:100%;max-width:none;height:100%;max-height:none}.hud.m .panel-head{padding:max(8px, env(safe-area-inset-top)) 56px 6px max(12px, env(safe-area-inset-left))}.hud.m .panel-head h2{font-size:17px}.hud.m .panel-head p{display:none}.hud.m .panel-x{top:max(8px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right))}.hud.m .panel-body{padding:0 max(8px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));gap:8px}.hud.m .panel-body h3{padding:8px 6px 2px;font-size:11px}.hud.m .play-row .play-main,.hud.m button.play-row{padding:8px 10px}.hud.m .play-row .name{font-size:15px}.hud.m .play-row .sum{font-size:12.5px}.hud.m .hud-btn.wide{min-height:40px;margin:4px 0 2px}.hud.m .play-row .hud-btn.small{margin-right:6px}.hud.m .hud-btn.small{min-height:34px;font-size:13px}.hud.m .panel-foot.closer{display:none}.hud.m .panel-foot{padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.hud.m .panel.summary .panel-head h2{font-size:30px}.hud.m .panel.summary .panel-head p{display:block}.hud.m .panel-body.form{gap:8px;padding:4px 12px 12px}.hud.m .field{min-height:36px;padding:7px 10px;font-size:14px}.hud.m .step-row{padding:8px 6px}.hud.m .segment.small button{min-height:30px;padding:0 12px;font-size:13px}.hud.m .touch-pad{left:max(14px, env(safe-area-inset-left));bottom:calc(var(--m-h) + 24px + env(safe-area-inset-bottom));opacity:.55;background:#ffffff0d;width:96px;height:96px}.hud.m .touch-pad .knob{width:28px;height:28px}.hud.m .touch-look{top:calc(var(--m-h) + 12px);bottom:calc(var(--m-h) + 12px);width:55vw}.webcam.compact{top:calc(var(--m-h) + 14px);gap:6px;max-width:170px;right:8px}.webcam.compact .webcam-view{width:160px;height:120px}.webcam.compact .tool-hint{font-size:12px}.login-backdrop{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05080c8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.login{background:var(--panel-solid);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:12px;width:min(360px,100%);padding:22px;display:flex}.login h1{margin:0;font-size:22px}.login .muted{color:var(--fg-muted);font-size:14px}.login label{color:var(--fg-muted);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.login .field{min-height:44px;font-size:16px}.login-error{color:#ff9c9c;font-size:14px}.role-pill{color:var(--fg-muted);font-weight:500}.hud-account{right:max(12px, env(safe-area-inset-right));top:max(12px, env(safe-area-inset-top));align-items:center;gap:8px;font-size:13px;display:flex;position:absolute}
