:root{--cv-bg: #111214;--cv-workspace: #15161a;--cv-panel: #18191b;--cv-input: #191b20;--cv-control: #2a2c33;--cv-control-hover: #33363f;--cv-control-border: #343740;--cv-control-border-hover: #4b5060;--cv-overlay: #222429;--cv-divider: #343740;--cv-divider-subtle: rgb(255 255 255 / .055);--cv-text: #e8e9ed;--cv-text-2: #a8adb7;--cv-text-3: #8b919c;--cv-text-4: #5d626c;--cv-accent-rgb: 236 150 115;--cv-accent: #ec9673;--cv-accent-hover: #f6b297;--cv-accent-solid: #b84725;--cv-accent-surface: rgb(var(--cv-accent-rgb) / .11);--cv-accent-border: rgb(var(--cv-accent-rgb) / .36);--cv-focus: #f2ac8e;--cv-success: #72c69c;--cv-warning: #e6b76a;--cv-error: #f18787;--cv-select: #9cc9f4;--cv-radius-detail: 6px;--cv-radius-compact: 9px;--cv-radius-control: 12px;--cv-radius-panel: 16px;--cv-surface-raised: linear-gradient(180deg, #393d46, #2e323a 55%, #292c33);--cv-surface-raised-hover: linear-gradient(180deg, #464b57, #383d47 55%, #313640);--cv-surface-accent: linear-gradient(180deg, #c04b29, #b54624 50%, #a03b20);--cv-surface-accent-hover: linear-gradient(180deg, #cc5430, #bd4723 50%, #a93c1e);--cv-shadow-control: 0 1px 2px rgb(0 0 0 / .25);--cv-shadow-floating: 0 8px 24px rgb(0 0 0 / .3), 0 2px 5px rgb(0 0 0 / .24);--cv-shadow-overlay: 0 16px 40px rgb(0 0 0 / .45);--cv-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;corner-shape:squircle}html,body,#root{height:100%;margin:0}[hidden]{display:none!important}.backend-pill .dot,.tree-row.material .swatch,.step .dot,.ring,.timeline,.switch,.switch i,.progress,.progress i,.sheet-tabs button,.inspector--sheet:before,.mat-ball{corner-shape:round}body{background:var(--cv-bg);color:var(--cv-text);font:12px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;user-select:none;overflow:hidden}input{user-select:text}button,input,select{font:inherit;color:inherit}button{cursor:default}a{color:var(--cv-accent-hover)}.mono{font-family:var(--cv-mono);font-variant-numeric:tabular-nums}kbd{font:10.5px var(--cv-mono);color:var(--cv-text-4)}:focus-visible,[data-focus-visible]{outline:2px solid var(--cv-focus);outline-offset:2px}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:rgb(255 255 255 / .13);background-clip:padding-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.app{display:grid;grid-template-rows:52px minmax(0,1fr);height:100%}.app[data-hidden]{grid-template-rows:minmax(0,1fr)}.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid rgb(255 255 255 / .06);background:#141517}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand__mark{width:30px;height:30px;flex:none}.brand strong{display:block;font-size:13px;font-weight:650;line-height:1;white-space:nowrap}.brand small{display:block;margin-top:5px;color:var(--cv-text-4);font:9px/1 var(--cv-mono);letter-spacing:.06em}.header__center,.header__right{display:flex;align-items:center;gap:8px}.header__right{justify-content:flex-end}.header .divider{width:1px;height:20px;background:var(--cv-divider-subtle);margin:0 4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 12px;border:1px solid transparent;border-radius:var(--cv-radius-compact);background:var(--cv-surface-raised);box-shadow:var(--cv-shadow-control);color:var(--cv-text);font-size:11.5px;font-weight:600;white-space:nowrap;outline:none;transition:background .14s ease,border-color .14s ease}.btn:hover,.btn[data-hovered]{background:var(--cv-surface-raised-hover)}.btn:active,.btn[data-pressed]{scale:.97}.btn:disabled,.btn[data-disabled]{opacity:.4;scale:none}.btn .chev{color:var(--cv-text-3);margin-right:-3px}.btn--primary{background:var(--cv-surface-accent);color:#fff8f4}.btn--primary:hover,.btn--primary[data-hovered]{background:var(--cv-surface-accent-hover)}.btn--wide{width:100%}.btn--wide kbd{margin-left:auto}.btn[data-active],.btn[data-pressed][aria-expanded=true],.btn[aria-expanded=true]{color:var(--cv-accent-hover);background:var(--cv-accent-surface);box-shadow:none}.icon-btn{display:grid;place-items:center;width:32px;height:32px;padding:0;flex:none;border:1px solid transparent;border-radius:var(--cv-radius-compact);background:rgb(255 255 255 / .05);color:#a1a1aa;outline:none}.icon-btn:hover,.icon-btn[data-hovered]{background:rgb(255 255 255 / .09);color:#e4e4e7}.icon-btn--bare{border-color:transparent;background:transparent;box-shadow:none}.icon-btn[data-active],.icon-btn[aria-expanded=true]{color:var(--cv-accent-hover);background:var(--cv-accent-surface)}.icon-btn[aria-pressed=false]{color:var(--cv-text-4)}.icon-btn.sm{width:26px;height:26px;border-radius:7px}.icon-btn.xs{width:20px;height:20px;border-radius:5px}.backend-pill{display:inline-flex;align-items:center;gap:7px;height:32px;max-width:280px;padding:0 11px;border:0;border-radius:var(--cv-radius-compact);background:var(--cv-input);color:var(--cv-text-3);outline:none;font:10px/1 var(--cv-mono);letter-spacing:.04em;text-transform:uppercase}.backend-pill[data-hovered]{border-color:#ffffff2e}.backend-pill .dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--cv-text-4)}.backend-pill .dot[data-tone=ok]{background:var(--cv-success);box-shadow:0 0 0 3px #72c69c26}.backend-pill .dot[data-tone=warn]{background:var(--cv-warning);box-shadow:0 0 0 3px #e6b76a26}.backend-pill b{color:var(--cv-text);font-weight:600;white-space:nowrap}.backend-pill .adapter{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace{display:grid;min-height:0;gap:8px;padding:8px;grid-template-columns:minmax(0,1fr) 64px}.workspace[data-left]{grid-template-columns:252px minmax(0,1fr) 64px}.workspace[data-right]{grid-template-columns:minmax(0,1fr) 316px 64px}.workspace[data-left][data-right]{grid-template-columns:252px minmax(0,1fr) 316px 64px}.app[data-hidden] .workspace{grid-template-columns:minmax(0,1fr);padding:0}.app[data-hidden] .viewport{border-radius:0}.panel{min-width:0;min-height:0;border-radius:var(--cv-radius-panel);background:var(--cv-panel)}.scene-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.panel-head{display:flex;align-items:center;gap:8px;padding:12px 12px 8px 14px}.panel-head h2{flex:1;min-width:0;margin:0;font-size:13px;font-weight:650}.panel-head .count{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 6px;border-radius:5px;background:rgb(255 255 255 / .06);color:var(--cv-text-3);font:10px/1.3 var(--cv-mono)}.search{display:flex;align-items:center;gap:7px;height:30px;margin:0 10px 8px;padding:0 6px 0 10px;border:1px solid var(--cv-control-border);border-radius:var(--cv-radius-compact);background:var(--cv-input);color:var(--cv-text-3)}.search:focus-within{border-color:var(--cv-accent-border)}.search input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:11.5px}.search input::placeholder{color:var(--cv-text-4)}.search kbd{padding-right:4px}.tree{overflow:auto;padding:0 6px 8px}.tree-empty{padding:24px 8px;color:var(--cv-text-4);text-align:center}.tree-row{display:grid;grid-template-columns:16px 16px minmax(0,1fr) auto 22px;align-items:center;gap:5px;height:28px;padding-right:4px;border:1px solid transparent;border-radius:var(--cv-radius-compact);color:#8b8b94;font-size:11.5px;outline:none;transition:background .14s ease,color .14s ease}.tree-row:hover{background:rgb(255 255 255 / .04);color:#d4d4d8}.tree-row:focus-visible{outline:2px solid var(--cv-focus);outline-offset:-2px}.tree-row .chev{display:grid;place-items:center;color:#52525b}.tree-row .chev button{display:grid;place-items:center;width:16px;height:16px;padding:0;border:0;border-radius:4px;background:none;color:inherit}.tree-row .chev button:hover{background:rgb(255 255 255 / .08);color:var(--cv-text)}.tree-row .chev svg{transition:transform .16s ease}.tree-row[data-collapsed] .chev svg{transform:rotate(-90deg)}.tree-row .ico{color:#5d5d66;display:grid;place-items:center}.tree-row .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row .meta{color:#4a4a52;font:9.5px var(--cv-mono)}.tree-row .eye{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:6px;background:none;color:#5d5d66;opacity:0}.tree-row:hover .eye,.tree-row[data-hidden] .eye{opacity:1}.tree-row .eye:hover{background:rgb(255 255 255 / .07);color:#e4e4e7}.tree-row[data-hidden] .label,.tree-row[data-hidden] .ico,.tree-row[data-hidden] .meta{opacity:.4}.tree-row[data-selected]{background:var(--cv-accent-surface);border-color:var(--cv-accent-border);color:var(--cv-text)}.tree-row[data-selected] .ico{color:var(--cv-select)}.tree-row[data-ancestor]{background:rgb(255 255 255 / .035);color:#d4d4d8}.tree-row.material{color:#7a7a83}.tree-row.material[data-current]{color:var(--cv-accent-hover)}.tree-row.material .swatch{width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff2e,0 1px 2px #0006}.tree-row.light .ico{color:#c9a75f}.scene-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 10px 10px;overflow:hidden;border-radius:var(--cv-radius-compact);background:var(--cv-divider-subtle)}.scene-foot div{padding:7px 8px;background:var(--cv-panel)}.scene-foot b{display:block;font:600 12px var(--cv-mono)}.scene-foot span{color:var(--cv-text-4);font-size:10px}.viewport{position:relative;overflow:hidden;background:var(--cv-workspace);container-type:inline-size}.viewport__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.viewport[data-picking] .viewport__canvas{cursor:crosshair}.float{position:absolute;display:flex;align-items:center;gap:4px;padding:4px;border:0;border-radius:var(--cv-radius-control);background:rgb(26 27 31 / .86);backdrop-filter:blur(14px) saturate(1.3);box-shadow:var(--cv-shadow-floating)}.float .sep{width:1px;height:18px;margin:0 3px;background:rgb(255 255 255 / .08)}.float .icon-btn{width:28px;height:28px}.float .select{height:28px;border-color:transparent;background:transparent}.float .select:hover,.float .select[data-hovered]{background:rgb(255 255 255 / .06)}.float--top{top:12px;left:50%;translate:-50% 0}.float--top .select .muted{color:var(--cv-text);font-family:var(--cv-mono);font-weight:600}.dock{left:50%;bottom:12px;translate:-50% 0;max-width:calc(100% - 24px);height:46px;padding:0 6px 0 9px;gap:4px}.dock .sep{height:22px;margin:0 2px}.dock>*,.dock .select-field{flex:none}.dock .select{width:auto;gap:6px;padding:0 7px 0 8px;font-family:var(--cv-mono);font-variant-numeric:tabular-nums}.dock .select .muted{font-family:system-ui,sans-serif;color:var(--cv-text-4)}.dock__status{display:grid;width:104px;gap:2px;margin:0 2px 0 4px;white-space:nowrap;line-height:1.15;font-variant-numeric:tabular-nums}.dock__time{color:var(--cv-text-3)}.dock__status b{font-size:11.5px;font-weight:600}.dock__status .mono{color:var(--cv-text-3);font-size:10.5px}.dock__spp{color:var(--cv-text)}.dock__toggle{height:28px;padding:0 5px;gap:7px;border:0;border-radius:7px;background:transparent;color:var(--cv-text-2);font-size:11px;font-weight:500;white-space:nowrap;cursor:pointer}.dock__toggle:hover:not(:disabled){background:rgb(255 255 255 / .06)}.dock__toggle[data-selected]{color:var(--cv-accent-hover)}.dock__toggle:disabled{opacity:.45;cursor:default}.dock[data-phase=error] .dock__status b{color:var(--cv-error)}@container (max-width: 720px){.dock__toggle--converging .dock__label{display:none}}@container (max-width: 520px){.dock .select .muted,.dock__label{display:none}}@container (max-width: 400px){.dock .sep,.dock__pause,.dock__time,.dock__toggle>svg{display:none}.dock{gap:3px}.dock__status{width:48px}.dock__toggle{padding:0 3px}}.ring{position:relative;display:grid;place-items:center;width:30px;height:30px;flex:none;color:var(--cv-success)}.ring__pct{font:600 9px/1 var(--cv-mono);color:var(--cv-text-2);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ring__svg{position:absolute;inset:0;width:100%;height:100%;rotate:-90deg}.ring__track{fill:none;stroke:#ffffff1a;stroke-width:2.25}.ring__arc{fill:none;stroke:var(--cv-accent);stroke-width:2.25;stroke-linecap:round;transition:stroke-dashoffset .22s linear}.ring[data-phase=finished] .ring__arc{stroke:var(--cv-success)}.ring[data-phase=paused]{color:var(--cv-text-2)}.ring[data-phase=paused] .ring__arc{stroke:var(--cv-text-3)}.ring[data-phase=error] .ring__arc{stroke:var(--cv-error)}.ring[data-spinning] .ring__svg{animation:ring-spin .9s linear infinite}.ring[data-spinning] .ring__arc{transition:none}@keyframes ring-spin{0%{rotate:-90deg}to{rotate:270deg}}.anim{left:50%;bottom:64px;translate:-50% 0;width:min(580px,calc(100% - 24px));height:40px;padding:0 6px;gap:8px}.anim .icon-btn.play{width:30px;height:30px;background:var(--cv-surface-accent);border-color:#d0603b #a03b20 #7c2c16;color:#fff}.timeline{--p: 0%;flex:1;min-width:60px;height:22px;margin:0;appearance:none;background:transparent;outline:none}.timeline::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:linear-gradient(90deg,var(--cv-text-2) var(--p),rgb(255 255 255 / .09) var(--p))}.timeline::-webkit-slider-thumb{appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:linear-gradient(180deg,#eeeef0,#b7bac1);box-shadow:0 1px 3px #00000080}.timeline::-moz-range-track{height:4px;border-radius:99px;background:rgb(255 255 255 / .09)}.timeline::-moz-range-progress{height:4px;border-radius:99px;background:var(--cv-text-2)}.timeline::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#e4e4e7}.anim .time{color:var(--cv-text-2);font-size:11px;white-space:nowrap}.credit{position:absolute;left:14px;bottom:22px;color:#fff9;font-size:10.5px;text-shadow:0 1px 2px rgb(0 0 0 / .7)}.credit a{color:inherit;text-decoration:none}.credit a:hover{text-decoration:underline}.selection{position:absolute;pointer-events:none}.selection i{position:absolute;width:12px;height:12px;border:0 solid var(--cv-accent)}.selection i:nth-child(1){left:0;top:0;border-width:2px 0 0 2px;border-top-left-radius:4px}.selection i:nth-child(2){right:0;top:0;border-width:2px 2px 0 0;border-top-right-radius:4px}.selection i:nth-child(3){left:0;bottom:0;border-width:0 0 2px 2px;border-bottom-left-radius:4px}.selection i:nth-child(4){right:0;bottom:0;border-width:0 2px 2px 0;border-bottom-right-radius:4px}.selection span{position:absolute;left:0;top:-24px;max-width:220px;overflow:hidden;text-overflow:ellipsis;padding:3px 7px;border-radius:6px;background:rgb(var(--cv-accent-rgb) / .92);color:#2b1208;font-size:10.5px;font-weight:650;white-space:nowrap}.center-card{position:absolute;left:50%;top:50%;translate:-50% -50%;width:340px;z-index:5;padding:22px 22px 20px;border:1px solid rgb(255 255 255 / .08);border-radius:20px;background:rgb(24 25 27 / .92);backdrop-filter:blur(16px);box-shadow:var(--cv-shadow-overlay)}.center-card h3{margin:0 0 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;text-align:center}.steps{display:grid;gap:10px}.step{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;color:var(--cv-text-4)}.step b{font-weight:500}.step[data-done]{color:var(--cv-text-2)}.step[data-active]{color:var(--cv-text)}.step .dot{width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center}.step[data-done] .dot{border-color:var(--cv-success);color:var(--cv-success)}.step[data-active] .dot{border-color:rgb(var(--cv-accent-rgb) / .25);border-top-color:var(--cv-accent);animation:spin .8s linear infinite}@keyframes spin{to{rotate:360deg}}.step .mono{font-size:10.5px}.progress{height:4px;margin-top:16px;border-radius:99px;background:rgb(255 255 255 / .08);overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#b84725,var(--cv-accent));transition:width .2s ease}.drop-layer{position:absolute;inset:10px;z-index:6;display:grid;place-items:center;border:2px dashed var(--cv-accent-border);border-radius:14px;background:rgb(17 18 20 / .6);color:var(--cv-accent-hover);font-size:14px;font-weight:600;pointer-events:none}.drop-layer div{display:grid;justify-items:center;gap:10px}.drop-layer small{color:var(--cv-text-3);font-weight:400;font-size:11.5px}.inspector{display:grid;grid-template-rows:auto minmax(0,1fr)}.insp-head{display:flex;align-items:center;gap:10px;padding:12px 12px 10px;border-bottom:1px solid var(--cv-divider-subtle)}.insp-head .badge{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:10px;background:var(--cv-accent-surface);color:var(--cv-accent);box-shadow:inset 0 0 0 1px var(--cv-accent-border)}.insp-head .copy{flex:1;min-width:0}.insp-head strong{display:block;font-size:13px;font-weight:650}.insp-head small{display:block;margin-top:2px;color:var(--cv-text-3);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-body{overflow:auto;padding:10px;display:grid;grid-auto-rows:max-content;align-content:start;gap:8px;min-height:0}.section{overflow:hidden;border:1px solid rgb(255 255 255 / .075);border-radius:var(--cv-radius-control);background:rgb(255 255 255 / .014)}.section__head{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 8px 0 10px}.section__trigger{display:flex;flex:1;align-items:center;gap:8px;min-width:0;height:38px;margin:0 -8px 0 -10px;padding:0 8px 0 10px;border:0;background:none;text-align:left;outline:none;border-radius:var(--cv-radius-control)}.section__trigger:focus-visible{outline:2px solid var(--cv-focus);outline-offset:-2px}.section__trigger:hover strong{color:var(--cv-text)}.section__head .ico{color:#a1a1aa;display:grid}.section__head strong{flex:1;font-size:11.5px;font-weight:600;color:#e4e4e7}.section__head .val{color:var(--cv-text-4);font:10.5px var(--cv-mono)}.section__head .toggle-chev{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;color:var(--cv-text-3)}.section__trigger:hover .toggle-chev{background:var(--cv-control-hover);color:var(--cv-text)}.section__head .toggle-chev svg{transition:transform .18s ease}.section[data-collapsed] .toggle-chev svg{transform:rotate(-90deg)}.section[data-collapsed] strong{color:var(--cv-text-2);font-weight:500}.section__body{display:grid;gap:7px;padding:10px;border-top:1px solid var(--cv-divider-subtle)}.hint{margin:0;color:var(--cv-text-4);font-size:10.5px;line-height:1.45}.hint a{color:var(--cv-text-3)}.hint--warn{color:var(--cv-warning)}.field-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:30px}.field-label{color:var(--cv-text-2);font-size:11px}.field-label small{color:var(--cv-text-4)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:7px}.row-with-button{display:grid;grid-template-columns:1fr auto;gap:7px}.row-with-button .btn{height:30px}.empty-panel{display:grid;justify-items:center;gap:8px;padding:40px 18px;color:var(--cv-text-4);text-align:center}.empty-panel strong{color:var(--cv-text-2);font-size:12.5px;font-weight:600}.scrub{--p: 50%;position:relative;height:30px;overflow:hidden;border:1px solid var(--cv-control-border);border-radius:var(--cv-radius-compact);background:var(--cv-input);font-size:11px;cursor:ew-resize;outline:none;touch-action:none;transition:border-color .14s ease}.scrub:hover{border-color:var(--cv-control-border-hover)}.scrub:focus-visible{border-color:var(--cv-accent);outline:2px solid var(--cv-accent);outline-offset:2px}.scrub[data-dragging]{border-color:var(--cv-text-3)}.scrub__fill{position:absolute;inset:0 auto 0 0;width:var(--p);background:color-mix(in srgb,var(--cv-text-2) 16%,transparent)}.scrub__fill:after{content:"";position:absolute;right:0;top:7px;bottom:7px;width:2px;border-radius:2px;background:rgb(255 255 255 / .55)}.scrub__label{position:absolute;left:10px;top:50%;translate:0 -50%;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cv-text);pointer-events:none}.scrub__value{position:absolute;right:10px;top:50%;translate:0 -50%;color:var(--cv-text);font:11px var(--cv-mono);pointer-events:none}.scrub__value small{color:var(--cv-text-4);margin-left:2px}.scrub__input{position:absolute;right:4px;top:3px;bottom:3px;width:45%;padding:0 6px;border:1px solid var(--cv-accent-border);border-radius:6px;background:var(--cv-bg);text-align:right;outline:none;font-size:11px}.scrub[data-editing]{cursor:text;border-color:var(--cv-accent)}.scrub[data-disabled]{opacity:.4;cursor:default}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;min-width:0;border:1px solid var(--cv-control-border);border-radius:var(--cv-radius-control);background:var(--cv-input)}.seg button{display:flex;align-items:center;justify-content:center;gap:5px;height:24px;padding:0 8px;border:0;outline:none;border-radius:8px;background:transparent;color:var(--cv-text-3);font-size:11px;font-weight:500;white-space:nowrap}.seg button[data-hovered]:not([data-selected]){color:#a1a1aa;background:rgb(255 255 255 / .03)}.seg button[data-selected]{background:linear-gradient(180deg,rgb(53 54 59),rgb(41 42 46));color:#f4f4f5;box-shadow:inset 0 1px #ffffff17,0 2px 4px #00000061}.seg button[data-focus-visible]{outline:2px solid var(--cv-focus);outline-offset:1px}.seg[data-disabled]{opacity:.45}.switch-field{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px;outline:none}.section__body .switch-field{min-height:30px}.switch{display:flex;flex:none;width:34px;height:20px;padding:1px;border-radius:99px;corner-shape:round;border:1px solid;border-color:rgb(0 0 0 / .5) rgb(255 255 255 / .12) rgb(255 255 255 / .17);background:#30343b;box-shadow:inset 0 1px 2px #00000040;transition:background .16s ease}.switch i{width:16px;height:16px;border-radius:50%;corner-shape:round;border:1px solid rgb(255 255 255 / .55);background:linear-gradient(180deg,#eeeef0,#b7bac1);box-shadow:0 1px 2px #0000005c;transition:transform .16s ease}.switch-field[data-selected] .switch{background:var(--cv-accent-solid);border-color:#6e2918 #9c3e23 #d36d43}.switch-field[data-selected] .switch i{transform:translate(14px)}.switch-field[data-focus-visible] .switch{outline:2px solid var(--cv-focus);outline-offset:2px}.switch-field[data-disabled]{opacity:.4}.select-field{min-width:0}.select{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:30px;padding:0 9px 0 10px;border:1px solid var(--cv-control-border);border-radius:var(--cv-radius-compact);background:var(--cv-input);color:var(--cv-text);font-size:11px;outline:none;white-space:nowrap}.select[data-hovered]{border-color:var(--cv-control-border-hover)}.select[data-focus-visible]{outline:2px solid var(--cv-focus);outline-offset:2px}.select .muted{color:var(--cv-text-3)}.select svg{color:var(--cv-text-3);flex:none}.field-row .select-field{width:140px}.color{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;height:30px;padding:0 9px 0 4px;border:1px solid var(--cv-control-border);border-radius:var(--cv-radius-compact);background:var(--cv-input)}.color:hover{border-color:var(--cv-control-border-hover)}.color:focus-within{outline:2px solid var(--cv-focus);outline-offset:2px}.color .sw{width:22px;height:22px;border-radius:6px;box-shadow:inset 0 0 0 1px #ffffff26}.color span{color:var(--cv-text);font-size:11px}.color code{color:var(--cv-text-3);font:10.5px var(--cv-mono)}.color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.tex{display:inline-block;width:12px;height:12px;border-radius:3px;margin-left:6px;vertical-align:-2px;background:repeating-conic-gradient(#777 0 25%,#333 0 50%) 0 0 / 6px 6px;box-shadow:inset 0 0 0 1px #fff3}.env-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.env{position:relative;height:62px;overflow:hidden;padding:0;border:1px solid rgb(255 255 255 / .08);outline:none;border-radius:10px;background:#222;color:#fff}.env:hover,.env[data-hovered]{border-color:#ffffff40}.env:focus-visible,.env[data-focus-visible]{outline:2px solid var(--cv-focus);outline-offset:2px}.env span{position:absolute;left:0;right:0;bottom:0;padding:14px 7px 5px;text-align:left;background:linear-gradient(transparent,rgb(0 0 0 / .72));font-size:10.5px;font-weight:500}.env[data-on]{border-color:var(--cv-accent);box-shadow:0 0 0 1px var(--cv-accent),0 0 0 4px rgb(var(--cv-accent-rgb) / .18)}.env__bar{position:absolute;left:0;bottom:0;height:3px;background:var(--cv-accent);transition:width .2s ease}.env-loading{display:grid;gap:6px;font-size:11px;color:var(--cv-text-3)}.env-loading>div:first-child{display:flex;justify-content:space-between;gap:8px;white-space:nowrap}.env-loading>div:first-child span:first-child{overflow:hidden;text-overflow:ellipsis;color:var(--cv-text-2)}.env-loading .progress{margin-top:0}.env--upload{display:grid;place-items:center;background:var(--cv-input);color:var(--cv-text-3);border-style:dashed;font-size:10.5px}.env--upload div{display:grid;justify-items:center;gap:4px}.bg-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.bg-card{display:grid;gap:5px;padding:4px 4px 6px;border:1px solid rgb(255 255 255 / .08);border-radius:10px;background:transparent;color:var(--cv-text-2);font-size:10.5px}.bg-card:hover{border-color:#fff3}.bg-card i{height:34px;border-radius:7px}.bg-card[data-on]{border-color:var(--cv-accent);background:var(--cv-accent-surface);color:var(--cv-text)}.checker,[data-checker]{background:repeating-conic-gradient(#3a3c42 0 25%,#26282d 0 50%) 0 0 / 10px 10px}.mat-card{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid rgb(255 255 255 / .075);border-radius:var(--cv-radius-control);background:linear-gradient(180deg,rgb(255 255 255 / .03),rgb(255 255 255 / .01))}.mat-card>div{min-width:0}.mat-ball{--c: #ccc;width:44px;height:44px;border-radius:50%;corner-shape:round;background:radial-gradient(circle at 34% 28%,rgb(255 255 255 / .9) 0,rgb(255 255 255 / 0) 22%),radial-gradient(circle at 50% 50%,var(--c) 40%,color-mix(in srgb,var(--c) 45%,#000) 100%);box-shadow:0 4px 10px #0006}.mat-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.mat-card small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cv-text-3);font-size:10.5px}.preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.preset{display:grid;justify-items:center;gap:5px;padding:7px 0 6px;border:1px solid rgb(255 255 255 / .07);border-radius:10px;background:rgb(255 255 255 / .02);color:var(--cv-text-3);font-size:9.5px;white-space:nowrap}.preset:hover{border-color:#fff3;color:var(--cv-text)}.preset:active{scale:.96}.preset img{width:44px;height:44px;border-radius:8px}.diagnostics{display:grid;gap:1px;margin:2px 0 0;overflow:hidden;border-radius:8px;background:var(--cv-divider-subtle)}.diagnostics div{display:grid;grid-template-columns:96px 1fr;gap:8px;padding:6px 8px;background:var(--cv-panel)}.diagnostics dt{color:var(--cv-text-4);font-size:10.5px}.diagnostics dd{margin:0;overflow-wrap:anywhere;color:var(--cv-text-2);font-size:10.5px}.rail{display:flex;flex-direction:column;gap:3px;padding:6px}.rail button{display:grid;grid-template-rows:18px 14px;justify-items:center;align-content:center;gap:5px;height:54px;border:1px solid transparent;border-radius:var(--cv-radius-control);background:transparent;color:var(--cv-text-3);font-size:10.5px;font-weight:500;outline:none}.rail button:hover{color:var(--cv-text);background:rgb(255 255 255 / .035)}.rail button:focus-visible{outline:2px solid var(--cv-focus);outline-offset:-2px}.rail button[data-on]{background:var(--cv-accent-surface);color:var(--cv-accent-hover);font-weight:650}.popover{z-index:40;padding:6px;border:1px solid rgb(255 255 255 / .09);border-radius:16px;outline:none;background:var(--cv-overlay);box-shadow:var(--cv-shadow-overlay);color:var(--cv-text)}.popover[data-entering]{animation:pop-in .14s ease-out}@keyframes pop-in{0%{opacity:0;translate:0 -4px}}.popover.menu{min-width:var(--trigger-width);max-height:60vh;overflow:auto}.menu-list,.listbox{outline:none}.menu-item{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;min-height:32px;padding:0 10px;border-radius:9px;color:var(--cv-text);font-size:12px;outline:none;white-space:nowrap}.listbox .menu-item{grid-template-columns:1fr auto}.menu-item[data-focused],.menu-item[data-hovered]{background:rgb(255 255 255 / .06)}.menu-item[data-selected]{color:var(--cv-accent-hover)}.menu-item[data-disabled]{opacity:.4}.menu-item svg{color:var(--cv-text-3)}.menu-item small{color:var(--cv-text-4);font-size:10.5px}.menu-sep{height:1px;margin:5px 6px;background:rgb(255 255 255 / .07)}.menu-note{max-width:250px;padding:6px 10px 4px;color:var(--cv-text-4);font-size:10.5px;line-height:1.45;white-space:normal}.examples{width:min(580px,calc(100vw - 24px));max-height:calc(100vh - 80px);overflow:auto;padding:12px}.examples [role=dialog]{outline:none}.examples h4{margin:2px 4px 10px;display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:650}.examples h4 span{color:var(--cv-text-4);font-weight:400;font-size:10.5px}.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.ex{display:grid;overflow:hidden;padding:0;border:1px solid rgb(255 255 255 / .08);border-radius:12px;background:rgb(255 255 255 / .02);text-align:left}.ex:hover{border-color:var(--cv-accent-border)}.ex .thumb{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#2a2c31}.ex div{padding:7px 9px 8px}.ex b{display:block;font-size:11.5px;font-weight:600}.ex small{display:grid;gap:1px;margin-top:2px;color:var(--cv-text-4);font-size:10px}.ex .tag{color:var(--cv-text-3)}.ex[data-on]{border-color:var(--cv-accent)}.shortcuts{min-width:260px;padding:6px 8px;outline:none}.shortcuts h4{margin:0 0 8px;font-size:12px}.shortcuts dl{display:grid;gap:6px;margin:0}.shortcuts dl div{display:grid;grid-template-columns:130px 1fr;gap:10px}.shortcuts dd{margin:0;color:var(--cv-text-2)}.scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgb(8 8 10 / .55);backdrop-filter:blur(3px)}.dialog{width:min(440px,100%);padding:18px;border:1px solid rgb(255 255 255 / .09);border-radius:22px;background:var(--cv-overlay);box-shadow:var(--cv-shadow-overlay);outline:none}.dialog [role=dialog],.dialog form{display:grid;gap:12px;outline:none}.dialog__title{margin:0;font-size:14px;font-weight:650;display:flex;justify-content:space-between;align-items:center}.dialog .preview{height:170px;border-radius:12px;overflow:hidden;background:#222}.dialog .preview canvas{width:100%;height:100%;object-fit:contain;display:block}.dialog .actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:4px}.dialog .est{margin-right:auto;color:var(--cv-text-3);font-size:11px}.export-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;color:var(--cv-text-2);font-size:11px}.export-progress .progress{margin:0}.text-input{height:34px;padding:0 10px;border:1px solid var(--cv-control-border);border-radius:var(--cv-radius-compact);background:var(--cv-input);outline:none;font-size:12px}.text-input:focus{border-color:var(--cv-accent)}.toast{position:fixed;z-index:60;left:50%;bottom:20px;translate:-50% 0;display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100vw - 32px));padding:9px 8px 9px 14px;border:1px solid rgb(255 255 255 / .1);border-radius:12px;background:var(--cv-overlay);box-shadow:var(--cv-shadow-overlay);font-size:12px;animation:pop-in .16s ease-out}.toast[data-tone=error]{border-color:#f1878759}.toast[data-tone=error] span:before{content:"● ";color:var(--cv-error)}@media (max-width: 768px){.app{grid-template-rows:52px minmax(0,1fr)}.header{grid-template-columns:auto 1fr auto;gap:6px;padding:0 12px}.header__center{justify-content:flex-end;gap:6px}.header .btn{padding:0 10px}.header .btn .chev,.brand small{display:none}.hide-m{display:none!important}.workspace{display:block;position:relative;padding:0}.viewport{position:absolute;inset:0 0 calc(48% - 20px) 0;border-radius:0}.inspector--sheet{position:absolute;left:0;right:0;bottom:0;height:48%;z-index:10;grid-template-rows:auto auto minmax(0,1fr);border-radius:20px 20px 0 0;box-shadow:0 -10px 30px #0006}.inspector--sheet:before{content:"";justify-self:center;width:36px;height:4px;margin-top:8px;border-radius:99px;background:rgb(255 255 255 / .2)}.inspector--sheet .scene-panel{background:none}.sheet-tabs{display:flex;gap:4px;overflow-x:auto;padding:8px 16px 0;scrollbar-width:none}.sheet-tabs button{flex:none;height:30px;padding:0 12px;border:0;border-radius:99px;background:rgb(255 255 255 / .05);color:var(--cv-text-3);font-size:11.5px;font-weight:500}.sheet-tabs button[data-on]{background:var(--cv-accent-surface);color:var(--cv-accent-hover)}.insp-body{padding:10px 16px 16px}.float--top{top:10px}.dock{bottom:30px}.anim{bottom:82px}.credit{display:none}.center-card{width:calc(100% - 32px)}.preset-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 520px){.hide-xs{display:none}}
