:root{--bg: #07111f;--bg2: #0a1726;--panel: #0e1d2d;--panel2: #122338;--panel3: #162a40;--line: #263b50;--line2: #31506a;--text: #edf4fb;--muted: #91a6b8;--dim: #687f92;--cyan: #27d7c8;--blue: #4a9eff;--green: #50d890;--amber: #ffb84d;--red: #ff6477;--shadow: 0 12px 30px rgb(0 0 0 / 24%);color-scheme:dark;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.app{height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 18% -10%,rgb(74 158 255 / 13%),transparent 36%),var(--bg)}.topbar{height:62px;flex:none;display:flex;align-items:center;gap:16px;padding:0 18px;border-bottom:1px solid var(--line);background:#07111ff7}.brand{min-width:260px;display:flex;align-items:center;gap:10px}.logo{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#04121c;font-weight:900}.brand strong{display:block;font-size:13px;letter-spacing:1px}.brand small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.race-block,.status-strip,.chip,.role-switch,.card-head,.card-head .right{display:flex;align-items:center}.race-block{gap:10px}.live-pulse{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px #ff64771c}.live-pulse.prestart{background:var(--amber);box-shadow:0 0 0 5px #ffb84d1a}.live-pulse.unknown{background:var(--dim);box-shadow:0 0 0 5px #687f921a}.race-name{font-size:14px;font-weight:700}.clock{font-size:23px;font-weight:760;letter-spacing:1.3px;font-variant-numeric:tabular-nums}.spacer,.grow{flex:1}.status-strip{gap:7px}.chip{height:29px;gap:6px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#ffffff05;color:var(--muted);font-size:11px}.dot{width:7px;height:7px;flex:none;border-radius:50%;background:currentColor}.dot.success{color:var(--green)}.dot.warning{color:var(--amber)}.dot.danger{color:var(--red)}.role-switch{gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#091522}.role-switch button{border:0;border-radius:6px;padding:7px 11px;background:transparent;color:var(--muted);cursor:pointer}.role-switch button.active{background:var(--panel2);color:var(--text)}.topbar-settings{height:35px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#112337;color:var(--muted);font-size:11px;cursor:pointer}.topbar-settings:hover{border-color:var(--line2);color:var(--text)}.preflight-topbar{width:148px;height:35px;flex:none;display:grid;grid-template-columns:9px minmax(0,1fr);align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#0b1a2a;color:var(--muted);text-align:left;cursor:pointer}.preflight-topbar:hover{border-color:var(--line2);color:var(--text)}.preflight-topbar.success{border-color:#50d8904d}.preflight-topbar.warning{border-color:#ffb84d57}.preflight-topbar.danger{border-color:#ff647757}.preflight-topbar b,.preflight-topbar small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preflight-topbar b{color:var(--text);font-size:10px;font-weight:720}.preflight-topbar small{margin-top:1px;color:var(--muted);font-size:9px}.minimum-notice{display:none;flex:1;place-items:center;padding:24px;text-align:center;color:var(--muted)}.screen{min-height:0;flex:1}.card{min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#122338fa,#0c1b2bfa);box-shadow:var(--shadow)}.card-head{height:43px;gap:9px;padding:0 12px;border-bottom:1px solid var(--line);background:#ffffff04;font-size:13px}.card-head strong{font-weight:720}.card-head .right{margin-left:auto;gap:7px}.tag{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--muted);font-size:10px}.tag.green{border-color:#50d89059;background:#50d89012;color:var(--green)}.tag.amber{border-color:#ffb84d59;background:#ffb84d12;color:var(--amber)}.tag.red{border-color:#ff647759;background:#ff647712;color:var(--red)}.tiny,.action{border:1px solid var(--line);border-radius:7px;background:#112337;color:var(--muted);cursor:pointer}.tiny{height:28px;padding:0 9px;font-size:11px}.icon-tiny{display:inline-flex;align-items:center;gap:5px}.rehearsal-button{width:108px;justify-content:center}.video-check-all{width:104px;margin-left:auto;justify-content:center}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.tiny:hover,.action:hover{border-color:var(--line2);color:var(--text)}.tiny:disabled,.action:disabled{cursor:not-allowed;opacity:.55}.tiny.active{border-color:#27d7c88c;background:#27d7c814;color:var(--cyan)}.tiny.danger{border-color:#ff647757;background:#ff647712;color:#ff9ba8}.tiny.icon-only{width:32px;padding:0;justify-content:center}.route-import-control{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.route-coordinate-select{height:28px;max-width:152px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:#081827;color:var(--muted);font-size:11px;cursor:pointer}.route-coordinate-select:hover{border-color:var(--line2);color:var(--text)}.route-coordinate-select:focus-visible{outline:2px solid rgb(39 215 200 / 60%);outline-offset:2px}.route-coordinate-select-wide{max-width:none;min-width:168px}.commentator-screen{display:flex;gap:10px;padding:10px}.comment-left{width:56%;display:grid;grid-template-rows:minmax(0,1fr) 112px 96px;gap:10px}.comment-right{min-width:0;flex:1;display:grid;grid-template-rows:minmax(190px,var(--commentator-video-height, 300px)) 12px minmax(0,1fr);gap:0}.map-body{position:relative;height:calc(100% - 43px);background:#091724}.map-body-amap{background:#07111f;cursor:default;touch-action:auto}.map-body svg{width:100%;height:100%;display:block}.svg-course-map.tilted{transform:perspective(980px) rotateX(7deg);transform-origin:center}.amap-canvas,.amap-fallback-layer{position:absolute;inset:0}.amap-canvas{background:#07111f}.amap-fallback-layer{z-index:2}.map-provider-pill{position:absolute;z-index:6;top:12px;right:12px;border:1px solid rgb(39 215 200 / 38%);border-radius:8px;padding:6px 9px;background:#07111fdb;color:var(--cyan);font-size:10px}.map-provider-pill.loading{border-color:#ffb84d59;color:var(--amber)}.map-provider-pill.failed{border-color:#ff647759;color:var(--red)}.map-body{cursor:grab;touch-action:none}.map-body:active{cursor:grabbing}.map-body-amap:active{cursor:default}.map-viewport-controls{position:absolute;z-index:8;top:56px;right:12px;display:grid;gap:6px}.map-control-button{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgb(74 158 255 / 34%);border-radius:8px;background:#07111fe0;color:#cbe3ff;cursor:pointer}.map-control-button:hover,.map-control-button.active{border-color:#27d7c885;color:var(--cyan)}.map-camera-readout{position:absolute;z-index:7;top:56px;right:51px;max-width:min(320px,calc(100% - 80px));display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;pointer-events:none}.map-camera-readout span{border:1px solid rgb(74 158 255 / 24%);border-radius:7px;padding:4px 7px;background:#07111fd1;color:var(--muted);font-size:10px;line-height:1}.map-gesture-hint{position:absolute;z-index:7;right:51px;top:84px;border:1px solid rgb(74 158 255 / 18%);border-radius:7px;padding:4px 7px;background:#07111fbd;color:#91a6b8;font-size:9px;pointer-events:none}.map-camera-readout span:first-child{border-color:#27d7c85c;color:var(--cyan)}.map-run-control{position:absolute;z-index:7;right:12px;bottom:12px;width:min(680px,calc(100% - 292px))}.gps-run-control{min-height:52px;display:grid;grid-template-columns:minmax(0,1fr) 90px max-content;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:10px;padding:8px;background:#07111fe5}.gps-run-control.live{border-color:#27d7c86b}.gps-run-control.warn{border-color:#ffb84d6b}.gps-run-meta{min-width:0;display:grid;grid-template-columns:10px minmax(0,1fr);gap:3px 7px;align-items:center}.gps-run-meta b,.gps-run-meta small,.gps-run-stats span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gps-run-meta b{color:var(--text);font-size:11px}.gps-run-meta small{grid-column:2;color:var(--muted);font-size:9px}.gps-run-stats{display:grid;gap:3px;color:var(--dim);font-size:9px;text-align:right}.gps-run-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.amap-marker{display:flex;align-items:center;gap:7px;transform:translateY(-4px);white-space:nowrap;pointer-events:none}.amap-marker-clickable{cursor:pointer;pointer-events:auto}.amap-marker-clickable:hover .amap-marker-body,.amap-marker-clickable:focus-visible .amap-marker-body{border-color:var(--cyan);background:#0a1f30f2}.amap-marker-clickable:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.amap-marker-dot{width:13px;height:13px;flex:none;border:3px solid #07111f;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px #4a9eff29}.amap-marker-body{display:grid;gap:1px;border:1px solid var(--line2);border-radius:8px;padding:5px 7px;background:#07111fe0;box-shadow:0 8px 18px #00000047}.amap-marker strong{color:var(--text);font-size:11px;line-height:1}.amap-marker small{color:var(--muted);font-size:9px;line-height:1}.amap-marker-current .amap-marker-dot{width:18px;height:18px;background:var(--cyan);box-shadow:0 0 0 5px #27d7c82b}.amap-marker-success .amap-marker-dot{background:var(--green)}.amap-marker-warning .amap-marker-dot,.amap-marker-shadow .amap-marker-dot{background:var(--amber)}.amap-marker-warning .amap-marker-body,.amap-marker-shadow .amap-marker-body{border-color:#ffb84d61}.marker circle{fill:#173047;stroke:var(--blue);stroke-width:2px}.marker-clickable{cursor:pointer;outline:none}.marker-clickable circle,.marker-clickable rect{transition:fill .16s ease,stroke .16s ease,stroke-width .16s ease}.marker-clickable:hover circle,.marker-clickable:focus-visible circle{stroke:var(--cyan);stroke-width:4px}.marker-clickable:hover rect,.marker-clickable:focus-visible rect{stroke:var(--cyan)}.marker text{fill:#d9e7f3;font-size:10px;text-anchor:middle;pointer-events:none}.marker-current circle{fill:var(--cyan);stroke:#07111f;stroke-width:5px}.marker-current rect{fill:#07111fe5;stroke:var(--line2)}.marker-current .marker-label{fill:var(--text);font-weight:800;text-anchor:start}.marker-success circle{fill:var(--green);stroke:#07111f;stroke-width:4px}.marker-warning circle{stroke:var(--amber)}.marker-shadow circle{fill:var(--amber);stroke:#07111f;stroke-width:3px}.marker-shadow rect{fill:#111b25f2;stroke:#ffb84d73}.marker-shadow text{fill:var(--amber)}.marker-sub{fill:var(--muted)!important;text-anchor:start!important;font-weight:400!important}.aligned-banner{position:absolute;z-index:7;top:12px;left:50%;display:none;transform:translate(-50%);border:1px solid rgb(255 184 77 / 38%);border-radius:8px;padding:6px 10px;background:#3c2a0ce5;color:var(--amber);font-size:10px}.aligned .aligned-banner{display:block}.map-selection{position:absolute;z-index:7;left:14px;bottom:12px;min-width:250px;display:flex;align-items:center;gap:12px;border:1px solid var(--line2);border-radius:10px;padding:10px 11px;background:#07111fe3}.map-selection b{font-size:13px}.map-selection small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.sync-pill{margin-left:auto;border:1px solid rgb(80 216 144 / 30%);border-radius:999px;padding:4px 7px;color:var(--green);font-size:10px}.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;padding:8px}.metric{min-width:0;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#040f1a5c}.metric label{display:block;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.metric b{display:block;margin-top:6px;font-size:22px;font-weight:760;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.metric .sub{margin-top:6px;color:var(--green);font-size:9px;white-space:nowrap}.metric .sub.warn{color:var(--amber)}.baseline{display:grid;grid-template-columns:160px minmax(0,1fr) 150px;align-items:center;padding:0 14px}.baseline-title b{font-size:13px}.baseline-title small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.timeline{position:relative;height:36px;margin:0 16px}.timeline:before{position:absolute;top:17px;right:0;left:0;height:3px;border-radius:3px;background:#244057;content:""}.timeline .live,.timeline .shadow{position:absolute;top:12px;width:13px;height:13px;border:3px solid var(--panel);border-radius:50%}.timeline .live{left:59%;background:var(--cyan)}.timeline .shadow{left:63.2%;background:var(--amber)}.timeline .tick{position:absolute;top:26px;color:var(--dim);font-size:8px}.timeline .t1{left:0}.timeline .t2{left:48%}.timeline .t3{right:0}.gap{text-align:right}.gap b{display:block;color:var(--amber);font-size:18px;font-variant-numeric:tabular-nums}.gap small{color:var(--muted);font-size:9px}.weather-compact{min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px}.weather-compact.success,.weather-route-card.success{border-color:#50d89047}.weather-compact.warning,.weather-route-card.warning{border-color:#ffb84d4d}.weather-compact.danger,.weather-route-card.danger{border-color:#ff647752}.weather-compact-head{min-width:0;display:flex;align-items:center;gap:10px}.weather-compact-head>div{min-width:0}.weather-compact-head b,.weather-compact-head small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-compact-head b{font-size:13px}.weather-compact-head small{margin-top:3px;color:var(--muted);font-size:10px}.weather-compact-grid,.weather-current-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.weather-fact{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);gap:2px 6px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:7px;background:#05101b66}.weather-fact svg{grid-row:1 / span 2;color:var(--cyan)}.weather-fact span,.weather-fact b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-fact span{color:var(--muted);font-size:9px}.weather-fact b{font-size:11px;font-variant-numeric:tabular-nums}.weather-route-card{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:9px}.weather-current{min-width:0;display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px;align-items:start;border:1px solid var(--line);border-radius:8px;padding:8px;background:#05101b66}.weather-current b,.weather-current small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-current b{font-size:12px}.weather-current small{margin-top:3px;color:var(--muted);font-size:9px}.weather-point-list{min-height:0;display:grid;align-content:start;gap:5px;overflow:auto}.weather-point-list div{min-width:0;display:grid;grid-template-columns:minmax(70px,.8fr) minmax(0,1fr);gap:6px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:6px 7px;background:#05101b3d}.weather-point-list div.active{border-color:#27d7c86b;background:#27d7c812}.weather-point-list b,.weather-point-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-point-list b{font-size:10px}.weather-point-list span{color:var(--muted);font-size:9px}.video-body{height:calc(100% - 43px);display:grid;grid-template-rows:minmax(0,1fr) 102px;gap:8px;padding:8px;align-items:center;justify-items:center}.video-body.layout-1{grid-template-rows:1fr}.video-body.layout-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr;align-items:center;justify-items:stretch}.video-body.layout-2 .video-grid{grid-template-columns:1fr;align-items:center;justify-items:stretch}.video-body.layout-2 .video-tile-button{width:100%;height:100%}.video-body.layout-4{display:block}.video-four-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}.video-main,.video-tile{position:relative;overflow:hidden;border:1px solid #2c455c;border-radius:9px;background:linear-gradient(145deg,#142a3f,#091522);aspect-ratio:16 / 9;width:100%;max-width:100%;max-height:100%}.video-body.layout-1 .video-main{width:100%;height:auto}.video-body.layout-2 .video-main,.video-body.layout-2 .video-tile{width:100%;height:auto;align-self:center}.video-four-grid .video-tile-button{width:100%;height:100%;display:grid;place-items:center}.video-four-grid .video-tile-button .video-tile,.video-four-grid .video-tile-button .video-main{width:auto;height:100%}.video-player{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#020a12}.video-state{position:absolute;inset:0 0 30px;display:grid;place-items:center;background:#06111db8;color:var(--muted);font-size:11px}.video-state.failed{color:var(--amber)}.test-pattern-video{position:absolute;inset:0;overflow:hidden;background:#07111f}.test-pattern-bars{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);opacity:.92}.test-pattern-grid{position:absolute;inset:0;background-image:linear-gradient(rgb(237 244 251 / 15%) 1px,transparent 1px),linear-gradient(90deg,rgb(237 244 251 / 15%) 1px,transparent 1px);background-size:80px 60px;mix-blend-mode:screen}.test-pattern-sweep{position:absolute;top:0;bottom:30px;width:18%;transform:translate(-120%);background:linear-gradient(90deg,transparent,rgb(237 244 251 / 22%),transparent);animation:test-sweep 2.4s linear infinite}.test-pattern-copy{position:absolute;top:18px;left:18px;display:grid;gap:5px;color:#edf4fb;text-shadow:0 2px 10px rgb(0 0 0 / 55%)}.test-pattern-copy b{font-size:32px;line-height:1}.test-pattern-copy span{font-size:15px;font-weight:650}.test-pattern-copy small{color:#d4e3f4;font-size:10px;font-weight:800}.contribution-video{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,rgb(39 215 200 / 10%),transparent 42%),repeating-linear-gradient(0deg,rgb(145 166 184 / 8%) 0 1px,transparent 1px 22px),#07111f}.contribution-radar{width:86px;height:86px;display:grid;place-items:center;border:1px solid rgb(255 184 77 / 42%);border-radius:50%;color:var(--amber);box-shadow:0 0 0 18px #ffb84d0f,0 0 0 36px #ffb84d08}.contribution-copy{position:absolute;bottom:46px;left:18px;display:grid;gap:4px;text-shadow:0 2px 10px rgb(0 0 0 / 55%)}.contribution-copy b{color:var(--amber);font-size:28px;line-height:1}.contribution-copy span{color:var(--text);font-size:13px;font-weight:650}.contribution-copy small{color:var(--muted);font-size:10px}.video-tile .test-pattern-copy{top:12px;left:12px}.video-tile .test-pattern-copy b{font-size:20px}.video-tile .test-pattern-copy span{font-size:11px}.video-tile .contribution-radar{width:52px;height:52px;box-shadow:0 0 0 10px #ffb84d0f,0 0 0 20px #ffb84d08}.video-tile .contribution-copy{bottom:39px;left:12px}.video-tile .contribution-copy b{font-size:18px}.video-tile .contribution-copy span,.video-tile .contribution-copy small{font-size:9px}.video-main:before,.video-tile:before{position:absolute;inset:-40%;transform:rotate(8deg);background:linear-gradient(120deg,transparent 44%,rgb(74 158 255 / 10%) 48%,transparent 53%);content:""}@keyframes test-sweep{to{transform:translate(680%)}}@media(prefers-reduced-motion:reduce){.test-pattern-sweep{animation:none;transform:translate(260%)}}.camera-icon{position:absolute;top:48%;left:50%;display:grid;place-items:center;transform:translate(-50%,-50%);color:#4a6379}.video-label{position:absolute;right:0;bottom:0;left:0;height:30px;display:flex;align-items:center;gap:6px;padding:0 8px;background:#040e18e5;font-size:10px}.video-label b{overflow:hidden;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.video-label span:last-child{margin-left:auto;color:var(--muted);white-space:nowrap}.video-grid{min-height:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;align-items:center;justify-items:center}.video-tile-button{min-width:0;min-height:0;display:grid;place-items:center;border:0;padding:0;background:transparent;cursor:pointer}.video-tile-button .video-tile{height:100%;width:auto}.script{display:flex;flex-direction:column}.script-toolbar{height:37px;flex:none;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:0 10px;background:#0c1a29}.tracking{display:flex;align-items:center;gap:7px;color:var(--green);font-size:11px}.tracking.manual{color:var(--amber)}.tracking span{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 13%,transparent)}.mic-status{height:26px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:0 9px;background:#101d2a;color:var(--muted);font-size:10px;cursor:pointer}.mic-status.ok{border-color:#50d89047;color:var(--green)}.mic-status.warn{border-color:#ffb84d57;color:var(--amber)}.key{border:1px solid #40566b;border-bottom-width:2px;border-radius:5px;padding:3px 7px;background:#101d2a;color:#bdcbd8;font-size:9px}.script-toolbar small{color:var(--muted);font-size:9px}.cue-control-strip{min-height:38px;flex:none;display:grid;grid-template-columns:32px minmax(170px,1fr) auto minmax(160px,.72fr);align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:6px 10px;background:#0a1726}.cue-select{width:100%;min-width:0;height:29px;border:1px solid var(--line);border-radius:8px;padding:0 9px;outline:0;background:#091827;color:var(--text);font-size:11px}.next-cue-label{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.script-body{min-height:0;flex:1;overflow:auto;padding:12px 14px 10px;scroll-behavior:smooth}.cue-header{display:flex;align-items:baseline;gap:9px}.cue-header h2{margin:0;font-size:17px}.cue-header small{color:var(--muted);font-size:10px}.cue-progress{height:3px;margin:9px 0;border-radius:3px;background:#244057}.cue-progress i{display:block;height:100%;border-radius:3px;background:var(--cyan)}.script-copy{display:grid;gap:8px}.script-copy button{border:0;border-left:2px solid transparent;border-radius:0 6px 6px 0;padding:4px 8px;background:transparent;color:#c6d4e0;font-size:14px;line-height:1.72;text-align:left;cursor:pointer}.script-copy button.current{border-left-color:var(--blue);background:#4a9eff1f;color:var(--text)}.script-copy button.spoken{color:#8297a9}.speech-follow-live{display:grid;gap:5px;margin-top:12px;border:1px solid rgb(80 216 144 / 22%);border-radius:8px;padding:9px 10px;background:#50d8900d}.speech-follow-live span{color:var(--green);font-size:10px;font-weight:700}.speech-follow-live p{margin:0;color:#cfe0ee;font-size:12px;line-height:1.45}.elevation-profile{min-height:0;display:grid;grid-template-columns:178px minmax(0,1fr) 64px;align-items:stretch;gap:10px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;overflow:hidden;background:#0a1b2b}.elevation-copy{min-width:0;display:grid;align-content:center;gap:5px}.elevation-copy b{color:var(--cyan);font-size:12px}.elevation-copy span{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.elevation-copy strong{color:var(--text);font-size:18px;line-height:1.15;font-variant-numeric:tabular-nums}.elevation-chart{width:100%;height:100%;min-width:0;min-height:92px;border:1px solid rgb(38 59 80 / 76%);border-radius:8px;background:#071421}.elevation-axis,.elevation-tick{stroke:#91a6b847;stroke-width:1}.elevation-fill{fill:url(#elevationFill)}.elevation-line{fill:none;stroke:var(--cyan);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.elevation-current-line{stroke:#ffb84da8;stroke-width:1.5;stroke-dasharray:4 5}.elevation-current-dot{fill:var(--amber);stroke:#071421;stroke-width:2}.elevation-tick-label,.elevation-empty{fill:var(--muted);font-size:10px}.elevation-range{display:flex;flex-direction:column;justify-content:space-between;color:var(--amber);font-size:10px;text-align:right;font-variant-numeric:tabular-nums}.cue-editor-meta{border:1px solid rgb(39 215 200 / 18%);border-radius:8px;padding:8px 10px;background:#27d7c80d;color:var(--muted);font-size:10px;line-height:1.45}.cue-editor input[readonly]{color:var(--cyan);background:#27d7c80d;cursor:default}.focus-mode .comment-left{width:36%;grid-template-rows:minmax(0,1fr) 80px 0}.focus-mode .baseline{display:none}.focus-mode .comment-right{grid-template-rows:minmax(170px,var(--commentator-video-height, 220px)) 12px minmax(0,1fr)}.focus-mode .script-copy button{font-size:22px;line-height:1.75}.director-screen{display:flex;gap:10px;padding:0 10px 10px 0}.sidebar{width:218px;flex:none;border-right:1px solid var(--line);background:#0b1928;padding-top:12px}.side-group{padding:12px 18px 7px;color:#60798e;font-size:10px}.nav{width:calc(100% - 20px);height:40px;display:flex;align-items:center;gap:10px;margin:2px 10px;border:1px solid transparent;border-radius:8px;padding:0 12px;background:transparent;color:var(--muted);cursor:pointer}.nav:hover,.nav.active{color:var(--text)}.nav.active{border-color:#27d7c833;background:#27d7c81a;color:var(--cyan)}.side-note{margin:18px 10px;border:1px solid rgb(80 216 144 / 20%);border-radius:9px;padding:10px;background:#50d8900d;color:var(--muted);font-size:10px;line-height:1.55}.side-note b{display:block;margin-bottom:3px;color:var(--green)}.director-main{min-width:0;flex:1;display:grid;grid-template-rows:minmax(0,1fr) 360px;gap:10px;padding-top:10px}.rehearsal-main{grid-template-rows:minmax(0,1fr)}.rehearsal-board{height:calc(100% - 43px);min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:10px;padding:10px}.rehearsal-map-preview{position:relative;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#07111f}.rehearsal-map-preview .svg-course-map{position:absolute;inset:0;width:100%;height:100%}.rehearsal-stack{min-height:0;display:grid;gap:10px;overflow:auto}.rehearsal-card{min-width:0;border:1px solid rgb(255 184 77 / 28%);border-radius:10px;padding:12px;background:#ffb84d0d}.rehearsal-card b,.rehearsal-card span{display:block}.rehearsal-card>b{color:var(--amber);font-size:13px}.rehearsal-card>span{margin-top:6px;color:var(--muted);font-size:10px;line-height:1.55}.rehearsal-video-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.director-secondary{grid-template-rows:minmax(0,1fr)}.director-secondary.single-panel{overflow:hidden}.director-secondary.single-panel>.video-config,.director-secondary.single-panel>.vmix-card,.director-secondary.single-panel>.script-manager{grid-column:auto;grid-row:auto;height:100%;overflow:auto}.secondary-map-layout{height:calc(100% - 43px);min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:10px;padding:10px}.secondary-map-layout .map-body{height:100%;border:1px solid var(--line);border-radius:10px;overflow:hidden}.route-inspector{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:14px;background:#05101b85}.route-inspector>div:first-child b,.route-inspector>div:first-child span{display:block}.route-inspector>div:first-child b{color:var(--text);font-size:14px}.route-inspector>div:first-child span,.route-inspector p{color:var(--muted);font-size:11px;line-height:1.55}.route-inspector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.route-inspector-grid div{min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px;background:#091827b8}.route-inspector-grid small,.route-inspector-grid span{display:block;color:var(--muted);font-size:10px}.route-inspector-grid strong{display:block;margin:5px 0 3px;color:var(--text);font-size:14px}.gps-workspace{min-height:0;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(360px,1fr);grid-template-rows:minmax(240px,.9fr) minmax(0,1fr);gap:10px}.gps-workspace>.card{min-height:0}.gps-workspace .device-detail-card{grid-column:2;grid-row:1 / span 2;overflow:auto}.gps-workspace .device-table{height:calc(100% - 43px)}.gps-api-board,.gps-discovery-panel{height:calc(100% - 43px);min-height:0;overflow:auto;padding:12px}.gps-api-status{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:12px;background:#07111fb8}.gps-api-status.success{border-color:#50d89047;background:#50d89012}.gps-api-status.warning{border-color:#ffb84d4d;background:#ffb84d12}.gps-api-status.danger{border-color:#ff647757;background:#ff647712}.gps-api-status b,.gps-api-status small{display:block}.gps-api-status b{font-size:14px}.gps-api-status small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.gps-api-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.gps-api-diagnostics div,.gps-api-note,.gps-discovery-list div,.empty-state{border:1px solid var(--line);border-radius:8px;padding:10px;background:#091827b3}.gps-api-diagnostics span,.gps-api-diagnostics small,.gps-api-note span,.gps-discovery-list code,.empty-state{color:var(--muted);font-size:10px;line-height:1.45}.gps-api-diagnostics b,.gps-api-note b,.gps-discovery-list b{display:block;margin:4px 0;color:var(--text);font-size:12px}.gps-api-note{margin-top:10px;border-color:#ffb84d42}.gps-api-note b{color:var(--amber)}.gps-discovery-list{display:grid;gap:8px;margin-top:10px}.gps-discovery-list code{display:block;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.history-workspace{height:calc(100% - 43px);min-height:0;display:grid;grid-template-columns:minmax(320px,.42fr) minmax(0,1fr);gap:10px;padding:10px}.history-list{min-height:0;overflow:auto;display:grid;gap:8px;align-content:start}.history-list button{border:1px solid var(--line);border-radius:8px;padding:10px;background:#091827;color:var(--text);text-align:left;cursor:pointer}.history-list button:hover{border-color:#4a9eff5c;background:#4a9eff12}.history-list b,.history-list span,.history-list small{display:block}.history-list span,.history-list small,.history-detail p{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}.history-detail{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:14px;background:#05101b85}.history-detail>b{color:var(--text);font-size:15px}.audit-workspace{height:calc(100% - 43px);min-height:0;overflow:auto;display:grid;gap:8px;align-content:start;padding:12px}.audit-row{display:grid;grid-template-columns:16px minmax(150px,.7fr) minmax(120px,.4fr) minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:11px;background:#091827b8}.audit-row.success{border-color:#50d89038}.audit-row.warning{border-color:#ffb84d3d}.audit-row b,.audit-row strong{color:var(--text)}.audit-row small,.audit-note{color:var(--muted);font-size:10px;line-height:1.5}.audit-note{border:1px solid var(--line);border-radius:8px;padding:11px;background:#05101b85}.director-top{min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(430px,.82fr);gap:10px}.device-table{height:calc(100% - 43px);overflow:auto}.thead,.drow{display:grid;grid-template-columns:64px minmax(110px,1.1fr) minmax(105px,1fr) 90px 70px 64px;align-items:center;gap:6px;padding:0 9px}.thead{position:sticky;top:0;z-index:2;height:31px;border-bottom:1px solid var(--line);background:#0b1928;color:var(--dim);font-size:9px}.drow{width:100%;min-height:58px;border:0;border-bottom:1px solid rgb(38 59 80 / 72%);background:transparent;color:var(--text);font-size:10px;text-align:left;cursor:pointer}.drow:hover{background:#ffffff06}.drow.selected{background:#27d7c813;box-shadow:inset 3px 0 var(--cyan)}.drow b,.drow small{display:block}.drow b{font-size:11px}.drow small{margin-top:3px;color:var(--muted)}.status{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgb(80 216 144 / 30%);border-radius:999px;padding:4px 6px;color:var(--green);font-size:9px;font-style:normal}.status.warn{border-color:#ffb84d59;color:var(--amber)}.status.off{border-color:var(--line);color:var(--dim)}.alert-mini{color:var(--amber);font-size:9px}.corrected{color:var(--cyan);font-size:9px}.control-grid{min-height:0;display:grid;grid-template-columns:minmax(330px,.95fr) minmax(220px,.62fr) minmax(240px,.7fr) minmax(300px,.9fr) minmax(220px,.62fr);grid-template-rows:minmax(160px,1fr) minmax(150px,.94fr);gap:10px;overflow:auto}.control-card{min-height:0;padding:12px}.control-title{display:flex;align-items:center;gap:8px;margin-bottom:10px}.control-title b{font-size:13px}.control-title small{margin-left:auto;color:var(--muted);font-size:9px}.data-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.data-mini div{border:1px solid var(--line);border-radius:8px;padding:8px;background:#05101b5c}.data-mini label{display:block;color:var(--muted);font-size:9px}.data-mini b{display:block;margin-top:5px;font-size:15px;font-variant-numeric:tabular-nums}.gps-quality{margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:8px;background:#05101b6b}.gps-quality.good{border-color:#29c99752}.gps-quality.warn{border-color:#f5b04161}.gps-quality.error{border-color:#ef5f5f6b}.gps-quality.off,.gps-quality.idle{border-color:#7891aa47}.gps-quality-head{display:flex;align-items:center;gap:8px;min-width:0}.gps-quality-head span{flex:none;color:var(--text);font-size:11px;font-weight:800}.gps-quality.good .gps-quality-head span{color:var(--green)}.gps-quality.warn .gps-quality-head span{color:var(--amber)}.gps-quality.error .gps-quality-head span{color:#ff8a8a}.gps-quality.off .gps-quality-head span,.gps-quality.idle .gps-quality-head span{color:var(--muted)}.gps-quality-head small{min-width:0;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.gps-quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.gps-quality-grid div{min-width:0;border:1px solid rgb(38 59 80 / 70%);border-radius:7px;padding:6px;background:#0816248a}.gps-quality-grid label{display:block;color:var(--muted);font-size:8px}.gps-quality-grid b{display:block;margin-top:4px;overflow:hidden;color:var(--text);font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.gps-conversion-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:8px;border:1px solid rgb(38 59 80 / 70%);border-radius:8px;padding:6px;background:#05101b52}.gps-conversion-flow.good{border-color:#50d89042}.gps-conversion-flow.warn{border-color:#ffb84d4d}.gps-conversion-flow.error{border-color:#ff647757}.gps-conversion-step{min-width:0;display:grid;gap:3px;border-left:1px solid rgb(49 80 106 / 62%);padding-left:7px}.gps-conversion-step:first-child{border-left:0;padding-left:2px}.gps-conversion-step span{overflow:hidden;color:var(--dim);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.gps-conversion-step b{overflow:hidden;color:var(--text);font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.gps-conversion-flow.good .gps-conversion-step:last-child b{color:var(--green)}.gps-conversion-flow.warn .gps-conversion-step:last-child b{color:var(--amber)}.gps-conversion-flow.error .gps-conversion-step:last-child b{color:var(--red)}.gps-conversion-step small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.action{min-height:32px;padding:0 10px;font-size:10px}.action:disabled{cursor:not-allowed;opacity:.48}.action.primary{border-color:#4a9eff7f;background:#4a9eff1f;color:#cbe3ff}.action.danger{border-color:#ff647759;background:#ff64770f;color:#ff9cab}.action.frozen{border-color:#ffb84d7f;background:#ffb84d14;color:var(--amber)}.form{display:grid;gap:7px}.form-row{display:grid;grid-template-columns:1fr 82px;gap:7px}.field{height:38px;border:1px solid var(--line);border-radius:8px;padding:5px 8px;background:#091827;color:var(--muted);font-size:9px}.field span,.field input{float:right;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.field input{width:76px;border:0;outline:0;background:transparent;text-align:right}.field-input{display:flex;align-items:center}.input-wrap{float:none!important;display:inline-flex!important;align-items:center;gap:4px;margin-left:auto}.input-wrap em{color:var(--muted);font-size:11px;font-style:normal}.hint{margin-top:7px;color:var(--muted);font-size:9px;line-height:1.48}.video-config{min-width:0;grid-column:4;grid-row:1 / span 2;overflow:auto}.device-detail-card{grid-column:2;grid-row:1 / span 2;overflow:auto}.calibration-card{grid-column:3;grid-row:1}.vmix-card{grid-column:5;grid-row:1 / span 2;overflow:auto}.weather-route-card{grid-column:3;grid-row:2}.video-source-list{display:grid;gap:6px}.video-source-row{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:start;gap:6px 8px}.video-source-meta{min-width:0}.video-source-meta b,.video-source-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-source-meta b{font-size:11px}.video-source-meta span{margin-top:2px;color:var(--muted);font-size:9px}.video-health{display:inline-flex;margin-top:4px;border:1px solid var(--line);border-radius:999px;padding:2px 6px;color:var(--dim);font-size:8px;font-style:normal}.video-health.ok{border-color:#50d8904d;color:var(--green)}.video-health.warn{border-color:#ffb84d59;color:var(--amber)}.video-health.error{border-color:#ff647759;color:var(--red)}.video-source-row input{width:100%;height:32px;min-width:0;border:1px solid var(--line);border-radius:8px;outline:0;padding:0 9px;background:#091827;color:var(--text);font-size:10px}.video-source-row input::placeholder{color:#778da0}.video-source-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:6px}.video-source-actions .action{min-width:54px;justify-content:center}.video-relay-callout,.video-relay-summary{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;border:1px solid rgb(255 184 77 / 30%);border-radius:8px;padding:8px;background:#ffb84d14}.video-relay-callout{grid-column:1 / -1}.video-relay-callout.running{border-color:#50d89052;background:#50d89014}.video-relay-callout.preflight{border-color:#27d7c852;background:#27d7c814}.video-relay-callout.failed{border-color:#ff647752;background:#ff647714}.video-relay-summary{margin-top:8px}.video-relay-summary.running{border-color:#50d89052;background:#50d89014}.video-relay-summary.failed{border-color:#ff647752;background:#ff647714}.video-relay-callout b,.video-relay-callout span,.video-relay-summary b,.video-relay-summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-relay-callout>div,.video-relay-summary>div,.video-relay-callout code,.video-relay-summary code{grid-column:1 / -1}.video-relay-callout b,.video-relay-summary b{color:var(--text);font-size:10px}.video-relay-callout span,.video-relay-summary span{margin-top:3px;color:var(--muted);font-size:9px}.video-relay-callout code,.video-relay-summary code{min-width:0;width:100%;overflow:hidden;border:1px solid rgb(38 59 80 / 86%);border-radius:7px;padding:6px 7px;background:#07111f9e;color:#cbe3ff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.video-relay-callout .action,.video-relay-summary .action{display:inline-flex;align-items:center;width:100%;min-width:0;justify-content:center;padding:0 8px}.script-manager,.script-brief-card{min-width:0;grid-column:1;grid-row:1 / span 2;overflow:hidden}.script-brief-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.script-brief-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:10px}.script-brief-current{min-height:0;overflow:hidden;border:1px solid rgb(39 215 200 / 28%);border-radius:8px;padding:11px;background:#27d7c80f}.script-brief-current span,.script-brief-current small,.script-brief-current p{display:block;color:var(--muted);font-size:10px;line-height:1.45}.script-brief-current b{display:block;margin:5px 0 3px;color:var(--text);font-size:14px}.script-brief-current p{margin:12px 0 0;max-height:78px;overflow:hidden}.script-brief-list{min-height:0;overflow:auto;display:grid;gap:6px;align-content:start}.script-brief-list button{border:1px solid var(--line);border-radius:8px;padding:8px;background:#091827;color:var(--text);text-align:left;cursor:pointer}.script-brief-list button.active{border-color:#27d7c87a;background:#27d7c814}.script-brief-list b,.script-brief-list span{display:block}.script-brief-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.script-brief-list span{margin-top:4px;color:var(--muted);font-size:9px}.script-brief-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.commentary-monitor-card{min-height:0;grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;overflow:hidden}.commentary-monitor-card .control-title .action{margin-left:auto}.commentary-monitor-layout{min-height:0;flex:1;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;margin-top:8px}.commentary-monitor-main,.commentary-next{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#091827}.commentary-monitor-main{display:grid;grid-template-rows:auto minmax(0,1fr)}.commentary-monitor-meta{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid rgb(38 59 80 / 70%);padding:7px 10px}.commentary-monitor-meta small{color:var(--muted);font-size:10px;font-weight:750}.commentary-monitor-meta span{min-width:0;overflow:hidden;color:var(--text);font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.commentary-monitor-meta b{color:var(--cyan);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.commentary-now,.commentary-next{display:grid;align-content:start;gap:6px;padding:10px}.commentary-next{min-height:70px}.commentary-now span,.commentary-next span{color:var(--cyan);font-size:10px;font-weight:800}.commentary-next span{color:var(--amber)}.commentary-now p,.commentary-next p{margin:0;display:-webkit-box;overflow:hidden;color:#d7e5f0;font-size:13px;line-height:1.55;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3}.commentary-next p{color:#aebfce;font-size:12px;-webkit-line-clamp:2}.commentary-sync-row{min-height:30px;flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:7px;margin-top:8px;color:var(--muted);font-size:10px}.commentary-sync-row span{min-width:0;overflow:hidden;border:1px solid rgb(38 59 80 / 70%);border-radius:7px;padding:6px 8px;background:#06111d7a;text-overflow:ellipsis;white-space:nowrap}.script-manager-grid{min-height:0;display:grid;grid-template-rows:112px minmax(0,1fr);gap:10px}.script-manager.full-size{padding:14px}.script-manager.full-size .script-manager-grid{height:calc(100% - 42px);grid-template-columns:minmax(260px,.36fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.script-manager.full-size .cue-list{display:grid;align-content:start;padding-right:4px;padding-bottom:0}.script-manager.full-size .cue-list button{width:100%;flex:initial}.script-manager.full-size .cue-editor{min-height:0}.script-manager.full-size .cue-editor textarea{min-height:280px}.cue-list{min-height:0;overflow:auto;display:flex;gap:6px;padding-bottom:2px}.cue-list button{width:152px;flex:0 0 152px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:7px 8px;background:#091827;color:var(--text);text-align:left;cursor:pointer}.cue-list button.active{border-color:#27d7c87a;background:#27d7c814}.cue-list b,.cue-list span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cue-list b{font-size:10px}.cue-list span{margin-top:4px;color:var(--muted);font-size:8px}.cue-editor{min-width:0;min-height:0;display:grid;gap:7px;overflow:auto}.cue-editor label{min-width:0;display:grid;gap:4px;color:var(--muted);font-size:9px}.cue-editor-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cue-editor input,.cue-editor textarea,.cue-editor select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;outline:0;background:#091827;color:var(--text);font-size:10px}.cue-editor input,.cue-editor select{height:31px;padding:0 8px}.cue-editor textarea{resize:vertical;min-height:86px;max-height:170px;padding:8px;line-height:1.45}.script-manager-actions{display:flex;justify-content:flex-end;gap:7px}.switch-row{width:100%;min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) 78px 35px;align-items:center;gap:8px;border:0;border-bottom:1px solid rgb(38 59 80 / 72%);background:transparent;color:var(--text);font-size:10px;text-align:left;cursor:pointer}.switch-row span{color:var(--muted);text-align:right}.switch-copy{min-width:0;display:grid;gap:2px;color:var(--text)!important;text-align:left!important}.switch-copy b,.switch-copy small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switch-copy b{font-size:10px}.switch-copy small{color:var(--dim);font-size:9px}.toggle{position:relative;width:31px;height:18px;border-radius:999px;background:#23384b}.toggle:after{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#7f93a5;transition:transform .18s ease;content:""}.toggle.on{background:#27d7c859}.toggle.on:after{transform:translate(13px);background:var(--cyan)}.alert-box{display:flex;gap:8px;margin-top:9px;border:1px solid rgb(255 184 77 / 28%);border-radius:8px;padding:8px;background:#ffb84d0f;color:#d9c096;font-size:9px;line-height:1.45}.settings-layer{position:fixed;inset:0;z-index:90;pointer-events:none}.settings-scrim{position:absolute;inset:0;border:0;background:#030a127a;pointer-events:auto;cursor:default}.settings-drawer{position:absolute;top:0;right:0;width:min(440px,calc(100vw - 24px));height:100%;border-left:1px solid var(--line2);background:#0b1928;box-shadow:-22px 0 44px #00000057;pointer-events:auto}.settings-drawer form{height:100%;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.settings-head{min-height:78px;flex:none;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding:16px;background:#ffffff04}.settings-head h2{margin:0;font-size:17px}.settings-head p{max-width:32ch;margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.settings-head .tiny{margin-left:auto}.settings-sync{height:24px;flex:none;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:0 8px;color:var(--muted);font-size:10px;white-space:nowrap}.settings-sync.shared{border-color:#50d89059;background:#50d89012;color:var(--green)}.settings-sync.syncing{border-color:#ffb84d59;background:#ffb84d12;color:var(--amber)}.settings-sync.local{border-color:#ffb84d59;color:var(--amber)}.settings-section{display:grid;gap:9px;border-bottom:1px solid rgb(38 59 80 / 68%);padding:14px 16px}.settings-section h3{margin:0;color:var(--text);font-size:12px}.settings-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-section-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.settings-section-title span{color:var(--muted);font-size:10px}.settings-field{min-height:40px;display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;color:var(--muted);font-size:10px}.settings-field>input,.settings-number{width:100%;min-width:0;height:34px;border:1px solid var(--line);border-radius:8px;background:#091827;color:var(--text)}.settings-field>input{padding:0 9px;outline:0;font-size:11px}.settings-field>input::placeholder{color:#778da0}.settings-number{display:flex;align-items:center;padding:0 8px}.settings-number input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.settings-number em{color:var(--muted);font-size:10px;font-style:normal}.settings-check{min-height:34px;display:flex;align-items:center;gap:9px;color:var(--text);font-size:11px}.settings-check input{width:16px;height:16px;accent-color:var(--cyan)}.map-settings-status{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:#091827}.map-settings-status.success{border-color:#50d89047;background:#50d8900d}.map-settings-status.warning{border-color:#ffb84d47;background:#ffb84d0d}.map-settings-status.danger{border-color:#ff64774d;background:#ff64770d}.map-settings-main{min-width:0;display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:8px}.map-settings-main b,.map-settings-main small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-settings-main b{color:var(--text);font-size:11px}.map-settings-main small{margin-top:3px;color:var(--muted);font-size:9px}.map-settings-checks{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.map-settings-checks span{border:1px solid var(--line);border-radius:999px;padding:3px 6px;color:var(--dim);font-size:8px;white-space:nowrap}.map-settings-checks span.ok{border-color:#50d8904d;color:var(--green)}.map-settings-checks span.warn{border-color:#ffb84d59;color:var(--amber)}.settings-note{border:1px solid rgb(74 158 255 / 22%);border-radius:8px;padding:8px 9px;background:#4a9eff0f;color:#b9cadd;font-size:10px;line-height:1.48}.system-check-section{gap:10px}.system-check-summary{min-height:48px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#05101b57}.system-check-summary.success{border-color:#50d89047;background:#50d8900f;color:var(--green)}.system-check-summary.warning{border-color:#ffb84d52;background:#ffb84d0f;color:var(--amber)}.system-check-summary.danger{border-color:#ff647752;background:#ff64770f;color:var(--red)}.system-check-summary b,.system-check-summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-check-summary b{color:var(--text);font-size:12px}.system-check-summary span{margin-top:3px;color:var(--muted);font-size:9px}.preflight-board{display:grid;gap:6px}.preflight-card{min-width:0;min-height:44px;display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:#091827b8}.preflight-card.success{border-color:#50d8903d}.preflight-card.warning{border-color:#ffb84d47}.preflight-card.danger{border-color:#ff647747}.preflight-card b,.preflight-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preflight-card b{color:var(--text);font-size:11px}.preflight-card small{margin-top:3px;color:var(--muted);font-size:9px}.preflight-attention{display:grid;gap:5px}.preflight-attention-item{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;padding:5px 7px;background:#05101b57;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.preflight-attention-item b{margin-right:6px;color:var(--text)}.preflight-attention-item.warning{border-color:#ffb84d3d}.preflight-attention-item.danger{border-color:#ff647742}.system-check-grid{display:grid;gap:6px}.mobile-gps-discovery{min-width:0;display:grid;grid-template-columns:10px minmax(0,1fr);align-items:start;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:#091827b8}.mobile-gps-discovery.success{border-color:#50d8903d}.mobile-gps-discovery.warning{border-color:#ffb84d47}.mobile-gps-discovery.danger{border-color:#ff647747}.mobile-gps-discovery .dot{margin-top:4px}.mobile-gps-discovery b,.mobile-gps-discovery small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-gps-discovery b{color:var(--text);font-size:10px}.mobile-gps-discovery small{margin-top:3px;color:var(--muted);font-size:9px}.mobile-gps-options{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.mobile-gps-options span{max-width:128px;overflow:hidden;border:1px solid rgb(74 158 255 / 22%);border-radius:6px;padding:3px 6px;background:#4a9eff12;color:#b9cadd;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.system-check-item{min-width:0;display:grid;grid-template-columns:10px 52px 72px minmax(0,1fr);align-items:center;gap:7px;border:1px solid rgb(38 59 80 / 76%);border-radius:8px;padding:7px 8px;background:#091827b8}.system-check-item.success{border-color:#50d8903d}.system-check-item.warning{border-color:#ffb84d47}.system-check-item.danger{border-color:#ff647747}.system-check-item b,.system-check-item strong,.system-check-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-check-item b{color:var(--muted);font-size:10px;font-weight:600}.system-check-item strong{color:var(--text);font-size:10px;font-weight:720}.system-check-item small{color:var(--dim);font-size:9px}.device-mapping-list,.video-source-settings-list{display:grid;gap:8px}.device-mapping-row,.video-source-settings-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:9px;padding:9px;background:#05101b57}.device-mapping-row.disabled,.video-source-settings-row.disabled{opacity:.72}.vmix-mapping-list{display:grid;gap:8px}.vmix-mapping-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:9px;padding:9px;background:#05101b57}.vmix-mapping-row.disabled{opacity:.72}.vmix-mapping-head{grid-column:1 / -1;min-width:0;display:flex;align-items:center;gap:10px}.vmix-mapping-head b,.vmix-mapping-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vmix-mapping-head b{color:var(--text);font-size:11px}.vmix-mapping-head small{margin-left:auto;color:var(--dim);font-size:9px}.device-mapping-head,.video-source-settings-head{grid-column:1 / -1;display:flex;align-items:center;gap:10px}.device-mapping-head small,.video-source-settings-head small{min-width:0;margin-left:auto;color:var(--dim);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-binding-control{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid rgb(39 215 200 / 24%);border-radius:8px;padding:8px;background:#27d7c80d}.mobile-binding-control.bound{border-color:#50d89047;background:#50d8900d}.mobile-binding-control b,.mobile-binding-control small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-binding-control b{color:var(--text);font-size:11px}.mobile-binding-control small{margin-top:2px;color:var(--muted);font-size:9px}.mobile-binding-code{display:grid;justify-items:end;gap:2px}.mobile-binding-code strong{color:var(--cyan);font-size:18px;line-height:1;letter-spacing:1px;font-variant-numeric:tabular-nums}.mobile-binding-code span,.mobile-binding-error{color:var(--amber);font-size:9px}.mobile-binding-error{grid-column:1 / -1;color:var(--red)}.mobile-binding-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.device-mapping-toggle,.video-source-toggle{min-height:24px;font-weight:720}.device-mapping-field{min-width:0;display:grid;gap:4px;color:var(--muted);font-size:9px}.device-mapping-field.wide{grid-column:1 / -1}.device-mapping-field input,.device-mapping-field select{width:100%;min-width:0;height:32px;border:1px solid var(--line);border-radius:8px;outline:0;padding:0 9px;background:#091827;color:var(--text);font-size:10px}.device-mapping-field input::placeholder{color:#778da0}.settings-status-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:5px 9px;color:var(--muted);font-size:10px}.settings-status-row b{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.settings-status-row small{grid-column:2;color:var(--dim);font-size:9px}.settings-button-row{display:flex;flex-wrap:wrap;gap:8px}.settings-actions{position:sticky;bottom:0;margin-top:auto;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding:14px 16px;background:#081523}.toast{position:fixed;right:18px;bottom:18px;z-index:120;min-width:320px;display:flex;align-items:center;gap:8px;border:1px solid rgb(80 216 144 / 38%);border-radius:9px;padding:11px 13px;background:#0c211e;color:#c9f4dd;font-size:11px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease}.toast.show{opacity:1;transform:none}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#07111fb8}.confirm-dialog{width:min(420px,calc(100vw - 32px));border:1px solid var(--line2);border-radius:12px;padding:18px;background:var(--panel2);box-shadow:var(--shadow)}.confirm-dialog h2{margin:0;font-size:17px}.confirm-dialog p{margin:12px 0 16px;color:var(--muted);font-size:13px;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.telemetry-dialog{width:min(760px,calc(100vw - 40px));max-height:min(680px,calc(100vh - 40px));display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:12px;background:var(--panel2);box-shadow:var(--shadow)}.telemetry-head{min-height:68px;flex:none;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding:15px 16px}.telemetry-head h2{margin:0;font-size:17px}.telemetry-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.telemetry-head .status{margin-left:auto}.telemetry-body{min-height:180px;overflow:auto}.telemetry-empty{display:grid;min-height:180px;place-items:center;padding:24px;color:var(--muted);font-size:12px;text-align:center}.telemetry-empty.error{color:var(--amber)}.telemetry-table{min-width:760px}.telemetry-row{display:grid;grid-template-columns:116px 70px 112px 112px 82px minmax(180px,1fr);align-items:center;gap:8px;border-bottom:1px solid rgb(38 59 80 / 68%);padding:10px 12px;color:var(--text);font-size:10px}.telemetry-row-head{position:sticky;top:0;z-index:1;min-height:32px;background:#0b1928;color:var(--dim);font-size:9px}.telemetry-row b,.telemetry-row small{display:block}.telemetry-row b{font-size:11px;font-variant-numeric:tabular-nums}.telemetry-row small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.coordinate-cell{color:#b9cadd;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.telemetry-dialog .dialog-actions{flex:none;border-top:1px solid var(--line);padding:12px 16px;background:#081523}.script-ai-layout{min-height:0;flex:1;display:grid;grid-template-rows:minmax(0,1fr) 12px minmax(128px,var(--compact-prompter-height, 190px));gap:0;padding:8px 10px 10px}.panel-resize-handle{min-height:12px;border:0;padding:0;background:transparent;cursor:ns-resize;touch-action:none}.panel-resize-handle:before{content:"";display:block;width:82px;height:4px;margin:4px auto;border-radius:999px;background:#6485a59e;box-shadow:0 0 0 1px #263b50bf;transition:width .14s ease,background .14s ease,box-shadow .14s ease}.panel-resize-handle:hover:before,.panel-resize-handle:focus-visible:before,.comment-right.resizing .commentator-split-handle:before,.script-ai-layout.resizing .teleprompter-resize-handle:before{width:126px;background:var(--cyan);box-shadow:0 0 0 1px #27d7c885}.panel-resize-handle:focus-visible{outline:2px solid rgb(74 158 255 / 80%);outline-offset:1px}.ai-workbench{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.ai-global-strip{min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#0a1b2b}.ai-global-strip div,.analysis-detail-head div,.global-director-mini-body{min-width:0;display:grid;gap:3px}.ai-global-strip span,.analysis-detail-head span,.ai-provider-card span{color:var(--muted);font-size:10px;font-weight:700}.ai-global-strip b,.analysis-detail-head b{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.ai-global-strip small,.analysis-detail-head small{overflow:hidden;color:#9cafbf;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.ai-global-strip strong{border:1px solid rgb(80 216 144 / 28%);border-radius:999px;padding:4px 8px;color:var(--green);font-size:10px}.ai-global-strip strong.fallback{border-color:#ffb84d52;color:var(--amber)}.ai-workbench-grid{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.analysis-line-list{min-height:0;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.analysis-line-button{flex:0 0 176px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#071827;color:var(--text);text-align:left;cursor:pointer}.analysis-line-button.active{border-color:#27d7c89e;background:#27d7c81a}.analysis-line-button b,.analysis-line-button span,.analysis-line-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-line-button b{font-size:12px}.analysis-line-button span,.analysis-line-button small{margin-top:3px;color:var(--muted);font-size:10px}.analysis-detail{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.analysis-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#071827}.analysis-actions{display:flex;gap:6px}.analysis-copy{min-height:0;display:grid;gap:6px;overflow:auto}.analysis-copy p,.analysis-empty,.ai-card-empty{margin:0;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#091827;color:#c5d5e2;font-size:11px;line-height:1.48}.analysis-copy b{display:block;margin-bottom:3px;color:var(--cyan);font-size:10px}.ai-card-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:7px;border:1px solid var(--line);border-radius:8px;padding:8px;background:#091827}.ai-card-tabs,.ai-card-actions{display:flex;align-items:center;gap:6px}.ai-card-top{display:grid;gap:6px}.ai-card-tabs button{height:24px;min-width:30px;border:1px solid var(--line);border-radius:6px;background:#0b1d2d;color:var(--muted);font-size:10px;cursor:pointer}.ai-card-tabs button.active{border-color:#27d7c894;color:var(--cyan)}.ai-card-tabs span{margin-left:auto;border:1px solid rgb(80 216 144 / 26%);border-radius:999px;padding:3px 7px;color:var(--green);font-size:10px;font-weight:800}.ai-card-tabs span.fallback{border-color:#ffb84d52;color:var(--amber)}.ai-card-caution{border:1px solid rgb(255 184 77 / 28%);border-radius:7px;padding:5px 7px;background:#ffb84d14;color:#d7c5a5;font-size:10px}.ai-card-reader{min-height:0;margin:0;padding:2px 4px;overflow:auto;color:#e0edf7;font-size:15px;line-height:1.78;overflow-wrap:anywhere}.ai-card-actions{flex-wrap:wrap}.global-director-mini{min-height:0}.global-director-mini-body{padding:12px 14px}.global-director-mini-body b{color:var(--text);font-size:15px}.global-director-mini-body span,.global-director-mini-body p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.director-ai-layout{min-height:0;display:grid;grid-template-rows:minmax(0,1.2fr) minmax(230px,.8fr);gap:10px}.director-ai-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:10px;height:calc(100% - 43px)}.ai-provider-card{min-width:0;display:grid;align-content:start;gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#091827}.ai-provider-card b{color:var(--text);font-size:18px}.ai-provider-card p{margin:0;color:#adbecc;font-size:11px;line-height:1.5}.ai-provider-card dl{display:grid;gap:8px;margin:0}.ai-provider-card div{border:1px solid var(--line);border-radius:7px;padding:8px;background:#071827}.ai-provider-card dt{color:var(--muted);font-size:10px}.ai-provider-card dd{margin:4px 0 0;overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.analysis-config-table{height:calc(100% - 43px);min-height:0;overflow:auto}.analysis-config-row{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(120px,.9fr) 90px 86px 90px 132px;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:8px 10px;color:#c8d7e4;font-size:11px}.analysis-config-row.head{position:sticky;top:0;z-index:1;background:#0c1a29;color:var(--muted);font-weight:700}.analysis-config-row.active{background:#27d7c812}.analysis-config-row button:not(.tiny){min-width:0;border:0;padding:0;overflow:hidden;background:transparent;color:var(--text);font:inherit;font-weight:700;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.analysis-config-row span:last-child{display:flex;gap:6px}@media(max-width:1440px){.brand{min-width:220px}.status-strip .chip:nth-child(3){display:none}.preflight-topbar{width:132px}.metrics{gap:5px}.metric{padding:8px}.metric b{font-size:19px}.comment-right{grid-template-rows:minmax(180px,var(--commentator-video-height, 270px)) 12px minmax(0,1fr)}.ai-workbench-grid{grid-template-rows:auto minmax(0,1fr)}.ai-global-strip{height:48px;min-height:0}.ai-global-strip small,.analysis-line-button small{display:none}.analysis-line-list{height:48px}.analysis-line-button{flex-basis:154px;padding:5px 7px}.analysis-line-button span{margin-top:2px;font-size:9px}.director-ai-main{grid-template-columns:minmax(0,1fr) 230px}.analysis-config-row{grid-template-columns:minmax(150px,1.2fr) minmax(110px,.8fr) 78px 74px 76px 120px}.ai-card p{font-size:9px}.sidebar{width:190px}.director-top{grid-template-columns:minmax(0,1.15fr) minmax(400px,.9fr)}}@media(max-width:1279px){.topbar,.screen{display:none}.minimum-notice{display:grid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
