:root{--bg:#0b0f14;--bg-panel:#121820;--bg-panel-2:#171e28;--bg-elev:#1c2430;--border:#2a3444;--border-soft:#222b38;--text:#e8eef7;--text-dim:#8b97a8;--text-mute:#6b7788;--accent:#2dd4bf;--accent-dim:#2dd4bf26;--accent-2:#38bdf8;--warn:#f59e0b;--warn-bg:#f59e0b1f;--danger:#f87171;--danger-bg:#f871711f;--ok:#34d399;--radius:10px;--radius-sm:6px;--shadow:0 8px 32px #00000073;--font:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", Consolas, monospace;--qv-rail-width:70px;--qv-icon-btn-size:30px;--qv-left-panel-width:242px;--qv-panel-inset:8px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);margin:0;font-size:13px;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--bg-elev);border-radius:var(--radius-sm);color:var(--text);padding:6px 10px;transition:background .15s,border-color .15s,color .15s}button:hover{background:#232c3a;border-color:#3d4b60}button.primary{color:#042f2e;background:linear-gradient(#2dd4bf,#14b8a6);border-color:#0000;font-weight:600}button.primary:hover{filter:brightness(1.05)}button.ghost{background:0 0}button.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}input[type=number],input[type=text],select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:6px 8px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.app-shell{flex-direction:column;height:100%;display:flex}.wizard-page{background:radial-gradient(1000px 500px at 80% -10%, #2dd4bf14, transparent), var(--bg);height:100%}.wizard-page--flow{flex-direction:column;grid-template-columns:none;height:100%;min-height:0;display:flex;overflow:hidden}.wizard-main--flow{flex-direction:column;flex:1;width:100%;max-width:960px;min-height:0;margin:0 auto;padding:28px 40px 40px;display:flex;overflow:hidden}.wizard-main--flow>.wizard-header,.wizard-main--flow>.stepper{flex-shrink:0}.wizard-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:20px;display:grid}.wizard-header .wizard-title{text-align:center;justify-self:center;margin:0}.wizard-header-back{border:1px solid var(--border-soft);background:var(--bg-panel);color:var(--text-dim);border-radius:8px;justify-self:start;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex}.wizard-header-next{justify-self:end;min-width:132px;padding:8px 18px;font-size:13px;font-weight:600}.wizard-header-back:hover{color:var(--text);border-color:var(--border)}.wizard-color-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;width:100%;display:grid}.wizard-color-row .field,.wizard-color-row .product-color-field{min-width:0;margin-bottom:0}.wizard-dims-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}.wizard-count-field{flex-direction:column;gap:4px;min-width:0;display:flex}.wizard-count-field .field{width:100%;margin-bottom:0}.product-color-swatches{flex-direction:column;gap:6px;margin-top:6px;display:flex}.product-color-grid{flex-wrap:wrap;gap:6px;display:flex}.product-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:4px;width:22px;height:22px;padding:0;box-shadow:inset 0 0 0 1px #00000040}.product-color-swatch.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.product-color-active{margin:4px 0 0}.inspector-span-full{grid-column:1/-1}.product-color-swatch--light{box-shadow:inset 0 0 0 1px #0f172a2e}.wizard-vl-starter-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.wizard-vl-starter-card{border:1px solid var(--border-soft);background:var(--bg-elevated);text-align:left;color:var(--text-dim);border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.wizard-vl-starter-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.wizard-vl-starter-card strong{color:var(--text)}.wizard-modeling-step{flex-direction:column;gap:2px;display:flex}.wizard-modeling-step .wizard-dimension-group{margin-top:10px;padding:12px 14px}.wizard-modeling-step .wizard-dimension-group h3{margin-bottom:8px}.wizard-modeling-group--compact h3{margin-bottom:6px}.wizard-modeling-engine-row{align-items:flex-end;gap:16px}.wizard-modeling-inline-check{white-space:nowrap;flex:1;min-height:36px;padding-bottom:2px}.wizard-modeling-inline-check.disabled{opacity:.45;pointer-events:none}.wizard-card:has(.wizard-modeling-step){max-width:1040px}.wizard-modeling-hint{margin:-4px 0 10px;font-size:12px}.wizard-modeling-preset-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.wizard-modeling-preset-card{border:1px solid var(--border-soft);background:var(--bg-elevated);text-align:left;color:var(--text-dim);cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.wizard-modeling-preset-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.wizard-modeling-preset-card strong{color:var(--text);font-size:13px}.wizard-modeling-preset-card span{font-size:11px;line-height:1.35}.wizard-modeling-custom-note{color:var(--accent-2);margin:8px 0 0;font-size:12px}.wizard-modeling-check-field{align-items:flex-end;display:flex}.wizard-modeling-check-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.settings-check-inline{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.modeling-preset-bar{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.modeling-preset-bar--compact .modeling-preset-btn{padding:8px 10px}.modeling-preset-btn{border:1px solid var(--border-soft);background:var(--bg-elevated);text-align:left;color:var(--text-dim);cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.modeling-preset-btn.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.modeling-preset-btn strong{color:var(--text);font-size:12px}.modeling-preset-btn span{font-size:10px;line-height:1.3}.modeling-preset-custom{color:var(--accent-2);grid-column:1/-1;font-size:11px}@media (width<=720px){.wizard-modeling-preset-row,.modeling-preset-bar{grid-template-columns:1fr}}.field input:disabled,.field select:disabled,.number-field input:disabled{opacity:.45;cursor:not-allowed}.wizard-create-step{padding:8px 0 4px}.fill-card-field{margin-bottom:20px}@media (width<=800px){.wizard-dims-row,.wizard-dims-row--4,.wizard-dims-row--lanes{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-dims-row--lanes .belt-lanes-preview{grid-column:1/-1}.wizard-color-row{grid-template-columns:1fr}}.wizard-nav{border-right:1px solid var(--border-soft);background:var(--bg-panel);flex-direction:column;gap:24px;padding:20px 16px;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:10px;font-weight:700;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), #0ea5e9);border-radius:8px;width:28px;height:28px;box-shadow:0 0 20px #2dd4bf59}.topbar-brand-logo.brand-mark{width:32px;height:32px;box-shadow:none;background:0 0;border:none;border-radius:0;flex:0 0 32px;justify-content:center;align-items:center;display:flex;overflow:visible}.topbar-brand-logo.brand-mark img{object-fit:contain;object-position:center;width:32px;height:32px;display:block}.brand span{font-size:13px;line-height:1.2}.nav-section{flex-direction:column;gap:4px;display:flex}.nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);margin:0 8px 6px;font-size:10px}.nav-item{color:var(--text-dim);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.nav-item.active{background:var(--accent-dim);color:var(--accent)}.wizard-main{padding:28px 40px 40px;overflow:auto}.wizard-title{margin:0 0 18px;font-size:22px;font-weight:650}.stepper{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;display:flex}.step-pill{border:1px solid var(--border);color:var(--text-dim);background:var(--bg-panel);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;display:flex}.step-pill.active{border-color:var(--accent);color:var(--text);background:var(--accent-dim)}.step-pill.done{color:var(--ok);border-color:#34d39966}.step-pill--navigable:not(:disabled){cursor:pointer}.step-pill:disabled:not(.active){cursor:default;opacity:.72}.step-pill.done:disabled:not(.active){opacity:1;color:var(--ok)}.wizard-step-errors{color:var(--danger);flex:auto;margin:0;font-size:13px;line-height:1.35}.step-num{background:var(--bg-elev);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.wizard-card{background:var(--bg-panel);border:1px solid var(--border-soft);box-shadow:var(--shadow);border-radius:16px;max-width:960px;padding:24px}.wizard-card:has(.wizard-spec){flex-direction:column;flex:1;min-height:0;padding-bottom:16px;display:flex;overflow:hidden}.wizard-card:has(.wizard-spec) .wizard-actions{border-top:1px solid var(--border-soft);flex-shrink:0;margin-top:0;padding-top:14px}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field label{color:var(--text-dim);font-size:12px}.field .hint{color:var(--text-mute);font-size:11px}.segmented{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:6px;padding:4px;display:flex}.segmented button{background:0 0;border:none;flex:1}.segmented button.active{background:var(--bg-elev);color:var(--accent);border:1px solid var(--border)}.faces-picker{grid-template-columns:1fr 1.1fr;align-items:start;gap:24px;display:grid}.brick-scheme{aspect-ratio:1.1;background:linear-gradient(160deg, #2a2118, #1a1510 60%), var(--bg);border:1px solid var(--border);border-radius:14px;position:relative;overflow:hidden}.brick-block{background:linear-gradient(145deg,#8b6b4a,#5c4430);border-radius:8px;width:56%;height:44%;position:absolute;top:28%;left:22%;box-shadow:inset 0 0 30px #00000059}.face-btn{color:var(--text-dim);background:#14181ebf;border:1px solid #0000;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600;position:absolute}.face-btn.on{background:var(--accent);color:#042f2e;border-color:#0000}.face-btn.top{top:14%;left:50%;transform:translate(-50%)}.face-btn.left{top:48%;left:6%}.face-btn.right{top:48%;right:6%}.face-btn.front{bottom:14%;left:50%;transform:translate(-50%)}.face-btn.back{opacity:.85;top:42%;left:50%;transform:translate(-50%)}.goal-list{flex-direction:column;gap:8px;display:flex}.goal-card{border:1px solid var(--border);background:var(--bg-panel-2);text-align:left;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.goal-card.on{border-color:var(--accent);background:var(--accent-dim)}.goal-card h4{margin:0 0 4px;font-size:13px}.goal-card p{color:var(--text-mute);margin:0;font-size:11px;line-height:1.35}.wizard-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;display:flex}.workspace{--qv-inspector-width:320px;--qv-inspector-collapsed-width:48px;--qv-inspector-inset:var(--qv-inspector-width);grid-template-rows:auto 1fr auto;height:100%;display:grid}.workspace.right-panel-collapsed{--qv-inspector-inset:var(--qv-inspector-collapsed-width)}.topbar{border-bottom:1px solid var(--border-soft);background:var(--bg-panel)}.topbar .brand{flex:none;min-width:0}.layer-toggles{gap:6px;margin:0;display:flex}.top-actions{align-items:center;gap:6px;display:flex}.workspace-body{grid-template-columns:var(--qv-rail-width) var(--qv-left-panel-width) 1fr 320px;min-height:0;display:grid}.workspace-rail{--workspace-rail-icon-size:23px;border-right:1px solid var(--border-soft);background:#0d131b;flex-direction:column;align-items:stretch;gap:5px;padding:8px 5px;display:flex}.workspace-rail button svg{width:var(--workspace-rail-icon-size);height:var(--workspace-rail-icon-size);flex-shrink:0}.workspace-rail button{color:var(--text-mute);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;font-size:11px;line-height:1.15;display:flex}.workspace-rail button:hover,.workspace-rail button.active{color:var(--accent);background:var(--accent-dim)}.workspace-rail button.workspace-rail-report{color:#f87171}.workspace-rail button.workspace-rail-report:hover{color:#fecaca;background:#7f1d1d59}.registry-panel{width:100%;min-width:0;height:100%}.registry-grid{gap:8px;width:100%;display:grid}.registry-card{text-align:left;background:var(--bg-panel-2);border-radius:8px;grid-template-rows:auto auto auto;grid-template-columns:52px 1fr;gap:2px 9px;width:100%;padding:8px;display:grid}.registry-card--custom{background:color-mix(in srgb, #ffc107 14%, var(--bg-panel-2));border:1px solid color-mix(in srgb, #ffc107 45%, var(--border))}.registry-card--custom:hover{background:color-mix(in srgb, #ffc107 22%, var(--bg-panel-2))}.panel-head-add-secondary{font-size:12px}.registry-custom-cameras{margin-top:12px}.registry-laser-catalog{margin-bottom:12px}.custom-camera-form .custom-camera-resolution{grid-template-columns:1fr 1fr;gap:8px;display:grid}.custom-camera-error{color:var(--danger,#e53e3e);margin:0 16px 8px;font-size:13px}.custom-camera-fields--compact{background:color-mix(in srgb, #ffc107 10%, var(--bg-panel-2));border:1px solid color-mix(in srgb, #ffc107 35%, var(--border));border-radius:8px;margin-top:8px;padding:10px}.custom-camera-fields--compact .custom-camera-resolution{grid-template-columns:1fr 1fr;gap:8px;display:grid}.custom-camera-fields .field+.field{margin-top:0}.preset-other-input{margin-top:6px}button.ghost.danger{color:var(--danger,#e53e3e)}.registry-card strong{text-overflow:ellipsis;align-self:end;overflow:hidden}.registry-card span,.registry-card small{color:var(--text-dim);text-overflow:ellipsis;overflow:hidden}.device-preview{border:1px solid var(--border);color:var(--accent);background:radial-gradient(circle, #2dd4bf1f, transparent 70%), var(--bg);border-radius:7px;grid-row:1/4;place-items:center;display:grid}.ghost-card{opacity:.75;border-style:dashed}.registry-alert{background:var(--warn-bg);border:1px solid #f59e0b4d;border-radius:7px;margin-bottom:7px;padding:9px}.registry-alert.error{background:var(--danger-bg);border-color:#f8717159}.registry-checks-group{margin-bottom:14px}.registry-checks-group:last-child{margin-bottom:0}.registry-checks-group-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:600}.registry-checks-empty{margin:0;font-size:13px}.registry-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#03070cb8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.registry-modal{background:#111923;border:1px solid #3a4b61;border-radius:14px;width:min(560px,100vw - 48px);max-height:calc(100vh - 48px);padding:18px;overflow:auto;box-shadow:0 28px 80px #0000008c}.registry-modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.registry-modal-head-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.registry-modal-icon-danger{place-items:center;padding:0;display:grid}.registry-modal-head span{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.registry-modal-head h2{margin:4px 0 0;font-size:20px}.registry-modal-preview{border:1px solid var(--border);height:130px;color:var(--accent);background:radial-gradient(circle,#2dd4bf29,#0000 60%),#0b1119;border-radius:10px;place-items:center;margin:16px 0;display:grid}.registry-specs{margin:0}.registry-specs div{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(150px,.8fr) 1.2fr;gap:16px;padding:9px 0;display:grid}.registry-specs dt{color:var(--text-mute)}.registry-specs dd{color:var(--text);margin:0}.registry-modal-action{width:100%;margin-top:0}.delete-node-btn{width:28px;color:var(--text-mute);opacity:0;background:0 0;border-color:#0000;flex:0 0 28px;padding:0}.panel-body>div:hover .delete-node-btn,.delete-node-btn:focus-visible{opacity:1}.delete-node-btn:hover{color:var(--danger);background:var(--danger-bg);border-color:#f8717159}.danger-button{color:#fca5a5;background:#7f1d1d29;border-color:#f8717152}.panel{background:var(--bg-panel);border-right:1px solid var(--border-soft);flex-direction:column;min-height:0;display:flex}.panel.right{border-right:none;border-left:1px solid var(--border-soft)}.panel-head{border-bottom:1px solid var(--border-soft);box-sizing:border-box;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:650;display:flex}.panel-head-title{white-space:normal;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.panel-head-add,.panel-head-add-secondary{min-height:var(--qv-icon-btn-size);height:var(--qv-icon-btn-size);white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;padding:0 10px;font-size:12px;line-height:1;display:inline-flex}.workspace-body>:nth-child(2)>.panel{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:100%}.workspace-body>:nth-child(2) .panel-head{height:auto;min-height:64px;max-height:none;padding:0 var(--qv-panel-inset);flex-wrap:unset;border-bottom:1px solid var(--border-soft);background:#0c1118eb;grid-template-rows:auto auto;grid-template-columns:1fr;align-items:stretch;gap:0;display:grid;overflow:hidden}.workspace-body>:nth-child(2) .panel-head-title{flex:unset;width:100%;min-width:0;min-height:0;color:var(--text);white-space:normal;-webkit-line-clamp:2;line-clamp:2;word-break:break-word;text-overflow:unset;border-bottom:1px solid var(--border-soft);border-left:3px solid var(--accent);background:#121820b8;-webkit-box-orient:vertical;align-self:stretch;margin:0;padding:7px 0 6px 6px;font-size:13px;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden;box-shadow:inset 0 1px #ffffff08}.workspace-body>:nth-child(2) .panel-head-actions{box-sizing:border-box;background:#0b0f1459;grid-template-columns:minmax(0,1fr) auto;place-self:stretch stretch;align-items:center;column-gap:4px;width:100%;padding:5px 0 6px;display:grid}.workspace-body>:nth-child(2) .panel-head-actions-main{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.workspace-body>:nth-child(2) .panel-head-actions-main .panel-head-add,.workspace-body>:nth-child(2) .panel-head-actions-main .panel-head-add-secondary{min-width:0;padding:0 8px;font-size:11px}.workspace-body>:nth-child(2) .panel-head-collapse{flex-shrink:0}.workspace-body.left-panel-collapsed>:nth-child(2) .panel-head{background:0 0;justify-content:center;align-items:center;gap:0;height:46px;min-height:46px;max-height:46px;padding:8px 4px;display:flex;overflow:visible}.workspace-body.left-panel-collapsed>:nth-child(2) .panel-head-actions{background:0 0;justify-content:center;padding:0;display:flex}.workspace-body>:nth-child(2) .panel-body{padding:6px var(--qv-panel-inset) 8px;scrollbar-gutter:auto}.panel-body{scrollbar-gutter:stable;flex:1;padding:10px;overflow:auto}.registry-panel .panel-body.registry-catalog-body{scrollbar-gutter:auto;padding-top:4px}.tree-item{width:100%;min-height:28px;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;margin-bottom:0;padding:5px 8px;display:flex}.tree-item:hover{background:var(--bg-elev)}.tree-item.selected{background:var(--accent-dim);border-color:#2dd4bf59}.tree-item.hidden-node{color:var(--text-mute)}.tree-rename-input{border:1px solid var(--accent);background:var(--bg-elev);min-width:0;height:28px;color:var(--text);border-radius:5px;flex:1;padding:4px 7px}.eye-btn{color:var(--text-dim);background:0 0;border:none;place-items:center;padding:2px;display:grid}.eye-btn.off{color:var(--text-mute);opacity:.6}.viewport-wrap{background:#0e131a;min-width:0;position:relative}.viewport-tools{z-index:5;flex-direction:column;gap:6px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.view-cube{z-index:7;perspective:180px;width:78px;height:74px;position:absolute;top:12px;right:12px}.view-cube button{color:var(--text-dim);background:#19222eeb;border-color:#46566d;place-items:center;padding:0;font-size:8px;display:grid;position:absolute}.cube-top{width:40px;height:22px;top:0;left:20px;transform:skew(-35deg)}.cube-front{width:40px;height:36px;top:24px;left:10px}.cube-right{width:22px;height:36px;top:20px;left:52px;transform:skewY(-35deg)}.cube-iso{width:30px;height:18px;top:62px;left:28px}.viewport-tools button{background:#121820e6;place-items:center;width:36px;height:36px;padding:0;display:grid}.view-badge{z-index:5;border:1px solid var(--border);color:var(--text-dim);background:#121820d9;border-radius:8px;padding:6px 10px;font-size:11px;position:absolute;top:12px;left:12px}.inspector-section{margin-bottom:16px}.inspector-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);margin:0 0 8px;font-size:11px}.row-3{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.metric-cards{gap:8px;display:grid}.metric-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.metric-card .label{color:var(--text-mute);margin-bottom:4px;font-size:11px}.metric-card .value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.metric-card .sub{color:var(--text-dim);margin-top:2px;font-size:11px}.metric-card.warn{background:var(--warn-bg);border-color:#f59e0b80}.metric-card.ok{border-color:#34d39966}.badge{border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.ok{color:var(--ok);background:#34d3991f}.badge.warn{background:var(--warn-bg);color:var(--warn)}.check-row{color:var(--text-dim);align-items:center;gap:8px;padding:6px 0;font-size:12px;display:flex}.check-row .dot{background:var(--ok);border-radius:50%;width:8px;height:8px}.statusbar{border-top:1px solid var(--border-soft);background:var(--bg-panel);align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex;overflow:visible}.alert-chip{background:var(--warn-bg);color:#fcd34d;white-space:nowrap;text-overflow:ellipsis;max-width:520px;font-size:12px;font:inherit;border:1px solid #f59e0b59;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex;overflow:hidden}button.alert-chip{cursor:pointer}.alert-chip.ok{color:var(--ok);background:#34d39914;border-color:#34d39959}.alert-chip.error{background:var(--danger-bg);color:#fecaca;border-color:#f8717166}.alert-chip--compact{max-width:none;padding:5px 8px;font-size:11px}.cov-pill{border:1px solid var(--border-soft);white-space:nowrap;cursor:default;background:#ffffff0a;border-radius:6px;align-items:center;gap:5px;padding:4px 8px 4px 5px;font-size:10px;line-height:1.35;display:inline-flex;position:relative}.cov-pill-wrap{display:inline-flex;position:relative}.cov-pill-tip--quality{z-index:10000;width:max-content;display:none;position:absolute;bottom:calc(100% + 8px);right:0}.cov-pill-wrap:hover .cov-pill-tip--quality,.cov-pill-wrap:focus-within .cov-pill-tip--quality{display:block}.cov-pill--ok{color:var(--ok);background:#34d39914;border-color:#34d39973}.cov-pill--warn{background:var(--warn-bg);color:#fcd34d;border-color:#f59e0b8c}.cov-pill--bad{background:var(--danger-bg);color:#fecaca;border-color:#f8717166}.cov-pill-mark{opacity:.9;background:currentColor;border-radius:1px;flex-shrink:0;align-self:stretch;width:2px;min-height:14px;margin:1px 0}.cov-pill-label{font-weight:600}.cov-pill-sep{opacity:.28;background:currentColor;flex-shrink:0;width:1px;height:10px}.cov-pill-status{opacity:.92;font-weight:500}.cov-pill-tip{border:1px solid var(--border);min-width:180px;max-width:280px;box-shadow:var(--shadow);color:var(--text);text-align:left;white-space:normal;pointer-events:none;background:#0c1016f7;border-radius:8px;padding:8px 10px;font-size:11px;line-height:1.4}.cov-pill-tip--floating{z-index:10000;position:fixed;transform:translate(-50%,-100%)}.cov-pill-tip-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;font-size:10px;font-weight:600;display:block}.cov-pill-tip-list{margin:0;padding:0 0 0 14px}.cov-pill-tip-list li+li{margin-top:4px}.cov-pill--clickable{border:1px solid var(--border-soft);font:inherit;cursor:pointer;background:#ffffff0a}.cov-pill--clickable:hover{filter:brightness(1.08)}.cov-pill--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.status-pills{z-index:2;flex-shrink:0;gap:6px;margin-left:auto;display:flex;position:relative}.dropdown{position:relative}.dropdown-menu{background:var(--bg-elev);border:1px solid var(--border);z-index:20;min-width:200px;box-shadow:var(--shadow);border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.dropdown-menu button{text-align:left;background:0 0;border:none;border-radius:6px;width:100%}.dropdown-menu button:hover{background:var(--accent-dim)}.muted{color:var(--text-mute)}.spacer{flex:1}.iso-brick{flex-direction:column;gap:12px;display:flex}.iso-cube{border:1px solid var(--border);cursor:ew-resize;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 30% 20%,#3a2f24,#1a1510 70%);border-radius:14px;height:220px;position:relative;overflow:hidden}.iso-cube:before{content:"";width:44%;height:38%;transform:perspective(500px) rotateX(58deg) rotateZ(var(--stone-rotation,-8deg));z-index:2;background:linear-gradient(145deg,#8b6b4a,#5c4430);border-radius:6px;position:absolute;top:34%;left:28%;box-shadow:10px 12px #4a3626}.iso-cube:after{content:"";width:62%;height:18%;transform:perspective(500px) rotateX(62deg) rotateZ(var(--stone-rotation,-8deg));z-index:1;background:repeating-linear-gradient(90deg,#a56b34 0 18%,#70451f 18% 23%);border:4px solid #553319;position:absolute;top:62%;left:19%;box-shadow:0 9px #382313}.iso-face{z-index:3;color:var(--text-dim);background:#0f141cd1;border:1px solid #0000;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:650;position:absolute}.iso-face.on{background:var(--accent);color:#042f2e}.iso-face.top{top:18%;left:50%;transform:translate(-50%)}.iso-face.left{top:48%;left:8%}.iso-face.right{top:42%;right:8%}.iso-face.front{bottom:14%;left:42%}.iso-face.back{top:28%;right:22%}.iso-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);color:var(--text-mute);border-radius:999px;padding:4px 8px;font-size:11px}.chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.heatmap-dock{border-top:1px solid var(--border-soft);background:#121820f5;justify-content:center;align-items:center;width:100%;padding:6px 16px;display:flex}.heatmap-dock-scale{color:var(--text-dim);justify-content:center;align-items:center;gap:8px;font-size:10px;display:flex}.heatmap-dock-computing{color:var(--warning);white-space:nowrap;font-size:11px;font-weight:650}.heatmap-dock-bar{background:linear-gradient(90deg,#1e3a8a,#22d3ee,#facc15,#ef4444);border-radius:999px;flex-shrink:0;width:140px;height:8px}.workspace-footer{z-index:40;flex-direction:column;min-width:0;display:flex;position:relative;overflow:visible}.lux-probe-tooltip{z-index:80;pointer-events:none;box-shadow:var(--shadow);color:var(--text);background:#0c1016f0;border:1px solid #7fd4c88c;border-radius:7px;flex-direction:column;gap:2px;padding:6px 9px;font-size:12px;display:flex;position:fixed}.lux-probe-tooltip span{color:var(--text-dim);font-size:10px}.fpv-panel{z-index:14;border:1px solid var(--border);min-width:280px;min-height:220px;box-shadow:var(--shadow);background:#0c1016f2;border-radius:12px;flex-direction:column;display:flex;position:absolute;top:48px;right:56px;overflow:visible}.fpv-panel-focused{z-index:15;box-shadow:0 0 0 1px #2dd4bf73, var(--shadow);border-color:#2dd4bf}.fpv-head{border-bottom:1px solid var(--border-soft);cursor:move;-webkit-user-select:none;user-select:none;z-index:4;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex;position:relative;overflow:visible}.fpv-head-title{flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.fpv-head-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fpv-metrics-help-wrap{z-index:20;flex:none;position:relative}.fpv-metrics-help-btn{width:18px;height:18px;color:var(--text-dim);cursor:help;background:#0f172a99;border:1px solid #94a3b873;border-radius:50%;place-items:center;padding:0;display:grid}.fpv-metrics-help-btn:hover{color:#2dd4bf;border-color:#2dd4bf8c}.fpv-metrics-help-popover{z-index:80;border:1px solid var(--border-soft);min-width:240px;max-width:min(320px,72vw);max-height:min(280px,45vh);box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;background:#0f172af7;border-radius:8px;padding:8px 10px;font-size:11px;line-height:1.35;transition:opacity .15s,visibility .15s;position:absolute;inset:auto 0 calc(100% + 6px) auto;overflow-y:auto}.fpv-metrics-help-popover--portal{z-index:20000;opacity:1;visibility:visible;pointer-events:auto;width:max-content;min-width:280px;max-width:min(360px,92vw);position:fixed;bottom:auto;right:auto;transform:translateY(-100%)}.fpv-metrics-help-tip{color:var(--text-dim);margin-top:2px;font-weight:400;display:block}.fpv-metrics-help-dl strong{color:#e2e8f0;font-weight:600;display:block}.fpv-metrics-help-wrap:hover .fpv-metrics-help-popover:not(.fpv-metrics-help-popover--portal),.fpv-metrics-help-wrap:focus-within .fpv-metrics-help-popover:not(.fpv-metrics-help-popover--portal){opacity:1;visibility:visible}.fpv-metrics-help-dl{gap:5px;margin:0;display:grid}.fpv-metrics-help-dl>div{grid-template-columns:1fr auto;align-items:baseline;gap:12px;display:grid}.fpv-metrics-help-dl dt{color:var(--text-dim);margin:0;font-weight:500}.fpv-metrics-help-dl dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.fpv-head-actions{flex:none;align-items:center;gap:4px;display:flex}.fpv-close{cursor:pointer;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:0;font-size:20px;line-height:1;display:grid}.fpv-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.fpv-view-row{flex-direction:row;flex:1;align-items:stretch;gap:0;min-height:0;display:flex}.fpv-view-row--split{gap:8px}.fpv-view-row--split>.fpv-live-pane{flex:1 1 0;min-width:0}.fpv-view-row--split-fixed>.fpv-live-pane{flex:0 0 var(--fpv-live-width)!important;width:var(--fpv-live-width)!important;min-width:var(--fpv-live-width)!important;max-width:var(--fpv-live-width)!important}.fpv-pane{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.fpv-pane-caption{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);text-align:center;-webkit-user-select:none;user-select:none;flex:none;padding:4px 8px 2px;font-size:10px;font-weight:600}.fpv-pane-caption--roi{color:#fff;background:#ea580c;border-radius:4px 4px 0 0}.fpv-reference-pane{opacity:0;pointer-events:none;flex:0 0 0;width:0;min-width:0;max-width:0;transition:flex .32s cubic-bezier(.4,0,.2,1),max-width .32s cubic-bezier(.4,0,.2,1),width .32s cubic-bezier(.4,0,.2,1),opacity .24s;overflow:hidden}.fpv-view-row--split .fpv-reference-pane.is-open{opacity:1;pointer-events:auto;flex:1 1 0;width:auto;min-width:0;max-width:none}.fpv-view-row--split-fixed .fpv-reference-pane.is-open{flex:0 0 var(--fpv-live-width)!important;width:var(--fpv-live-width)!important;min-width:var(--fpv-live-width)!important;max-width:var(--fpv-live-width)!important}.fpv-view{background:#070b10;flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden;container:fpv-view/size}.fpv-view-stack{--sensor-ar:1.333;--fpv-caption-h:22px;width:min(100cqw, calc((100cqh - var(--fpv-caption-h)) * var(--sensor-ar)));flex-direction:column;justify-content:center;align-items:stretch;max-width:100%;max-height:100%;display:flex}.fpv-view-stack .fpv-pane-caption{box-sizing:border-box;min-height:var(--fpv-caption-h);flex:none;justify-content:center;align-items:center;display:flex}.fpv-sensor-frame{--sensor-ar:1.333;width:100%;aspect-ratio:var(--sensor-ar);min-height:0;max-height:calc(100cqh - var(--fpv-caption-h,22px));flex:0 auto;position:relative}.fpv-view-stack>.fpv-sensor-frame{width:100%;max-width:100%;height:auto;max-height:calc(100cqh - var(--fpv-caption-h,22px))}.fpv-view .fpv-canvas,.fpv-view canvas{display:block;inset:0;width:100%!important;height:100%!important;position:absolute!important}.fpv-acquisition-strip{z-index:5;pointer-events:none;background:#2dd4bf;position:absolute;box-shadow:0 0 0 1px #031219e6,0 0 8px #2dd4bfd9}.fpv-acquisition-strip--row{height:2px;left:0;right:0;transform:translateY(-1px)}.fpv-acquisition-strip--column{width:2px;top:0;bottom:0;transform:translate(-1px)}.fpv-laser-acquisition-roi{z-index:5;pointer-events:none;background:#2dd4bf14;border:2px solid #2dd4bf;position:absolute;box-shadow:inset 0 0 0 1px #031219cc,0 0 7px #2dd4bf99}.fpv-acquisition-strip-toggle{z-index:auto;color:#ccfbf1;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#050c14d1;border:1px solid #2dd4bf8c;border-radius:5px;align-items:center;gap:4px;padding:3px 5px;font-size:9px;line-height:1.2;display:inline-flex;position:static}.fpv-acquisition-strip-toggle input{accent-color:#2dd4bf;width:12px;height:12px;margin:0}.fpv-blur-overlay{pointer-events:none;background:#0a0e1426;position:absolute;inset:0}.fpv-meta{color:var(--text-dim);border-top:1px solid var(--border-soft);flex-direction:column;flex:none;gap:6px;padding:6px 10px 8px;font-size:11px;display:flex;overflow:hidden}.fpv-meta-compact{gap:8px}.fpv-view-row--locked{flex:none;min-height:0}.fpv-meta-optics{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.fpv-meta-chip{border:1px solid var(--border-soft);white-space:nowrap;cursor:default;background:#ffffff0a;border-radius:5px;align-items:center;padding:2px 7px;font-size:10px;line-height:1.35;display:inline-flex}.fpv-meta-chip--ok{color:var(--ok);background:#34d39914;border-color:#34d39973}.fpv-meta-chip--warn{background:var(--warn-bg);color:var(--warn);border-color:#f59e0b8c}.fpv-lux-section{flex-direction:column;gap:6px;display:flex}.fpv-lux-toggle{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:0;font-size:9px;font-weight:600;display:inline-flex}.fpv-lux-toggle:hover{color:var(--text);background:0 0;border-color:#0000}.fpv-lux-toggle .muted{text-transform:none;letter-spacing:0;font-weight:400}.fpv-lux-chevron{color:var(--accent);transition:transform .15s}.fpv-lux-chevron--closed{transform:rotate(-90deg)}.fpv-lux-cards{grid-template-columns:repeat(auto-fit,minmax(min(148px,100%),1fr));gap:6px;display:grid}.fpv-lux-card{background:var(--bg-panel-2);border:1px solid var(--border-soft);border-radius:8px;flex-direction:column;gap:4px;min-width:0;padding:6px 8px;display:flex}.fpv-lux-card--ok{border-color:#34d39959}.fpv-lux-card--warn{background:#f59e0b0f;border-color:#f59e0b80}.fpv-lux-card--empty{border-color:var(--border-soft)}.fpv-lux-card-head{align-items:center;gap:6px;min-width:0;display:flex}.fpv-lux-side-badge{background:var(--accent-dim);width:18px;height:18px;color:var(--accent);border-radius:50%;flex:0 0 18px;place-items:center;font-size:9px;font-weight:700;display:grid}.fpv-lux-side-name{letter-spacing:.04em;text-transform:uppercase;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;overflow:hidden}.fpv-cov-section{border-bottom:1px solid #ffffff0f;flex-direction:column;gap:2px;padding-bottom:2px;display:flex}.fpv-cov-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:0 6px;font-size:9px;display:grid}.fpv-cov-row-label{color:var(--text-muted);font-weight:600}.fpv-cov-row-value{text-align:right;font-weight:600}.fpv-cov-row-sub{grid-column:1/-1;font-size:8px}.fpv-cov-row--ok .fpv-cov-row-value{color:#34d399}.fpv-cov-row--warn .fpv-cov-row-value{color:#f59e0b}.fpv-cov-row--bad .fpv-cov-row-value{color:#f87171}.fpv-lux-row{cursor:default;border-top:1px solid #ffffff0a;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2px 8px;padding:2px 0;display:grid}.fpv-lux-row:first-of-type{border-top:none}.fpv-lux-row-label{color:var(--text-mute);grid-column:1/-1;font-size:9px;line-height:1.2}.fpv-lux-row-body{flex-direction:column;grid-column:1/-1;gap:1px;min-width:0;display:flex}.fpv-lux-row-main{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.fpv-lux-row-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:13px;font-weight:700;line-height:1.1}.fpv-lux-row--ok .fpv-lux-row-value{color:var(--ok)}.fpv-lux-row--warn .fpv-lux-row-value{color:var(--warn)}.fpv-lux-row--empty .fpv-lux-row-empty{color:var(--text-mute)}.fpv-lux-row-range{font-variant-numeric:tabular-nums;color:var(--text-mute);font-size:9px}.fpv-lux-row-empty{color:var(--text-mute);grid-column:1/-1;font-size:11px}.fpv-lux-ripple-badge{background:var(--warn-bg);color:var(--warn);font-variant-numeric:tabular-nums;border:1px solid #f59e0b73;border-radius:4px;align-items:center;padding:0 5px;font-size:9px;font-weight:600;line-height:1.5;display:inline-flex}.fpv-lux-ripple-badge--muted{color:var(--text-mute);background:#94a3b81f;border-color:#94a3b847}.fpv-meta-hint{padding-top:2px;display:block}.fpv-meta-lux{border-top:1px dashed var(--border-soft);flex-direction:column;gap:6px;margin-top:4px;padding-top:4px;display:flex}.fpv-meta-side{flex-direction:column;gap:1px;display:flex}.fpv-meta-side strong{color:var(--text);letter-spacing:.04em;text-transform:uppercase;font-size:10px}.fpv-resize{cursor:nwse-resize;background:linear-gradient(135deg, transparent 0 45%, var(--text-mute) 46% 52%, transparent 53% 65%, var(--text-mute) 66% 72%, transparent 73%);width:18px;height:18px;position:absolute;bottom:0;right:0}.scene-gizmo-context-menu{z-index:30;border:1px solid var(--border);min-width:154px;box-shadow:var(--shadow);background:#0c1016fa;border-radius:8px;padding:5px;position:fixed}.scene-gizmo-context-menu button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;padding:7px 10px;display:block}.scene-gizmo-context-menu button:hover{background:var(--accent-dim);color:var(--accent)}.scene-gizmo-context-menu button.danger:hover{color:#fca5a5;background:#ef444429}.scene-gizmo-context-menu-sep{background:var(--border);height:1px;margin:4px 2px}.scene-gizmo-context-submenu{position:relative}.scene-gizmo-context-menu .submenu-trigger{justify-content:space-between;align-items:center;display:flex}.scene-gizmo-rotate-menu{border:1px solid var(--border);width:250px;box-shadow:var(--shadow);background:#0c1016fc;border-radius:8px;padding:6px;position:absolute;top:-6px;left:calc(100% - 2px)}.rotate-preset-axis{padding:6px 4px}.rotate-preset-axis+.rotate-preset-axis{border-top:1px solid var(--border)}.rotate-preset-axis strong{color:var(--text-dim);text-transform:uppercase;margin:0 4px 5px;font-size:10px;display:block}.rotate-preset-axis>div{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.scene-gizmo-context-menu .rotate-preset-axis button{text-align:center;font-variant-numeric:tabular-nums;padding:5px 2px}.context-check{width:18px;color:var(--accent);display:inline-block}.ruler-tool-button{border:1px solid var(--border);color:var(--text-dim);box-shadow:var(--shadow);cursor:pointer;font:inherit;background:#121820f0;border-radius:7px;align-items:center;gap:6px;padding:7px 9px;display:inline-flex}.scene-viewport-toolbar{z-index:9;flex-direction:row;align-items:center;gap:6px;display:flex;position:absolute;top:18px;right:138px}.scene-viewport-toolbar .ruler-tool-button,.scene-viewport-toolbar .gizmo-space-button,.scene-viewport-toolbar .gizmo-origin-button,.scene-viewport-toolbar .gizmo-axis-labels-button{position:static;top:auto;right:auto}.gizmo-space-button{border:1px solid var(--border);color:var(--text-dim);box-shadow:var(--shadow);cursor:pointer;font:inherit;background:#121820f0;border-radius:7px;align-items:center;gap:6px;max-width:118px;padding:7px 9px;display:inline-flex}.gizmo-space-button span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.gizmo-space-button:hover,.gizmo-space-button.is-world{color:#93c5fd;background:#60a5fa1f;border-color:#60a5fa}.gizmo-space-button.is-local:hover,.gizmo-space-button.is-local{color:#fcd34d;background:#fbbf241a;border-color:#fbbf24}.gizmo-origin-button{border:1px solid var(--border);color:var(--text-dim);box-shadow:var(--shadow);cursor:pointer;font:inherit;background:#121820f0;border-radius:7px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.gizmo-origin-button:hover,.gizmo-origin-button.active{color:#c4b5fd;background:#a78bfa1f;border-color:#a78bfa}.gizmo-axis-labels-button{border:1px solid var(--border);color:var(--text-dim);box-shadow:var(--shadow);cursor:pointer;font:inherit;background:#121820f0;border-radius:7px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.gizmo-axis-labels-button:hover,.gizmo-axis-labels-button.active{color:#5eead4;background:#2dd4bf1f;border-color:#2dd4bf}.ruler-tool-button:hover,.ruler-tool-button.active{border-color:var(--accent);color:var(--accent);background:#2dd4bf24}.ruler-hint{z-index:9;color:var(--text-dim);pointer-events:none;background:#0c1016e6;border-radius:6px;padding:5px 8px;font-size:10px;position:absolute;top:58px;right:138px}.ruler-label{color:#5eead4;font:600 11px/1.2 var(--mono);white-space:nowrap;background:#0c1016eb;border:1px solid #2dd4bf8c;border-radius:5px;padding:4px 7px}.scene-badge-tooltip{color:#fecaca;width:max-content;max-width:168px;font:500 10px/1.2 var(--sans,system-ui, sans-serif);text-align:left;white-space:normal;pointer-events:none;background:#0c1016f0;border:1px solid #f8717173;border-radius:4px;padding:2px 6px;transform:translate(6px,-4px);box-shadow:0 4px 12px #00000047}.scene-canvas-root{position:absolute;inset:0}.rotate-angle-hud{z-index:24;border:1px solid var(--border);min-width:240px;box-shadow:var(--shadow);pointer-events:auto;background:#0a0e14f0;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.rotate-angle-hud.is-focused{border-color:var(--accent)}.rotate-angle-hud-row{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.rotate-angle-hud-label{color:var(--muted);font-size:12px}.rotate-angle-input{border:1px solid var(--border);min-width:0;color:var(--text);font-variant-numeric:tabular-nums;background:#ffffff0a;border-radius:7px;flex:1;padding:7px 10px;font-size:16px;font-weight:600}.rotate-angle-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);outline:none}.rotate-angle-hud-unit{color:var(--accent);font-size:16px;font-weight:600}.rotate-angle-ok{border:1px solid var(--accent);background:var(--accent-dim,#2dd4bf2e);color:var(--accent);cursor:pointer;border-radius:7px;flex:none;padding:7px 12px;font-size:13px;font-weight:700}.rotate-angle-ok:hover{background:#2dd4bf47}.rotate-angle-hud-hint{color:var(--muted);font-size:11px;line-height:1.35}.laser-visible{color:#4ade80}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}.step-pill{font:inherit}.wizard-home-button{border-color:var(--border-soft);width:100%;color:var(--text-dim);text-align:left;background:#0b0f148c;align-items:center;gap:8px;padding:9px 10px;display:flex}.wizard-home-button:hover{color:var(--accent);background:var(--accent-dim);border-color:#2dd4bf6b}.conveyor-minis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.conveyor-mini{border:1px solid var(--border);background:linear-gradient(145deg, var(--bg-panel-2), var(--bg));text-align:left;border-radius:12px;min-width:0;padding:0;overflow:hidden}.conveyor-mini:hover,.conveyor-mini.active{border-color:var(--accent);background:linear-gradient(145deg, #2dd4bf1f, var(--bg));box-shadow:inset 0 0 0 1px #2dd4bf1f}.conveyor-mini svg{border-bottom:1px solid var(--border-soft);background-color:#0c121a;background-image:linear-gradient(#38bdf809 1px,#0000 1px),linear-gradient(90deg,#38bdf809 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;height:92px;display:block}.conveyor-mini>span,.fill-cards button>span{flex-direction:column;gap:3px;padding:10px 12px;display:flex}.conveyor-mini strong,.fill-cards strong{color:var(--text);font-size:12px}.conveyor-mini small,.fill-cards small{color:var(--text-mute);font-size:10px}.conveyor-mini.active strong,.fill-cards button.active strong{color:var(--accent)}.mini-machine{fill:#273445;stroke:#46566d}.mini-track,.mini-index-mark{fill:none;stroke:var(--accent-2);stroke-width:2px;stroke-linecap:round;opacity:.7}.mini-wheel{fill:#111923;stroke:#64748b;stroke-width:2px}.belt-stones rect,.indexed-pallet rect:not(.mini-pallet){fill:#9b7651;stroke:#c29a6c;stroke-width:1px}.belt-stones .belt-loop-anchor{fill:#0000;stroke:none}.mini-pallet{fill:#b26b2a;stroke:#e09a53}.belt-stones{transform-box:fill-box;transform-origin:0;animation:2.4s linear infinite conveyor-belt-flow}@keyframes conveyor-belt-flow{0%{transform:translate(0)}to{transform:translate(-56px)}}@keyframes conveyor-index-step{0%,22%{transform:translate(0)}58%,92%{transform:translate(-120px)}to{transform:translate(-120px)}}.fill-card-field{grid-column:1/-1}.fill-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fill-cards button{background:linear-gradient(145deg, var(--bg-panel-2), var(--bg));text-align:left;border-radius:12px;min-width:0;padding:0;overflow:hidden}.fill-cards button:hover,.fill-cards button.active{border-color:var(--accent);background:linear-gradient(145deg, #2dd4bf1f, var(--bg))}.fill-cards svg{background:radial-gradient(circle at 50% 48%,#38bdf814,#0000 54%),#0c121a;width:100%;height:120px;display:block}.fill-pallet-top{fill:#65401f;stroke:#b47638;stroke-width:2px}.fill-pallet-edge{fill:#3e2817;stroke:#81512a}.fill-stones path{fill:#7c6249;stroke:#b99a78;stroke-width:1.25px;transition:fill .15s,stroke .15s}.fill-cards button.active .fill-stones path{fill:#2dd4bf7a;stroke:var(--accent)}.stone-stage{border:1px solid var(--border);perspective:780px;cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:radial-gradient(at 50% 78%,#2dd4bf14,#0000 40%),linear-gradient(#38bdf809 1px,#0000 1px) 0 0/20px 20px,linear-gradient(90deg,#38bdf809 1px,#0000 1px) 0 0/20px 20px,#0b1118;border-radius:16px;height:310px;position:relative;overflow:hidden}.stone-stage:after{content:"";filter:blur(15px);background:#00000073;border-radius:50%;height:30px;position:absolute;bottom:34px;left:12%;right:12%}.stone-rig{z-index:2;width:320px;height:190px;transform-style:preserve-3d;transform:translate(-50%, -50%) rotateX(-13deg) rotateY(var(--stone-rotation,-8deg));position:absolute;top:52%;left:50%}.stone-mesh{z-index:3;width:190px;height:105px;transform-style:preserve-3d;position:absolute;top:20px;left:65px}.stone-mesh .iso-face{color:#d7c3ad;backface-visibility:visible;cursor:pointer;background:linear-gradient(120deg,#ffffff1f,#0000 42%),repeating-linear-gradient(35deg,#0000 0 15px,#ffffff06 15px 17px),#66513f;border:1px solid #8e7358;border-radius:2px;place-items:center;margin:0;padding:0;transition:border-color .15s,filter .15s,background .15s;display:grid;position:absolute;inset:auto;box-shadow:inset 0 0 24px #0000003d}.stone-mesh .iso-face:hover{filter:brightness(1.14);border-color:#cdb293}.stone-mesh .iso-face.on{color:#052e24;background:linear-gradient(120deg,#ffffff47,#0000 42%),repeating-linear-gradient(35deg,#0000 0 15px,#042f2e14 15px 17px),#34d399;border-color:#74f5bd;box-shadow:inset 0 0 25px #042f2e38,0 0 14px #34d39947}.stone-mesh .iso-face.front,.stone-mesh .iso-face.back{width:190px;height:105px;top:0;left:0}.stone-mesh .iso-face.front{transform:translateZ(55px)}.stone-mesh .iso-face.back{transform:rotateY(180deg)translateZ(55px)}.stone-mesh .iso-face.left,.stone-mesh .iso-face.right{width:110px;height:105px;top:0;left:40px}.stone-mesh .iso-face.left{transform:rotateY(-90deg)translateZ(95px)}.stone-mesh .iso-face.right{transform:rotateY(90deg)translateZ(95px)}.stone-mesh .iso-face.top{width:190px;height:110px;top:-3px;left:0;transform:rotateX(90deg)translateZ(55px)}.pallet-3d{z-index:2;width:320px;height:132px;transform-style:preserve-3d;pointer-events:none;position:absolute;top:125px;left:0}.pallet-3d span,.pallet-3d i{display:block;position:absolute}.pallet-top{transform-origin:top;background:repeating-linear-gradient(90deg,#a56530 0 13%,#70411f 13% 16%);border:5px solid #57351d;border-radius:7px;inset:0;transform:rotateX(90deg);box-shadow:inset 0 0 0 2px #c27b3b}.pallet-front{background:repeating-linear-gradient(90deg,#75451f 0 13%,#3c2515 13% 16%);border:2px solid #57351d;height:22px;top:0;left:0;right:0}.pallet-side{transform-origin:0;background:#56341d;border:2px solid #3f2817;width:132px;height:22px;top:0;right:-132px;transform:rotateY(-90deg)}.pallet-runner{background:#432817;border:1px solid #2d1c11;border-radius:2px;width:78px;height:13px;top:22px}.runner-one{left:12px}.runner-two{left:121px}.runner-three{right:12px}.stone-stage-hint{margin:9px 2px 0;line-height:1.4}.stone-side-chips{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.stone-side-chips button{background:var(--bg-panel-2);color:var(--text-dim);border-radius:999px;padding:6px 10px;font-size:11px}.stone-side-chips button:hover{color:var(--text);border-color:#2dd4bf8c}.stone-side-chips button.on{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.home-page{background:radial-gradient(900px 480px at 88% -8%, #2dd4bf1a, transparent), var(--bg);grid-template-columns:minmax(280px,36%) 1fr;height:100%;min-height:0;display:grid;overflow:hidden}.home-hero{border-right:1px solid var(--border-soft);background:linear-gradient(155deg, #2dd4bf14, transparent 48%), var(--bg-panel);flex-direction:column;justify-content:center;gap:24px;height:100%;min-height:0;padding:clamp(36px,6vw,88px);display:flex;overflow:hidden}.home-hero h1{letter-spacing:-.03em;max-width:520px;margin:0;font-size:clamp(26px,3vw,44px);line-height:1.08}.home-hero p{max-width:520px;margin:0;font-size:14px;line-height:1.7}.home-main-column{min-width:0;height:100%;min-height:0;overflow:hidden}.home-main-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;overflow:hidden auto}.home-main{width:min(920px,100%);min-height:0;margin:0 auto;padding:clamp(36px,6vw,76px)}.app-view{width:100%;height:100%;min-height:0}.home-main-column--enter,.auth-main-column{animation:.52s cubic-bezier(.22,1,.36,1) both auth-column-enter}.auth-main-column--success{pointer-events:none;animation:.64s cubic-bezier(.4,0,.2,1) .1s both auth-column-exit}.auth-main-column{display:grid}.auth-main{align-content:center;width:min(620px,100%);min-height:100%;margin:0 auto;padding:clamp(36px,6vw,76px);display:grid;position:relative}.auth-toolbar{margin:0;position:absolute;top:clamp(24px,4vw,44px);right:clamp(36px,6vw,76px)}.auth-card{border:1px solid var(--border);background:var(--bg-panel);border-radius:14px;padding:clamp(28px,4.2vw,42px);transition:border-color .3s,box-shadow .3s;animation:.64s cubic-bezier(.22,1,.36,1) 80ms both auth-card-enter;position:relative;overflow:hidden;box-shadow:0 14px 38px #0000003d}.auth-main-column--success .auth-card{border-color:#34d39994;box-shadow:0 30px 74px #0006,0 0 0 1px #34d3991a,0 0 42px #34d39914}.auth-main-column--error .auth-card{border-color:#f8717180;animation:.42s auth-card-shake}.auth-heading{margin-bottom:28px}.auth-heading h2{color:var(--text);letter-spacing:-.025em;margin:0;font-size:clamp(25px,3vw,34px);line-height:1.12}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-field{color:var(--text-dim);flex-direction:column;gap:8px;font-size:12px;font-weight:600;display:flex}.auth-input-shell{border:1px solid var(--border);min-height:48px;color:var(--text-mute);background:#070c12a8;border-radius:10px;align-items:center;gap:10px;padding:0 14px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.auth-input-shell:focus-within{color:var(--accent);background:#080f16e6;border-color:#2dd4bfb8;box-shadow:0 0 0 3px #2dd4bf1a}.auth-main-column--error .auth-input-shell{border-color:#f8717157}.auth-input-shell input{min-width:0;color:var(--text);box-shadow:none;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:14px}.auth-input-shell input:focus{box-shadow:none;border:0;outline:0}.auth-input-shell input::placeholder{color:var(--text-mute)}.auth-password-toggle{width:32px;height:32px;color:var(--text-mute);background:0 0;border:0;place-items:center;padding:0;display:grid}.auth-password-toggle:hover:not(:disabled){color:var(--text);background:#ffffff0b}.auth-remember{color:var(--text-dim);cursor:pointer;align-self:flex-start;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.auth-remember input{width:16px;height:16px;accent-color:var(--accent);margin:0}.auth-status{min-height:36px;color:var(--text-mute);border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:8px;margin-top:-4px;padding:8px 10px;font-size:12px;line-height:1.45;transition:color .25s,border-color .25s,background .25s;animation:.24s both auth-status-enter;display:flex}.auth-status svg{flex:none;margin-top:1px}.auth-status--submitting{color:var(--accent-2);background:#38bdf812;border-color:#38bdf840}.auth-status--error{color:#fca5a5;background:#f8717114;border-color:#f871714d}.auth-status--success{color:var(--ok);background:#34d39914;border-color:#34d3994d}.auth-submit{justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;margin-top:2px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s,background .3s;display:flex}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 28px #2dd4bf2e}.auth-main-column--success .auth-submit{background:var(--ok);color:#06130e}@keyframes auth-column-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-column-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes auth-status-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-card-enter{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes auth-card-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.home-new-card{width:100%;color:var(--accent);text-align:left;background:linear-gradient(135deg,#2dd4bf26,#38bdf80d);border-color:#2dd4bf6b;border-radius:14px;align-items:center;gap:18px;margin-bottom:36px;padding:22px;display:flex}.home-new-card div{flex-direction:column;gap:5px;display:flex}.home-new-card strong{color:var(--text);font-size:16px}.home-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.home-project-card{border:1px solid var(--border);background:var(--bg-panel);border-radius:12px;position:relative;overflow:hidden}.home-project-card:hover{border-color:#45546a;transform:translateY(-1px)}.home-project-open{text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:0 0 14px;display:flex}.home-project-open strong,.home-project-open>span{padding:0 14px}.home-thumb{border-bottom:1px solid var(--border-soft);background:linear-gradient(155deg,#0000 42%,#2dd4bf1c 43% 46%,#0000 47%),linear-gradient(#38bdf80a 1px,#0000 1px) 0 0/16px 16px,linear-gradient(90deg,#38bdf80a 1px,#0000 1px) 0 0/16px 16px,#0d141d;width:100%;height:116px;margin-bottom:7px;position:relative;overflow:hidden}.home-thumb-canvas{pointer-events:none;display:block;width:100%!important;height:116px!important}.home-empty{border:1px dashed var(--border);min-height:220px;color:var(--text-mute);text-align:center;border-radius:14px;place-items:center;padding:36px;display:grid}.home-empty p{max-width:390px;margin:14px 0 0;line-height:1.55}.home-section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.home-section-head h2{margin:0;font-size:17px}.home-project-section{margin-top:20px}.home-project-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.home-project-section-head h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:14px;font-weight:600}.home-project-section-head .ghost{text-transform:none;letter-spacing:normal;align-items:center;gap:6px;font-size:13px;display:inline-flex}.home-grid-more{justify-content:center;margin-top:10px;display:flex}.home-grid-accordion{flex-direction:column;gap:0;display:flex}.home-grid-reveal{grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1);display:grid}.home-grid-accordion.is-expanded .home-grid-reveal{grid-template-rows:1fr}.home-grid-reveal-inner{overflow:hidden}.home-grid-tail{padding-top:14px}.home-grid-toggle{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, var(--bg-panel-2) 0%, var(--bg-panel) 100%);width:100%;color:var(--text-dim);cursor:pointer;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:11px 16px;transition:border-color .2s,color .2s,box-shadow .2s,background .2s;display:flex}.home-grid-toggle:hover{color:var(--text);border-color:#45546a;box-shadow:0 4px 18px #00000038}.home-grid-toggle-label{font-size:13px;font-weight:500}.home-grid-toggle-chevron{opacity:.85;flex-shrink:0;transition:transform .42s cubic-bezier(.4,0,.2,1)}.home-grid-accordion.is-expanded .home-grid-toggle-chevron{transform:rotate(180deg)}.home-sync-btn{transition:border-color .25s,color .25s,background .25s,box-shadow .25s;position:relative;overflow:hidden}.home-sync-btn--syncing{color:var(--accent-2);background:#38bdf814;border-color:#38bdf859}.home-sync-btn--success{color:var(--ok);background:#34d3991a;border-color:#34d39973;box-shadow:0 0 0 1px #34d3991f}.home-sync-icon{flex-shrink:0}.save-path-modal{width:min(520px,92vw)}.save-path-field{flex-direction:column;gap:6px;margin-top:12px;display:flex}.save-path-field input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.save-path-row{align-items:stretch;gap:8px;display:flex}.save-path-row input{flex:1;min-width:0}.save-path-browse{white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.save-path-default{word-break:break-all;margin:10px 0 0;font-size:12px}.save-path-actions{flex-wrap:nowrap}.save-leave-hint{color:var(--text);margin:0 0 8px;font-size:13px}.danger-text:hover{color:#fca5a5}.wizard-resource-line{flex-direction:column;grid-column:1/-1;gap:10px;display:flex}.wizard-resource-line-title{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:12px 0 0;font-size:13px;font-weight:600}.wizard-resource-line-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.spin{animation:.8s linear infinite home-spin}@keyframes home-spin{to{transform:rotate(360deg)}}.home-empty-section{min-height:120px;margin-bottom:8px}.home-storage-hint{word-break:break-all;margin:-6px 0 14px;font-size:12px;line-height:1.4}.icon-danger{z-index:2;width:30px;height:30px;color:var(--text-mute);opacity:0;background:#0b0f14d1;border-color:#f8717140;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.home-project-card:hover .icon-danger,.icon-danger:focus-visible{opacity:1}.icon-danger:hover{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}@media (width<=850px){.conveyor-minis,.fill-cards{grid-template-columns:1fr}.home-page{grid-template-columns:1fr;overflow-y:auto}.home-hero{border-right:0;border-bottom:1px solid var(--border-soft);height:auto;min-height:280px;padding:36px}.home-main-column,.home-main-scroll,.home-main{height:auto;overflow:visible}.auth-main-column{min-height:560px}.auth-main{min-height:560px;padding:82px 28px 40px}.auth-toolbar{top:24px;right:28px}}@media (prefers-reduced-motion:reduce){.belt-stones,.indexed-pallet-strip{animation-play-state:paused}.auth-main-column,.auth-main-column--success,.auth-card,.auth-main-column--error .auth-card,.home-main-column--enter,.auth-status{animation-duration:.01ms;animation-delay:0s}}.workspace{grid-template-rows:auto 1fr auto}.topbar{grid-template-columns:var(--qv-rail-width) minmax(0, auto) minmax(0, 1fr) auto;z-index:20;grid-template-areas:"logo left spacer right-rail";align-items:center;gap:0;height:auto;min-height:48px;padding:6px 0;display:grid;position:relative;overflow:visible}.topbar-logo-slot{width:var(--qv-rail-width);flex-shrink:0;grid-area:logo;justify-content:center;align-self:stretch;align-items:center;display:flex}.topbar-right-rail{grid-area:right-rail;justify-content:flex-end;align-items:center;gap:12px;min-width:0;padding-right:0;display:flex}.topbar .layer-toggles{flex:0 0 var(--qv-inspector-inset);width:var(--qv-inspector-inset);min-width:0;max-width:var(--qv-inspector-inset);box-sizing:border-box;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;margin:0;padding:0 6px 0 4px;display:flex}.topbar-left{grid-area:left;align-items:center;gap:8px;min-width:0;padding-left:8px;display:flex}.topbar-brand-toolbar{flex-shrink:0;align-items:center;gap:6px;display:flex}.topbar-brand-toolbar .topbar-file-menu{flex-shrink:0}.topbar-motion-wrap{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.brand-row{align-items:center;gap:8px;min-width:0;display:flex}.build-stamp{letter-spacing:.02em;color:#f0b429;opacity:1;white-space:nowrap;text-overflow:ellipsis;background:#f0b4291f;border:1px solid #f0b42959;border-radius:4px;max-width:260px;padding:1px 6px;font-size:11px;font-weight:700;overflow:hidden}.brand-toolbar{align-items:center;gap:10px;min-width:0;max-width:100%;margin-top:0;display:flex}.brand-toolbar-divider{width:1px;height:var(--qv-icon-btn-size);background:var(--border-soft);flex-shrink:0;margin:0 4px}.topbar-motion-wrap>.line-motion-group{border:1px solid var(--border-soft);background:#0b0f147a;border-radius:8px;flex:0 auto;align-items:center;gap:10px;min-width:0;max-width:100%;padding:4px 10px;display:flex}.topbar-project-name,.topbar-project-name-input{text-align:left;flex:0 0 20ch;width:20ch;min-width:20ch;max-width:20ch;font-size:13px;line-height:1.25}.topbar-project-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 4px;overflow:hidden}.topbar-project-name:hover{border-color:var(--border-soft);color:var(--text);background:#0b0f1473}.topbar-project-name-input{border:1px solid var(--accent);color:var(--text);background:#0b0f14d1;border-radius:6px;padding:2px 6px}.topbar-project-name-input:focus{outline:none;box-shadow:0 0 0 2px #2dd4bf2e}.topbar-file-menu{z-index:1;position:relative}.topbar-file-menu:has(.topbar-file-dropdown){z-index:30}.topbar-file-trigger{min-height:var(--qv-icon-btn-size);height:var(--qv-icon-btn-size);border-radius:var(--radius-sm);border:1px solid var(--border-soft);color:var(--text);background:#0b0f148c;justify-content:center;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.topbar-file-trigger:hover{border-color:var(--accent);color:var(--accent)}.topbar-file-dropdown{z-index:5000;border:1px solid var(--border-soft);background:#0f141c;border-radius:8px;flex-direction:column;gap:2px;min-width:188px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 32px #00000073}.topbar-file-dropdown button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px}.topbar-file-dropdown button:hover{color:var(--accent);background:#2dd4bf1f}.topbar-file-submenu{position:relative}.topbar-file-submenu:hover:after,.topbar-file-submenu:focus-within:after{content:"";z-index:5000;width:18px;position:absolute;top:-6px;bottom:-6px;left:calc(100% - 4px)}.topbar-file-submenu-trigger{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.topbar-file-submenu-chevron{opacity:.65;font-size:14px;line-height:1}.topbar-file-submenu-flyout{z-index:5001;border:1px solid var(--border-soft);background:#0f141c;border-radius:8px;flex-direction:column;gap:2px;min-width:196px;padding:4px 4px 4px 10px;display:none;position:absolute;top:-4px;left:calc(100% - 8px);box-shadow:0 12px 32px #00000073}.topbar-file-submenu:hover .topbar-file-submenu-flyout,.topbar-file-submenu:focus-within .topbar-file-submenu-flyout{display:flex}.topbar-file-submenu-flyout button{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px}.topbar-file-submenu-flyout button:hover:not(:disabled){color:var(--accent);background:#2dd4bf1f}.topbar-file-submenu-flyout button:disabled{opacity:.45;cursor:not-allowed}.topbar-rec-indicator{letter-spacing:.04em;color:#fecaca;cursor:pointer;font-size:11px;font-weight:600;font:inherit;white-space:nowrap;z-index:1;background:#3b1818;border:1px solid #f87171;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:2px 8px;display:inline-flex;position:relative;box-shadow:0 1px 4px #00000073}.topbar-icon-btn{width:var(--qv-icon-btn-size);height:var(--qv-icon-btn-size);min-width:var(--qv-icon-btn-size);min-height:var(--qv-icon-btn-size);border-radius:var(--radius-sm);border:1px solid var(--border-soft);color:var(--text);background:#0b0f148c;flex-shrink:0;place-items:center;padding:0;line-height:0;display:inline-grid}.topbar-icon-btn svg{display:block}.topbar-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.topbar-rec-indicator--live:hover{background:#4c1f1f;border-color:#fca5a5}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.45}}.topbar-rec-indicator--live .topbar-rec-dot{animation:1.2s ease-in-out infinite rec-pulse}.topbar-rec-indicator--stopping{color:#fde68a;cursor:default;background:#3d2808;border-color:#fbbf24}.topbar-rec-indicator--saved{color:#bbf7d0;cursor:default;background:#14532d;border-color:#4ade80;transition:opacity .45s,transform .45s;animation:.35s ease-out rec-saved-in}.topbar-rec-indicator--saved.is-fading{opacity:0;transform:translateY(-4px)}.topbar-rec-spinner{border:2px solid #fbbf2459;border-top-color:#fbbf24;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite rec-spin}.topbar-rec-check{background:#22c55e;border-radius:2px;width:10px;height:10px;animation:.45s ease-out rec-check-pop;box-shadow:0 0 8px #22c55ea6}@keyframes rec-spin{to{transform:rotate(360deg)}}@keyframes rec-saved-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes rec-check-pop{0%{opacity:.2;transform:scale(.4)}70%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.recording-settings-modal{width:min(520px,92vw)}.recording-settings-body .field-stack{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.recording-folder-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.topbar-rec-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #ef4444cc}.topbar>.muted{display:none}.topbar>.top-actions{flex-shrink:0;grid-area:actions;margin-left:0}.topbar-group-title{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:650}.motion-toggle,.top-actions button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.motion-toggle{flex-shrink:0;min-width:72px}.topbar-range{color:var(--text-dim);white-space:nowrap;grid-template-columns:auto minmax(68px,108px) 42px;align-items:center;gap:6px;min-width:0;font-size:10px;display:grid}.topbar-range input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}.topbar-range output{color:var(--text);font-family:var(--mono);text-align:right;font-size:10px}.layer-toggles button{box-sizing:border-box;white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:5px;width:max-content;max-width:100%;min-height:30px;padding:6px 10px;font-size:12px;line-height:1.2;display:inline-flex;position:relative}.layer-toggles button:not(.layer-toggle-laser){text-overflow:ellipsis;overflow:hidden}.layer-toggles .layer-toggle-fov{margin-left:auto}.layer-toggles .layer-toggle-laser{text-overflow:clip;flex:none;width:max-content;max-width:none;overflow:visible}.layer-toggle-laser-inner{place-items:center;display:inline-grid}.layer-toggle-laser-sizer,.layer-toggle-laser-label{white-space:nowrap;grid-area:1/1}.layer-toggle-laser-sizer{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.layer-toggles .layer-toggle-heatmap,.layer-toggles .layer-toggle-lights{flex:none;width:max-content}.layer-toggles .layer-toggle-laser.mixed{padding-right:30px}.layer-toggles .layer-toggle-laser .layer-mixed-mark{pointer-events:none;padding:1px 4px;position:absolute;top:3px;right:4px}.layer-toggles button.mixed{background:var(--warn-bg);border-color:color-mix(in srgb, var(--warn) 65%, var(--border));color:var(--warn)}.layer-toggles button.mixed:hover{border-color:var(--warn);filter:brightness(1.08)}.layer-mixed-mark{font-family:var(--mono);color:var(--warn);background:#f59e0b2e;border-radius:4px;padding:2px 4px;font-size:9px;line-height:1}.workspace-body.left-panel-collapsed{grid-template-columns:var(--qv-rail-width) 52px 1fr 320px}.workspace-body.left-panel-collapsed>:nth-child(2){min-width:52px;overflow:visible}.viewport-tools{right:10px}.gizmo-mode-indicator{border:1px solid var(--border);max-width:128px;color:var(--text-dim);text-align:center;white-space:nowrap;background:#121820e6;border-radius:7px;padding:6px 8px;font-size:10px;line-height:1.2}@media (width<=1380px){.topbar-group-title,.topbar-range>.topbar-range-label{display:none}.topbar-range{grid-template-columns:minmax(62px,92px) 42px}.topbar-range.pallet-range{grid-template-columns:minmax(78px,112px) minmax(72px,92px)}}@media (width<=1200px){.topbar{grid-template-columns:var(--qv-rail-width) minmax(0, 1fr) auto;grid-template-areas:"logo left right-rail""logo right-rail right-rail"}.topbar-right-rail{flex-wrap:wrap;justify-content:flex-end}.topbar>.muted{display:none}.topbar-motion-wrap>.line-motion-group{flex-wrap:wrap}}@media (width<=900px){.top-actions .ghost{display:none}.top-actions button,.motion-toggle{gap:0;min-width:36px;padding-inline:8px;font-size:0}.layer-toggles button{padding:6px 8px;font-size:11px}.topbar-range.pallet-range{flex:140px;grid-template-columns:minmax(70px,1fr) minmax(64px,80px)}}@media (width<=720px){.topbar{grid-template-columns:var(--qv-rail-width) minmax(0, 1fr) auto;grid-template-areas:"logo left right-rail""logo right-rail right-rail"}.topbar-right-rail{justify-content:flex-end;width:100%}.topbar>.layer-toggles{width:min(100%, var(--qv-inspector-inset));min-width:0;max-width:var(--qv-inspector-inset);flex:1 1 var(--qv-inspector-inset);flex-wrap:wrap;justify-content:flex-end}.topbar-motion-wrap,.topbar-motion-wrap>.line-motion-group{width:auto;max-width:100%}.topbar-range{flex:110px}}@media (width<=520px){.topbar{padding-inline:7px}.topbar-motion-wrap>.line-motion-group{gap:5px;padding:5px}.topbar-range{grid-template-columns:minmax(54px,1fr) 36px}.topbar-range.pallet-range{flex-basis:100%;grid-template-columns:minmax(70px,1fr) minmax(62px,76px)}.layer-toggles button{flex:auto}}.workspace-rail-icon{place-items:center;display:grid;position:relative}.workspace-alert-badge{color:#fff;background:#ef4444;border:2px solid #0d131b;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:8px;font-weight:750;line-height:1;display:grid;position:absolute;top:-8px;right:-12px}.registry-segmented{border:1px solid var(--border-soft);background:var(--bg);border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;margin:10px 10px 0;padding:3px;display:grid}.registry-segmented button{color:var(--text-dim);background:0 0;border-color:#0000}.registry-segmented button.active{border-color:var(--border);background:var(--bg-elev);color:var(--accent)}.registry-catalog{flex-direction:column;gap:0;width:100%;min-height:0;display:flex}.registry-catalog-body{padding-top:4px!important}.panel-head-actions .registry-catalog-toggle-all{margin:0}.save-path-browse.is-busy{opacity:.72;pointer-events:none}.registry-line-tabs{flex-wrap:wrap;gap:6px;margin:0 10px 12px;padding:0;display:flex}.registry-line-tabs button{border:1px solid var(--border-soft);color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;background:#0b0f1473;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:11px;font-weight:600;transition:border-color .2s,color .2s,background .2s,box-shadow .2s;display:inline-flex}.registry-line-tabs button:hover{color:var(--text);border-color:#45546a}.registry-line-tabs button.active{color:#fff;background:#2dd4bf1a;border-color:#2dd4bf73;box-shadow:0 0 0 1px #2dd4bf1f}.registry-line-count{min-width:18px;height:18px;color:var(--text-dim);letter-spacing:0;text-transform:none;background:#ffffff14;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.registry-line-tabs button.active .registry-line-count{color:#fff;background:#2dd4bf33}.registry-catalog-grid{padding:0 0 4px}.registry-catalog-empty{grid-column:1/-1}.registry-accordion-list{box-sizing:border-box;flex-direction:column;gap:5px;width:100%;padding:0;display:flex}.registry-accordion{box-sizing:border-box;border:1px solid var(--border-soft);background:#0b0f1459;border-radius:8px;width:100%;overflow:hidden}.registry-accordion-trigger{color:#fff;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:9px 10px;transition:background .2s;display:flex}.registry-accordion-trigger:hover{background:#ffffff0a}.registry-accordion-title{letter-spacing:.06em;text-transform:uppercase;color:#fff;flex:1;font-size:12px;font-weight:650}.registry-accordion-chevron{opacity:.75;flex-shrink:0;transition:transform .38s cubic-bezier(.4,0,.2,1)}.registry-accordion.is-open .registry-accordion-chevron{transform:rotate(180deg)}.registry-accordion-reveal{grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1);display:grid}.registry-accordion.is-open .registry-accordion-reveal{grid-template-rows:1fr}.registry-accordion-reveal-inner{overflow:hidden}.registry-accordion .registry-catalog-grid{padding:0 0 8px}.registry-card-wrap{min-width:0;position:relative}.registry-card-wrap>.registry-card{width:100%}.registry-card-assign{z-index:2;border:1px solid var(--border-soft);width:26px;height:26px;color:var(--text-dim);cursor:pointer;opacity:0;background:#0a0e14e0;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:opacity .18s,border-color .18s,color .18s,background .18s;display:inline-flex;position:absolute;top:8px;right:8px}.registry-card-wrap:hover .registry-card-assign,.registry-card-assign[aria-expanded=true]{opacity:1}.registry-card-assign:hover{color:var(--accent);border-color:#2dd4bf73}.registry-card-assign-backdrop{z-index:120;cursor:default;background:0 0;border:none;position:fixed;inset:0}.registry-card-assign-menu{z-index:50;border:1px solid var(--border-soft);background:#0f141c;border-radius:10px;flex-direction:column;gap:6px;min-width:188px;max-height:min(320px,100vh - 16px);padding:10px;display:flex;position:absolute;top:36px;right:8px;box-shadow:0 12px 32px #00000073}.registry-card-assign-menu--portal{z-index:130;position:fixed;top:0;left:0;right:auto}.registry-card-assign-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:650}.registry-card-assign-option{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.registry-card-assign-option input{accent-color:var(--accent)}.registry-group-label{color:var(--text-mute);letter-spacing:.07em;text-transform:uppercase;margin:10px 0 6px;font-size:10px;font-weight:650}.registry-group-label:first-child{margin-top:0}.registry-empty{border:1px dashed var(--border);color:var(--text-mute);border-radius:8px;margin:0;padding:11px;font-size:11px;line-height:1.45}.device-preview{overflow:hidden}.device-preview img{object-fit:contain;width:100%;height:100%;padding:2px;display:block}.registry-alert{flex-direction:column;gap:4px;display:flex}.registry-alert strong{font-size:12px}.registry-alert span{color:var(--text-dim);font-size:11px;line-height:1.4}.registry-alert.info{background:#38bdf81a;border-color:#38bdf84d}.registry-modal{width:min(780px,100vw - 48px)}.registry-modal-preview img{object-fit:contain;width:min(100%,310px);height:100%}.registry-modal-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.registry-modal-columns>section{border:1px solid var(--border-soft);background:#0b0f147a;border-radius:10px;min-width:0;padding:12px}.registry-modal-columns h3{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;margin:0 0 7px;font-size:11px}.registry-modal-columns .registry-specs div{grid-template-columns:minmax(110px,.9fr) 1.1fr;gap:10px}.registry-module-meta{border:1px solid var(--border-soft);border-radius:10px;margin-top:12px;padding:0 12px}.registry-modal-secondary{background:var(--accent-dim);width:100%;color:var(--accent);border-color:#2dd4bf61;margin-top:0}.registry-modal-footer{flex-direction:column;align-items:stretch;gap:8px;margin-top:16px;display:flex}.registry-modal-footer-main{flex-direction:column;gap:8px;width:100%;display:flex}.registry-modal-footer-row{flex-direction:row}.registry-modal-footer-row>.ghost,.registry-modal-footer-row>.primary{flex:1;min-width:0}.registry-modal-danger{border-top:1px solid var(--border-soft);width:100%;margin-top:4px;padding-top:12px}.registry-modal-secondary+.registry-modal-action{margin-top:0}@media (width<=680px){.registry-modal-columns{grid-template-columns:1fr}.registry-modal{width:calc(100vw - 24px)}}.inspector-body{padding:0}.inspector-body>.inspector-hint{margin:0;padding:10px 12px}.inspector-body>.inspector-object-head+.inspector-hint{padding-top:8px}.inspector-object-head{border-bottom:1px solid var(--border-soft);background:linear-gradient(135deg,#2dd4bf0f,#0000 58%);justify-content:space-between;align-items:center;gap:10px;min-height:64px;padding:10px 12px;display:flex}.inspector-object-head>div:first-child{min-width:0}.inspector-object-head span{color:var(--text-mute);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:9px;font-weight:650;display:block}.inspector-object-head h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;line-height:1.25;overflow:hidden}.inspector-actions{flex:none;align-items:center;gap:5px;display:flex}.inspector-camera-button{white-space:nowrap;justify-content:center;align-items:center;gap:5px;padding:6px 8px;display:inline-flex}.inspector-delete-button{place-items:center;width:30px;height:30px;padding:0;display:grid}.inspector-accordion{border-bottom:1px solid var(--border-soft)}.inspector-accordion-trigger{width:100%;color:var(--text-dim);letter-spacing:.07em;text-align:left;text-transform:uppercase;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:10px;font-weight:700;display:flex}.inspector-accordion-trigger:hover{background:var(--bg-panel-2);color:var(--text);border-color:#0000}.inspector-accordion-trigger svg{flex:none;transition:transform .38s cubic-bezier(.4,0,.2,1)}.inspector-accordion.expanded .inspector-accordion-trigger svg{transform:rotate(180deg)}.inspector-accordion-content{grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.inspector-accordion.expanded .inspector-accordion-content{grid-template-rows:1fr}.inspector-accordion-content-inner{min-height:0;padding:0 12px;overflow:hidden}.inspector-accordion.expanded .inspector-accordion-content-inner{padding-bottom:10px}.inspector-accordion-content .field{gap:4px;margin-bottom:8px}.inspector-accordion-content .field label,.inspector-field-label{color:var(--text-mute);font-size:10px}.inspector-field-label{margin:2px 0 5px}.inspector-number-row,.inspector-grid-2{align-items:start}.inspector-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6px;display:grid}.inspector-number-row input,.inspector-grid-2 input,.inspector-accordion-content select{min-width:0;padding:5px 6px}.inspector-number-row .field{min-width:0}.inspector-number-row .field label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inspector-segmented{margin-bottom:8px;padding:3px}.inspector-segmented button{padding:5px 6px;font-size:11px}.inspector-camera-roll-field{min-width:0}.inspector-camera-roll-options{margin:0}.inspector-camera-roll-options button{min-width:0}.inspector-summary{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg);min-height:29px;color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;padding:6px 8px;font-size:10px;display:flex}.inspector-summary strong{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.inspector-hint{margin:3px 0 0;font-size:10px;line-height:1.35}.inspector-badge{margin:0 0 8px;font-size:10px}.inspector-check{padding:2px 0 7px;font-size:11px}.inspector-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.inspector-metrics .metric-card{border-radius:7px;min-width:0;padding:8px}.inspector-metrics .metric-card .label{margin-bottom:3px;font-size:9px;line-height:1.25}.inspector-metrics .metric-card .value{font-size:13px;line-height:1.25}.inspector-metrics .metric-card .sub{font-size:9px;line-height:1.25}.acad-cube{z-index:8;-webkit-user-select:none;user-select:none;width:112px;position:absolute;top:14px;right:14px}.acad-cube-stage{perspective:260px;place-items:center;width:112px;height:104px;display:grid;overflow:visible}.acad-cube-solid{width:58px;height:58px;transform-style:preserve-3d;transition:transform .12s linear;position:relative}.acad-face{color:#e8eef6;letter-spacing:.04em;cursor:pointer;backface-visibility:hidden;background:#1c2430eb;border:1px solid #b4c8dc8c;border-radius:3px;place-items:center;width:58px;height:58px;padding:0;font-size:8px;font-weight:700;transition:border-color .15s,filter .15s;display:grid;position:absolute;inset:0;overflow:hidden}.acad-face-highlight{box-sizing:border-box;opacity:0;pointer-events:none;background:#60a8eee6;transition:opacity .1s;position:absolute;inset:0}.acad-face-label{z-index:1;pointer-events:none;text-align:center;padding:0 3px;line-height:1.1;position:relative}.acad-face.active{z-index:3;border-color:#3dd6c3}.acad-face.hl-full .acad-face-highlight,.acad-face.hl-edge-top .acad-face-highlight,.acad-face.hl-edge-bottom .acad-face-highlight,.acad-face.hl-edge-left .acad-face-highlight,.acad-face.hl-edge-right .acad-face-highlight,.acad-face.hl-corner-tl .acad-face-highlight,.acad-face.hl-corner-tr .acad-face-highlight,.acad-face.hl-corner-bl .acad-face-highlight,.acad-face.hl-corner-br .acad-face-highlight{opacity:1}.acad-face.hl-full .acad-face-highlight{border-radius:2px;box-shadow:inset 0 0 0 1px #3e84cdf2}.acad-face.hl-edge-top .acad-face-highlight{clip-path:inset(0 0 86%)}.acad-face.hl-edge-bottom .acad-face-highlight{clip-path:inset(86% 0 0)}.acad-face.hl-edge-left .acad-face-highlight{clip-path:inset(0 86% 0 0)}.acad-face.hl-edge-right .acad-face-highlight{clip-path:inset(0 0 0 86%)}.acad-face.hl-corner-tl .acad-face-highlight{clip-path:polygon(0 0,24% 0,0 24%)}.acad-face.hl-corner-tr .acad-face-highlight{clip-path:polygon(100% 0,76% 0,100% 24%)}.acad-face.hl-corner-bl .acad-face-highlight{clip-path:polygon(0 100%,0 76%,24% 100%)}.acad-face.hl-corner-br .acad-face-highlight{clip-path:polygon(100% 100%,100% 76%,76% 100%)}.acad-front{transform:translateZ(29px)}.acad-back{transform:rotateY(180deg)translateZ(29px)}.acad-right{transform:rotateY(90deg)translateZ(29px)}.acad-left{transform:rotateY(-90deg)translateZ(29px)}.acad-top{transform:rotateX(90deg)translateZ(29px)}.acad-bottom{transform:rotateX(-90deg)translateZ(29px)}.acad-edge,.acad-corner{cursor:pointer;opacity:0;appearance:none;background:0 0;border:0;padding:0;position:absolute;top:50%;left:50%}.acad-edge{z-index:6;width:22px;height:22px;margin:-11px 0 0 -11px}.acad-corner{z-index:7;width:18px;height:18px;margin:-9px 0 0 -9px}.acad-edge-top-front{transform:translate3d(0,-29px,29px)}.acad-edge-top-back{transform:translate3d(0,-29px,-29px)}.acad-edge-bottom-front{transform:translate3d(0,29px,29px)}.acad-edge-bottom-back{transform:translate3d(0,29px,-29px)}.acad-edge-top-left{transform:translate(-29px,-29px)}.acad-edge-top-right{transform:translate(29px,-29px)}.acad-edge-bottom-left{transform:translate(-29px,29px)}.acad-edge-bottom-right{transform:translate(29px,29px)}.acad-edge-front-left{transform:translate3d(-29px,0,29px)}.acad-edge-front-right{transform:translate3d(29px,0,29px)}.acad-edge-back-left{transform:translate3d(-29px,0,-29px)}.acad-edge-back-right{transform:translate3d(29px,0,-29px)}.acad-corner-top-front-left{transform:translate3d(-29px,-29px,29px)}.acad-corner-top-front-right{transform:translate3d(29px,-29px,29px)}.acad-corner-top-back-left{transform:translate3d(-29px,-29px,-29px)}.acad-corner-top-back-right{transform:translate3d(29px,-29px,-29px)}.acad-corner-bottom-front-left{transform:translate3d(-29px,29px,29px)}.acad-corner-bottom-front-right{transform:translate3d(29px,29px,29px)}.acad-corner-bottom-back-left{transform:translate3d(-29px,29px,-29px)}.acad-corner-bottom-back-right{transform:translate3d(29px,29px,-29px)}.acad-face[class*=hl-]{z-index:5}.acad-iso{border:1px solid var(--border-soft);width:100%;color:var(--text-dim);cursor:pointer;background:#1c2430e6;border-radius:6px;margin-top:2px;padding:4px 0;font-size:10px}.acad-iso:hover{color:var(--text);border-color:#3dd6c3}.scene-tree-panel{width:100%;min-width:0;height:100%;transition:width .22s,min-width .22s}.scene-tree-panel.collapsed{width:100%;min-width:0}.panel-head-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.primary-sm{color:#b8fff4;cursor:pointer;background:#2da09440;border:1px solid #2a9b8f;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:inline-flex}.tree-group{margin-bottom:12px}.tree-group-title{text-transform:uppercase;letter-spacing:.06em;width:100%;color:var(--text-dim);text-align:left;background:0 0;border:0;align-items:center;gap:5px;margin:4px 0 6px;padding:4px;font-size:10px;display:flex}.tree-group-title:hover{color:var(--text);background:var(--bg-elev)}.tree-row{align-items:center;gap:2px;margin-bottom:2px;display:flex}.tree-row .eye-btn,.tree-row .tree-warn-btn,.tree-row .delete-node-btn{box-sizing:border-box;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;line-height:0;display:inline-flex}.tree-row .eye-btn{color:var(--text-dim);background:0 0;border:none}.tree-warn-btn{color:#f87171;background:0 0;border-color:#0000}.tree-warn-btn:hover{color:#fca5a5;background:var(--danger-bg);border-color:#f8717159}.tree-kind{color:var(--text-dim);background:#ffffff0f;border-radius:4px;margin-right:6px;padding:1px 4px;font-size:9px;display:inline-block}.tree-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tree-semantic-badges{flex:none;gap:2px;margin-left:auto;display:inline-flex}.tree-semantic-badge{border:1px solid var(--border-soft);color:var(--text-dim);white-space:nowrap;background:#ffffff0b;border-radius:4px;padding:1px 3px;font-size:8px;font-weight:650;line-height:1.35}.tree-semantic-badge.camera{color:#93c5fd;border-color:#60a5fa4d}.tree-semantic-badge.laser{color:#fda4af;border-color:#fb71854d}.tree-semantic-badge.light{color:#fde68a;border-color:#fbbf244d}.tiny{padding:4px;font-size:11px}.modal-backdrop{z-index:40;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:12px;width:min(520px,92vw);max-height:80vh;padding:14px 16px;overflow:auto;box-shadow:0 20px 60px #00000073}.modal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.modal-head h3{margin:0;font-size:16px}.problem-report-modal{width:min(560px,92vw)}.problem-report-body{flex-direction:column;gap:12px;display:flex}.report-type-fieldset{border:none;gap:16px;margin:0;padding:0;display:flex}.report-type-option{align-items:center;gap:6px;font-size:13px;display:inline-flex}.report-field{flex-direction:column;gap:6px;font-size:13px;display:flex}.report-field-label-row{flex-wrap:wrap;align-items:baseline;gap:8px 10px;display:flex}.report-bug-snapshot-hint{font-weight:400;line-height:1.35}.report-field textarea,.report-field input{border:1px solid var(--border-soft);background:var(--bg);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:8px;padding:8px 10px}.report-error{color:#fca5a5;margin:0;font-size:12px}.report-success-body{color:var(--text);margin:0;font-size:14px;line-height:1.5}.report-offline{flex-direction:column;gap:8px;font-size:12px;display:flex}.problem-report-foot{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.report-inbox-modal{flex-direction:column;width:min(720px,94vw);max-height:min(80vh,760px);display:flex}.report-inbox-tabs{flex-shrink:0}.report-inbox-body{flex-direction:column;gap:10px;min-height:220px;max-height:min(62vh,560px);display:flex;overflow:auto}.report-inbox-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.report-inbox-item{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.report-inbox-item-main{flex-direction:column;gap:6px;min-width:0;display:flex}.report-inbox-item-meta{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.report-inbox-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.report-inbox-description{white-space:pre-wrap;word-break:break-word;color:var(--text);margin:0;font-size:13px;line-height:1.45}.report-inbox-item-actions{flex-wrap:wrap;gap:8px;display:flex}.report-inbox-item-actions .ghost{align-items:center;gap:6px;display:inline-flex}.danger-text{color:#fca5a5}.report-inbox-item.is-archived{opacity:.88}.report-inbox-archive{flex-direction:column;gap:8px;margin-top:8px;display:flex}.report-inbox-archive-toggle{color:var(--text-dim);cursor:pointer;font:inherit;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:inline-flex}.report-inbox-archive-toggle svg{transition:transform .15s}.report-inbox-archive-toggle.is-open svg{transform:rotate(180deg)}.report-inbox-list-archived{margin-top:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.add-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.add-tabs button{border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.add-tabs button.active{color:#b8fff4;background:#2da09426;border-color:#2a9b8f}.catalog-pick{text-align:left;border:1px solid var(--border-soft);background:var(--bg);width:100%;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:12px;margin-bottom:8px;padding:10px;display:flex}.catalog-pick:hover{border-color:#2a9b8f}.catalog-pick img{object-fit:contain;background:#00000059;border-radius:6px;flex-shrink:0}.catalog-pick strong{font-size:13px;display:block}.catalog-pick .muted{font-size:11px}.stl-import-panel{gap:9px;display:grid}.stl-file-pick{margin:0}.stl-file-pick>svg{color:#5eead4;flex:none}.stl-file-summary{border:1px solid var(--border-soft);color:var(--text-dim);font-variant-numeric:tabular-nums;background:#ffffff06;border-radius:9px;gap:3px;padding:9px 10px;font-size:11px;display:grid}.stl-file-summary strong{color:var(--text);font-size:12px}.stl-axis-formula{color:#9fe8df;background:#2da0941a;border-radius:7px;margin:0;padding:7px 8px;font:10px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.stl-axis-formula.error{color:#faa;background:#e24b4b1f}.stl-import-button{justify-self:end;align-items:center;gap:6px;display:inline-flex}.stl-semantic-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:8px;display:grid}.stl-semantic-count{border:1px solid var(--border-soft);background:#ffffff06;border-radius:8px;gap:1px;min-width:0;padding:6px 7px;display:grid}.stl-semantic-count strong{font-variant-numeric:tabular-nums;font-size:17px;line-height:1}.stl-semantic-count span{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.stl-semantic-count.camera strong,.stl-semantic-role.camera{color:#93c5fd}.stl-semantic-count.laser strong,.stl-semantic-role.laser{color:#fda4af}.stl-semantic-count.light strong,.stl-semantic-role.light{color:#fde68a}.stl-semantic-detections{gap:5px;display:grid}.stl-semantic-detection{border:1px solid var(--border-soft);background:#ffffff05;border-radius:8px;gap:5px;padding:7px 8px;display:grid}.stl-semantic-detection-head,.stl-semantic-position{justify-content:space-between;align-items:center;gap:8px;display:flex}.stl-semantic-role{font-size:10px;font-weight:700}.stl-semantic-confidence{font-variant-numeric:tabular-nums;background:#ffffff0d;border-radius:999px;padding:1px 5px;font-size:9px}.stl-semantic-confidence.high{color:#99f6e4;background:#2dd4bf1a}.stl-semantic-confidence.medium{color:#fde68a;background:#fbbf241a}.stl-semantic-confidence.low{color:#fca5a5;background:#f871711a}.stl-semantic-position span{color:var(--text-mute);font-size:9px}.stl-semantic-position code{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font:9px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}.stl-semantic-empty{margin:0}.stl-semantic-import{border:1px solid color-mix(in srgb, var(--accent,#2dd4bf) 32%, var(--border-soft));background:color-mix(in srgb, var(--accent,#2dd4bf) 6%, transparent);border-radius:9px;gap:8px;padding:10px;display:grid}.stl-semantic-import-head{align-items:flex-start;gap:8px;display:flex}.stl-semantic-import-head>div{gap:2px;display:grid}.stl-semantic-import-counts{margin:0}.stl-semantic-import-counts .stl-semantic-count{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:5px}.stl-semantic-import-counts .stl-semantic-count strong{font-size:14px}.stl-semantic-import-details{border-top:1px solid var(--border-soft);padding-top:7px}.stl-semantic-import-details summary{cursor:pointer;color:var(--text-dim);font-size:10px;font-weight:650}.stl-semantic-import-list{gap:4px;max-height:240px;margin-top:7px;display:grid;overflow:auto}.stl-semantic-import-row{border:1px solid var(--border-soft);background:#ffffff06;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:7px;padding:6px 7px;display:grid}.stl-semantic-import-row>div{gap:2px;min-width:0;display:grid}.stl-semantic-import-row strong{font-size:10px}.stl-semantic-import-row span{color:var(--text-dim);font-variant-numeric:tabular-nums;font:9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.stl-semantic-import-confidence{color:#99f6e4!important;font-size:9px!important}.motion-strip{border:1px solid var(--border-soft);background:#ffffff08;border-radius:10px;align-items:center;gap:10px;padding:4px 10px;display:flex}.motion-strip label{color:var(--text-dim);flex-direction:column;gap:2px;font-size:10px;display:flex}.motion-strip input[type=range]{accent-color:#2a9b8f;width:90px}.rail-badge{color:#fff;text-align:center;background:#e24b4b;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:4px;right:8px}.workspace-rail button{position:relative}.registry-modal-preview.contain,.registry-modal-preview{background:#0c121a;border-radius:10px;justify-content:center;align-items:center;max-height:140px;padding:12px;display:flex;overflow:hidden}.registry-modal-preview img,.device-preview img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:110px}.registry-modal-wide{width:min(720px,94vw)}.registry-module-edit{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.registry-modal-field{margin:0 0 12px}.registry-modal-field select{width:100%}.registry-modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.registry-light-edit{border:1px solid var(--border-soft);background:var(--bg);border-radius:10px;flex-wrap:wrap;grid-column:1/-1;align-items:end;gap:10px;padding:10px;display:flex}.scene-tree-panel.collapsed{overflow:visible;width:48px!important;min-width:48px!important}.settings-modal{--settings-tab-panel-h:560px;flex-direction:column;width:min(560px,100vw - 32px);max-width:none;max-height:calc(100vh - 24px);display:flex;overflow:visible}.settings-modal .modal-head h2{margin:0;font-size:16px}.tech-spec-modal{flex-direction:column;width:min(1040px,100vw - 32px);max-width:none;max-height:calc(100vh - 24px);display:flex;overflow:hidden}.tech-spec-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tech-spec-head-actions{align-items:center;gap:8px;display:flex}.tech-spec-head-actions button:not(.icon-btn){align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.tech-spec-tabs{flex-shrink:0}.tech-spec-tab-panel{--tech-spec-tab-panel-h:540px;height:var(--tech-spec-tab-panel-h);min-height:var(--tech-spec-tab-panel-h);max-height:var(--tech-spec-tab-panel-h);flex:none;position:relative;overflow:hidden}.tech-spec-tab-pane{opacity:0;visibility:hidden;pointer-events:none;padding:16px 18px 18px;position:absolute;inset:0;overflow:hidden auto}.tech-spec-tab-pane.is-active{opacity:1;visibility:visible;pointer-events:auto}.tech-spec-tab-pane--spec{padding:0}.tech-spec-tab-pane--spec .wizard-spec{height:100%;min-height:0;max-height:none}.settings-tabs{border-bottom:1px solid var(--border-soft);flex-shrink:0;gap:2px;padding:0 12px;display:flex}.settings-tab{color:var(--text-dim);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 10px;font-size:12px;font-weight:600;display:inline-flex}.settings-tab:hover{color:var(--text);background:0 0;border-color:#0000}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:0 0}.settings-tab-panel{height:min(var(--settings-tab-panel-h), calc(100vh - 148px));min-height:min(var(--settings-tab-panel-h), calc(100vh - 148px));max-height:min(var(--settings-tab-panel-h), calc(100vh - 148px));flex:none;overflow:hidden}.settings-modal .settings-tab-content{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.settings-modal .settings-stack{overscroll-behavior:contain;flex:auto;min-height:0;padding-bottom:16px;overflow-y:auto}.settings-advanced-toggle{margin-top:4px}@media (height<=860px){.settings-modal{--settings-tab-panel-h:calc(100vh - 148px)}.settings-modal .settings-stack{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}}.settings-tab-content{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.settings-tab-hint{flex-shrink:0;margin:0;padding:8px 14px 0;line-height:1.35}.settings-stack{flex-direction:column;flex:1;gap:6px;min-height:0;padding:8px 14px 14px;display:flex;overflow:hidden auto}.settings-stack--cols-2{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:6px 12px;display:grid}.settings-span-full{grid-column:1/-1}.settings-group+.settings-group{border-top:1px solid var(--border-soft);margin-top:8px;padding-top:8px}.settings-group-body{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:6px 12px;display:grid}.settings-group-body--single{grid-template-columns:1fr}.settings-group-body>.settings-span-full,.settings-group-body>.settings-check-grid,.settings-group-body>.settings-inline-hint,.settings-group-body>.settings-fieldset,.settings-group-body>.scene-bg-swatches,.settings-group-body>.settings-hotkeys-btn{grid-column:1/-1}.settings-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;display:grid}.settings-group-title{color:var(--text);margin:0 0 4px;font-size:12px;font-weight:650}.settings-field{color:var(--text-dim);flex-direction:column;gap:3px;margin:0;font-size:11px;display:flex}.scene-bg-swatches{flex-wrap:wrap;gap:8px;display:flex}.scene-bg-swatch{border:2px solid var(--border-soft);cursor:pointer;border-radius:8px;width:34px;height:34px;padding:0;transition:border-color .15s,box-shadow .15s,transform .12s;box-shadow:inset 0 0 0 1px #ffffff0d}.scene-bg-swatch:hover{transform:translateY(-1px)}.scene-bg-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.scene-bg-swatch--light{border-color:#0000002e}.scene-bg-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-field.disabled{opacity:.45;pointer-events:none}.settings-field select,.settings-field input[type=number]{border:1px solid var(--border-soft);background:var(--bg);color:var(--text);border-radius:7px;padding:6px 8px;font-size:12px}.settings-fieldset{border:1px solid var(--border-soft);border-radius:8px;margin:2px 0 0;padding:8px 10px}.settings-fieldset.disabled{opacity:.45}.settings-fieldset legend{color:var(--text-dim);padding:0 4px;font-size:11px}.settings-check{color:var(--text);cursor:pointer;align-items:flex-start;gap:8px;margin:0;font-size:12px;display:flex}.settings-check.disabled{opacity:.45;pointer-events:none}.settings-check input{flex-shrink:0;margin:0}.settings-inline-hint{margin:-2px 0 2px;line-height:1.35}.settings-computing{color:#7fd4c8;margin:4px 0 0;font-size:12px}.settings-hotkeys-btn{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:7px;width:fit-content;padding:7px 10px;font-size:12px;display:inline-flex}.settings-hotkeys-btn:hover{border-color:var(--accent);color:var(--accent)}.heatmap-physics-label{color:#9ad7cf;max-width:140px;margin-top:4px;font-size:10px;line-height:1.3}.icon-btn{width:var(--qv-icon-btn-size);height:var(--qv-icon-btn-size);min-width:var(--qv-icon-btn-size);min-height:var(--qv-icon-btn-size);border-radius:var(--radius-sm);flex-shrink:0;place-items:center;line-height:0;padding:0!important;display:inline-grid!important}.icon-btn svg{flex-shrink:0;display:block}.registry-modal-icon-danger.icon-btn,.registry-modal-head-actions .icon-btn{width:var(--qv-icon-btn-size);height:var(--qv-icon-btn-size)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.home-hero{isolation:isolate;justify-content:stretch;padding:0;position:relative;overflow:hidden}.home-hero-image{z-index:-2;object-fit:cover;object-position:76% center;opacity:.54;filter:saturate(.82)contrast(1.08);width:142%;height:100%;position:absolute;inset:0;transform:translate(-29%)}.home-hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#080c12f5 0%,#080c12c7 58%,#080c1240),linear-gradient(#0000 42%,#080c12eb);position:absolute;inset:0}.home-hero-content{flex-direction:column;flex:1;justify-content:center;gap:24px;min-height:0;padding:clamp(36px,6vw,88px);display:flex}.home-hero .brand span{font-size:16px}.home-section-actions,.home-project-actions{align-items:center;gap:7px;display:flex}.home-section-actions button{align-items:center;gap:6px;display:inline-flex}.home-project-open{border-radius:0;padding:0;display:block}.home-project-meta{flex-direction:column;gap:6px;min-height:62px;padding:11px 14px 14px;display:flex}.home-project-meta strong{cursor:text}.home-project-meta input{padding:4px 6px}.home-project-actions{z-index:3;opacity:0;transition:opacity .16s;position:absolute;top:8px;right:8px}.home-project-card:hover .home-project-actions,.home-project-actions:focus-within{opacity:1}.home-project-actions .icon-danger,.home-project-actions .icon-secondary{opacity:1;background:#0b0f14e0;place-items:center;width:30px;height:30px;padding:0;display:grid;position:static}.icon-secondary{color:var(--text-dim);border-color:#38bdf84d}.icon-secondary:hover{color:var(--accent-2);border-color:var(--accent-2);background:#38bdf81f}.wizard-dimension-group{border:1px solid var(--border-soft);background:#0b0f1466;border-radius:11px;margin-top:14px;padding:14px}.wizard-dimension-group h3{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;margin:0 0 12px;font-size:11px}.conveyor-mini svg{overflow:hidden}.belt-stones{animation:1.55s linear infinite conveyor-belt-flow}.indexed-pallet-strip{animation:3.4s cubic-bezier(.55,0,.2,1) infinite conveyor-index-step}.belt-lanes-preview{border:1px solid var(--border-soft);min-height:132px;color:var(--accent);background:#0c121a;border-radius:12px;grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.belt-lanes-preview svg{width:100%;height:112px}.lanes-belt{fill:#242e3c;stroke:#48576b}.lane-guide{fill:none;stroke:#2dd4bf47;stroke-width:1px;stroke-dasharray:4 4}.lane-product{fill:var(--fill-product-color,#80654c);stroke:#c0a17e}.fill-product-plan{stroke:#c0a17e}.fill-pallet-plan{fill:#54361f;stroke:#b2763c;stroke-width:2px}.fill-center-axis{stroke:#38bdf840;stroke-dasharray:4 4}.fill-dimension{fill:#8b97a8;font-size:8px}.fill-cards button.active .fill-pallet-plan{stroke:var(--accent);stroke-width:2.5px}.fill-cards button.active .fill-product-plan{stroke:#c0a17e}.wizard-limit-note{color:var(--warn);margin:0;font-size:12px;line-height:1.35}.wizard-limit-note-slot{min-height:22px;margin-top:6px}.wizard-limit-note--hidden{visibility:hidden}.wizard-material-color-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:12px;width:100%;display:grid}.wizard-material-color-row .field{flex-direction:column;min-width:0;margin-bottom:0;display:flex}.wizard-material-color-row .field label{margin-bottom:6px;display:block}.wizard-material-color-row select{box-sizing:border-box;width:100%;min-height:34px}.wizard-color-swatches-field .product-color-swatches{flex:1;min-width:0;margin-top:0}.wizard-material-color-row .wizard-inline-swatches{min-width:0;margin-top:0}.wizard-material-color-row .product-color-grid{flex-wrap:nowrap;align-items:center;gap:6px;min-height:34px}.wizard-material-color-row .product-color-swatch{border-radius:3px;flex-shrink:0;width:21px;height:21px}.workspace-body{transition:grid-template-columns .24s cubic-bezier(.2,.75,.2,1)}.workspace-body.right-panel-collapsed{grid-template-columns:var(--qv-rail-width) var(--qv-left-panel-width) 1fr 48px}.workspace-body.left-panel-collapsed.right-panel-collapsed{grid-template-columns:var(--qv-rail-width) 52px 1fr 48px}.panel,.scene-tree-panel,.inspector{transition:width .24s cubic-bezier(.2,.75,.2,1),min-width .24s cubic-bezier(.2,.75,.2,1)}.inspector.collapsed{width:48px;min-width:48px;overflow:hidden}.inspector.collapsed .panel-head{justify-content:center;padding:8px 4px}.inspector-collapse-button{padding:0}.inspector-section-title{align-items:center;gap:7px;display:inline-flex}.inspector-failed-badge{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;line-height:1;display:inline-grid}.modal-card,.settings-modal{background:#111923;border-color:#3a4b61;box-shadow:0 28px 80px #000000b8}.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#03070cd6}.registry-column-preview,.kit-equipment-preview{border:1px solid var(--border-soft);object-fit:contain;background:#080d13;border-radius:8px;width:100%;height:128px;margin:4px 0 12px;display:block}.fpv-panel{will-change:transform;contain:layout}.topbar-range.pallet-range{grid-template-columns:auto minmax(90px,min(165px,22vw)) minmax(72px,92px)}.position-coordinate-input{grid-template-columns:1fr auto;align-items:center;gap:4px;min-width:0;display:grid}.position-coordinate-input input{width:65px;font-family:var(--mono);text-align:right;padding:3px 5px;font-size:10px}.position-coordinate-input>span{color:var(--text-dim);font-size:9px}.workspace-body,.workspace-body.left-panel-collapsed,.workspace-body.right-panel-collapsed,.workspace-body.left-panel-collapsed.right-panel-collapsed{grid-template-columns:var(--qv-rail-width) 0 minmax(0, 1fr) 0;transition:none;display:grid;position:relative}.workspace-body>.workspace-rail{grid-column:1}.workspace-body>.viewport-wrap{grid-column:3}.workspace-body>.fpv-layer{top:0;bottom:0;left:calc(var(--qv-rail-width) + var(--qv-left-panel-width));right:var(--qv-inspector-width);z-index:14;pointer-events:none;transition:left .24s cubic-bezier(.2,.75,.2,1),right .24s cubic-bezier(.2,.75,.2,1),z-index;position:absolute}.workspace-body.left-panel-collapsed>.fpv-layer{left:calc(var(--qv-rail-width) + 48px)}.workspace-body.right-panel-collapsed>.fpv-layer{right:var(--qv-inspector-collapsed-width)}.workspace-body.fpv-behind-sidebars>.fpv-layer{z-index:6}.fpv-layer .fpv-panel{pointer-events:auto}.workspace-body>:nth-child(2){z-index:12;top:0;bottom:0;left:var(--qv-rail-width);width:var(--qv-left-panel-width);min-width:0;transition:width .24s cubic-bezier(.2,.75,.2,1);position:absolute;overflow:hidden;box-shadow:14px 0 28px #0000003d}.workspace-body.left-panel-collapsed>:nth-child(2){width:48px;min-width:48px;overflow:hidden}.workspace-body>.inspector{z-index:12;width:var(--qv-inspector-width);min-width:0;transition:width .24s cubic-bezier(.2,.75,.2,1);position:absolute;top:0;bottom:0;right:0;box-shadow:-14px 0 28px #0000003d}.workspace-body>.inspector.collapsed{width:var(--qv-inspector-collapsed-width)}.inspector>.panel-head{justify-content:flex-start;gap:8px}.inspector>.panel-head>span:first-of-type{flex:1}.inspector-lock-btn.active{color:var(--accent,#2dd4bf)}.inspector-lock-btn.active.partial{color:#fb923c}.inspector-pose-row .inspector-pose-field,.inspector-pose-field .field{min-width:0}.number-input-shell{align-items:stretch;width:100%;display:flex;position:relative}.number-input-shell input{box-sizing:border-box;width:100%}.number-input-shell input.has-trailing{padding-right:28px}.pose-field-lock{z-index:1;width:22px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pose-field-lock:hover:not(:disabled){color:var(--text);background:#94a3b81f}.pose-field-lock.active{color:#fb923c;background:#fb923c24}.pose-field-lock:disabled{opacity:.45;cursor:not-allowed}.inspector-pose-field.axis-locked .field input{opacity:.72}.scene-lock-badge{color:#facc15;pointer-events:none;background:#0f172ae0;border:1px solid #facc158c;border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;line-height:0;display:flex;box-shadow:0 1px 4px #00000073}.scene-lock-badge.partial{color:#fb923c;border-color:#fb923c8c}.scene-lock-badge svg{width:11px;height:11px;display:block}.confirm-backdrop{z-index:200}.confirm-modal{width:min(420px,92vw)}.confirm-body p{color:var(--text);margin:0;font-size:14px;line-height:1.45}.confirm-actions{border-top:1px solid var(--border-soft);justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;display:flex}.confirm-actions .primary,.confirm-actions .danger-button{min-width:96px}.inspector.collapsed .inspector-collapse-button svg{transform:none}.workspace-body:not(.right-panel-collapsed) .acad-cube{right:calc(var(--qv-inspector-width) + 14px)}.workspace-body.right-panel-collapsed .acad-cube{right:calc(var(--qv-inspector-collapsed-width) + 14px)}.workspace-body:not(.right-panel-collapsed) .ruler-hint,.workspace-body:not(.right-panel-collapsed) .scene-viewport-toolbar{right:calc(var(--qv-inspector-width) + 14px + 112px + 12px)}.workspace-body.right-panel-collapsed .ruler-hint,.workspace-body.right-panel-collapsed .scene-viewport-toolbar{right:calc(var(--qv-inspector-collapsed-width) + 14px + 112px + 12px)}.workspace-body:not(.right-panel-collapsed) .viewport-tools{right:calc(var(--qv-inspector-width) + 10px)}.workspace-body.right-panel-collapsed .viewport-tools{right:calc(var(--qv-inspector-collapsed-width) + 10px)}.workspace-body:not(.left-panel-collapsed) .view-badge{left:calc(var(--qv-rail-width) + var(--qv-left-panel-width) - 22px)}.workspace-body.left-panel-collapsed .view-badge{left:calc(var(--qv-rail-width) + 2px)}.registry-panel.collapsed .panel-body,.registry-panel.collapsed .registry-grid{display:none}.inspector-restore-defaults{justify-content:center;width:100%;margin-top:10px;font-size:11px}.distortion-hint{margin:-4px 0 8px;font-size:10px;line-height:1.35}.wizard-resource-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.wizard-resource-card{border:1px solid var(--border);text-align:left;color:inherit;cursor:pointer;background:#121820b8;border-radius:12px;gap:6px;padding:14px;display:grid}.wizard-resource-card:hover,.wizard-resource-card.active{border-color:var(--accent);background:#2dd4bf14}.wizard-resource-card strong{font-size:13px}.wizard-resource-preview{object-fit:contain;background:#00000059;border-radius:8px;width:100%;height:72px}.wizard-resource-card span,.wizard-resource-card small{color:var(--text-dim);font-size:11px;line-height:1.35}.wizard-nav-panel{gap:14px;display:grid}.hotkeys-backdrop{z-index:80}.hotkeys-modal{flex-direction:column;width:min(520px,94vw);max-height:calc(100vh - 48px);display:flex;overflow:hidden}.hotkeys-body{flex-direction:column;gap:10px;display:flex;overflow:auto}.hotkeys-table{border-collapse:collapse;width:100%;font-size:13px}.hotkeys-table th,.hotkeys-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 6px}.hotkeys-table th{width:42%;font-weight:500}.hotkey-kbd{border:1px solid var(--border);white-space:nowrap;background:#ffffff0f;border-radius:5px;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;display:inline-block}.wizard-main{padding:20px 32px 24px}.wizard-title{margin-bottom:12px}.stepper{margin-bottom:14px}.wizard-card{padding:18px}.conveyor-mini svg{height:72px}.conveyor-mini>span,.fill-cards button>span{padding:8px 10px}.wizard-dimension-group{margin-top:9px;padding:10px 12px}.wizard-dimension-group h3{margin-bottom:8px}.wizard-dimension-group .field{margin-bottom:4px}.wizard-dimension-group .wizard-dims-row>.field,.wizard-dimension-group .wizard-dims-row>.wizard-count-field{min-width:0;margin-bottom:0}.wizard-dimension-group .field input,.wizard-dimension-group .field select,.wizard-dimension-group .number-input-shell{box-sizing:border-box;width:100%}.stone-mesh{top:42px;left:65px}.belt-lanes-preview{min-height:112px;padding-block:4px}.belt-lanes-preview svg{height:96px}.lane-guide{stroke-dasharray:5 4}.home-main-toolbar{justify-content:flex-end;margin-bottom:16px;display:flex}.locale-switcher{align-items:center;gap:10px;display:flex}.locale-switcher-label{color:var(--text-dim);font-size:12px}.locale-switcher-buttons{border:1px solid var(--border-soft);border-radius:8px;display:inline-flex;overflow:hidden}.locale-switcher-buttons button{color:var(--text-dim);background:0 0;border:0;border-radius:0;padding:6px 12px;font-size:11px;font-weight:650}.locale-switcher-buttons button.active{background:var(--accent-dim);color:var(--accent)}.export-modal{width:min(480px,94vw)}.stl-import-modal{width:min(560px,94vw)}.stl-import-modal .modal-head h2{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.save-modal{width:min(440px,94vw)}.save-body{flex-direction:column;gap:10px;display:flex}.save-option{border:1px solid var(--border-soft);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.save-option.active{border-color:color-mix(in srgb, var(--accent,#3b82f6) 55%, var(--border-soft));background:color-mix(in srgb, var(--accent,#3b82f6) 10%, transparent)}.save-option strong{font-size:13px;display:block}.save-option em{color:var(--text-dim);margin-top:2px;font-size:11px;font-style:normal;display:block}.save-name-field{color:var(--text-dim);flex-direction:column;gap:6px;font-size:12px;display:flex}.save-name-field input{border:1px solid var(--border-soft);background:var(--panel,#121820);color:inherit;border-radius:8px;padding:8px 10px;font-size:13px}.save-upload-check{border:1px solid var(--border-soft);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.save-upload-check strong{font-size:13px;display:block}.save-upload-check em{color:var(--text-dim);margin-top:2px;font-size:11px;font-style:normal;display:block}.export-body{flex-direction:column;gap:10px;display:flex}.export-check{border:1px solid var(--border-soft);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.export-check.disabled{cursor:not-allowed;opacity:.55}.export-check strong{font-size:13px;display:block}.export-check em{color:var(--text-dim);margin-top:2px;font-size:11px;font-style:normal;display:block}.export-format-row{gap:14px;margin-top:-4px;padding-left:28px;display:flex}.export-radio{align-items:center;gap:6px;font-size:12px;display:flex}.export-footer{border-top:1px solid var(--border-soft);justify-content:flex-end;gap:8px;padding:12px 16px 16px;display:flex}.export-error{color:#f87171;margin:0;font-size:12px}.inspector-tech-tabs{gap:4px;margin-bottom:10px;display:flex}.inspector-tech-tabs button{border:1px solid var(--border-subtle,#94a3b840);color:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:1;padding:6px 8px;font-size:12px}.inspector-tech-tabs button.active{background:#2dd4bf1f;border-color:#2dd4bf73}.spec-dl{gap:4px 12px;margin:8px 0 12px;font-size:12px;display:grid}.spec-dl-row{grid-template-columns:minmax(0,42%) 1fr;align-items:baseline;gap:8px;display:grid}.spec-dl dt{color:var(--text-muted,#94a3b8);margin:0;font-weight:500}.spec-dl dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.sensor-qe-btn{color:#93c5fd;cursor:pointer;background:#5eb8ff14;border:1px solid #5eb8ff59;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin:12px 0 4px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.sensor-qe-btn:hover{background:#5eb8ff29;border-color:#5eb8ff8c}.sensor-qe-btn--compact{margin-top:8px;padding:6px 10px;font-size:12px}.inspector-tech-panel .sensor-qe-btn{margin-top:14px;margin-bottom:6px}.inspector-roi{flex-direction:column;gap:8px;margin-top:4px;display:flex}.inspector-roi>.check-row.inspector-check{margin-bottom:0;padding:2px 0 4px}.inspector-roi-laser-btn,.registry-sensor-qe-btn{width:100%}.sensor-qe-modal{width:min(640px,94vw)}.sensor-qe-head{align-items:flex-start}.sensor-qe-kicker{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:12px}.sensor-qe-subtitle{margin:4px 0 0;font-size:13px}.light-spectral-typical-callout{color:#fcd34d;background:#fbbf2424;border:1px solid #fbbf2480;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:500;line-height:1.5}.sensor-qe-body{flex-direction:column;gap:12px;padding-top:4px;display:flex}.sensor-qe-links{flex-direction:column;gap:8px;display:flex}.sensor-qe-datasheet-link{color:#93c5fd;background:#5eb8ff1a;border:1px solid #5eb8ff66;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.sensor-qe-datasheet-link--primary{background:#5eb8ff24;border-color:#5eb8ff8c}.sensor-qe-datasheet-link:hover{background:#5eb8ff2e;border-color:#5eb8ff99}.sensor-qe-source{margin:0;font-size:12px;line-height:1.45}.sensor-qe-source a{color:#93c5fd}.sensor-qe-note{margin:0;font-size:11px}.sensor-qe-chart{margin:0}.sensor-qe-chart svg{cursor:crosshair;width:100%;height:auto;display:block}.sensor-qe-chart-crosshair{stroke:#94a3b873;stroke-width:1px;stroke-dasharray:4 3}.sensor-qe-chart-tooltip-bg{fill:#0f172af0;stroke:#94a3b859}.sensor-qe-chart-tooltip-label{fill:#94a3b8;font-size:10px}.sensor-qe-chart-tooltip-value{fill:#e2e8f0;font-size:12px;font-weight:600}.sensor-qe-chart-plot{fill:#0f172a8c;stroke:#94a3b833}.sensor-qe-chart-grid{stroke:#94a3b81f;stroke-width:1px}.sensor-qe-chart-tick{fill:var(--text-muted,#94a3b8);font-size:10px}.sensor-qe-chart-axis{fill:var(--text-muted,#94a3b8);font-size:11px}.sensor-qe-chart-legend{color:var(--text-muted,#94a3b8);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:8px;font-size:12px;display:flex}.sensor-qe-legend-item{align-items:center;gap:6px;display:inline-flex}.sensor-qe-legend-item i{border-radius:2px;width:14px;height:3px;display:inline-block}.sensor-qe-legend-peak{font-variant-numeric:tabular-nums;margin-left:auto}.fpv-reference-toggle{width:28px;height:28px;color:inherit;cursor:pointer;background:#0f172ad9;border:1px solid #94a3b859;border-radius:6px;flex:0 0 28px;justify-content:center;align-items:center;padding:0;display:flex}.fpv-reference-view{border-left:none}.wizard-dims-row--equal{align-items:end;gap:10px;width:100%;display:grid}.wizard-dims-row--equal.wizard-dims-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-dims-row--equal.wizard-dims-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}.wizard-dims-row--equal .field,.wizard-dims-row--equal .field input{width:100%;min-width:0}.wizard-product-step{flex-direction:column;gap:12px;display:flex}.wizard-product-previews{margin-bottom:4px}.wizard-row-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;width:100%;display:grid}.product-color-inline{border:1px solid var(--border-soft);background:#0f172a73;border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:6px 10px;display:flex}.product-color-inline-swatch{border-radius:4px;flex-shrink:0;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0003}.product-color-inline-label{color:var(--text);font-size:12px}.wizard-dims-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));align-items:end;gap:10px 12px;width:100%;display:grid}.wizard-dims-row-end{flex-wrap:wrap;align-items:end;gap:10px;margin-left:auto;display:flex}.wizard-dims-row-end .field{min-width:7.5rem}.wizard-dims-row--lanes{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;width:100%}.wizard-dims-row .field label{font-size:11px;line-height:1.25}.wizard-dims-row .field input,.wizard-dims-row .number-input-shell{width:100%;min-width:0}.fpv-reference-frame{background:#070b10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fpv-reference-placeholder-img{background:linear-gradient(135deg,#334155e6,#1e293b99);position:absolute;inset:0}.fpv-reference-progress{z-index:2;color:var(--text-dim);background:#0f172ab8;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;font-size:11px;display:flex;position:relative}.fpv-reference-progress-bar{background:#94a3b840;border-radius:2px;width:120px;height:4px;overflow:hidden}.fpv-reference-progress-bar>div{background:#2dd4bfe6;height:100%;transition:width .25s}.fpv-reference-stack{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.fpv-reference-stack .fpv-reference-frame{flex:1;min-height:0}.fpv-reference-controls{background:#080c12eb;border-bottom:1px solid #94a3b826;flex-wrap:wrap;align-items:end;gap:6px 8px;padding:4px 6px 6px;display:flex}.fpv-reference-control{color:#94a3b8;flex-direction:column;gap:2px;font-size:10px;display:flex}.fpv-reference-control select{min-width:108px;padding:2px 4px;font-size:11px}.fpv-reference-canvas{z-index:1;object-fit:contain;width:100%;height:100%;display:block;position:relative}.fpv-reference-placeholder,.fpv-reference-error{text-align:center;color:#94a3b8;place-items:center;padding:12px;font-size:12px;display:grid;position:absolute;inset:0}.fpv-reference-error{color:#fca5a5;background:#280a0a8c}.reference-render-picker-backdrop{z-index:12000}.reference-render-picker{max-width:420px}.reference-render-picker .modal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.field-slider-compact .slider-number-row{align-items:center;gap:8px;display:flex}.field-slider-compact input[type=range]{accent-color:#2dd4bf;flex:1;min-width:0}.field-slider-compact input[type=range].slider-has-tier{background:linear-gradient(to right, #2dd4bf59 0%, #2dd4bf59 var(--slider-tier-pct,50%), #64748b73 var(--slider-tier-pct,50%), #64748b73 100%);border-radius:4px;height:6px}.field-slider-compact .slider-number-input{text-align:right;font-variant-numeric:tabular-nums;flex:0 0 4.5rem;width:4.5rem}.focus-distance-slider{flex-direction:column;gap:2px;width:100%;min-width:0;display:flex}.focus-distance-slider input[type=range]{width:100%}.focus-distance-scale{color:var(--text-mute);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:10px;display:flex}.focus-distance-exact-row{color:var(--text-mute);grid-template-columns:minmax(0,1fr) 4.5rem auto;align-items:center;gap:6px;font-size:10px;display:grid}.focus-distance-exact-row .slider-number-input{width:100%;min-width:0}.wizard-spec{flex-direction:column;flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.wizard-spec-sticky-head{border-bottom:1px solid var(--border-soft);background:var(--bg-panel);flex-direction:column;flex-shrink:0;gap:16px;padding-bottom:14px;display:flex}.wizard-spec-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding-top:14px;padding-right:2px;overflow-y:auto}.wizard-spec-scroll::-webkit-scrollbar{width:8px}.wizard-spec-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-mute) 35%, transparent);border-radius:999px}.wizard-spec-sides-block{flex-direction:column;gap:12px;display:flex}.wizard-spec-uniform{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin-top:2px;font-size:13px;display:inline-flex}.wizard-spec-uniform input{accent-color:var(--accent)}.wizard-spec-sides-block h3,.wizard-spec-panel-head h3,.wizard-spec-section h4{margin:0;font-size:13px;font-weight:600}.wizard-spec-sides-head .hint{margin:4px 0 0}.wizard-spec-include-chips{flex-wrap:wrap;gap:8px;display:flex}.wizard-spec-include-chip{border:1px dashed var(--border);color:var(--text-mute);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:7px 12px 7px 8px;font-size:12px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.wizard-spec-include-chip:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text-dim)}.wizard-spec-include-chip.is-included{border-style:solid;border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--accent-dim);color:var(--accent)}.wizard-spec-include-mark{border:1px solid var(--border);background:var(--bg);border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.wizard-spec-include-chip.is-included .wizard-spec-include-mark{border-color:var(--accent);background:var(--accent);color:#042f2e}.wizard-spec-edit-tabs-shell{opacity:0;pointer-events:none;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1),opacity .26s;display:grid;overflow:hidden}.wizard-spec-edit-tabs-shell.is-open{opacity:1;pointer-events:auto;grid-template-rows:1fr}.wizard-spec-edit-tabs-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.wizard-spec-edit-tabs-shell{transition:none}}.wizard-spec-edit-tabs-wrap{flex-direction:column;gap:8px;padding-bottom:2px;display:flex}.wizard-spec-edit-tabs-label{color:var(--text-dim);font-size:12px}.wizard-spec-edit-tabs{border:1px solid var(--border-soft);background:var(--bg);border-radius:10px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:4px;display:inline-flex}.wizard-spec-edit-tab{color:var(--text-dim);background:0 0;border:none;border-radius:7px;padding:7px 14px;font-size:12px;font-weight:600}.wizard-spec-edit-tab:hover{color:var(--text);background:var(--bg-panel-2)}.wizard-spec-edit-tab.active{background:var(--bg-elev);color:var(--accent);box-shadow:inset 0 0 0 1px var(--border)}.wizard-spec-scan-type{margin-bottom:4px}.wizard-spec-scan-type .segmented{gap:4px;padding:3px}.wizard-spec-scan-type .segmented button{white-space:nowrap;padding:6px 8px;font-size:11px;font-weight:600;line-height:1.2}.wizard-spec-panel{background:var(--bg-panel-2);border:1px solid var(--border-soft);border-radius:14px;flex-direction:column;gap:18px;padding:16px 18px;display:flex}.wizard-spec-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wizard-spec-section{flex-direction:column;gap:10px;display:flex}.wizard-spec-goals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.wizard-spec-goal{min-height:100%}.wizard-spec-goal h4{font-size:12px}.wizard-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;display:grid}.wizard-spec-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-spec-grid .field{margin-bottom:0}.wizard-spec-vmax-hint .wizard-spec-readonly{border:1px solid var(--border-soft);background:var(--bg);color:var(--text-dim);border-radius:8px;padding:8px 10px;font-size:13px}.wizard-spec-equiv{margin:2px 0 0}.wizard-spec-equip-hint{margin:4px 0 10px}.wizard-spec-equip-uniform{margin-bottom:8px}.wizard-spec-equip-side-hint{margin:0 0 10px}.wizard-spec-equip-tabs-shell{opacity:0;pointer-events:none;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1),opacity .26s;display:grid;overflow:hidden}.wizard-spec-equip-tabs-shell.is-open{opacity:1;pointer-events:auto;grid-template-rows:1fr;margin-bottom:10px}.wizard-spec-equip-tabs-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.wizard-spec-equip-tabs-shell{transition:none}}.wizard-spec-equipment{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.wizard-spec-equip-col{flex-direction:column;gap:8px;min-width:0;display:flex}.wizard-spec-equip-col h5{color:var(--text-dim);margin:0;font-size:12px;font-weight:600}.wizard-spec-equip-list{overscroll-behavior:contain;border:1px solid var(--border-soft);background:var(--bg);border-radius:8px;flex-direction:column;gap:2px;min-height:72px;max-height:140px;padding:4px;display:flex;overflow:hidden auto}.wizard-spec-equip-list::-webkit-scrollbar{width:6px}.wizard-spec-equip-list::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-mute) 40%, transparent);border-radius:999px}.wizard-spec-equip-row{border-radius:6px;align-items:center;gap:2px;min-height:30px;transition:background .12s;display:flex}.wizard-spec-equip-row:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.wizard-spec-equip-row.is-selected{background:var(--accent-dim)}.wizard-spec-equip-item{text-align:left;min-width:0;color:var(--text-dim);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:6px;flex:1;padding:6px 4px 6px 8px;font-size:11px;line-height:1.35;transition:color .12s;overflow:hidden}.wizard-spec-equip-row:hover .wizard-spec-equip-item{color:var(--text)}.wizard-spec-equip-row.is-selected .wizard-spec-equip-item{color:var(--accent);font-weight:500}.wizard-spec-equip-info{width:26px;height:26px;color:var(--text-mute);cursor:pointer;background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;margin-right:2px;padding:0;line-height:0;transition:color .12s;display:inline-flex}.wizard-spec-equip-info:hover{color:var(--accent);background:0 0;border:none}.wizard-spec-equip-info svg{width:17px;height:17px;display:block}.wizard-spec-equip-row.is-selected .wizard-spec-equip-info{color:color-mix(in srgb, var(--accent) 75%, var(--text-mute))}.wizard-spec-equip-row.is-selected .wizard-spec-equip-info:hover{color:var(--accent)}.wizard-spec-equip-tags{flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:30px;display:flex}.wizard-spec-equip-empty{font-size:11px;line-height:1.4}.wizard-spec-equip-tag{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-radius:999px;align-items:center;max-width:100%;display:inline-flex;overflow:hidden}.wizard-spec-equip-tag-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:4px 4px 4px 8px;font-size:11px;line-height:1.3;overflow:hidden}.wizard-spec-equip-tag-remove{color:var(--text-mute);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px 6px 4px 2px;display:inline-flex}.wizard-spec-equip-tag-remove:hover{color:var(--danger,#e55)}@media (width<=800px){.wizard-spec-goals,.wizard-spec-grid,.wizard-spec-equipment{grid-template-columns:1fr}}.project-prepare-backdrop{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#060a0ed1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.project-prepare-card{border:1px solid var(--border-soft);background:var(--panel);text-align:center;border-radius:14px;width:min(420px,92vw);padding:28px 32px 24px;box-shadow:0 24px 80px #0000008c}.project-prepare-title{margin:0 0 6px;font-size:18px;font-weight:600}.project-prepare-name{color:var(--text-dim);margin:0 0 16px;font-size:13px}.project-prepare-phase{color:var(--text);margin:0 0 14px;font-size:13px}.project-prepare-bar{background:#ffffff14;border-radius:999px;width:100%;height:8px;overflow:hidden}.project-prepare-bar-fill{border-radius:inherit;transform-origin:0;will-change:transform;background:linear-gradient(90deg,#1f8f84,#3dd6c8);width:100%;height:100%;transition:transform .25s;display:block;transform:scaleX(0)}.collab-dialog-backdrop{z-index:1200;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#03070cd6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.collab-dialog{background:var(--panel);border:1px solid var(--border-soft);border-radius:12px;flex-direction:column;width:100%;max-width:420px;padding:0;display:flex;overflow:hidden;box-shadow:0 18px 48px #00000073}.collab-dialog-head{padding:1rem 1.25rem .5rem}.collab-dialog-head h2{margin:0;font-size:1.05rem;font-weight:600;line-height:1.35}.collab-dialog-body{flex-direction:column;gap:.75rem;padding:.25rem 1.25rem .75rem;display:flex}.collab-dialog-lead{color:var(--text-dim,var(--text));margin:0;font-size:.9375rem;line-height:1.45}.collab-dialog-section{flex-direction:column;gap:.65rem;display:flex}.collab-dialog-footer{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem 1rem;display:flex}.collab-dialog-footer-end-only{justify-content:flex-end}.collab-dialog-footer .primary,.collab-dialog-footer .ghost{min-width:7.5rem}.collab-dialog-danger{background:#b42318;border-color:#b42318}.collab-dialog-danger:hover:not(:disabled){background:#912018;border-color:#912018}.collab-dialog-actions{flex-direction:column;gap:.5rem;display:flex}.collab-dialog-actions button{text-align:left;border:1px solid var(--border-soft);background:var(--bg);width:100%;color:var(--text);cursor:pointer;border-radius:8px;padding:.55rem .7rem}.collab-dialog-actions button:hover:not(:disabled){background:#2da09414;border-color:#2a9b8f}.collab-field{flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.collab-field input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:.4rem .5rem}.collab-share-box code{word-break:break-all;margin:.25rem 0;font-size:.8rem;display:block}.collab-error{color:var(--danger,#c0392b);font-size:.875rem}.collab-home-reveal{opacity:0;grid-template-rows:0fr;margin:0;transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1),opacity .38s,margin .42s cubic-bezier(.4,0,.2,1);display:grid}.collab-home-reveal.is-visible{opacity:1;grid-template-rows:1fr;margin:1rem 0 1.5rem}.collab-home-reveal-inner{min-height:0;overflow:hidden}.collab-home-section{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:1rem}.collab-home-session-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.collab-home-project{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.collab-home-host{font-size:.8125rem}.collab-join-name-lead{margin:0;font-size:.9375rem}.collab-join-project-name{color:var(--text);margin:.25rem 0 .5rem;font-size:1.05rem;font-weight:600}.collab-home-list{flex-direction:column;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.collab-join-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.collab-join-host-btn{text-align:left;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);cursor:pointer;border-radius:8px;padding:.5rem .65rem}.collab-join-host-btn:disabled{opacity:.55;cursor:not-allowed}.collab-join-host-btn strong{font-weight:600}.collab-home-list li{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.collab-topbar-badge{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .55rem;font-size:.8125rem;display:inline-flex}.collab-remote-cursor-html{will-change:transform;pointer-events:none!important}.collab-remote-cursor{pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;opacity:1;visibility:visible;align-items:flex-start;gap:4px;display:flex;transform:translate(0)}.collab-remote-cursor-pointer{filter:drop-shadow(0 1px 1px #00000073);flex-shrink:0;width:12px;height:12px;display:block}.collab-remote-cursor-label{color:#ffb3c1;background:#141820e6;border:1px solid #ff5c7a66;border-radius:3px;margin-top:0;padding:1px 4px;font-size:10px;line-height:1.25;display:inline-block}.collab-host-mark{opacity:.75;font-size:.65rem;font-weight:700}.project-prepare-pct{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:10px;font-size:12px;display:block}.project-prepare-cancel{min-width:120px;margin-top:18px}.cov-pill--neutral{color:#53626e;background:#edf1f4;border-color:#cbd3da}.physical-scan-check{flex-direction:column;gap:4px;padding:8px 0;display:flex}.physical-scan-check--neutral{color:#53626e}.physical-scan-check--ok{color:#18744a}.physical-scan-check--bad{color:#b83232}.physical-scan-check--warn{color:#d99a16}.physical-scan-side{border-bottom:1px solid var(--border-soft);padding:7px 0}.physical-scan-side>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;display:flex}.physical-scan-side>summary span{font-size:10px}.physical-scan-service-details{color:var(--text-dim);font-size:10px}.physical-scan-service-details>summary{cursor:pointer}.physical-scan-service-details p{overflow-wrap:anywhere;margin:5px 0}.scan-quality-list{color:var(--text);gap:7px;margin:7px 0;display:grid}.scan-quality-candidates{border:1px solid var(--border-soft);color:var(--text);background:#ffffff05;border-radius:7px;margin:7px 0;padding:7px;font-size:10px}.scan-quality-candidates>summary{cursor:pointer;font-weight:650}.scan-quality-candidate-list{gap:6px;margin-top:7px;display:grid}.scan-quality-candidate{border:1px solid var(--border-soft);background:var(--surface-2);border-radius:6px;min-width:0;padding:7px}.scan-quality-candidate--selected{box-shadow:inset 2px 0 0 var(--accent);border-color:#2dd4bf8c}.scan-quality-candidate--failed{border-color:#fbbf2457}.scan-quality-candidate header{justify-content:space-between;align-items:flex-start;gap:7px;display:flex}.scan-quality-candidate header strong{overflow-wrap:anywhere;min-width:0}.scan-quality-candidate header span{color:var(--text-dim);flex:none;font-weight:650}.scan-quality-candidate--passed header span,.scan-quality-candidate--selected.scan-quality-candidate--passed header span{color:var(--ok)}.scan-quality-candidate--failed header span{color:#fbbf24}.scan-quality-candidate small{color:var(--text-dim);overflow-wrap:anywhere;margin-top:4px;display:block}.scan-quality-candidate ul{color:#fbbf24;margin:5px 0 0;padding-left:16px;line-height:1.35}.scan-quality-card{border:1px solid var(--border-soft);background:#ffffff06;border-radius:7px;min-width:0;padding:8px;font-size:10px}.scan-quality-card header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.scan-quality-card header strong{overflow-wrap:anywhere;min-width:0}.scan-quality-help{width:14px;height:14px;color:var(--text-dim);cursor:help;vertical-align:text-bottom;border:1px solid;border-radius:50%;place-items:center;margin-left:5px;font-size:9px;line-height:1;display:inline-grid}.scan-quality-status{flex:none;font-weight:600}.scan-quality-card dl{grid-template-columns:minmax(70px,auto) minmax(0,1fr);gap:4px 8px;margin:7px 0 0;display:grid}.scan-quality-card dt{color:var(--text-dim)}.scan-quality-card dd{overflow-wrap:anywhere;word-break:break-word;min-width:0;margin:0}.scan-quality-reason{color:#fbbf24;margin:6px 0 0;line-height:1.35}.scan-quality-row--failed .scan-quality-status{color:#fbbf24}.scan-quality-row--passed .scan-quality-status{color:var(--ok)}.scan-quality-row--not-set .scan-quality-status,.scan-quality-row--not-evaluated .scan-quality-status{color:var(--text-dim)}.scan-quality-illumination{border:1px solid var(--border-soft);background:#ffffff06;border-radius:8px;margin:9px 0;padding:8px}.scan-quality-illumination>header{justify-content:space-between;align-items:baseline;gap:8px;font-size:10px;display:flex}.scan-quality-illumination>header span{color:var(--text-dim)}.scan-quality-illumination>p{margin:5px 0 8px;font-size:10px;line-height:1.35}.scan-quality-illumination-help{color:var(--text-dim);margin:0 0 8px;font-size:9px}.scan-quality-illumination-help summary{cursor:pointer;color:var(--text)}.scan-quality-illumination-help ol{margin:6px 0 0;padding-left:17px;line-height:1.4}.scan-quality-illumination-help li+li{margin-top:4px}.scan-quality-illumination-maps{gap:7px;display:grid}.scan-quality-illumination-surface{border:1px solid var(--border-soft);background:var(--surface-2);width:100%;color:var(--text);text-align:left;cursor:crosshair;border-radius:6px;grid-template-columns:minmax(0,1fr);gap:4px;padding:5px;display:grid}.scan-quality-illumination-surface canvas{width:100%;height:68px;image-rendering:pixelated;border-radius:4px}.scan-quality-illumination-surface span{color:var(--text-dim);overflow-wrap:anywhere;font-size:9px}.scan-quality-illumination-point{background:#2dd4bf14;border-radius:6px;gap:3px;margin-top:7px;padding:6px;font-size:9px;display:grid}.scan-quality-diagnostic-fpv{background:#050c1494;border:1px solid #32e6d047;border-radius:8px;gap:6px;margin-top:7px;padding:8px;display:grid}.scan-quality-diagnostic-fpv__head{flex-wrap:wrap;justify-content:space-between;gap:4px 8px;font-size:10px;display:flex}.scan-quality-diagnostic-fpv__frame{background:#111827;border-radius:5px;min-height:96px;position:relative;overflow:hidden}.scan-quality-diagnostic-fpv__frame canvas{width:100%;height:auto;display:block}.scan-quality-diagnostic-fpv__frame>span{color:#dbeafe;text-align:center;background:#050c14c2;place-items:center;padding:10px;display:grid;position:absolute;inset:0}.scan-quality-diagnostic-fpv>small{color:var(--text-dim);line-height:1.35}.physical-scan-diagnostics-button{width:100%;margin:6px 0 10px}.physical-scan-geometry-details{color:#53626e;margin-bottom:10px}.physical-scan-geometry-details summary{cursor:pointer;font-weight:600}.physical-scan-geometry-details dl{grid-template-columns:minmax(100px,.8fr) 1.2fr;gap:5px 9px;margin:8px 0;font-size:12px;display:grid}.physical-scan-geometry-details dt{font-weight:600}.physical-scan-geometry-details dd{overflow-wrap:anywhere;margin:0}.physical-scan-scene-label{white-space:nowrap;color:#ffcf65;background:#101926e0;border-radius:4px;padding:3px 6px;font:11px/1.2 sans-serif;display:inline-block}.physical-scan-map-wrap{flex-direction:column;gap:4px;margin-top:5px;display:flex}.physical-scan-map{background:#0000001f;border:1px solid;border-radius:4px;gap:1px;width:100%;height:72px;padding:2px;display:grid}.physical-scan-map span{min-width:0;min-height:0}.physical-scan-map .covered{background:#31b77a}.physical-scan-map .missing{background:#d84b4b}
