:root{--background:#0b1326;--surface:#0b1326;--surface-container:#171f33;--surface-container-low:#131b2e;--surface-bright:#31394d;--surface-variant:#2d3449;--on-surface:#dae2fd;--on-surface-variant:#bccbb9;--primary:#4be277;--secondary:#adc6ff;--error:#ffb4ab;--error-container:#93000a;--font-sans:"Noto Sans SC", "Microsoft YaHei", "PingFang SC", "Space Grotesk", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-sans);color:var(--on-surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 50% 0,#10b9811a,#0000 32%),#121212}*{box-sizing:border-box}html{background:#121212}body{min-width:320px;min-height:100svh;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}::selection{background:var(--primary);color:#003915}.dashboard-root{--page-padding:clamp(12px, 4vw, 18px);--content-width:min(342px, calc(100vw - (var(--page-padding) * 2)));--panel-padding:clamp(14px, 4.5vw, 20px);--orbit-radius:clamp(70px, 22vw, 88px);background:var(--background);width:min(430px,100vw);min-height:100svh;color:var(--on-surface);margin:0 auto;position:relative;overflow-x:hidden;box-shadow:0 0 0 1px #1e293ba6}.dashboard-root svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em;display:block}.top-app-bar,.emergency-fab{z-index:50}.top-app-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020617d1;border-bottom:1px solid #1e293b80;justify-content:space-between;align-items:center;width:min(430px,100vw);height:64px;padding:0 20px;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #22c55e1a}.top-app-bar h1{color:var(--primary);text-align:center;margin:0;font-size:19px;font-weight:800;line-height:24px}.icon-button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:34px;height:34px;transition:background-color .18s,color .18s;display:grid}.icon-button:hover,.icon-button:focus-visible{color:var(--primary);background:#10b9811a;outline:none}.icon-button svg{font-size:20px}.icon-button--static{color:#64748b;pointer-events:none}.setup-main{min-height:100svh;padding:calc(74px + env(safe-area-inset-top,0px)) var(--page-padding) calc(18px + env(safe-area-inset-bottom,0px));grid-template-rows:min-content minmax(300px,1fr) min-content;gap:clamp(10px,2.8vw,14px);display:grid}.setup-status-panel,.setup-camera-panel,.setup-action-panel,.workspace-lock-strip{width:var(--content-width)}.setup-status-panel{background:linear-gradient(135deg,#4be2771a,#0000 58%),#0f172ac2;border:1px solid #adc6ff3d;border-radius:8px;grid-template-columns:40px 1fr;align-items:center;gap:10px;min-height:62px;padding:10px 12px;display:grid;box-shadow:0 0 18px #4be2771f}.setup-phase-icon{width:40px;height:40px;color:var(--primary);background:#4be2771a;border:1px solid #4be27770;border-radius:8px;place-items:center;display:grid}.setup-phase-icon svg{font-size:21px}.setup-status-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.setup-status-copy strong{color:var(--on-surface);font-size:14px;font-weight:800;line-height:18px}.setup-status-copy span{color:#a8b6d6;font-size:10px;font-weight:600;line-height:14px}.setup-camera-panel{background:linear-gradient(#2dd4bf14,#0000 72%),#0f172ac2;border:1px solid #2dd4bf42;border-radius:8px;align-self:center;padding:12px;box-shadow:0 0 22px #2dd4bf1f}.camera-status-row{border-bottom:1px solid #2d3449e6;justify-content:space-between;align-items:center;gap:10px;min-height:28px;margin-bottom:10px;padding-bottom:8px;display:flex}.camera-status-row h2,.camera-status-row span{white-space:nowrap;margin:0;font-size:12px;font-weight:800;line-height:16px}.camera-status-row h2{color:var(--on-surface-variant)}.camera-status-row span{color:var(--primary)}.camera-feed{background:radial-gradient(circle at 50% 42%,#4be2771f,#0000 32%),linear-gradient(135deg,#0b1326d1,#070d1cf5);border:1px solid #adc6ff47;border-radius:12px;height:clamp(270px,72vw,310px);position:relative;overflow:hidden;box-shadow:inset 0 0 40px #00000059,0 0 24px #4be27714}.camera-grid{opacity:.55;background-image:linear-gradient(#adc6ff12 1px,#0000 1px),linear-gradient(90deg,#adc6ff12 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.camera-vignette{pointer-events:none;background:linear-gradient(#02061747,#0000 24% 76%,#02061773),radial-gradient(circle,#0000 46%,#0206179e);position:absolute;inset:0}.court-outline{border:2px solid #adc6ff6b;border-radius:10px;position:absolute;inset:35px 28px;transform:perspective(520px)rotateX(10deg)}.court-line{background:#adc6ff57;position:absolute}.court-line--net{width:100%;height:2px;top:50%;left:0}.court-line--left-service,.court-line--right-service{width:100%;height:1px;left:0}.court-line--left-service{top:26%}.court-line--right-service{bottom:26%}.court-line--middle{width:1px;height:100%;top:0;left:50%}.work-boundary,.trace-path{pointer-events:none;border-radius:12px;position:absolute;inset:25px 20px}.work-boundary{border:2px solid #4be27738;box-shadow:inset 0 0 22px #4be2770d}.setup-phase--detecting .work-boundary,.setup-phase--tracing .work-boundary,.setup-phase--confirm .work-boundary{border-color:#4be277e0;box-shadow:inset 0 0 24px #4be2771a,0 0 22px #4be27742}.work-boundary i{border:2px solid var(--primary);opacity:.42;width:13px;height:13px;position:absolute}.work-boundary i:first-child{border-bottom:0;border-right:0;top:-2px;left:-2px}.work-boundary i:nth-child(2){border-bottom:0;border-left:0;top:-2px;right:-2px}.work-boundary i:nth-child(3){border-top:0;border-left:0;bottom:-2px;right:-2px}.work-boundary i:nth-child(4){border-top:0;border-right:0;bottom:-2px;left:-2px}.setup-phase--detecting .work-boundary i,.setup-phase--tracing .work-boundary i,.setup-phase--confirm .work-boundary i{opacity:1}.trace-path{border:1px dashed #2dd4bf00}.setup-phase--tracing .trace-path,.setup-phase--confirm .trace-path{border-color:#2dd4bfc7}.trace-path i{opacity:0;background:#5eead4;border-radius:999px;width:22px;height:4px;position:absolute;top:-2px;left:-2px;box-shadow:0 0 14px #5eead4cc}.setup-phase--tracing .trace-path i{opacity:1;animation:1.3s ease-in-out infinite setup-trace-glow}.scan-band{opacity:0;pointer-events:none;background:linear-gradient(115deg,#0000 36%,#adc6ff14 43%,#4be2773d 49%,#0000 58%);position:absolute;inset:-35%;transform:translate(-45%)}.setup-phase--detecting .scan-band,.setup-phase--tracing .scan-band{opacity:1;animation:1.45s linear infinite setup-scan-pass}.camera-corner{border:2px solid #adc6ff57;width:22px;height:22px;position:absolute}.camera-corner--top-left{border-bottom:0;border-right:0;top:13px;left:13px}.camera-corner--top-right{border-bottom:0;border-left:0;top:13px;right:13px}.camera-corner--bottom-left{border-top:0;border-right:0;bottom:13px;left:13px}.camera-corner--bottom-right{border-top:0;border-left:0;bottom:13px;right:13px}.detected-ball{background:var(--primary);opacity:.18;border-radius:999px;width:8px;height:8px;display:block;position:absolute;box-shadow:0 0 8px #4be277b3}.setup-phase--detecting .detected-ball,.setup-phase--tracing .detected-ball,.setup-phase--confirm .detected-ball{opacity:.85}.detected-ball--one{top:28%;left:28%}.detected-ball--two{top:39%;right:24%}.detected-ball--three{bottom:28%;left:34%}.detected-ball--four{bottom:19%;right:34%}.machine-runner{z-index:6;width:34px;height:34px;color:var(--primary);background:#0b1326eb;border:1px solid #4be2779e;border-radius:10px;place-items:center;display:grid;position:absolute;top:28px;left:20px;box-shadow:0 0 18px #4be2775c,inset 0 0 12px #4be2771a}.machine-runner svg{font-size:18px}.setup-phase--detecting .machine-runner{top:50%;left:50%;transform:translate(-50%,-50%)}.setup-phase--tracing .machine-runner{animation:7.1s linear infinite setup-runner-trace}.setup-phase--confirm .machine-runner{top:28px;bottom:auto;left:20px}.camera-readout{z-index:7;color:var(--primary);background:#020617b8;border:1px solid #4be27757;border-radius:8px;align-items:center;gap:8px;padding:7px 9px;display:inline-flex;position:absolute;bottom:12px;right:12px;box-shadow:0 0 14px #4be2771f}.camera-readout span,.camera-readout strong{white-space:nowrap;font-size:10px;font-weight:800;line-height:14px}.camera-readout span{color:#a8b6d6}.setup-progress{background:#31394dcc;border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.setup-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #5eead4);height:100%;transition:width .22s;display:block;box-shadow:0 0 12px #4be277b8}.setup-action-panel{flex-direction:column;gap:10px;display:flex}.setup-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.setup-step{color:#64748b;background:#02061747;border:1px solid #475569d1;border-radius:8px;flex-direction:column;justify-content:center;gap:3px;min-height:58px;padding:8px 6px;display:flex}.setup-step span{border:1px solid;border-radius:999px;place-items:center;width:18px;height:18px;font-size:9px;font-weight:900;line-height:1;display:grid}.setup-step strong,.setup-step small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.setup-step strong{font-size:11px;font-weight:800;line-height:14px}.setup-step small{color:#94a3b8;font-size:9px;font-weight:700;line-height:12px}.setup-step.is-current,.setup-step.is-done{color:var(--primary);border-color:#4be27770;box-shadow:0 0 14px #4be2771f}.setup-step.is-done{background:#4be27714}.setup-primary-button{border:1px solid var(--primary);min-height:46px;color:var(--primary);cursor:pointer;background:linear-gradient(90deg,#4be2772e,#2dd4bf1a),#0f172ac7;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:900;line-height:18px;transition:background-color .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 0 20px #4be27733}.setup-primary-button:hover,.setup-primary-button:focus-visible{background-color:#4be27714;outline:none;transform:translateY(-1px);box-shadow:0 0 26px #4be27752}.setup-primary-button:disabled{cursor:wait;opacity:.82}.setup-primary-button:disabled svg{animation:1s linear infinite soft-spin}.dashboard-main{padding:calc(74px + env(safe-area-inset-top,0px)) var(--page-padding) calc(20px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:clamp(8px,2.5vw,12px);display:flex}.mobile-status{justify-content:space-between;align-items:center;height:32px;padding:0 8px;display:flex}.signal-group{align-items:center;gap:12px;display:flex}.signal-group svg{color:var(--secondary);font-size:14px}.signal-group svg:first-child{color:var(--primary)}.warning-pill{color:#5eead4;background:#14b8a61a;border:2px solid #2dd4bf6b;border-radius:12px;align-items:center;gap:8px;height:32px;padding:6px 18px;display:flex;box-shadow:0 0 15px #14b8a624}.warning-pill.is-alerting{border-color:var(--error-container);color:var(--error);background:#93000a4d;box-shadow:0 0 18px #93000a94}.warning-pill svg{font-size:14px}.warning-pill span{font-size:12px;font-weight:700;line-height:16px}.workspace-lock-strip{background:linear-gradient(90deg,#4be2771a,#0000 70%),#0f172ab3;border:1px solid #4be2773d;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:8px 10px;display:flex;box-shadow:0 0 16px #4be2771a}.workspace-lock-strip div{grid-template-columns:24px 1fr;align-items:center;gap:2px 8px;min-width:0;display:grid}.workspace-lock-strip svg{color:var(--primary);grid-row:span 2;font-size:18px}.workspace-lock-strip span,.workspace-lock-strip strong,.workspace-lock-strip button{white-space:nowrap;font-weight:800}.workspace-lock-strip span,.workspace-lock-strip strong{text-overflow:ellipsis;min-width:0;overflow:hidden}.workspace-lock-strip span{color:var(--on-surface);font-size:12px;line-height:15px}.workspace-lock-strip strong{color:#94a3b8;font-size:9px;line-height:12px}.workspace-lock-strip button{color:#5eead4;cursor:pointer;background:#14b8a61a;border:1px solid #2dd4bf6b;border-radius:8px;flex:none;height:30px;padding:0 10px;font-size:11px;line-height:14px;transition:background-color .18s,box-shadow .18s}.workspace-lock-strip button:hover,.workspace-lock-strip button:focus-visible{background:#14b8a62e;outline:none;box-shadow:0 0 14px #2dd4bf38}.control-grid{width:var(--content-width);justify-content:space-between;align-items:flex-start;height:120px;padding-bottom:8px;display:flex}.control-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--secondary);cursor:pointer;background:#0f172ab3;border:1px solid;border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;transition:background-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden}.control-button:hover,.control-button:focus-visible,.control-button.is-active{outline:none;transform:translateY(-2px)}.control-button.is-active:after{content:"";opacity:.06;background:currentColor;position:absolute;inset:0}.control--collect{width:clamp(74px,22vw,82px);height:112px;color:var(--primary);gap:10px;padding:18px 14px;box-shadow:0 0 15px #4be27780}.control--sort{width:clamp(80px,24vw,88px);height:118px;color:var(--secondary);gap:11px;padding:18px 14px}.control--steam{color:#2dd4bf;gap:11px;width:clamp(82px,24vw,90px);height:114px;padding:18px 14px}.control-icon{z-index:1;font-size:34px;position:relative}.control--collect .control-icon{font-size:30px}.control-label{z-index:1;text-align:center;white-space:nowrap;flex-direction:column;align-items:center;gap:1px;font-size:13px;font-weight:800;line-height:17px;display:flex;position:relative}.control--collect .control-label{text-shadow:0 0 8px #4be277cc;line-height:18px}.demo-strip{width:var(--content-width);background:linear-gradient(90deg,#4be27733,#0000 72%),#0f172ac2;border:1px solid #4be27780;border-radius:8px;align-items:center;gap:10px;min-height:66px;padding:11px 12px;display:flex;box-shadow:0 0 24px #4be27738,inset 0 0 18px #4be2770d}.demo-play-button{background:linear-gradient(135deg, var(--primary), #5eead4);color:#052e16;cursor:pointer;text-shadow:0 1px #ffffff3d;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:8px;width:118px;height:46px;font-size:13px;font-weight:900;line-height:18px;transition:background-color .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 0 20px #4be27773,inset 0 -2px #052e162e}.demo-play-button:hover,.demo-play-button:focus-visible{background:linear-gradient(135deg,#6af08e,#67e8f9);outline:none;transform:translateY(-1px);box-shadow:0 0 28px #4be27794,inset 0 -2px #052e1629}.demo-play-button:active{transform:scale(.98)}.demo-play-button:disabled{cursor:wait;opacity:.86}.demo-play-button svg{font-size:18px}.demo-play-button span{white-space:nowrap}.demo-play-button:disabled svg{animation:1s linear infinite soft-spin}.demo-readout{flex-direction:column;gap:6px;min-width:0;display:flex}.demo-readout strong{color:var(--on-surface);font-size:13px;font-weight:800;line-height:18px}.demo-chip-row{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.demo-chip-row span{color:#94a3b8;white-space:nowrap;background:#0206173d;border:1px solid #475569d1;border-radius:6px;align-items:center;min-height:18px;padding:2px 6px;font-size:9px;font-weight:800;line-height:12px;display:inline-flex}.workflow-panel{width:var(--content-width);background:linear-gradient(135deg,#2dd4bf1a,#0000 54%),#0f172ac2;border:1px solid #adc6ff3d;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex;box-shadow:0 0 18px #2dd4bf1a}.phase-narration{grid-template-columns:36px 1fr 28px;align-items:center;gap:10px;min-height:54px;display:grid}.phase-icon{width:36px;height:36px;color:var(--primary);background:#4be2771a;border:1px solid #4be27770;border-radius:8px;place-items:center;display:grid;box-shadow:0 0 18px #4be2772e}.phase-icon svg{font-size:20px}.phase-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.phase-copy strong{color:var(--on-surface);font-size:14px;font-weight:800;line-height:18px}.phase-copy span{color:#a8b6d6;font-size:10px;font-weight:600;line-height:14px}.voice-wave{justify-content:center;align-items:center;gap:3px;height:28px;display:flex}.voice-wave i{opacity:.5;background:#adc6ff;border-radius:999px;width:4px;height:12px;animation:.96s ease-in-out infinite voice-wave;display:block}.voice-wave i:nth-child(2){height:22px;animation-delay:.12s}.voice-wave i:nth-child(3){height:28px;animation-delay:.24s}.voice-wave i:nth-child(4){height:17px;animation-delay:.36s}.timeline-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid;overflow:visible}.timeline-step{color:#64748b;background:#02061752;border:1px solid #475569cc;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;height:40px;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:flex}.timeline-step svg{font-size:14px}.timeline-step span{text-align:center;white-space:nowrap;max-width:100%;font-size:8px;font-weight:800;line-height:10px}.timeline-step.is-done{color:#4be277c2;border-color:#4be2774d}.timeline-step.is-current{border-color:var(--primary);color:var(--primary);background:#4be27724;box-shadow:0 0 16px #4be2773d}.panel{width:var(--content-width);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ab3;border:1px solid #1e293b;border-radius:8px}.cage-panel,.stats-panel,.telemetry-panel,.insights-panel{min-height:0;padding:var(--panel-padding)}.panel-title-row{border-bottom:1px solid var(--surface-variant);justify-content:space-between;align-items:flex-start;gap:12px;height:auto;min-height:27px;margin-bottom:14px;padding-bottom:9px;display:flex}.panel-title-row--stacked{justify-content:flex-start}.panel-title-row h2,.panel-title-row span{white-space:nowrap;margin:0;font-size:14px;font-weight:700;line-height:20px}.panel-title-row h2{color:var(--on-surface-variant)}.panel-title-row span{color:var(--primary)}.insights-title-row{margin-bottom:12px}.insights-title-row span{text-overflow:ellipsis;min-width:0;overflow:hidden}.cage-visual{aspect-ratio:23/24;border:4px solid var(--surface-variant);background:#131b2e80;border-radius:12px;justify-content:center;align-items:center;width:100%;max-width:clamp(214px,64vw,232px);height:auto;min-height:0;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000000d}.scan-sweep{z-index:2;opacity:0;transform-origin:50%;pointer-events:none;background:conic-gradient(from 25deg,#0000 0deg,#adc6ff3d 26deg,#4be2774d 42deg,#0000 78deg 360deg);position:absolute;inset:0}.scan-sweep.is-scanning{opacity:1;animation:1.4s linear infinite radar-sweep}.wheel-rotor{transform-origin:50%;position:absolute;inset:0}.wheel-rotor.is-rotating .cage-hub{box-shadow:0 0 28px #4be277b8,inset 0 0 18px #4be27729}.cage-ring{pointer-events:none;border-radius:12px;position:absolute}.cage-ring--near{opacity:.6;border:2px solid #4be2774d;inset:5px;box-shadow:0 0 15px #4be27780}.cage-ring--far{opacity:.3;border:1px solid #4be2771a;inset:18px}.recognition-tag{z-index:14;max-width:178px;color:var(--primary);background:#0b1326e6;border:1px solid #4be2776b;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 0 14px #4be2772e}.recognition-tag.is-bad{color:var(--error);border-color:#ffb4ab80;box-shadow:0 0 14px #ffb4ab2e}.recognition-tag.is-complete{color:#adc6ff;border-color:#adc6ff80}.recognition-tag svg{flex:none;font-size:13px}.recognition-tag span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:800;line-height:15px;overflow:hidden}.steam-cloud{z-index:12;opacity:0;pointer-events:none;justify-content:center;align-items:flex-end;gap:7px;width:72px;height:76px;display:flex;position:absolute;bottom:70px;right:32px}.steam-cloud i{filter:blur(.2px);background:linear-gradient(#7dd3fc00,#7dd3fcb8);border-radius:999px;width:11px;height:42px;display:block;transform:translateY(18px)}.steam-cloud i:nth-child(2){height:58px}.steam-cloud i:nth-child(3){height:48px}.steam-cloud.is-steaming{opacity:1}.steam-cloud.is-steaming i{animation:1.5s ease-in-out infinite steam-rise}.steam-cloud.is-steaming i:nth-child(2){animation-delay:.18s}.steam-cloud.is-steaming i:nth-child(3){animation-delay:.36s}.cage-slot,.cage-hub{border-radius:12px;place-items:center;transition:transform .9s cubic-bezier(.19,1,.22,1);display:grid;position:absolute}.cage-slot{width:clamp(40px,12vw,46px);height:clamp(40px,12vw,46px);transform:translate(-50%, -50%) rotate(var(--slot-angle)) translateY(calc(var(--orbit-radius) * -1)) rotate(var(--slot-counter-angle));border:2px solid;top:50%;left:50%}.cage-slot svg{font-size:18px}.slot--filling{box-shadow:0 0 24px #4be2777a,inset 0 0 18px #4be27733}.slot-fill{grid-template-columns:repeat(5,1fr);gap:2px;width:22px;display:grid;position:absolute;bottom:5px;right:5px}.slot-fill i{background:#94a3b840;border-radius:999px;width:3px;height:3px}.slot-fill i.is-good{background:var(--primary);box-shadow:0 0 5px #4be277e6}.slot-fill i.is-bad{background:var(--error);box-shadow:0 0 5px #ffb4abe6}.slot--active{border-color:var(--primary);color:var(--primary);background:#4be27733;box-shadow:0 0 15px #4be2774d}.slot--transition{color:#fbbf24;background:#fbbf2433;border-color:#fbbf24;box-shadow:0 0 15px #fbbf244d}.slot--empty{color:#475569;background:#1e293b66;border-color:#334155;box-shadow:inset 0 2px 4px #0000000d}.cage-hub{border:3px solid var(--primary);background:var(--surface-variant);width:clamp(54px,17vw,64px);height:clamp(54px,17vw,64px);color:var(--primary);filter:drop-shadow(0 0 10px #4be27766);top:50%;left:50%;transform:translate(-50%,-50%)}.cage-hub svg{font-size:18px}.flying-shuttle{z-index:8;pointer-events:none;background:#0b1326eb;border:1px solid;border-radius:999px;place-items:center;width:28px;height:28px;animation:.62s cubic-bezier(.16,1,.3,1) forwards shuttle-collect;display:grid;position:absolute;top:50%;left:50%}.flying-shuttle--good{color:var(--primary);box-shadow:0 0 18px #4be2778c}.flying-shuttle--bad{color:var(--error);box-shadow:0 0 18px #ffb4ab8c}.flying-shuttle svg{font-size:16px}.stats-body{grid-template-columns:96px 1fr;align-items:end;gap:10px 14px;min-height:0;padding-top:0;display:grid}.insights-body{grid-template-columns:86px 1fr;align-items:end;gap:10px 12px;display:grid}.insight-total{grid-template-columns:auto 16px;align-items:end;gap:2px 6px;display:grid}.insight-total span{color:#94a3b8;grid-column:1/-1;font-size:10px;font-weight:800;line-height:13px}.insight-total strong{color:var(--primary);font-family:"Space Grotesk", var(--font-sans);white-space:nowrap;font-size:54px;font-weight:800;line-height:50px}.insight-total svg{color:#94a3b8;width:15px;height:15px;margin-bottom:8px}.insight-ratio{flex-direction:column;gap:8px;min-width:0;display:flex}.stat-number-row{align-items:flex-end;gap:8px;margin-bottom:0;display:flex}.stat-number-row strong{color:var(--primary);font-family:"Space Grotesk", var(--font-sans);white-space:nowrap;font-size:64px;font-weight:800;line-height:64px}.stat-number-row svg{color:#94a3b8;width:19px;height:19px;margin-bottom:14px}.ratio-block{flex-direction:column;gap:8px;display:flex}.ratio-labels{justify-content:space-between;align-items:center;font-size:12px;font-weight:700;line-height:16px;display:flex}.good-label{color:var(--primary)}.bad-label{color:var(--error)}.ratio-bar{background:var(--surface-bright);border-radius:12px;width:100%;height:12px;display:flex;overflow:hidden;box-shadow:inset 0 2px 4px #0000000d}.ratio-good{background:var(--primary);width:90%;box-shadow:0 0 10px #4be277cc}.ratio-bad{background:var(--error);width:10%}.metric-capsules{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:4px;display:grid}.metric-card{background:#02061747;border:1px solid #475569d1;border-radius:8px;flex-direction:column;justify-content:center;gap:4px;min-height:50px;padding:8px 6px;display:flex}.metric-card span{color:#94a3b8;font-size:10px;font-weight:800;line-height:13px}.metric-card strong{color:var(--on-surface);font-family:"Space Grotesk", var(--font-sans);white-space:nowrap;font-size:16px;font-weight:800;line-height:18px}.compact-telemetry-list{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.compact-telemetry-card{background:#02061747;border:1px solid #475569d1;border-radius:8px;grid-template-columns:20px 1fr;align-content:center;align-items:center;gap:3px 4px;min-width:0;min-height:68px;padding:6px;display:grid}.compact-telemetry-card .telemetry-icon{grid-row:span 2;width:20px;height:20px}.compact-telemetry-card .telemetry-icon svg{font-size:11px}.compact-telemetry-card span,.compact-telemetry-card strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;font-weight:800;line-height:12px;overflow:hidden}.compact-telemetry-card span{color:#a8b6d6}.compact-telemetry-card strong{color:var(--on-surface)}.compact-telemetry-card .telemetry-bar{grid-column:1/-1;height:6px;margin-top:2px}.telemetry-list{flex-direction:column;gap:10px;display:flex}.telemetry-row{grid-template-columns:34px 1fr;align-items:center;gap:12px;display:grid}.telemetry-icon{background:#0f172ab3;border:1px solid;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.telemetry-icon svg{font-size:15px}.telemetry-icon--green{color:var(--primary)}.telemetry-icon--cyan{color:#5eead4}.telemetry-icon--blue{color:#adc6ff}.telemetry-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.telemetry-copy div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.telemetry-copy span{color:#a8b6d6;font-size:12px;font-weight:800;line-height:16px}.telemetry-copy strong{color:var(--on-surface);white-space:nowrap;font-size:12px;font-weight:800;line-height:16px}.telemetry-bar{background:#31394dcc;border-radius:999px;width:100%;height:8px;overflow:hidden}.telemetry-fill{border-radius:inherit;height:100%;transition:width .26s;display:block}.telemetry-fill--green{background:var(--primary);box-shadow:0 0 10px #4be277b8}.telemetry-fill--cyan{background:#5eead4;box-shadow:0 0 10px #5eead49e}.telemetry-fill--blue{background:#adc6ff;box-shadow:0 0 10px #adc6ff9e}.emergency-fab{width:min(160px,52vw);min-height:38px;color:var(--error);cursor:pointer;background:#ffb4ab1f;border:1px solid #ffb4ab94;border-radius:8px;justify-content:center;align-self:center;align-items:center;gap:6px;padding:4px 12px;transition:background-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;box-shadow:0 0 18px #ffb4ab29}.emergency-fab:after{content:"";border:2px solid var(--error);border-radius:inherit;opacity:0;pointer-events:none;position:absolute;inset:0}.emergency-fab:hover,.emergency-fab:focus-visible{background:#ffb4ab33;outline:none;transform:translateY(1px);box-shadow:0 0 25px #ffb4ab99}.emergency-fab:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:0 0 12px #ffb4ab14}.emergency-fab svg{stroke:none;font-size:16px}.emergency-fab span{text-align:center;font-size:12px;font-weight:800;line-height:16px}@keyframes setup-scan-pass{to{transform:translate(45%)}}@keyframes setup-trace-glow{0%,to{opacity:.35;transform:translate(0)}50%{opacity:1;transform:translate(12px)}}@keyframes setup-runner-trace{0%{top:28px;left:20px;transform:translate(0)}25%{top:28px;left:calc(100% - 54px);transform:translate(0)}50%{top:calc(100% - 62px);left:calc(100% - 54px);transform:translate(0)}75%{top:calc(100% - 62px);left:20px;transform:translate(0)}to{top:28px;left:20px;transform:translate(0)}}@keyframes shuttle-collect{0%{opacity:0;transform:translate(-142px,108px)scale(.5)rotate(-18deg)}18%{opacity:1}62%{transform:translate(-76px,26px)scale(1)rotate(10deg)}to{opacity:0;transform:translate(-16px,-118px)scale(.3)rotate(28deg)}}@keyframes radar-sweep{to{transform:rotate(360deg)}}@keyframes steam-rise{0%{opacity:0;transform:translateY(18px)scaleY(.7)}35%{opacity:.8}to{opacity:0;transform:translateY(-30px)scaleY(1.15)}}@keyframes voice-wave{0%,to{opacity:.42;transform:scaleY(.72)}50%{opacity:1;transform:scaleY(1)}}@keyframes soft-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.flying-shuttle,.demo-play-button:disabled svg,.setup-primary-button:disabled svg,.scan-sweep.is-scanning,.setup-phase--detecting .scan-band,.setup-phase--tracing .scan-band,.setup-phase--tracing .trace-path i,.setup-phase--tracing .machine-runner,.steam-cloud.is-steaming i,.voice-wave i{animation:none}.wheel-rotor,.cage-slot,.cage-hub,.control-button,.demo-play-button,.setup-primary-button,.setup-progress i,.emergency-fab,.timeline-step,.telemetry-fill{transition:none}}
