cozyclay 1.8.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/app/index.html +2 -2
- package/dist/assets/app-CCw5KRC0.css +1 -0
- package/dist/assets/app-CG7OIkz0.js +4859 -0
- package/dist/cozyclay-package.json +1 -1
- package/package.json +1 -1
- package/src/App.jsx +96 -7
- package/src/camera-tutorial.jsx +280 -2
- package/src/styles.css +370 -0
- package/tools/ardy/__pycache__/cclay_gvhmr_worker.cpython-313.pyc +0 -0
- package/dist/assets/app-CHc6SS4r.js +0 -4859
- package/dist/assets/app-q2B32RKM.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.8.1
|
|
4
|
+
|
|
5
|
+
The Studio camera tutorial now starts where the landing page does and shows
|
|
6
|
+
where to click.
|
|
7
|
+
|
|
8
|
+
- Opening the tutorial (Settings ▾ → Camera tutorial or `/app/?tutorial=camera`)
|
|
9
|
+
loads the City Block starter scene with the walk take on its character, at
|
|
10
|
+
frame 0 in the free camera, so Shot / Rail / Play have something to frame.
|
|
11
|
+
A scene with unsaved changes is replaced only after a confirm.
|
|
12
|
+
- Each step points at its control: a pulsing spotlight plus a numbered beacon
|
|
13
|
+
and caption pinned to `+ Add shot`, the shot block and `Draw rail`, the
|
|
14
|
+
top view, and the look-through button; the Look / Walk / Dolly / Orbit steps
|
|
15
|
+
show an animated mouse-and-keys cue in the viewport, with the walk keycaps
|
|
16
|
+
turning green as they are pressed. The hint card names the region ("↓
|
|
17
|
+
Timeline, Shots lane", "→ Viewport"). Overlays never take the pointer and go
|
|
18
|
+
static under `prefers-reduced-motion`.
|
|
19
|
+
|
|
3
20
|
## 1.8.0
|
|
4
21
|
|
|
5
22
|
The Studio's chrome gets a research-backed cut: the same capabilities, a third
|
package/dist/app/index.html
CHANGED
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
<title>CozyClay Studio — 3D staging and previs in your browser</title>
|
|
35
35
|
|
|
36
36
|
<script defer src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon='{"token": "6a4384d1375d4ffc8a30a6346a8ad1a0"}'></script>
|
|
37
|
-
<script type="module" crossorigin src="/assets/app-
|
|
37
|
+
<script type="module" crossorigin src="/assets/app-CG7OIkz0.js"></script>
|
|
38
38
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/analytics-Dc9ooyn1.js">
|
|
40
40
|
<link rel="modulepreload" crossorigin href="/assets/shot-prompt-F2C_YN3J.js">
|
|
41
41
|
<link rel="stylesheet" crossorigin href="/assets/shot-prompt-CuqtYxB7.css">
|
|
42
|
-
<link rel="stylesheet" crossorigin href="/assets/app-
|
|
42
|
+
<link rel="stylesheet" crossorigin href="/assets/app-CCw5KRC0.css">
|
|
43
43
|
</head>
|
|
44
44
|
<body>
|
|
45
45
|
<div id="root">
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.physics-review{border-top:1px solid var(--border,#40444c);margin-top:12px;padding-top:12px}.physics-review h4{margin:0 0 8px;font-size:13px}.physics-review h4 small{opacity:.7;font-weight:400}.physics-review fieldset{border:0;min-width:0;margin:0;padding:0}.physics-review label{font-size:12px;display:block}.physics-review label output{float:right}.physics-review input[type=range],.physics-review progress{width:100%}.physics-review input[type=range]{background:#626b77;margin:12px 0 16px;display:block}.physics-review summary{cursor:pointer;padding:10px 0;font-size:12px}.physics-contact-editor{grid-template-columns:1fr 1fr;gap:6px;display:grid}.physics-contact-editor input,.physics-contact-editor select{width:100%;min-width:0;color:inherit;background:var(--panel,#25272d);border:1px solid var(--border,#50535c);border-radius:4px;padding:5px}.physics-actions{gap:6px;margin:8px 0;display:flex}.physics-actions>button{flex:1}.physics-row{justify-content:space-between;align-items:center;gap:4px;margin:4px 0;font-size:11px;display:flex}.physics-review table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:10px}.physics-review th,.physics-review td{text-align:right;border-bottom:1px solid #8883;padding:5px 2px}.physics-review th:first-child,.physics-review td:first-child{text-align:left}.physics-list{max-height:170px;overflow:auto}.physics-warning{border:1px solid #cc924e;border-radius:5px;margin-top:8px;padding:8px;font-size:11px}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/inter-latin.woff2)format("woff2")}:root{--bg:#1e1e1e;--bg-grad:linear-gradient(145deg, #1e1e1e 0%, #1e1e1e 100%);--panel:#2c2c2c;--card:#383838;--card2:#ffffff0a;--hover:#ffffff0f;--line:#1a1a1a;--line2:#3c3c3c;--track:#3a3a3a;--fg:#d2d2d2;--muted:#9a9a9a;--muted2:#6f6f6f;--accent:#3a7cbf;--accent-2:#2d5c8a;--cyan:#5a9bd4;--accent-soft:#2d5c8a59;--accent-ring:#3a7cbf80;--on-accent:#fff;--grad:linear-gradient(103deg, #2d5c8a 0%, #2d5c8a 100%);--grad-soft:linear-gradient(103deg, #2d5c8a, #3a7cbf);--display:"Inter", "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--sans:"Inter", "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:2px;--shadow:0 1px 2px #0006;--shadow-md:0 5px 16px #00000080;--shadow-lg:0 14px 34px #0009;--glow:0 0 0 1px #3a7cbf73;--ease:cubic-bezier(.22, .68, .2, 1);--spring:cubic-bezier(.34, 1.4, .5, 1);--fast:.14s;--med:.26s}*{box-sizing:border-box}.crash-screen{background:var(--bg);min-height:100vh;font-family:var(--sans);justify-content:center;align-items:center;padding:24px;display:flex}.crash-card{background:var(--panel);border:1px solid var(--line2);max-width:440px;color:var(--fg);text-align:center;border-radius:10px;padding:28px}.crash-card h1{margin-bottom:12px;font-size:20px;font-weight:700}.crash-card p{color:var(--muted);margin-bottom:14px;font-size:14px;line-height:1.6}.crash-card code{background:var(--card);border:1px solid var(--line);font-family:var(--mono);color:#e08a7a;text-align:left;word-break:break-all;border-radius:6px;margin-bottom:18px;padding:10px;font-size:11px;display:block}.crash-card button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:9px 22px;font-size:14px;font-weight:600}.crash-card button:hover{filter:brightness(1.12)}body,#root{height:100%;margin:0;overflow-x:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;letter-spacing:0;font-size:13px;font-weight:450;line-height:1.4}button,input,textarea,select{letter-spacing:inherit;font-family:inherit}::-webkit-scrollbar-thumb{border:3px solid var(--panel);background:#4a4a4a;border-radius:8px}.app{flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:#232323f7;flex:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;height:48px;padding:0 16px;display:grid;position:relative}.topbar:after{display:none}.app.render-idle .topbar:after{animation-play-state:paused}.logo{justify-self:start;align-items:center;display:flex}.topbar-actions{grid-column:3;justify-self:end;align-items:center;gap:6px;display:flex}.project-actions{border-right:1px solid var(--line2);align-items:center;gap:5px;margin-right:4px;padding-right:10px;display:inline-flex}.topbar-action{border:1px solid var(--line2);background:var(--card2);min-height:28px;color:var(--fg);cursor:pointer;border-radius:5px;padding:3px 10px;font-size:12px;font-weight:650}.workflow-topbar-link{align-items:center;text-decoration:none;display:inline-flex}.topbar-action:hover:not(:disabled){border-color:var(--accent);background:var(--hover)}.topbar-action:disabled{opacity:.55;cursor:not-allowed}.project-save-action{background:var(--accent);border-color:var(--accent);color:#20180d}.project-save-action:hover:not(:disabled){background:#f2c56d;border-color:#f2c56d}.project-export-action.recording{color:#ffb1b1;border-color:#e87878}.project-save-status{min-width:74px;color:var(--muted2);white-space:nowrap;font-size:11px}.project-save-status.status-dirty,.project-save-status.status-error{color:#f5b453}.project-save-status.status-saving{color:#79c0ff}.project-menu-wrap{align-self:center;margin-left:14px;position:relative}.project-menu-trigger{border:1px solid var(--line2);background:var(--card2);color:var(--fg);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;align-items:center;gap:6px;max-width:300px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.project-menu-trigger:hover{border-color:var(--accent)}.project-menu-trigger .caret{color:var(--muted2);font-size:10px}.project-dirty-dot{background:#f5b453;border-radius:50%;flex:none;width:8px;height:8px}.project-menu{z-index:60;background:var(--panel);border:1px solid var(--line2);border-radius:10px;flex-direction:column;min-width:200px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 30px #00000080}.project-menu button{text-align:left;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 10px;font-size:12px}.project-menu button:hover{background:var(--hover)}.hierarchy-project{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:9px 12px 8px;display:flex}.hierarchy-project-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted2);font-size:10px;font-weight:700}.hierarchy-project strong{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.project-browser-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.project-browser-backdrop.startup{pointer-events:none;background:linear-gradient(#0a0c10c7,#0a0c1061)}.project-browser{background:var(--panel);border:1px solid var(--line2);border-radius:14px;flex-direction:column;gap:14px;width:min(560px,92vw);max-height:80vh;padding:16px;display:flex;overflow-y:auto;box-shadow:0 16px 60px #0009}.project-browser.startup{pointer-events:auto;width:min(620px,92vw);box-shadow:0 22px 80px #000000b3}.project-browser-intro{color:var(--muted);margin:-4px 0 2px;font-size:12px;line-height:1.55}.beginner-start{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--line2));background:color-mix(in srgb, var(--accent) 7%, var(--panel));border-radius:12px;gap:16px;padding:16px;display:grid}.beginner-start-actions{align-items:center;gap:10px;display:flex}.beginner-create{min-height:42px;padding-inline:18px;font-size:13px}.beginner-open{min-height:42px}.beginner-step-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.beginner-step{border:1px solid var(--line2);background:color-mix(in srgb, var(--panel) 82%, transparent);border-radius:9px;grid-template-columns:auto 1fr;gap:2px 8px;padding:10px;display:grid}.beginner-step b{background:var(--accent);color:#fff;border-radius:50%;grid-row:span 2;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.beginner-step strong{font-size:12px}.beginner-step span{color:var(--muted);font-size:10.5px;line-height:1.35}@media (width<=620px){.beginner-step-grid{grid-template-columns:1fr}.beginner-start-actions{flex-direction:column;align-items:stretch}}.project-name-dialog-backdrop{z-index:260;background:#0000009e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.project-name-dialog{background:var(--panel);border:1px solid var(--line2);border-radius:12px;flex-direction:column;gap:14px;width:min(360px,88vw);padding:18px;display:flex;box-shadow:0 20px 70px #000000b3}.project-name-dialog label{color:var(--muted);flex-direction:column;gap:6px;font-size:11px;display:flex}.project-name-dialog input{box-sizing:border-box;border:1px solid var(--line2);background:var(--card2);width:100%;color:var(--fg);font:inherit;border-radius:7px;padding:9px 10px;font-size:13px}.project-name-dialog input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.project-name-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.first-success-guide{z-index:70;background:color-mix(in srgb, var(--panel) 96%, #101218);border:1px solid var(--accent);width:min(330px,100vw - 36px);animation:rise .28s var(--ease) both;border-radius:14px;padding:16px;position:fixed;bottom:208px;right:18px;box-shadow:0 18px 58px #00000094,0 0 0 1px #ffffff0a}.first-success-guide-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.first-success-guide-head>div{flex-direction:column;gap:4px;display:flex}.first-success-guide-head strong{letter-spacing:-.01em;font-size:15px}.first-success-guide-head span{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:700}.first-success-guide-close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:19px;line-height:1}.first-success-guide-close:hover,.first-success-guide-close:focus-visible{color:var(--fg)}.first-success-guide-intro{color:var(--muted);margin:12px 0 10px;font-size:11.5px;line-height:1.45}.first-success-guide-steps{flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.first-success-guide-steps li{color:var(--muted);border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:9px;padding:8px;font-size:11.5px;line-height:1.35;display:flex}.first-success-guide-steps li.current{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--fg)}.first-success-guide-steps li.done{color:var(--fg);opacity:.72}.first-success-guide-steps li strong,.first-success-guide-steps li span{display:block}.first-success-guide-steps li span{color:var(--muted);margin-top:3px;font-size:10.5px}.first-success-guide-step-mark{border:1px solid var(--line2);border-radius:50%;flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-weight:700;font-size:10px!important;display:inline-flex!important}.first-success-guide-steps li.current .first-success-guide-step-mark{border-color:var(--accent);color:var(--accent)}.first-success-guide-steps li.done .first-success-guide-step-mark{color:#65c18c;border-color:#65c18c}.first-success-guide-next{width:100%}.first-success-guide-skip{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:9px;padding:3px;font-size:10px;display:block}.first-success-guide-skip:hover,.first-success-guide-skip:focus-visible{color:var(--fg)}.first-success-guide-complete{text-align:center;flex-direction:column;align-items:center;gap:8px;padding-top:18px;display:flex}.first-success-guide-check{color:#65c18c;background:#65c18c22;border-radius:50%;place-items:center;width:38px;height:38px;font-size:22px;font-weight:700;display:grid}.first-success-guide-complete p{color:var(--muted);margin:0 0 6px;font-size:11.5px;line-height:1.5}@media (width<=700px){.first-success-guide{width:min(330px,100vw - 20px);bottom:202px;right:10px}}.project-browser-head{justify-content:space-between;align-items:center;font-size:15px;display:flex}.project-browser-head .x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px}.project-browser section{flex-direction:column;gap:6px;display:flex}.project-browser-section-head{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.project-browser-section-head .row-actions{gap:6px;display:flex}.project-browser-section-head button{border:1px solid var(--line2);color:var(--fg);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:10px}.project-browser-empty{color:var(--muted2);background:var(--card2);border-radius:8px;padding:8px 10px;font-size:11px}.project-browser-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.project-browser-list li{align-items:stretch;gap:4px;display:flex}.project-browser-list li>button:first-child{border:1px solid var(--line);background:var(--card2);color:var(--fg);cursor:pointer;text-align:left;border-radius:8px;flex:1;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex}.project-browser-list li>button:first-child span{color:var(--muted2);flex:none;font-size:10px}.project-browser-list li.active>button:first-child,.project-browser-list li>button:first-child:hover{border-color:var(--accent)}.project-browser-list .del{color:var(--muted2);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:11px}.project-browser-foot{justify-content:space-between;gap:8px;display:flex}.project-browser-foot .btn{flex:1}.auto-color-hex{color:var(--fg-dim,#9a9a9a);font-variant-numeric:tabular-nums;align-self:center;font-size:10px}.toolbar-balance{min-width:0}.wordmark{font-family:var(--display);color:#d2d2d2;letter-spacing:-.045em;font-size:18px;font-weight:750;line-height:1}.wordmark span{color:#3c91a8}.brandbar{border-top:1px solid var(--line);background:#232323f7;flex:none;align-items:center;height:32px;padding:0 14px;display:flex;position:relative}.brandbar:before{content:"";background:#3a7cbf;width:46px;height:2px;position:absolute;top:-1px;left:14px}.brandbar .wordmark{letter-spacing:-.035em;font-size:14px}.source-offer{color:var(--muted);margin-left:auto;font-size:11px;text-decoration:none}.source-offer:hover,.source-offer:focus-visible{color:var(--fg);text-decoration:underline}.tagline{color:var(--muted);padding-left:17px;font-size:12.5px;position:relative}.tagline:before{content:"";background:var(--line2);width:1px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.controls-menu{z-index:20;justify-self:end;position:relative}.controls-menu summary{color:#52616b;letter-spacing:.02em;cursor:pointer;-webkit-user-select:none;user-select:none;background:#2c2c2c;border:1px solid #ffffff3d;border-radius:6px;align-items:center;gap:7px;height:30px;padding:0 10px 0 12px;font-size:10px;font-weight:700;list-style:none;display:flex}.controls-menu summary::-webkit-details-marker{display:none}.controls-menu summary span{transition:transform var(--fast) var(--ease);font-size:12px;line-height:1}.controls-menu[open] summary{color:#d2d2d2;background:#383838;border-color:#3a7cbf}.controls-menu[open] summary span{transform:rotate(180deg)}.controls-popover{background:#2c2c2c;border:1px solid #ffffff3d;border-radius:8px;width:250px;padding:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #00000029}.controls-grid{grid-template-columns:max-content 1fr;align-items:center;gap:8px 12px;display:grid}.controls-grid kbd{color:#d2d2d2;min-width:46px;font:650 9px var(--mono);text-align:center;background:#232323;border:1px solid #ffffff38;border-bottom-width:2px;border-radius:4px;padding:3px 6px}.controls-grid span,.controls-popover p{color:#9a9a9a;font-size:10.5px;line-height:1.35}.controls-popover p{margin:0}.controls-popover p strong{color:#d2d2d2;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:10px;display:block}.main{flex-direction:column;flex:1;min-height:0;display:flex}.workspace{flex:1;min-height:0;display:flex}.viewport{background:var(--bg-grad);flex:1;justify-content:stretch;align-items:stretch;min-width:0;padding:0;display:flex;position:relative;overflow:hidden}.viewport:before{content:"";pointer-events:none;filter:blur(10px);background:radial-gradient(circle at 70% 30%,#3a7cbf1c,#0000 62%);width:55%;height:70%;position:absolute;top:-10%;right:0}.stage{aspect-ratio:auto;width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--shadow-md);animation:stageIn .7s var(--ease) both;border:1px solid #ffffff61;border-radius:0;position:relative;overflow:hidden}.stage canvas{cursor:grab;outline:none;display:block;width:100%!important;height:100%!important}.stage canvas:active{cursor:grabbing}.app[data-embed-mode=playview]{width:100vw;min-width:0;height:100vh;overflow:hidden}.app[data-embed-mode=playview] .topbar,.app[data-embed-mode=playview] .brandbar,.app[data-embed-mode=playview] .asset-delete-toast,.app[data-embed-mode=playview] .hierarchy-left,.app[data-embed-mode=playview] .hierarchy-sidebar,.app[data-embed-mode=playview] .workspace-splitter,.app[data-embed-mode=playview] .viewport-titlebar,.app[data-embed-mode=playview] .bottom-window,.app[data-embed-mode=playview] .agent-panel{display:none}.app[data-embed-mode=playview] .main,.app[data-embed-mode=playview] .workspace,.app[data-embed-mode=playview] .viewport{width:100%;height:100%;min-height:0}.app[data-embed-mode=playview] .workspace{display:block}.app[data-embed-mode=playview] .stage{width:100%;height:100%;position:absolute;inset:0}.app[data-embed-mode=playground]{width:100vw;min-width:0;height:100vh;overflow:hidden}.app[data-embed-mode=playground] .topbar,.app[data-embed-mode=playground] .brandbar,.app[data-embed-mode=playground] .asset-delete-toast,.app[data-embed-mode=playground] .hierarchy-left,.app[data-embed-mode=playground] .hierarchy-sidebar,.app[data-embed-mode=playground] .workspace-splitter,.app[data-embed-mode=playground] .bottom-window-tabs,.app[data-embed-mode=playground] .take-bar,.app[data-embed-mode=playground] .tl-pose-tools,.app[data-embed-mode=playground] .tl-motion-tools,.app[data-embed-mode=playground] .tl-badge,.app[data-embed-mode=playground] .tl-toggle,.app[data-embed-mode=playground] .tl-track:not(.shots),.app[data-embed-mode=playground] .vp-inset-tag:not(.vp-shot-preview-tag){display:none}.app[data-embed-mode=playground] .tl-view-tools,.app[data-embed-mode=playground] .viewport-titlebar .workflow-mode-switch,.app[data-embed-mode=playground] .viewport-titlebar .editor-toolbar,.app[data-embed-mode=playground]:not([data-rail-draw="1"]) .vp-inset.plan{display:none!important}.app[data-embed-mode=playground][data-rail-draw="1"] .vp-inset.plan{width:44%!important;height:62%!important}.app[data-embed-mode=playground] .bottom-window,.app[data-embed-mode=playground] .bottom-timeline{flex:none;min-height:0;height:auto!important}.app[data-embed-mode=playground] .timeline,.app[data-embed-mode=playground] .timeline.empty-shots{max-height:none;height:auto!important;min-height:0!important}.app[data-embed-mode=playground] .tl-body{flex:none;overflow:hidden;height:auto!important;min-height:0!important}.app[data-embed-mode=playground] .tl-surface{min-height:0;grid-template-rows:auto auto!important;height:auto!important}.app[data-embed-mode=playground] .tl-track.shots{height:68px;min-height:68px}.app[data-embed-mode=playground] .tl-head{padding:6px 10px}.app[data-embed-mode=playground] .viewport{flex:auto}.app[data-embed-mode=playground] .vp-shot-preview{aspect-ratio:16/9;bottom:12px;right:12px;width:22%!important;height:auto!important}.app[data-embed-mode=playground] .vp-shot-preview-tag{font-size:12px}.app[data-embed-mode=playground] .vp-look-through{width:24px;height:24px}.app[data-embed-mode=playground] .vp-look-through svg{width:15px;height:15px}.app[data-playground-hint=look] .vp-look-through,.app[data-playground-hint=shot] .tl-track.shots .tl-track-add,.app[data-playground-hint=rail] .tl-track.shots .tl-shot-block:not(.selected),.app[data-playground-hint=rail] .tl-rail-draw,.app[data-playground-hint=play] .tl-transport button:nth-child(2){animation:1.1s ease-in-out infinite playground-pulse;box-shadow:0 0 0 2px #d9a066}@keyframes playground-pulse{0%,to{box-shadow:0 0 0 2px #d9a066}50%{box-shadow:0 0 0 7px #d9a06600}}.app[data-tutorial-step=shot] .tl-track.shots .tl-track-add,.app[data-tutorial-step=rail] .tl-track.shots .tl-shot-block:not(.selected),.app[data-tutorial-step=rail] .tl-rail-draw,.app[data-tutorial-step=play] .vp-look-through{animation:tutorial-spotlight 1.5s var(--ease) infinite;box-shadow:0 0 0 3px var(--accent)}.app[data-tutorial-step=rail] .vp-inset{box-shadow:0 10px 30px #00000073, 0 0 0 2px var(--accent-ring)}@keyframes tutorial-spotlight{0%,to{box-shadow:0 0 0 3px var(--accent), 0 0 0 0 #3a7cbf73}50%{box-shadow:0 0 0 3px var(--accent), 0 0 0 8px #3a7cbf00}}.vp-pane{z-index:5;pointer-events:none;position:absolute}.vp-main{inset:0}.vp-inset{aspect-ratio:1;width:26%;min-width:225px;max-width:350px;animation:rise var(--med) var(--ease) both;border-radius:11px;top:60px;right:15px;overflow:hidden;box-shadow:0 10px 30px #00000073,0 0 0 1px #ffffff1f}.vp-shot-preview{width:21%;min-width:200px;max-width:330px;aspect-ratio:var(--shot-aspect,16 / 9);animation:rise var(--med) var(--ease) both;border-radius:9px;top:auto;bottom:16px;right:15px;overflow:hidden;box-shadow:0 12px 32px #00000080,0 0 0 1px #0005,inset 0 0 0 1px #ffffff14}.vp-shot-preview-tag{cursor:default;align-items:center;gap:5px;display:inline-flex}.vp-rec-dot{background:#e5484d;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 1.5px #e5484d33}.vp-look-through{pointer-events:auto;cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin:-2px -2px -2px 0;padding:2px;display:inline-flex}.vp-look-through:hover{opacity:1;color:var(--accent)}.vp-pane.plan{pointer-events:auto}.vp-inset.shot{aspect-ratio:var(--shot-aspect,16 / 9)}.vp-inset-tag{border:1px solid var(--line2);color:#cfd2da;letter-spacing:.1em;text-transform:uppercase;pointer-events:auto;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#0e0d10d9;border-radius:6px;padding:3px 8px;font-size:9.5px;font-weight:600;position:absolute;top:7px;left:8px}.vp-inset-tag:active{cursor:grabbing}.vp-inset-caret{opacity:.75;cursor:pointer;margin-right:3px;font-size:9px}.vp-inset-caret:hover{opacity:1;color:var(--accent)}.vp-inset-zoom{opacity:.75;margin-left:4px;font-size:9px;font-style:normal}.vp-inset.collapsed{aspect-ratio:auto;align-items:center;min-width:0;min-height:0;padding:4px;display:flex;overflow:visible;box-shadow:0 6px 18px #0000004d;width:auto!important;height:auto!important}.vp-inset.collapsed .vp-inset-tag{position:static}.scene-loading{z-index:4;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 0 26px;display:flex;position:absolute;inset:auto 0 0}.scene-loading-bar{background:var(--track);border-radius:2px;width:180px;height:2px;overflow:hidden}.scene-loading-bar span{background:var(--accent);height:100%;transition:width .25s var(--ease);display:block}.scene-loading-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.scene-error{z-index:5;text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.scene-error-title{color:var(--fg);font-size:15px;font-weight:600}.scene-error-hint{color:var(--muted);max-width:320px;font-size:13px}.shot-guides{pointer-events:none;z-index:3;position:absolute;inset:0}.shot-guides svg{width:100%;height:100%;display:block}.shot-guides line,.shot-guides rect{stroke:#ffffff57;stroke-width:1px;fill:none}.shot-guides rect.guide-action{stroke:#7ee7c466}.shot-guides rect.guide-title{stroke:#80b0ff75}.vp-guide-cycle{color:#ffffff80;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;padding:1px 2px;display:inline-flex}.vp-guide-cycle:hover{color:#fff}.vp-guide-cycle.on{color:#7ee7c4}.film-frame{pointer-events:none;z-index:4;position:absolute;inset:16px}.film-frame span{border:1.5px solid #ffffff4d;width:17px;height:17px;position:absolute}.film-frame span:first-child{border-bottom:0;border-right:0;border-top-left-radius:4px;top:0;left:0}.film-frame span:nth-child(2){border-bottom:0;border-left:0;border-top-right-radius:4px;top:0;right:0}.film-frame span:nth-child(3){border-top:0;border-left:0;border-bottom-right-radius:4px;bottom:0;right:0}.film-frame span:nth-child(4){border-top:0;border-right:0;border-bottom-left-radius:4px;bottom:0;left:0}.hud,.caption,.viewmode{-webkit-backdrop-filter:blur(14px)saturate(1.2);background:#0e0e108c;border:1px solid #ffffff1a}.hud{z-index:6;color:#eeeef2;animation:rise var(--med) var(--ease) both;border-radius:9px;align-items:center;gap:7px;padding:6px 12px;font-size:11.5px;font-weight:500;display:flex;position:absolute;top:15px;left:16px}.caption{z-index:6;pointer-events:none;color:#fff;letter-spacing:.12em;animation:riseCenter var(--med) var(--ease) both;border-radius:9px;padding:7px 16px;font-size:11px;font-weight:600;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.caption.off{color:#ffc9cb;background:#e5484d2e;border-color:#e5484d80}.viewmode{border-radius:7px;justify-self:center;gap:2px;padding:3px;animation:none;display:flex;position:static}.viewmode button{color:#dcdce2;cursor:pointer;height:26px;transition:all .16s var(--ease);background:0 0;border:none;border-radius:5px;padding:0 12px;font-size:10px;font-weight:700}.viewmode button.active{background:var(--grad);color:#fff;box-shadow:0 3px 12px #3346ff66}.puck-label{pointer-events:none;border:1px solid var(--line2);color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600;font-family:var(--sans);background:#0e0d10d9;border-radius:20px;padding:3px 10px;box-shadow:0 2px 8px #0006}.pose-fab{font-family:var(--sans);color:#fff;background:var(--grad);cursor:pointer;white-space:nowrap;box-shadow:var(--glow), 0 4px 14px #0006;transition:transform .14s var(--spring), box-shadow .15s ease;animation:fabPop .28s var(--spring) both;border:none;border-radius:22px;padding:8px 16px;font-size:12.5px;font-weight:600}.pose-fab:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 10px 30px #3346ff80}.pose-fab:active{transform:scale(.96)}.pose-bar{gap:8px;display:flex}.pose-btns{flex-direction:column;gap:8px;display:flex}.pose-btns .btn.full{margin-top:0}.pose-studio{z-index:12;border:1px solid var(--line2);width:344px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px)saturate(1.2);font-family:var(--sans);animation:studioIn .34s var(--spring) both;background:#16161adb;border-radius:18px;flex-direction:column;gap:11px;padding:16px;display:flex;position:absolute;top:14px;bottom:14px;right:14px}.pose-studio.closing{animation:studioOut .2s var(--ease) both}.pose-studio{gap:8px;padding:10px}.pose-studio .studio-head span{font-size:13px;font-weight:650}.pose-studio .studio-actions{flex-direction:row;gap:6px}.pose-studio .studio-actions .btn{flex:1;width:auto;height:28px;padding:0 8px;font-size:11px;font-weight:600}.pose-studio .studio-hint{margin:0;font-size:10px;line-height:1.35}.pose-studio .studio-filters{scrollbar-width:none;flex-wrap:nowrap;gap:4px;overflow-x:auto}.pose-studio .studio-filters::-webkit-scrollbar{display:none}.pose-studio .studio-filters .btn{flex:none;width:auto;min-width:0;height:24px;padding:0 10px;font-size:10px}.pose-studio .pose-grid{gap:6px}.tl-chip.ghost{opacity:.42;pointer-events:none;border-style:dashed}.tl-chip-ghost-label{white-space:nowrap;text-overflow:ellipsis;padding:0 4px;font-size:9px;display:block;overflow:hidden}.tl-marker.wp.ghost{opacity:.42;pointer-events:none}.ardy-row{gap:8px;display:flex}.ardy-row>*{flex:1;min-width:0}.gen-layers{background:var(--card2,#ffffff0a);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:2px;margin:0;padding:4px 6px;list-style:none;display:flex}.gen-layers li{color:var(--muted);border-radius:5px;align-items:center;gap:8px;padding:2px 4px;font-size:11px;display:flex}.gen-layers li.active{color:var(--fg);background:var(--hover,#ffffff0f)}.gen-layers-name{color:var(--cyan,#5a9bd4);flex:none;width:22px;font-weight:700}.gen-layers-state{flex:1}.gen-layers-state.running{color:#f5b453}.gen-layers-state.queued{color:var(--muted2)}.gen-layers-state.error{color:#e06c6c}.gen-layers-state.loaded{color:#7bc98b}.gen-layers li button{color:var(--muted2);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:10px}.tl-track-owner{color:var(--cyan,#5a9bd4);border:1px solid var(--cyan,#5a9bd4);vertical-align:1px;border-radius:4px;margin-left:4px;padding:0 3px;font-size:9px;font-style:normal;font-weight:700}.tl-path-speed{color:#7bc98b;vertical-align:1px;margin-left:6px;font-size:9px;font-style:normal;font-weight:600}.tl-path-speed.warn{color:#f5b453}.pose-studio.docked{z-index:1;width:auto;height:min(52vh,560px);box-shadow:none;border-radius:10px;flex:none;margin:8px 10px 10px;position:relative;inset:auto}.pose-studio:before{content:"";opacity:.9;background:linear-gradient(90deg,#2b3cf5,#4d7bff 50%,#79c9ff) 0 0/200% 100%;border-radius:18px 18px 0 0;height:2px;animation:6s linear infinite stripeShift;position:absolute;top:0;left:0;right:0}.studio-head{justify-content:space-between;align-items:center;display:flex}.studio-head span{font-family:var(--display);letter-spacing:-.025em;color:var(--fg);font-size:18px;font-weight:720}.studio-head .x{color:var(--muted);cursor:pointer;transition:color var(--fast), background var(--fast);background:0 0;border:none;border-radius:8px;padding:3px 8px;font-size:17px}.studio-head .x:hover{color:var(--fg);background:var(--card2)}.studio-hint{color:var(--muted);margin:-2px 0 0;font-size:11.5px;line-height:1.45}.studio-hint.error{color:var(--warn,#ff9c6e)}.studio-actions{flex-direction:column;gap:8px;display:flex}.studio-actions .btn.full{margin-top:0}.studio-filters{flex-wrap:wrap;gap:6px;display:flex}.studio-filters .btn{flex:calc(33.333% - 4px);min-width:0;padding:6px 7px;font-size:10px}.pose-grid{flex:1;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:min-content;align-content:start;gap:8px;min-height:0;margin:2px -3px 0 0;padding-right:3px;display:grid;overflow-y:auto}.pose-tile{cursor:pointer;aspect-ratio:1;background:var(--card2);border:1.5px solid var(--line);transition:border-color .16s ease, transform .16s var(--spring), box-shadow .16s ease;animation:tileIn .4s var(--ease) both;border-radius:12px;padding:0;display:block;position:relative;overflow:hidden}.pose-tile:hover{box-shadow:var(--shadow-md);border-color:#ffffff3d;transform:translateY(-3px)}.pose-tile.active{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent), 0 6px 20px #3346ff4d}.pose-tile img,.pose-tile .tile-blank{object-fit:cover;background:#101014;width:100%;height:100%;display:block}.pose-tile span{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #000c;background:linear-gradient(#0000,#06060aeb);padding:18px 6px 7px;font-size:10px;font-weight:700;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.pose-tile.active span{color:var(--cyan)}.pose-tile .del{color:#fff;opacity:0;background:#08080cd1;border-radius:50%;justify-content:center;align-items:center;width:19px;height:19px;font-size:10px;font-style:normal;transition:opacity .14s,background .14s;display:flex;position:absolute;top:6px;right:6px}.pose-tile:hover .del{opacity:1}.pose-tile .del:hover{background:#e5484d}.pose-tile.add{border-style:dashed;border-color:var(--line2);color:var(--muted);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.pose-tile.add:hover{border-color:var(--accent);color:var(--cyan);background:var(--accent-soft)}.pose-tile.add span{color:inherit;text-shadow:none;background:0 0;padding:0;position:static}.pose-tile.add .add-plus{font-size:30px;font-weight:300;line-height:1}.pose-tile.add .add-text{font-size:11px;font-weight:700}.pose-tile.add.photo{border-color:color-mix(in srgb, var(--cyan) 42%, var(--line2));color:color-mix(in srgb, var(--cyan) 70%, var(--muted))}.pose-tile.add.photo .add-plus{font-size:22px}.pose-tile.add.photo.busy{opacity:.75;cursor:progress;border-style:solid}.pose-tile.add.photo:disabled:hover{border-color:color-mix(in srgb, var(--cyan) 42%, var(--line2));background:0 0}.panel{background:var(--panel);border-left:1px solid var(--line);overscroll-behavior:contain;flex:none;width:380px;padding:18px 16px 34px;overflow:auto}.panel.hierarchy-sidebar{background:linear-gradient(#181b22fa,#111318fc);flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.hierarchy-pane{border-bottom:1px solid var(--line);background:#0b0d116b;flex-direction:column;flex:0 44%;min-height:220px;max-height:390px;display:flex}.hierarchy-heading,.inspector-heading{border-bottom:1px solid #ffffff0e;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px 11px;display:flex}.hierarchy-heading>div{min-width:0}.hierarchy-heading strong,.inspector-heading strong{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;display:block;overflow:hidden}.hierarchy-kicker,.inspector-heading>span{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:2px;font-size:8px;font-weight:700;display:block}.hierarchy-frame-status{color:#9aa9d8;background:#576fdd14;border:1px solid #7e9aff29;border-radius:999px;flex:none;padding:3px 7px;font-size:8px}.object-colors-pop>summary{cursor:pointer;list-style:none}.object-colors-pop>summary::-webkit-details-marker{display:none}.object-colors-pop:not([open]) .object-colors,.tl-camera-advanced:not([open])>label,.tl-camera-advanced:not([open])>button{display:none}.object-colors-pop{display:inline-block;position:relative}.object-colors-pop>summary{border:1px solid #ffffff47;border-radius:6px;width:22px;height:22px;display:block}.object-colors-pop[open]>summary{outline-offset:1px;outline:2px solid #7e9aff}.object-colors-pop .object-colors{z-index:20;background:#161c2b;border:1px solid #7e9aff47;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px;width:max-content;max-width:176px;padding:5px;display:flex;position:absolute;top:26px;left:0;box-shadow:0 8px 18px #00000073}.object-colors-split{background:#7e9aff47;flex:1 0 100%;height:1px;margin:1px 0}.object-color-free{appearance:none;background:#ffffff05;padding:1px}.object-color-free::-webkit-color-swatch-wrapper{padding:0}.object-color-free::-webkit-color-swatch{border:0;border-radius:4px}.object-color-hex{border:1px solid var(--line2);width:100%;color:var(--fg);font-family:var(--mono);text-transform:lowercase;background:#00000047;border-radius:6px;flex:1 0 100%;padding:2px 5px;font-size:10px}.object-color-hex:focus-visible{outline:1px solid var(--accent);outline-offset:0}.hierarchy-tree{flex:1;min-height:0;padding:6px 6px 9px;overflow:auto}.hierarchy-row-wrap{height:27px;margin-left:calc(var(--hierarchy-depth) * 14px);border-radius:4px;align-items:stretch;display:flex;position:relative}.hierarchy-row-wrap:before{content:"";background:#ffffff0e;width:1px;position:absolute;top:-7px;bottom:13px;left:-7px}.hierarchy-toggle,.hierarchy-row{color:inherit;background:0 0;border:0;padding:0}.hierarchy-toggle{color:#929bad;cursor:pointer;flex:0 0 20px;place-items:center;font-size:14px;font-weight:700;line-height:1;display:grid}.hierarchy-toggle.placeholder{pointer-events:none}.hierarchy-fold-space{pointer-events:none;flex:0 0 20px}.hierarchy-row{text-align:left;cursor:default;flex:1;align-items:center;gap:7px;min-width:0;padding-right:6px;display:flex}.hierarchy-row.icon-only{flex:none;padding-right:0}.hierarchy-icon{color:#82909d;flex:none;width:15px;height:15px;overflow:visible}.hierarchy-label{color:#b8bdc9;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:500;overflow:hidden}.hierarchy-status{color:#8ea0ff;letter-spacing:.06em;margin-left:auto;font-size:7px;font-weight:700}.hierarchy-badge{color:#8f97a9;text-align:center;background:#fff1;border-radius:999px;flex:none;min-width:16px;padding:2px 4px;font-size:7px}.hierarchy-row-wrap .hierarchy-scene-pill{flex:0 122px;align-items:center;min-width:0;max-width:calc(100% - 52px);margin:0 4px 0 6px;display:flex}.hierarchy-row-wrap .hierarchy-scene-pill .dropdown{width:100%}.hierarchy-row-wrap .hierarchy-scene-pill .trigger{border:1px solid var(--line2);background:var(--card2);width:100%;min-width:0;height:19px;color:var(--muted);border-radius:999px;gap:4px;padding:0 7px;font-size:10px}.hierarchy-row-wrap .hierarchy-scene-pill .trigger:hover{border-color:var(--accent);color:var(--fg)}.hierarchy-row-wrap .hierarchy-scene-pill .dropdown.open .trigger{border-color:var(--accent);background:var(--hover);color:var(--fg);box-shadow:0 0 0 1px var(--accent)}.hierarchy-row-wrap .hierarchy-scene-pill .dd-caret{width:10px;height:10px}.hierarchy-row-wrap.selected .hierarchy-scene-pill .trigger{color:var(--fg)}.hierarchy-scene-hint{color:var(--muted);flex:none;margin:0;padding:0 10px 8px;font-size:10px;line-height:1.4}.inspector-heading{background:#1f222ab8;flex:none;padding-top:10px;padding-bottom:9px;display:block}.inspector-scroll{flex:1;min-height:0;padding:10px 12px 18px;overflow:auto}.inspector-scroll>.card{margin-bottom:10px;animation:none}.inspector-scroll>[hidden]{display:none!important}.trail-falloff-row{align-items:center;gap:8px;display:flex}.trail-falloff-row input[type=range]{flex:1;min-width:0}.trail-falloff-value{font-variant-numeric:tabular-nums;opacity:.8}.inspector-hint{color:var(--muted);margin:-1px 0 11px;font-size:9px;line-height:1.55}.inspector-status-grid{background:#0000001f;border:1px solid #ffffff0f;border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:7px 12px;margin:0 0 12px;padding:9px 10px;font-size:8px;display:grid}.inspector-status-grid span{color:var(--muted);min-width:0}.inspector-status-grid b{color:#c7cde0;overflow-wrap:anywhere;text-align:right;min-width:0;font-weight:600}.inspector-list{gap:5px;margin-bottom:10px;display:grid}.inspector-list button{color:#aeb4c2;text-align:left;cursor:pointer;background:#ffffff06;border:1px solid #fff1;border-radius:5px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 9px;display:flex}.inspector-list button span{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.inspector-list button small{color:var(--muted);flex:none;font-size:7px}.inspector-list.compact button{padding-top:6px;padding-bottom:6px}.card{box-shadow:var(--shadow);transition:border-color var(--med) var(--ease);animation:cardIn .5s var(--ease) both;background:linear-gradient(#141417,#0b0b0d);border:1px solid #ffffff0f;border-radius:16px;margin-bottom:14px;padding:17px 18px 19px;position:relative;overflow:hidden}.card:after{content:"";opacity:.95;background:linear-gradient(90deg,#1a2acc,#3b6bff,#79c9ff 92%);height:2.5px;position:absolute;bottom:0;left:0;right:0}.panel .card:first-child{animation-delay:20ms}.panel .card:nth-child(2){animation-delay:70ms}.panel .card:nth-child(3){animation-delay:.12s}.panel .card:nth-child(4){animation-delay:.17s}.panel .card:nth-child(5){animation-delay:.22s}.panel .card:nth-child(6){animation-delay:.27s}.card h3{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);align-items:center;gap:8px;margin:0 0 13px;font-size:10.5px;font-weight:600;display:flex}.card h3:before{content:"";background:var(--grad-soft);border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #4d7bffb3}.presets{grid-template-columns:1fr 1fr;gap:8px;display:grid}.presets button{background:var(--card2);border:1px solid var(--line);color:#cdcdd6;cursor:pointer;transition:transform var(--fast) var(--ease), background var(--fast), border-color var(--fast), color var(--fast), box-shadow var(--fast);border-radius:10px;padding:10px 8px;font-size:12px;font-weight:500}.presets button:hover{background:var(--hover);color:#fff;border-color:#4d7bff73;transform:translateY(-1px)}.presets button:active{transform:scale(.97)}.presets button.active{color:#fff;background:linear-gradient(#4d7bff42,#3346ff1f);border-color:#4d7bffbf;font-weight:600;box-shadow:0 0 0 1px #4d7bff40,0 5px 16px #3346ff33}.row{color:var(--muted);align-items:center;gap:12px;margin:13px 0;font-size:12px;display:flex}.row>span:first-child{flex:none;width:82px}.row .val{text-align:right;color:#eeeef2;font-variant-numeric:tabular-nums;width:46px;font-weight:500}.readout{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;margin-top:4px;font-size:11.5px;display:flex}input[type=range]{appearance:none;background:var(--track);cursor:pointer;border-radius:999px;outline:none;flex:1;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;border:4px solid var(--accent);width:15px;height:15px;transition:transform var(--fast), box-shadow var(--fast);background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000080}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.14)}input[type=range]::-moz-range-thumb{border:4px solid var(--accent);cursor:pointer;background:#fff;border-radius:50%;width:15px;height:15px;box-shadow:0 1px 3px #00000080}.check{color:var(--muted);cursor:pointer;transition:color var(--fast);align-items:center;gap:9px;margin-top:12px;font-size:12px;display:flex}.check input{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.check:hover{color:#ccccd4}.field label{color:var(--muted);margin-bottom:6px;font-size:11.5px;display:block}.field input[type=text],.field input[type=number],.field textarea{background:var(--card2);border:1px solid var(--line);width:100%;color:var(--fg);transition:border-color var(--fast), box-shadow var(--fast);border-radius:10px;padding:10px 12px;font-size:12.5px}.field input[type=text]::placeholder{color:var(--muted2)}.field input[type=text]:focus,.field input[type=number]:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.field textarea{resize:vertical;min-height:114px;animation:rise var(--med) var(--ease);line-height:1.55}.field select{width:100%;color:var(--fg);border:1px solid var(--line);cursor:pointer;appearance:none;background:var(--card2) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a9aa4' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 11px center;transition:border-color var(--fast), box-shadow var(--fast);border-radius:10px;padding:10px 32px 10px 12px;font-size:12.5px}.field select:hover{border-color:var(--line2)}.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.attach-target{background:var(--card2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.attach-target span{min-width:0;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.attach-target button{flex:none;width:auto;padding:6px 11px;font-size:11.5px}.segmented{border:1px solid var(--line);background:#101012;border-radius:11px;margin-bottom:6px;padding:4px;display:flex;position:relative}.segmented:before{content:"";background:var(--grad);width:calc(50% - 4px);transition:transform var(--med) var(--spring);z-index:0;border-radius:8px;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 3px 12px #3346ff59}.segmented[data-active=video]:before{transform:translate(100%)}.segmented button{z-index:1;cursor:pointer;color:var(--muted);transition:color var(--fast);background:0 0;border:none;border-radius:8px;flex:1;padding:9px;font-size:12px;font-weight:600;position:relative}.sheet-checks{margin-bottom:4px}.sheet-checks .check{margin-top:9px}.actions{flex-direction:column;gap:9px;margin-top:4px;display:flex}.btn{border:1px solid var(--line2);background:var(--card2);color:var(--fg);cursor:pointer;box-shadow:var(--shadow);transition:transform var(--fast) var(--ease), background var(--fast), border-color var(--fast), box-shadow var(--fast);border-radius:11px;padding:11px 14px;font-size:13px;font-weight:600;position:relative;overflow:hidden}.btn:hover{background:var(--hover);box-shadow:var(--shadow-md);border-color:#4d7bff73;transform:translateY(-1px)}.btn:active{box-shadow:var(--shadow);transform:translateY(0)scale(.985)}.btn.ghost{border-color:var(--line);width:100%;box-shadow:none;color:var(--muted);background:0 0;margin-top:12px;padding:10px;font-size:12px;font-weight:500}.btn.full{width:100%;margin-top:6px}.btn.generate,.btn.cta{margin-top:10px;padding:14px;font-size:14px}.btn.primary{background:var(--grad);color:var(--on-accent);box-shadow:var(--glow), inset 0 1px #fff3;transition:transform var(--fast) var(--ease), background-position var(--med) var(--ease), box-shadow var(--fast);background-position:0%;background-size:160% 100%;border:none}.btn.primary:hover{background-position:100%;transform:translateY(-1px);box-shadow:0 12px 34px #3346ff80}.btn.primary:after{content:"";width:45%;height:100%;transition:left .5s var(--ease);background:linear-gradient(100deg,#0000,#ffffff47,#0000);position:absolute;top:0;left:-60%;transform:skew(-18deg)}.btn.primary:hover:after{left:130%}.hint{color:var(--muted);margin:12px 0 0;font-size:11.5px;line-height:1.6}.hint b{color:#dcdce2;font-weight:600}.ardy-meta{color:var(--muted2);letter-spacing:.04em;margin:0 0 4px;font-size:11px}.ardy-hint{color:var(--muted);margin:0;font-size:11.5px;line-height:1.6}.ardy-hint+.ardy-hint{margin-top:6px}.ardy-hint code,.ardy-outcome code{background:var(--card2);border:1px solid var(--line);color:#dcdce2;word-break:break-all;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.ardy-clamp{color:var(--muted2);margin-top:5px;font-size:10.5px;display:block}.ardy-status{color:var(--muted);margin:10px 0 0;font-size:11.5px;line-height:1.5}.ardy-status:before{content:"▸ ";color:var(--cyan)}.ardy-report{border:1px solid var(--line);background:var(--card2);animation:rise var(--med) var(--ease);border-radius:10px;margin-top:12px;padding:10px 12px}.ardy-report-grid{grid-template-columns:1fr auto;gap:4px 12px;font-size:11.5px;display:grid}.ardy-report-grid span{color:var(--muted)}.ardy-report-grid b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.ardy-caveat{color:var(--muted2);margin:8px 0 0;font-size:10.5px;line-height:1.55}.ardy-outcome{margin:10px 0 0;font-size:11.5px;line-height:1.6}.ardy-outcome.done{color:var(--muted)}.ardy-outcome.done code{color:var(--cyan)}.ardy-outcome.error{color:#e5484d}.subjects-row{gap:11px;display:flex}.subject-box{background:var(--card2);border:1px solid var(--line);border-radius:13px;flex:1;min-width:0;padding:12px 13px 13px;position:relative}.subject-box.new{animation:subjectIn .42s var(--spring) both;transform-origin:100%}.subject-box-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.sb-name,.subject-box-head>span{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.sb-actions{flex:none;align-items:center;gap:5px;display:flex}.sb-color{border:1px solid var(--line2);cursor:pointer;background:#ffffff05;border-radius:8px;width:26px;height:25px;padding:1px}.cam-toggle{border:1px solid var(--line2);width:30px;height:25px;color:var(--muted);cursor:pointer;transition:transform var(--fast) var(--ease), background var(--fast), border-color var(--fast), color var(--fast), box-shadow var(--fast);background:#ffffff05;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.cam-toggle svg{width:14px;height:14px}.cam-toggle:hover{color:var(--fg);border-color:#4d7bff80}.cam-toggle:active{transform:scale(.92)}.cam-toggle.active{background:var(--grad);color:#fff;border-color:#0000;box-shadow:0 3px 12px #3346ff80}.sb-remove{width:22px;height:22px;color:var(--muted2);cursor:pointer;transition:color var(--fast), background var(--fast);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;font-size:11px;display:flex}.sb-remove:hover{color:#fff;background:#e5484d}.subject-box-head .x{width:22px;height:22px;color:var(--muted2);cursor:pointer;transition:color var(--fast), background var(--fast);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;font-size:11px;display:flex}.subject-box-head .x:hover{color:#fff;background:#e5484d}.cslider{margin-top:11px}.cslider-head{color:var(--muted);white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.cslider-head>span:first-child{text-overflow:ellipsis;overflow:hidden}.cslider-head .val{color:#eeeef2;font-variant-numeric:tabular-nums;flex:none;font-weight:500}.cslider-head.scrub{cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none}.cslider input[type=range]{width:100%;display:block}.add-subject{border:1.5px dashed var(--line2);width:100%;color:var(--muted);cursor:pointer;transition:border-color var(--fast), color var(--fast), background var(--fast);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:12px;font-size:12.5px;font-weight:600;display:flex}.add-subject:hover{border-color:var(--accent);color:var(--cyan);background:var(--accent-soft)}.add-subject .as-plus{font-size:17px;font-weight:300;line-height:1}.dropdown{position:relative}.dropdown .trigger{background:var(--card2);width:100%;color:var(--fg);cursor:pointer;text-align:left;transition:border-color var(--fast), background var(--fast), box-shadow var(--fast);border:1px solid #ffffff14;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}.dropdown .trigger span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dropdown .trigger:hover{border-color:#4d7bff73}.dropdown.open .trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.dd-caret{width:14px;height:14px;color:var(--muted);transition:transform var(--med) var(--ease);flex:none}.dropdown.open .dd-caret{transform:rotate(180deg)}.dropdown-menu{z-index:25;border:1px solid var(--line2);box-shadow:var(--shadow-lg);max-height:288px;animation:ddIn .16s var(--ease) both;background:#16161b;border-radius:13px;padding:6px;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto}.dropdown-item{color:#d6d6de;cursor:pointer;text-align:left;width:100%;transition:background var(--fast), color var(--fast);background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;font-size:12.5px;display:flex}.dropdown-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dropdown-item:hover{background:var(--hover);color:#fff}.dropdown-item.active{color:var(--cyan);font-weight:600}.dd-check{flex:none;width:14px;height:14px}.modal-overlay{z-index:30;-webkit-backdrop-filter:blur(8px);background:#050508b8;justify-content:center;align-items:center;padding:24px;animation:.2s fade;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--line2);width:480px;max-width:100%;max-height:90vh;box-shadow:var(--shadow-lg);animation:pop var(--med) var(--spring);border-radius:20px;padding:24px;position:relative;overflow-y:auto}.modal:before{content:"";background:linear-gradient(90deg,#2b3cf5,#4d7bff 50%,#79c9ff) 0 0/200% 100%;border-radius:20px 20px 0 0;height:2px;animation:6s linear infinite stripeShift;position:absolute;top:0;left:0;right:0}.modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-head h3{font-family:var(--display);letter-spacing:-.025em;margin:0;font-size:20px;font-weight:720}.modal .x{color:var(--muted);cursor:pointer;transition:color var(--fast), background var(--fast);background:0 0;border:none;border-radius:8px;padding:6px;font-size:15px;line-height:1}.preview{border:1px solid var(--line);border-radius:12px;width:100%;display:block}.modal-label{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:16px 0 7px;font-size:10.5px;display:block}.modal-label em{color:var(--cyan);text-transform:none;letter-spacing:0;font-style:normal;font-weight:600}.promptbox{background:var(--card2);border:1px solid var(--line);color:#dcdce2;border-radius:11px;padding:14px;font-size:12px;line-height:1.6}.modal-actions{gap:9px;margin-top:16px;display:flex}.modal-actions .btn{flex:1}.toast{border:1px solid var(--line2);color:var(--fg);z-index:40;box-shadow:var(--shadow-lg);animation:toastIn .28s var(--spring);background:#202027;border-radius:11px;padding:11px 18px;font-size:12.5px;font-weight:500;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.timeline{z-index:6;border-top:1px solid var(--line);background:linear-gradient(#1b1b1e,#141416);flex-direction:column;flex:none;height:190px;display:flex;position:relative;box-shadow:0 -12px 32px #00000059}.timeline.collapsed{height:34px}.tl-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;height:34px;padding:0 12px 0 14px;display:flex}.tl-camera-editor{color:#d9d2e7;background:#201c28;border-bottom:1px solid #9a7bd461;flex-wrap:nowrap;flex:none;align-items:center;gap:7px;min-height:30px;max-height:34px;padding:3px 10px;font-size:10px;display:flex;overflow:auto hidden}.tl-track.objmo.sg-row .tl-track-label{align-items:flex-start;padding-top:8px}.tl-track.objmo .tl-track-label{color:#9fe0bb;gap:6px;min-width:0}.tl-track.objmo .tl-track-label .objmo-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl-track.objmo .tl-lane{background:#151d19;border-bottom:1px solid #6fcf9729}.objmo-tools{color:#d3e7dc;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 8px;font-size:10px;display:flex}.objmo-speed{white-space:nowrap;background:#101714;border:1px solid #6fcf973d;border-radius:4px;align-items:center;gap:6px;padding:0 8px 0 6px;display:inline-flex}.objmo-speed input[type=range]{appearance:none;cursor:pointer;background:0 0;width:96px;height:16px;margin:0}.objmo-speed input[type=range]::-webkit-slider-runnable-track{background:#6fcf9747;border-radius:2px;height:4px}.objmo-speed input[type=range]::-moz-range-track{background:#6fcf9747;border-radius:2px;height:4px}.objmo-speed input[type=range]::-webkit-slider-thumb{appearance:none;background:#6fcf97;border:0;border-radius:50%;width:11px;height:11px;margin-top:-3.5px}.objmo-speed input[type=range]::-moz-range-thumb{background:#6fcf97;border:0;border-radius:50%;width:11px;height:11px}.objmo-speed input[type=range]:focus-visible{outline-offset:2px;outline:1px solid #6fcf97}.objmo-speed .objmo-speed-value{color:#9fe0bb;font-variant-numeric:tabular-nums;text-align:right;min-width:46px}.objmo-tools .tl-camera-tool.active{color:#eafff3;background:#2f6b4d;border-color:#6fcf97}.tl-path-hint{color:#7fae95;white-space:nowrap;margin-left:auto;font-size:9px}.tl-track.sg-row .tl-lane{height:118px;overflow:hidden}.sg{flex-direction:column;display:flex;position:absolute;inset:0}.sg-head{color:#9fe0bb;flex:none;align-items:center;gap:10px;padding:5px 10px 4px;font-size:11px;display:flex}.sg-head .sg-facts{font-variant-numeric:tabular-nums}.sg-head .tl-path-hint{opacity:.8;margin-left:0}.sg-head .tl-camera-tool{margin-left:auto;padding:3px 10px;font-size:10px}.sg-head .tl-camera-tool+.tl-camera-tool{margin-left:0}.sg-body{background:#0d1411;border:1px solid #6fcf9738;border-radius:5px;flex:1;min-height:88px;margin:0 8px 6px;position:relative;overflow:hidden}.sg-body svg{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.sg-axis{stroke:#9fe0bb59;stroke-width:1px;vector-effect:non-scaling-stroke}.sg .sg-line{fill:none;stroke:#6fcf97;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.sg-cam .sg-head{color:#cbb8ef}.sg-cam .sg-body{background:#120f17;border-color:#9a7bd44d}.sg-cam .sg-axis,.sg-cam .sg-average{stroke:#b9a1e866}.sg-cut{stroke:#ffb454;stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.sg-cut-diamond{fill:#ffb454}.sg-pin.selected .sg-cut-diamond{fill:#ffd08a}.sg-pin.selected .sg-cut{stroke-width:2px;stroke-dasharray:none}.sg-scale-top,.sg-scale-avg,.sg-scale-zero{color:#5f7a6d;font-variant-numeric:tabular-nums;pointer-events:none;font-size:9px;position:absolute;right:8px}.sg-scale-avg{padding-bottom:2px;transform:translateY(-100%)}.sg-scale-zero{bottom:3px}.sg-cam .sg-scale-top,.sg-cam .sg-scale-avg,.sg-cam .sg-scale-zero{color:#7d6a9e}.sg-readout{color:#eafff3;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;background:#2f6b4d;border-radius:3px;padding:1px 6px;font-size:9px;position:absolute;top:3px;transform:translate(-50%)}.sg-cam .sg-readout{background:#4a3d6e}.sg-shot{pointer-events:auto;z-index:1;position:absolute;inset:18px 4px 2px}.sg-shot .sg-bare{position:absolute;inset:0}.tl-crane-editor{pointer-events:auto;position:absolute;inset:0}.cam-mode-switch{flex:none;gap:2px;display:flex}.tl-crane-editor-svg{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tl-crane-editor-hit{fill:#0000;pointer-events:all}.tl-crane-grid{stroke:#b9a1e847;stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:none}.tl-crane-fill{fill:#9a7bd429;pointer-events:none}.tl-crane-line{fill:none;stroke:#b9a1e8;stroke-width:1.6px;vector-effect:non-scaling-stroke;pointer-events:none}.tl-crane-time-pick{stroke:#a78bfa61;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.tl-crane-time-pick.selected{stroke:#ffb454d9}.tl-crane-knob{box-sizing:border-box;cursor:ns-resize;z-index:4;background:#a78bfa;border:2px solid #211b31;border-radius:50%;width:15px;height:15px;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #cbb7ff80,0 0 10px #a78bfa8c}.tl-crane-knob:hover,.tl-crane-knob:focus-visible{outline-offset:1px;outline:2px solid #fff}.tl-crane-knob.selected{background:#ffb454;border-color:#40270f;box-shadow:0 0 0 1px #ffe0a8,0 0 12px #ffb454e6}.tl-shot-block.has-dolly .tl-shot-title,.tl-shot-block.has-dolly .tl-shot-meta{z-index:2;text-shadow:0 1px 2px #000c;position:relative}.sg-shot .sg-body{background:0 0;border:0;min-height:0;margin:0}.tl-shot-block.has-dolly .tl-shot-label{z-index:2;position:relative}.tl-shot-block.has-dolly .tl-shot-label b,.tl-shot-block.has-dolly .tl-shot-label small{text-shadow:0 1px 3px #0c0816f2;background:0 0}.sg-shot .sg-line{stroke:#b9a1e8}.sg-shot .sg-axis,.sg-shot .sg-average{stroke:#b9a1e866}.sg-shot .sg-readout{background:#4a3d6e}.sg-shot .sg-scale-top,.sg-shot .sg-scale-avg,.sg-shot .sg-scale-zero{color:#7d6a9e}.sg-cam .sg-line{stroke:#b9a1e8}.sg-cam .sg-fill{fill:#9a7bd42e}.sg-cam .sg-average{stroke:#b9a1e84d}.sg-cam .tl-track-label{color:#cbb8ef}.sg-fill{fill:#6fcf972e}.sg-line{fill:none;stroke:#6fcf97;stroke-width:1.6px;vector-effect:non-scaling-stroke}.sg-average{stroke:#9fe0bb4d;stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.sg-outside{fill:#ffffff0a}.sg-cut{stroke:#ffb454;stroke-width:1.2px;vector-effect:non-scaling-stroke}.sg-cut.selected{stroke-width:2.4px}.sg-cut-pick{stroke:#0000;stroke-width:10px;vector-effect:non-scaling-stroke;cursor:pointer;pointer-events:stroke}.sg-playhead{stroke:#ffb454;stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.7;pointer-events:none}.sg-scale-top,.sg-scale-avg{color:#7fae95;pointer-events:none;font-size:8px;position:absolute;left:4px}.sg-scale-top{top:2px}.sg-scale-avg{transform:translateY(-100%)}.sg-readout{color:#eafff3;white-space:nowrap;pointer-events:none;background:#2f6b4d;border-radius:3px;padding:1px 5px;font-size:9px;position:absolute;top:2px;transform:translate(-50%)}.tl-subject-kind{color:#cbb8ef;letter-spacing:.08em;vertical-align:1px;background:#9a7bd438;border-radius:3px;margin-right:6px;padding:1px 5px;font-size:8px;font-weight:700;display:inline-block}.tl-object-editor .tl-subject-kind{color:#9fe0bb;background:#6fcf9733}.tl-camera-editor-title{text-overflow:ellipsis;white-space:nowrap;color:#cbb8ef;align-items:center;max-width:148px;font-size:11px;display:flex;overflow:hidden}.tl-camera-head,.tl-camera-tool{color:#b9adc9;height:28px;font:inherit;cursor:pointer;background:#2b2731;border:1px solid #9a7bd459;border-radius:3px;padding:0 7px;font-weight:700}.tl-camera-head.active,.tl-camera-tool.active{color:#fff;background:#7258a0;border-color:#a78bfa}.tl-camera-tool.danger{color:#ffc9cb;border-color:#e5484d61}.tl-camera-tool.danger:hover,.tl-camera-tool.danger:focus-visible{color:#fff;background:#e5484d2e;border-color:#e5484d}.tl-camera-head:disabled,.tl-camera-tool:disabled,.tl-camera-editor input:disabled{opacity:.4;cursor:default}.tl-camera-editor label{white-space:nowrap;color:#a99fb7;grid-template-columns:auto 50px auto;align-items:center;gap:3px;display:grid}.tl-camera-editor input{box-sizing:border-box;color:#eee8f7;width:50px;height:27px;font:inherit;font-variant-numeric:tabular-nums;background:#17151b;border:1px solid #9a7bd457;border-radius:3px;outline:0;padding:0 3px}.tl-camera-metric{box-sizing:border-box;color:#cfc6dc;width:50px;height:27px;font:inherit;font-variant-numeric:tabular-nums;background:#17151b8a;border:1px solid #9a7bd433;border-radius:3px;justify-content:flex-end;align-items:center;padding:0 5px;display:inline-flex}.tl-camera-editor input:focus{border-color:#a78bfa;box-shadow:0 0 0 1px #a78bfa47}.tl-camera-editor label small{color:#80758e;font-size:8px}.tl-camera-advanced{white-space:nowrap;color:#a99fb7;flex:none}.tl-camera-advanced[open]{align-items:center;gap:7px;display:flex}.tl-camera-advanced summary{cursor:pointer;color:#cbb8ef}.tl-camera-count{opacity:.65;letter-spacing:.02em;align-self:center;font-size:10px}.tl-camera-slate{color:#91869e;letter-spacing:.04em;text-transform:uppercase;border-left:1px solid #9a7bd44d;flex:none;padding-left:7px;font-size:9px;font-weight:700}.tl-camera-blocked{color:#d8bd83;white-space:nowrap;background:#e7b55714;border:1px solid #e7b55761;border-radius:3px;align-items:center;min-height:28px;padding:0 10px;font-size:10px;display:inline-flex}.tl-transport{align-items:center;gap:6px;display:flex}.tl-motion-speed-editor{color:#b9efc0;white-space:nowrap;background:#171d19eb;border:1px solid #7ed08f52;border-radius:5px;align-items:center;gap:5px;min-width:220px;padding:2px 7px;font-size:9px;display:inline-flex}.tl-motion-speed-editor>span{font-weight:600}.tl-motion-speed-editor input[type=range]{accent-color:#7ed08f;cursor:ew-resize;width:90px}.tl-motion-speed-editor input[type=number]{color:#d3f5d8;width:44px;height:18px;font:inherit;font-variant-numeric:tabular-nums;background:#101713;border:1px solid #9fe0a76b;border-radius:3px;padding:0 3px}.tl-motion-speed-editor input:focus-visible{outline-offset:1px;outline:2px solid #fff}.tl-motion-speed-editor small{color:#7ed08f}.tl-btn{width:26px;height:22px;color:var(--fg);border:1px solid var(--line2);cursor:pointer;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease);background:#26262b;border-bottom-width:2px;border-radius:6px;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.tl-btn:active{transform:scale(.94)}.tl-btn.play{color:var(--on-accent);background:var(--accent);border-color:#2233d6}.tl-btn.play:hover{background:var(--accent-2)}.tl-readout{font-variant-numeric:tabular-nums;color:var(--muted);border:1px solid var(--line);white-space:nowrap;background:#101013;border-radius:6px;margin-left:6px;padding:3px 9px;font-size:12px}.tl-readout b{color:var(--cyan);font-weight:600}.tl-badge{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#ffd166;background:#ffd16614;border:1px solid #ffd16666;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700}.tl-toggle{width:24px;height:22px;color:var(--muted);cursor:pointer;transition:color var(--fast) var(--ease), background var(--fast) var(--ease);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;margin-left:auto;font-size:11px;display:inline-flex}.tl-body{--tl-label-w:148px;flex:1;min-height:156px;position:relative;overflow:auto}.tl-surface{width:calc(var(--tl-label-w) + (100% - var(--tl-label-w)) * var(--tl-zoom));grid-template-rows:28px repeat(3,minmax(18px,1fr)) minmax(68px,1.7fr) auto;height:100%;min-height:0;display:grid;position:relative}.tl-surface.empty-shots{grid-template-rows:28px repeat(3,minmax(18px,1fr)) minmax(42px,1fr) auto}.tl-ruler{grid-template-columns:var(--tl-label-w) 1fr;border-bottom:1px solid var(--line);background:#101013;height:auto;display:grid}.tl-ruler-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);border-right:1px solid var(--line);z-index:2;align-items:flex-end;padding:0 12px 5px;font-size:9.5px;display:flex;position:sticky;left:0}.tl-ruler-lane{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.tl-frame-box{top:3px;left:clamp(0px, calc(var(--tl-f) * 100%), calc(100% - 42px));background:var(--accent);color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;z-index:2;border-radius:6px;justify-content:center;align-items:center;min-width:42px;height:20px;font-size:11px;font-weight:600;display:flex;position:absolute;box-shadow:0 0 12px #3346ff73}.tl-tick{bottom:0;left:clamp(2px, calc(var(--tl-f) * 100%), calc(100% - 2px));font-variant-numeric:tabular-nums;color:var(--muted2);pointer-events:none;flex-direction:column;align-items:center;gap:2px;font-size:9px;display:flex;position:absolute;transform:translate(-50%)}.tl-tick i{background:var(--line2);width:1px;height:5px;display:block}.tl-track{grid-template-columns:var(--tl-label-w) 1fr;border-bottom:1px solid #ffffff0f;height:auto;min-height:18px;display:grid}.tl-track-label{white-space:nowrap;color:var(--muted);border-right:1px solid var(--line);z-index:2;background:#17171a;align-items:center;padding:0 12px;font-size:10.5px;display:flex;position:sticky;left:0;overflow:hidden}.tl-lane{position:relative}.tl-grid{top:0;bottom:0;left:calc(var(--tl-f) * 100%);pointer-events:none;background:#ffffff08;width:1px;position:absolute}.tl-lane.root{cursor:crosshair}.tl-track-label{gap:7px}.tl-track-add{border:1px solid var(--line2);color:#aebcff;cursor:pointer;background:#242833;border-radius:4px;width:18px;height:18px;margin-left:auto;padding:0}.tl-track-add.cut{white-space:nowrap;width:auto;min-width:76px;padding:0 6px;font-size:9px}.tl-track-add.cut.camera{color:#cbb8ef;border-color:#9a7bd461;min-width:54px}.tl-motion-clip{box-sizing:border-box;height:min(20px,100% - 6px);top:50%;left:calc(var(--tl-f-start) * 100%);width:calc((var(--tl-f-end) - var(--tl-f-start)) * 100%);color:#9fe0a7;letter-spacing:.02em;white-space:nowrap;pointer-events:auto;background:linear-gradient(103deg,#7ed08f47,#7ed08f24);border:1px solid #7ed08f73;border-radius:5px;align-items:center;padding:0 8px;font-size:9px;font-weight:600;display:flex;position:absolute;overflow:hidden;transform:translateY(-50%);container-type:inline-size}.tl-motion-clip.trimming{background:linear-gradient(103deg,#7ed08f73,#7ed08f40);border-color:#7ed08fcc}.tl-motion-clip.selected{border-color:#9fe0a7f2;box-shadow:0 0 10px #7ed08f47}.tl-motion-clip-label{text-overflow:ellipsis;text-align:center;flex:1;overflow:hidden}.tl-track-add.motion-cut{color:#9fe0a7;border-color:#7ed08f61;width:auto;min-width:34px;padding:0 6px;font-size:9px}.tl-track-add.motion-cut:disabled{opacity:.35;cursor:default}.tl-motion-clip-handle{pointer-events:auto;cursor:ew-resize;touch-action:none;background:#7ed08f8c;border:none;border-radius:3px;flex:none;align-self:stretch;width:8px;margin:0;padding:0}.tl-motion-clip-handle:hover{background:#7ed08ff2}.tl-motion-clip-handle.speed{background:#ebbe608c;margin-left:auto}.tl-motion-clip-handle.speed:hover{background:#ebbe60f2}.tl-motion-clip.retiming{border-color:#ebbe60cc;box-shadow:0 0 10px #ebbe6040}.tl-chip{box-sizing:border-box;height:min(22px,100% - 4px);top:50%;left:calc(var(--tl-f-start) * 100%);width:calc((var(--tl-f-end) - var(--tl-f-start)) * 100%);color:#fff;letter-spacing:.02em;white-space:nowrap;pointer-events:auto;touch-action:none;cursor:grab;background:linear-gradient(103deg,#2b3cf5,#4d7bff);border-radius:5px;align-items:center;padding:0 8px;font-size:9.5px;font-weight:600;display:flex;position:absolute;overflow:hidden;transform:translateY(-50%);box-shadow:0 0 10px #3346ff59}.tl-chip.moving,.tl-chip.moving .tl-chip-input{cursor:grabbing;-webkit-user-select:none;user-select:none}.tl-chip.selected{outline:1px solid #9bb2ff;box-shadow:0 0 14px #5672ffa6}.tl-chip-input{color:#fff;min-width:0;height:100%;font:inherit;cursor:grab;background:0 0;border:0;outline:0;flex:1;padding:0 5px;font-weight:600}.tl-chip-input:focus{cursor:text}.tl-chip-input::placeholder{color:#ffffffb8}.tl-chip-handle{cursor:ew-resize;z-index:2;background:#fff3;border:0;width:8px;padding:0;position:absolute;top:0;bottom:0}.tl-chip-handle.start{left:0}.tl-chip-handle.end{right:0}.tl-chip-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tl-chip.empty{box-shadow:none;background:linear-gradient(103deg,#2a2d3a,#3b4050)}.tl-chip.empty .tl-chip-text{color:var(--muted);font-weight:500}.tl-shot-block{box-sizing:border-box;top:3px;bottom:3px;left:calc(var(--tl-f-start) * 100%);width:calc((var(--tl-f-end) - var(--tl-f-start)) * 100%);color:#f0eaff;cursor:grab;touch-action:none;background:#44365d;border:1px solid #735ba0;border-radius:3px;align-items:flex-start;gap:4px;padding:5px 15px 28px;font-size:9.5px;display:flex;position:absolute;overflow:hidden;container-type:inline-size}.tl-shot-empty{color:#8e93a3;text-align:center;justify-content:center;align-items:center;gap:10px;margin:0;padding:0 14px;font-size:9px;font-style:italic;display:flex;position:absolute;inset:0}.tl-shot-empty-add{color:#e7d9ff;font:inherit;cursor:pointer;background:#503f6db8;border:1px solid #735ba0;border-radius:4px;flex:none;padding:4px 8px;font-style:normal}.tl-shot-empty-add:hover,.tl-shot-empty-add:focus-visible{color:#fff;background:#5b467b;border-color:#b79be8}.tl-shot-block.active{background:#503f6d;border-color:#e7b557}.tl-shot-block.active .tl-shot-label small{background:#503f6de6}.tl-shot-block.selected{box-shadow:inset 0 0 0 1px #c9b5f473,0 0 8px #9a7bd452}.tl-shot-block.has-dolly,.tl-shot-block.has-dolly.active{background:linear-gradient(#584288f5 0%,#342754f5 100%);border-color:#a78bfa}.tl-shot-block.moving{opacity:.72;cursor:grabbing;box-shadow:0 0 0 2px #e7b5574d}.tl-shot-label{z-index:5;white-space:nowrap;flex-direction:column;flex:1;align-items:flex-start;gap:1px;min-width:0;display:flex;position:relative;overflow:hidden}.tl-shot-label b{text-overflow:ellipsis;min-width:0;overflow:hidden}.tl-shot-label small{color:#aab4c0;font-variant-numeric:tabular-nums;background:#44365ddb;flex:none;padding-right:3px;font-size:8.5px}.tl-shot-camera-summary{white-space:nowrap;align-items:center;gap:4px;min-width:0;padding-top:1px;display:flex}.tl-shot-camera-summary>b{letter-spacing:.04em;font-size:9px}.tl-shot-camera-summary>small{text-overflow:ellipsis;color:#d0c3e5;font-variant-numeric:tabular-nums;min-width:0;font-size:8px;overflow:hidden}.tl-shot-key-surface{cursor:crosshair;z-index:1;background:#140c2452;border:0;border-top:1px solid #c9b5f447;height:12px;padding:0;position:absolute;bottom:0;left:12px;right:12px}.tl-shot-key-surface:hover{background:#a78bfa2e}.tl-shot-name-input{color:#fff;width:100%;min-width:28px;height:16px;font:inherit;background:#232323;border:1px solid #e7b557;outline:0;padding:0 3px}.tl-shot-edge{color:#e7b557;cursor:ew-resize;z-index:3;background:0 0;border:0;border-left:2px solid #e7b557;width:14px;padding:0;font-size:14px;line-height:1;position:absolute;top:-2px;bottom:-2px;left:0}.tl-shot-edge:hover{background:#e7b5576b}.tl-shot-edge.end{border-left:0;border-right:2px solid #e7b557;left:auto;right:0}.tl-shot-actions{z-index:6;background:#1d152aeb;border-radius:3px;gap:2px;padding:2px;display:none;position:absolute;top:3px;right:15px}.tl-shot-block:hover .tl-shot-actions,.tl-shot-block:focus-within .tl-shot-actions{display:flex}.tl-shot-actions button{width:auto;min-width:30px;height:20px;color:inherit;cursor:pointer;background:#ffffff1f;border:0;border-radius:2px;padding:0 4px;font-size:9px;line-height:1}.tl-shot-actions button:disabled{opacity:.35;cursor:default}.tl-shot-warn{color:var(--warn,#f5b453);letter-spacing:.06em;white-space:nowrap;cursor:help;background:#f5b45329;border:1px solid #f5b45380;border-radius:2px;flex:none;padding:1px 3px;font-size:7.5px;font-weight:700}.tl-camera-block-state{color:#d8ccef;letter-spacing:.06em;background:#00000029;border:1px solid #ffffff38;border-radius:2px;padding:1px 3px;font-size:7.5px;font-weight:700}.tl-marker.cam{pointer-events:auto;cursor:grab;z-index:5;background:#a78bfa;border-color:#1e1040;top:auto;bottom:2px;transform:translate(-50%);box-shadow:0 0 8px #a78bfacc}.tl-lane.cam{cursor:crosshair}@container (width<=320px){.tl-shot-camera-summary>small,.tl-camera-block-state{display:none}}@container (width<=240px){.tl-shot-camera-summary{display:none}}.tl-crane-point{box-sizing:border-box;cursor:ns-resize;pointer-events:auto;z-index:5;background:#a78bfa;border:2px solid #211b31;border-radius:50%;width:18px;height:18px;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #cbb7ffa6,0 0 8px #a78bfae6}.tl-crane-point:hover,.tl-crane-point:focus-visible{outline-offset:1px;outline:2px solid #fff}.tl-crane-point.selected{background:#ffb454;border-color:#40270f;box-shadow:0 0 0 1px #ffe0a8,0 0 9px #ffb454f2}.tl-marker{top:50%;left:clamp(3px, calc(var(--tl-f) * 100%), calc(100% - 3px));background:var(--cyan);pointer-events:none;z-index:2;border:2px solid #0d1b2e;border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 8px #79c9ffcc}.tl-marker.wp.pending{background:0 0;border-color:#ffd76c;box-shadow:0 0 10px #ffd76ce6}.tl-marker.wp{pointer-events:auto;cursor:pointer}.tl-marker.ik{pointer-events:auto;cursor:pointer;background:#ff8a3d;border-color:#2e1a0d;border-radius:2px;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 8px #ffa05acc}.tl-ik-run{top:50%;left:calc(var(--tl-f) * 100%);width:calc((var(--tl-f2) - var(--tl-f)) * 100%);pointer-events:auto;cursor:pointer;z-index:2;background:#ff8a3d8c;border:1px solid #2e1a0d;border-radius:3px;min-width:6px;height:5px;position:absolute;transform:translateY(-50%);box-shadow:0 0 7px #ffa05a80}.tl-ik-run-cap{pointer-events:none;background:#ff8a3d;border:1px solid #2e1a0d;border-radius:2px;width:7px;height:7px;position:absolute;top:50%}.tl-ik-run-cap.start{left:-1px;transform:translateY(-50%)rotate(45deg)}.tl-ik-run-cap.end{right:-1px;transform:translateY(-50%)rotate(45deg)}.tl-ik-run-at{top:50%;left:clamp(3px, calc(var(--tl-f) * 100%), calc(100% - 3px));pointer-events:none;background:#ffd0a8;border:1px solid #2e1a0d;border-radius:2px;width:9px;height:9px;position:absolute;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 8px #ffc896e6}.tl-track-add.ik{color:#ffc79a;border-color:#4a382a}.tl-btn.ik:disabled{opacity:.4;cursor:not-allowed}.tl-btn.ik{white-space:nowrap;width:auto;min-width:48px;padding:0 7px}.tl-btn.ik.snap{border-color:#4a382a}.tl-btn.ik.snap.on{color:#ffc79a;border-color:#ff8a3d;box-shadow:0 0 8px #ff8a3d59}.tl-btn.wp{letter-spacing:.02em;width:auto;color:var(--muted);padding:0 9px;font-size:11px;font-weight:600}.tl-btn.zoom{font-variant-numeric:tabular-nums;letter-spacing:.02em;width:auto;color:var(--muted);padding:0 7px;font-size:11px}.tl-btn.zoom.on{color:#79c0ff;background:#388bfd1a;border-color:#79c0ff73}.tl-btn.clear{color:#ff9b9b;width:auto;padding:0 8px;font-size:11px}.tl-badge.generating{color:#79c0ff;background:#388bfd1a;border-color:#388bfd73}.tl-wp-hint{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.tl-pose-hint{color:var(--muted);white-space:nowrap;font-size:10.5px}.tl-playhead{top:0;bottom:0;left:calc(var(--tl-label-w) + (100% - var(--tl-label-w)) * var(--tl-f));background:var(--cyan);pointer-events:none;z-index:3;width:1.5px;position:absolute;box-shadow:0 0 8px #79c9ffb3}.tl-collapsed{align-items:center;gap:12px;height:100%;padding:0 14px;display:flex}@media (width<=1040px){.app{width:100%;height:auto;min-height:100vh;overflow-x:hidden}html,body,#root{height:auto;min-height:100%;overflow-x:hidden}.main{flex-direction:column;width:100%;max-width:100%}.workspace{flex-direction:column}.viewport{flex:none;min-width:0;max-width:100%;height:54vh;padding:0}.panel{border-left:none;border-top:1px solid var(--line);width:100%;min-width:0;max-width:100%;padding:16px 16px 40px;overflow:visible}.stage{aspect-ratio:auto;width:100%;max-width:100%;height:100%;max-height:none}.tagline{display:none}.pose-studio{width:auto;height:auto;inset:15% 8px 8px}.pose-grid{grid-template-columns:1fr 1fr 1fr;grid-auto-rows:min-content}}@media (width<=680px){body{font-size:12.5px}.topbar{gap:10px;height:54px;padding:0 14px}.kbd-hint{display:none}.wordmark{font-size:22px}.viewport{min-height:46vh;padding:10px}.stage{border-radius:13px}.pose-grid{grid-template-columns:1fr 1fr}.hud,.caption{font-size:10.5px}.caption{letter-spacing:.08em;padding:6px 11px}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes riseCenter{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes stageIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes studioIn{0%{opacity:0;transform:translate(26px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes studioOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(26px)scale(.96)}}@keyframes tileIn{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fabPop{0%{opacity:0;transform:translateY(6px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes stripeShift{0%{background-position:0%}to{background-position:200%}}@keyframes ddIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes subjectIn{0%{opacity:0;transform:translate(18px)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.workspace-splitter,.vp-inset-resize{display:none}@media (width>=1041px){.viewport{justify-content:stretch;align-items:stretch;padding:8px}.stage{aspect-ratio:auto;width:100%;max-width:none;height:100%;max-height:none}.panel.hierarchy-sidebar{width:var(--sidebar-width);min-width:280px;max-width:50vw}.hierarchy-pane{height:auto;min-height:0;max-height:none}.inspector-pane{overscroll-behavior:contain;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:auto}.timeline{height:var(--timeline-height);min-height:110px;max-height:58vh}.timeline.collapsed{height:34px;min-height:34px}.vp-inset{width:var(--inset-width);height:var(--inset-height);aspect-ratio:auto;min-width:190px;max-width:none;min-height:150px}.vp-inset.shot{aspect-ratio:auto}.workspace-splitter,.vp-inset-resize{touch-action:none;-webkit-user-select:none;user-select:none;display:block}.workspace-splitter-vertical{z-index:12;cursor:col-resize;flex:0 0 6px;margin-left:-3px;margin-right:-3px;position:relative}.workspace-splitter-vertical:after,.hierarchy-splitter:after,.timeline-splitter:after{content:"";transition:background var(--fast) ease;background:0 0;position:absolute}.workspace-splitter-vertical:after{width:2px;inset:0 2px}.hierarchy-splitter{z-index:3;cursor:row-resize;background:var(--panel);height:6px;position:relative}.hierarchy-splitter:after,.timeline-splitter:after{height:2px;top:2px;left:0;right:0}.timeline-splitter{z-index:13;cursor:row-resize;flex:0 0 6px;margin-top:-3px;margin-bottom:-3px;position:relative}.workspace-splitter:hover:after,body.is-resizing .workspace-splitter:after{background:var(--accent)}.vp-inset-resize{z-index:9;cursor:nwse-resize;pointer-events:auto;width:24px;height:24px;position:absolute;bottom:0;right:0}.vp-inset-resize:before,.vp-inset-resize:after{content:"";border-bottom:2px solid #ffffffb8;border-right:2px solid #ffffffb8;position:absolute;bottom:5px;right:5px}.vp-inset-resize:before{width:12px;height:12px}.vp-inset-resize:after{width:7px;height:7px}body.is-resizing,body.is-resizing *{-webkit-user-select:none!important;user-select:none!important}body.resize-sidebar,body.resize-sidebar *{cursor:col-resize!important}body.resize-hierarchy,body.resize-hierarchy *,body.resize-timeline,body.resize-timeline *{cursor:row-resize!important}body.resize-inset,body.resize-inset *{cursor:nwse-resize!important}}.panel.hierarchy-sidebar{background:#282828;border-color:#ffffff38}.hierarchy-pane{background:#2c2c2c;border-color:#ffffff38}.hierarchy-heading,.inspector-heading{background:#232323;border-color:#ffffff24}.hierarchy-heading strong,.inspector-heading strong{color:#d2d2d2}.hierarchy-kicker,.inspector-heading>span{color:#9a9a9a}.hierarchy-frame-status{color:#5a9bd4;background:#3a7cbf17;border-color:#3a7cbf59}.hierarchy-row-wrap:before{background:#ffffff21}.hierarchy-row-wrap:hover{background:#3a7cbf14}.hierarchy-row-wrap.selected{background:#2d5c8a;box-shadow:inset 2px 0 #3a7cbf}.hierarchy-toggle{color:#7c8588}.hierarchy-label{color:#d2d2d2}.selected .hierarchy-label{color:#fff}.hierarchy-status{color:#5a9bd4}.hierarchy-badge{color:#9a9a9a;background:#ffffff14}.hierarchy-icon{color:#82909d}.hierarchy-icon.scene{color:#78a8dc}.hierarchy-icon.camera{color:#d9a34a}.hierarchy-icon.group,.hierarchy-icon.character{color:#73aa8d}.hierarchy-icon.rig,.hierarchy-icon.bone{color:#a98cc0}.hierarchy-icon.environment{color:#73aa8d}.hierarchy-icon.props,.hierarchy-icon.object{color:#cb826b}.selected .hierarchy-icon{filter:brightness(1.25)}.inspector-scroll{background:#282828}.card{box-shadow:var(--shadow);background:#2c2c2c;border-color:#ffffff2e;border-radius:8px}.card:after{opacity:.9;background:#3a7cbf;height:2px}.card h3{color:#9a9a9a}.card h3:before{box-shadow:none;background:#3a7cbf}.inspector-hint,.ardy-hint,.ardy-status,.hint,.check,.field label,.row,.readout{color:#9a9a9a}.hint b,.ardy-hint code,.ardy-outcome code{color:#d2d2d2}.inspector-status-grid,.ardy-report{background:#ffffff09;border-color:#ffffff24}.inspector-status-grid b{color:#d2d2d2}.inspector-list button{color:#3d4d58;background:#ffffff61;border-color:#ffffff29}.inspector-list button:hover,.inspector-list button.active{color:#d2d2d2;background:#3c3c3c;border-color:#3a7cbf8f}.presets button{color:#3d4d58;background:#383838;border-color:#ffffff29;border-radius:6px}.presets button:hover{color:#d2d2d2;background:#3c3c3c;border-color:#3a7cbf7a;transform:none}.presets button.active{color:#d2d2d2;background:#2d5c8a;border-color:#3a7cbf;box-shadow:0 0 0 1px #3a7cbf29}.row .val,.readout strong{color:#d2d2d2}input[type=range]{background:#3a3a3a}input[type=range]::-webkit-slider-thumb{background:#2c2c2c;border-color:#3a7cbf;box-shadow:0 1px 2px #0000002e}input[type=range]::-moz-range-thumb{background:#2c2c2c;border-color:#3a7cbf;box-shadow:0 1px 2px #0000002e}.field input[type=text],.field input[type=number],.field textarea,.field select,.dropdown .trigger{color:#d2d2d2;box-shadow:none;background-color:#323232;border-color:#fff3;border-radius:6px}.field input[type=text]::placeholder,.field textarea::placeholder{color:#979d9a}.field select option{color:#d2d2d2;background:#2c2c2c}.dropdown-menu{box-shadow:var(--shadow-md);background:#2c2c2c;border-color:#ffffff3d;border-radius:7px}.dropdown-item{color:#3d4d58;border-radius:5px}.dropdown-item.active{color:#5a9bd4}.segmented{background:#1e1e1e;border-color:#ffffff2e;border-radius:7px}.segmented button{color:#9a9a9a}.segmented button:hover{color:#d2d2d2}.segmented button.active{color:#fff}.btn{color:#d2d2d2;box-shadow:none;background:#383838;border-color:#ffffff3d;border-radius:6px}.btn.ghost{color:#9a9a9a;border-color:#ffffff2e}.btn.ghost:hover{color:#d2d2d2;background:#3c3c3c}.btn.primary{box-shadow:none;background:#3a7cbf;border:1px solid #397f91}.btn.primary:hover{box-shadow:none;background:#3f91a7}.vp-inset{border:1px solid #ffffff73;border-radius:7px;box-shadow:0 7px 20px #00000026}.vp-inset-resize{background:linear-gradient(135deg,#0000 50%,#26221e8c 50%);border-bottom-right-radius:7px}.vp-inset-resize:before,.vp-inset-resize:after{border-color:#fffcf7d9}.vp-inset-tag,.hud,.caption,.viewmode,.grid-toggle{color:#d2d2d2;box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffaf1e6;border-color:#ffffff6b}.vp-inset-tag{color:#d2d2d2}.viewmode{border-radius:7px}.viewmode button{color:#52616b;border-radius:5px}.viewmode button:hover{color:#d2d2d2}.viewmode button.active{color:#fff;box-shadow:none;background:#3a7cbf}.caption{color:#d2d2d2}.grid-toggle.active{color:#5a9bd4;background:#3c3c3c;border-color:#3a7cbf}.film-frame i:before,.film-frame i:after{border-color:#ffffffb8}.toast,.modal,.promptbox{color:#d2d2d2;background:#2c2c2c;border-color:#ffffff3d}.modal-overlay{background:#ffffff4d}.modal:before{background:#3a7cbf;animation:none}.modal .x:hover{color:#d2d2d2;background:#1e1e1e}.timeline{background:#232323;border-color:#ffffff38;box-shadow:0 -5px 14px #00000014}.tl-head{background:#282828;border-color:#ffffff2e}.tl-btn{color:#d2d2d2;background:#2c2c2c;border-color:#ffffff45;border-bottom-width:1px;border-radius:5px}.tl-btn:hover{background:#3c3c3c;border-color:#3a7cbf}.tl-btn.play,.tl-btn.play:hover{color:#fff;background:#3a7cbf;border-color:#397f91}.tl-readout{color:#9a9a9a;background:#2c2c2c;border-color:#ffffff2e}.tl-readout b{color:#5a9bd4}.tl-badge{color:#e7b557;background:#e7b55724;border-color:#be861f75}.tl-toggle:hover{color:#d2d2d2;background:#1e1e1e;border-color:#fff3}.tl-body,.tl-surface{background:#282828}.tl-ruler{background:#232323;border-color:#ffffff2e}.tl-ruler-label,.tl-track-label{color:#52616b;background:#282828;border-color:#ffffff29}.tl-tick{color:#687477}.tl-tick i{background:#ffffff47}.tl-track{border-color:#ffffff1a}.tl-lane{background-color:#282828}.tl-grid{background:#ffffff13}.tl-lane:hover{background-color:#383838}.tl-frame-box{color:#d2d2d2;box-shadow:none;background:#e7b557;border:1px solid #c58d29;border-radius:5px}.tl-track-add{color:#5a9bd4;background:#2c2c2c;border-color:#ffffff3d}.tl-chip{color:#fff;box-shadow:none;background:#3a7cbf;border-radius:4px}.tl-chip.selected{outline-color:#5a9bd4;box-shadow:0 0 0 2px #3a7cbf2e}.tl-chip.empty{color:#52616b;background:#424242}.tl-chip.empty .tl-chip-text{color:#52616b}.tl-chip-handle{background:#ffffff52}.tl-marker{background:#6f9f86;border-color:#2c2c2c;box-shadow:0 0 0 1px #5d8a73}.tl-marker.wp.pending{border-color:#d69a31;box-shadow:0 0 0 2px #e7b55740}.tl-marker.wp:hover{box-shadow:0 0 0 3px #6f9f8633}.tl-marker.ik{background:#d65f55;border-color:#2c2c2c;box-shadow:0 0 0 1px #b54840}.tl-marker.ik:hover{box-shadow:0 0 0 3px #d65f5533}.tl-ik-run{background:#d65f556b;border-color:#2c2c2c;box-shadow:0 0 0 1px #b5484080}.tl-ik-run:hover{background:#d65f55ad;box-shadow:0 0 0 3px #d65f5533}.tl-ik-run.current{background:#d65f55b8;box-shadow:0 0 0 3px #d65f5547}.tl-ik-run-cap{background:#d65f55;border-color:#2c2c2c}.tl-ik-run-at{background:#f0a89f;border-color:#2c2c2c;box-shadow:0 0 0 1px #b54840}.tl-marker.ik.current{box-shadow:0 0 0 3px #d65f5547}.tl-marker.cam{background:#9a7bd4;border-color:#2c2c2c;box-shadow:0 0 0 1px #7b5cb0}.tl-marker.cam:hover{box-shadow:0 0 0 3px #9a7bd440}.tl-track-add.ik,.tl-btn.ik.snap{color:#e58a80;border-color:#d65f5557}.tl-btn.ik.snap.on{color:#e58a80;box-shadow:none;background:#d65f5517;border-color:#d65f55}.tl-btn.wp.on{color:#8fc7a5;background:#6f9f861f;border-color:#6f9f868c}.tl-btn.zoom.on,.tl-badge.generating{color:#5a9bd4;background:#3a7cbf1a;border-color:#3a7cbf75}.tl-badge.playback{color:#8fc7a5;background:#6f9f861c;border-color:#6f9f8675}.tl-wp-hint.warn{color:#e7b557}.tl-playhead{box-shadow:none;background:#e7b557;width:2px}.tagline{letter-spacing:-.005em;font-size:12px;font-weight:480}.hierarchy-heading strong,.inspector-heading strong{font-family:var(--display);letter-spacing:-.015em;font-size:12.5px;font-weight:680}.hierarchy-kicker,.inspector-heading>span{letter-spacing:.105em;font-size:8.5px;font-weight:720}.hierarchy-label{letter-spacing:-.005em;font-size:10.75px;font-weight:520}.hierarchy-status,.hierarchy-badge,.hierarchy-frame-status{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.card h3{font-family:var(--display);letter-spacing:.105em;font-size:10.5px;font-weight:720}.inspector-hint,.ardy-hint,.studio-hint{letter-spacing:0;font-size:10.5px;line-height:1.55}.presets button,.btn,.segmented button,.dropdown-item,.dropdown .trigger{letter-spacing:-.005em;font-size:12px;font-weight:580}.field label,.check{letter-spacing:0;font-size:11px;font-weight:520}.field input[type=text],.field input[type=number],.field textarea,.field select{letter-spacing:0;font-size:12px;font-weight:480}.row{letter-spacing:0;font-size:11.25px}.row .val,.readout,.inspector-status-grid,.ardy-status,.ardy-report-grid b,.ardy-report-grid span,.ardy-meta,.ardy-outcome code,.ardy-hint code,.kbd-hint,.caption,.hud,.tl-readout,.tl-badge,.tl-frame-box,.tl-tick,.tl-ruler-label,.tl-wp-hint{font-family:var(--mono);font-variant-numeric:tabular-nums}.row .val{letter-spacing:-.015em;font-size:11px;font-weight:650}.kbd-hint{letter-spacing:-.015em;font-size:10.5px}.kbd-hint b{letter-spacing:-.02em;font-size:9.5px;font-weight:650}.caption{letter-spacing:.065em;font-size:10px;font-weight:650}.viewmode button,.grid-toggle,.vp-inset-tag{font-family:var(--sans);letter-spacing:-.005em;font-size:10.5px;font-weight:650}.tl-btn{font-family:var(--sans);font-weight:620}.tl-readout{letter-spacing:-.02em;font-size:10.75px;font-weight:520}.tl-ruler-label{letter-spacing:.1em;font-size:9px;font-weight:700}.tl-track-label{letter-spacing:-.005em;font-size:10.25px;font-weight:540}.tl-tick{letter-spacing:-.025em;font-size:8.5px;font-weight:520}.tl-frame-box{letter-spacing:-.02em;font-size:10.5px;font-weight:720}.tl-chip,.tl-chip-input{font-family:var(--sans);letter-spacing:-.005em;font-size:9.5px;font-weight:620}.modal-label{letter-spacing:.1em;font-size:9.5px;font-weight:700}.promptbox{font-size:11.5px;line-height:1.6}.pose-studio{box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);background:#fffaf1f5;border-color:#ffffff3d;border-radius:8px}.pose-studio:before{background:#3a7cbf;border-radius:8px 8px 0 0;animation:none}@media (width>=1041px){.viewport{justify-content:stretch;align-items:stretch;padding:0}.stage{aspect-ratio:auto;width:100%;max-width:none;height:100%;max-height:none}.panel.hierarchy-sidebar{width:var(--sidebar-width);grid-template-rows:auto minmax(0,1fr);min-width:280px;max-width:50vw}.hierarchy-pane{height:auto;max-height:none}.timeline:not(.collapsed){height:var(--timeline-height)}.vp-inset,.vp-inset.shot{width:var(--inset-width);height:var(--inset-height);aspect-ratio:auto;max-width:none}}.panel.hierarchy-sidebar{flex-direction:column;display:flex}.right-panel-tabs{border-bottom:1px solid var(--line);background:var(--panel);flex:none;grid-template-columns:1fr 1fr;gap:4px;padding:8px;display:grid}.right-panel-tabs button{height:34px;color:var(--muted);font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:0 10px;font-size:10px;font-weight:700}.right-panel-tabs button:hover{color:var(--fg);background:#3a7cbf14}.right-panel-tabs button.active{color:#cfe3f5;background:#2d5c8a;border-color:#3a7cbf6b;box-shadow:inset 0 -2px #3a7cbf}.right-panel-view,.hierarchy-tab-pane,.inspector-pane{min-height:0}.right-panel-view{flex:1 1 0;min-width:0;overflow:hidden auto}.right-panel-view>[hidden]{display:none!important}.hierarchy-tab-pane,.hierarchy-tab-pane>.hierarchy-pane,.inspector-pane{width:100%;height:100%;max-height:none}.hierarchy-tab-pane>.hierarchy-pane{border-bottom:0}.hierarchy-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.add-object{position:relative}.add-object-trigger{color:#cfe3f5;height:28px;font:inherit;cursor:pointer;background:#2d5c8a;border:1px solid #3a7cbf6b;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.add-object-trigger:hover{background:#356795}.add-object-menu{z-index:20;border:1px solid var(--line);background:var(--panel);border-radius:9px;width:236px;max-height:330px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 12px 28px #0000002e}.add-object-group{gap:2px;padding-bottom:4px;display:grid}.add-object-heading{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;padding:6px 8px 2px;font-size:8px;font-weight:700;display:block}.add-object-item{width:100%;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:10px;display:flex}.add-object-item:hover{background:#3a7cbf1a;border-color:#3a7cbf6b}.add-object-item small{color:var(--muted);margin-left:auto;font-size:8px}.add-object-swatch{border:1px solid #ffffff40;border-radius:3px;flex:none;width:12px;height:12px}.card .add-object{margin-bottom:10px;display:block}.card .add-object-menu{width:auto;box-shadow:none;margin-top:6px;position:static}.gizmo-modes kbd{font-family:var(--mono);border:1px solid #fff3;border-radius:4px;margin-left:5px;padding:1px 4px;font-size:8px}.object-colors{gap:6px;margin:4px 0 12px;display:flex}.object-color{cursor:pointer;border:1px solid #ffffff40;border-radius:6px;width:22px;height:22px}.object-color.active{box-shadow:0 0 0 2px var(--accent)}.vec3-row{align-items:center;gap:5px;margin:10px 0;display:flex}.vec3-label{width:54px;color:var(--muted);flex:none;font-size:11px;font-weight:520}.number-field{touch-action:none;flex:1;align-items:stretch;min-width:0;display:flex}.number-field .axis{border:1px solid var(--line);background:var(--card2);width:18px;color:var(--muted);font-family:var(--mono);cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;border-right:none;border-radius:6px 0 0 6px;flex:none;justify-content:center;align-items:center;font-size:9px;font-weight:650;display:flex}.number-field input{width:0;min-width:0;color:var(--fg);font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;cursor:ew-resize;background:0 0;border:1px solid #0000;border-radius:0 6px 6px 0;flex:1;padding:3px 6px;font-size:10.5px;font-weight:480}.number-field.editing input{cursor:text}.number-field:hover input{border-color:var(--line);background:var(--card2)}.number-field:focus-within .axis{border-color:var(--accent);background:var(--accent-soft)}.number-field input:focus{border-color:var(--accent);background:var(--card2);box-shadow:0 0 0 2px var(--accent-ring);cursor:text;outline:none}.hierarchy-context-menu{z-index:40;border:1px solid var(--line);background:var(--panel);border-radius:9px;width:236px;max-height:340px;padding:6px;position:fixed;overflow:auto;box-shadow:0 12px 28px #0000002e}.hierarchy-context-item{width:100%;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:10px;font-weight:520;display:flex}.hierarchy-context-item:hover{background:#3a7cbf1a;border-color:#3a7cbf6b}.hierarchy-rename-input{border:1px solid var(--accent);background:var(--card2);min-width:0;color:var(--fg);font:inherit;box-shadow:0 0 0 2px var(--accent-ring);border-radius:4px;outline:none;flex:1;padding:2px 5px;font-size:10.75px;font-weight:520}.move-ab{flex-wrap:wrap;gap:6px;display:flex}.move-ab .btn{flex:1;min-width:62px;padding:6px 0;font-size:11px}.move-ab .btn.ghost.primary,.move-ab .btn.ghost.primary:hover{background:var(--grad);color:var(--on-accent);box-shadow:var(--glow);border-color:#0000}.move-ab .btn:disabled{opacity:.45;cursor:default}.move-slate{letter-spacing:.06em;color:var(--muted);margin:4px 0 10px;font-size:10.5px}.move-frames{gap:10px;display:flex}.move-frames figure{flex:1;min-width:0;margin:0}.move-frames figcaption{letter-spacing:.06em;color:var(--muted);text-align:center;margin-top:4px;font-size:10.5px}.move-head{margin-top:18px}.camera-editor-pointer{color:#aaa2b5;background:#5d487e1f;border:1px solid #9a7bd447;border-radius:4px;margin:4px 0 2px;padding:8px 9px;font-size:10px;line-height:1.35}.move-slate.inline{margin:0}.scene-save-error{color:#e58a80;background:#d65f5517;border-bottom:1px solid #d65f5557;flex:none;margin:0;padding:7px 12px;font-size:12px;font-weight:600;line-height:1.45}.panel.hierarchy-left{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex:none;min-height:0;padding:0;display:flex;overflow:hidden}.hierarchy-left .hierarchy-pane{border-bottom:0;flex:1;min-height:0;max-height:none}.inspector-sidebar{flex-direction:column;display:flex}.inspector-sidebar .inspector-pane{flex-direction:column;flex:1;min-height:0;display:flex}.viewport .viewmode{z-index:7;position:absolute;top:10px;left:10px}.bottom-window{background:var(--bg);border-top:1px solid var(--line);flex-direction:column;flex:none;min-height:0;display:flex}.bottom-window-tabs{border-bottom:1px solid var(--line);background:var(--panel);flex:none;gap:2px;padding:3px 8px 0;display:flex}.bottom-window-tabs button{height:26px;color:var(--muted);font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:3px 3px 0 0;padding:0 12px;font-size:10px;font-weight:700}.bottom-window-tabs button:hover{color:var(--fg);background:var(--hover)}.bottom-window-tabs button.active{background:var(--bg);border-color:var(--line2);color:var(--fg);box-shadow:inset 0 2px var(--accent)}.bottom-window-tabs button.active:hover{background:var(--bg)}.bottom-timeline{flex-direction:column;min-height:0;display:flex}.bottom-window>[hidden]{display:none!important}.assets-pane{height:var(--timeline-height);background:var(--panel);min-height:110px;max-height:58vh;padding:7px 10px;overflow-y:auto}.assets-shelf{grid-template-columns:170px minmax(560px,1fr) minmax(240px,.55fr);align-items:start;gap:8px;display:grid}.assets-shelf:has(.asset-storage-manager){display:block}.assets-shelf:has(.asset-storage-manager) .assets-shelf-toolbar{margin-bottom:6px}.assets-shelf-toolbar{grid-column:1/-1;justify-content:flex-end;align-items:center;min-height:24px;display:flex}.assets-manage-toggle,.asset-storage-undo,.asset-storage-cancel,.asset-storage-delete{border:1px solid var(--line2);background:var(--card2);color:var(--fg);cursor:pointer;border-radius:6px;font-size:11px;font-weight:600}.assets-manage-toggle,.asset-storage-undo{padding:4px 8px}.assets-manage-toggle:hover,.asset-storage-undo:hover,.asset-storage-cancel:hover{border-color:var(--accent)}.asset-storage-manager{flex-direction:column;gap:8px;min-height:0;display:flex}.asset-storage-section{--storage-group:222, 159, 74;border:1px solid var(--line2);background:linear-gradient(180deg, rgba(var(--storage-group), .06), transparent 38px);border-radius:6px;flex-direction:column;gap:5px;padding:5px;display:flex}.asset-storage-section.is-used{--storage-group:90, 155, 212}.asset-storage-section h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted2);margin:0;font-size:10px;font-weight:600}.asset-storage-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:6px;display:flex}.asset-storage-head>div{flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.asset-storage-head h3{flex:none;margin:0;font-size:13px}.asset-storage-head p{max-width:none;color:var(--muted2);margin:0;font-size:11px;line-height:1.3}.asset-storage-undo{flex:none}.asset-storage-list{grid-template-columns:repeat(auto-fill,minmax(280px,360px));gap:5px;margin:0;padding:0;list-style:none;display:grid}.asset-storage-row{border:1px solid var(--line);background:var(--panel2,#1d1d1f);border-radius:5px;align-items:center;gap:7px;min-height:46px;padding:5px 6px;display:flex}.asset-storage-row-skeleton{height:46px;animation:1.1s ease-in-out infinite alternate asset-skeleton}.asset-storage-thumb{object-fit:contain;background:var(--card2,#161618);border-radius:4px;flex:none;width:34px;height:34px}.asset-storage-details{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.asset-storage-details strong,.asset-storage-details span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-storage-details strong{font-size:11px}.asset-storage-details span{color:var(--muted2);font-size:10px}.asset-storage-details .asset-storage-usage{color:var(--accent);font-weight:600}.asset-storage-delete{color:#efaaa4;border-color:#c95b54b3;flex:none;padding:4px 6px}.asset-storage-delete:hover:not(:disabled){background:#c95b5424}.asset-storage-confirm{color:#efc4a1;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:300px;font-size:10px;display:flex}.asset-storage-cancel{padding:4px 6px}.asset-storage-delete:disabled,.asset-storage-cancel:disabled,.asset-storage-undo:disabled{opacity:.55;cursor:wait}.asset-delete-toast{z-index:41;border:1px solid var(--line2);background:var(--panel);max-width:min(520px,100vw - 32px);box-shadow:var(--shadow-md);border-radius:7px;align-items:center;gap:10px;padding:9px 12px;font-size:12px;display:flex;position:fixed;bottom:76px;left:50%;transform:translate(-50%)}.asset-delete-toast button{border:1px solid var(--accent);background:var(--accent-soft);color:var(--fg);cursor:pointer;border-radius:5px;flex:none;padding:4px 8px;font-size:11px;font-weight:700}.assets-section{--asset-group:90, 155, 212;border:1px solid var(--line2);background:linear-gradient(180deg, rgba(var(--asset-group), .075), rgba(var(--asset-group), .025) 42px);border-radius:6px;flex-direction:column;gap:4px;min-width:0;padding:5px;display:flex}.assets-section:first-of-type{--asset-group:164, 126, 221}.assets-section:nth-of-type(2){--asset-group:72, 174, 184}.assets-section:nth-of-type(3){--asset-group:222, 159, 74}.assets-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);margin:0 1px;font-size:10px;font-weight:600}.assets-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;display:grid}.asset-card{background:var(--panel2,#1d1d1f);border:1px solid var(--line);min-width:0;min-height:68px;color:var(--fg);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 4px 5px;display:flex}.asset-card:hover{border-color:var(--accent);background:var(--hover)}.asset-card:active{cursor:grabbing}.asset-card-swatch{background:#f2eee6;border-radius:7px;width:30px;height:30px}.asset-card-preview{color:#bbc1c5;filter:drop-shadow(0 1px 1px #00000073);width:34px;height:34px;overflow:visible}.asset-card-preview .preview-detail{fill:none;stroke:#ecf0f29e;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.asset-card-preview .preview-limb{fill:none;stroke:#cdd2d5;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.assets-section:first-of-type .asset-card-preview{fill:#bfc4c7;stroke:#dce0e2;stroke-width:1px}.asset-card-swatch[data-model=x-bot-tpose]{background:#faf8f2;border:1px solid #d8d2c4}.asset-card-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:600;overflow:hidden}.asset-card-kind{color:var(--muted2);font-size:9px}.asset-card-thumb{object-fit:contain;background:var(--card2,#161618);border-radius:7px;width:30px;height:30px}.asset-card-thumb-skeleton,.asset-card-skeleton{animation:1.1s ease-in-out infinite alternate asset-skeleton}.inspector-row-buttons .btn{flex:auto;min-width:84px}.asset-card-failed{opacity:.72;cursor:not-allowed;border-color:#8a4a3a!important}.asset-card-failed .asset-card-kind{color:#e08a7a}.asset-card-skeleton{border:1px solid var(--line);background:var(--panel2,#1d1d1f);border-radius:5px;width:auto;min-width:0;height:68px;padding:0}@keyframes asset-skeleton{0%{opacity:.35}to{opacity:.7}}.assets-empty{border:1px dashed var(--line2);max-width:none;color:var(--muted2);border-radius:5px;margin:0;padding:7px 9px;font-size:10px;line-height:1.4}@media (width<=1180px){.assets-shelf{grid-template-columns:170px minmax(480px,1fr)}.assets-shelf-toolbar,.assets-section:last-child{grid-column:1/-1}}@media (width<=760px){.assets-shelf{grid-template-columns:1fr}.assets-shelf-toolbar,.assets-section:last-child{grid-column:auto}.asset-storage-list{grid-template-columns:1fr}}.asset-drag-ghost{z-index:1000;background:var(--panel2,#1d1d1f);border:1px solid var(--accent,#d8a24a);color:var(--fg);pointer-events:none;opacity:.92;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;position:fixed;transform:translate(-50%,-120%)}.asset-drag-ghost .asset-card-swatch{border-radius:6px;width:22px;height:22px}.asset-drag-ghost-thumb{object-fit:contain;background:var(--card2,#161618);border-radius:6px;width:22px;height:22px}@media (width>=1041px){.panel.hierarchy-left{width:var(--hierarchy-width);min-width:220px;max-width:40vw}}@media (width<=1040px){.panel.hierarchy-left{border-right:0;border-bottom:1px solid var(--line);width:100%;max-height:38vh}.viewport .viewmode{top:8px;left:8px}}.editor-toolbar{justify-self:center;align-items:center;gap:8px;display:flex}.tool-switch{border:1px solid var(--line);background:var(--card2);border-radius:5px;gap:2px;padding:2px;display:flex}.tool-switch button,.snap-switch{height:24px;color:var(--muted);font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:0 10px;font-size:10px;font-weight:700}.tool-switch button:hover,.snap-switch:hover{color:var(--fg);background:var(--hover)}.tool-switch button.active{background:var(--accent);color:var(--on-accent)}.snap-switch{border-color:var(--line)}.snap-switch.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}.card.foldout{padding-top:0}.foldout-head{border:0;border-bottom:1px solid var(--line);background:var(--card2);width:calc(100% + 36px);color:inherit;font:inherit;cursor:pointer;text-align:left;align-items:center;gap:7px;margin:0 -18px;padding:10px 18px;display:flex}.foldout-arrow{width:10px;color:var(--muted);flex:none;font-size:9px}.card.foldout h3{text-transform:none;letter-spacing:0;margin:0}.card.foldout h3:before{display:none}.foldout-body{padding-top:13px}.viewport-titlebar{z-index:8;background:var(--panel);border-bottom:1px solid var(--line);align-items:stretch;min-width:0;height:27px;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.workflow-mode-switch{border-right:1px solid var(--line);background:var(--panel);flex:none;align-items:stretch;gap:2px;padding:3px 4px;display:flex}.workflow-mode-switch button{min-width:54px;height:21px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:0 8px;font-size:10px;font-weight:700}.workflow-mode-switch button:hover{color:var(--fg);background:var(--hover)}.workflow-mode-switch button.active{color:#fff;background:#2d5c8a;border-color:#4b8bc4;box-shadow:0 0 0 1px #4b8bc43d}.workflow-toolbar-hint{color:#9fb7cc;white-space:nowrap;align-self:center;padding:0 10px;font-size:10px;font-weight:600}.app[data-workflow-mode=scene] .workflow-camera-context,.app[data-workflow-mode=camera] .workflow-scene-context,.app[data-workflow-mode=motion] .workflow-scene-context,.app[data-workflow-mode=motion] .workflow-camera-context{display:none}.app[data-workflow-mode=motion] .workflow-toolbar-hint{display:inline-flex}.app[data-workflow-mode=motion] .vp-inset,.app[data-workflow-mode=motion] .vp-shot-preview,.app[data-workflow-mode=scene] .tl-pose-tools,.app[data-workflow-mode=scene] .tl-motion-tools,.app[data-workflow-mode=scene] .take-bar,.app[data-workflow-mode=camera] .tl-pose-tools,.app[data-workflow-mode=camera] .tl-motion-tools,.app[data-workflow-mode=camera] .take-bar{display:none!important}.viewport .viewmode.scene-only{border:1px solid var(--line);border-top:0;top:0;left:168px}.btn,.presets button,.field input[type=text],.field input[type=number],.field textarea,.field select,.dropdown .trigger,.dropdown-menu,.modal,.toast,.promptbox,.add-subject,.segmented,.tl-btn,.add-object-trigger,.hierarchy-context-menu,.add-object-menu,.card{box-shadow:none;border-radius:2px}.btn{color:var(--fg);background:#383838;border:1px solid #1a1a1a;transform:none}.btn:hover{box-shadow:none;background:#3f3f3f;border-color:#1a1a1a;transform:none}.btn:active{transform:none}.btn.primary,.btn.primary:hover{box-shadow:none;background:#2d5c8a;border:1px solid #1a1a1a;transform:none}.btn.primary:after{display:none}.btn.ghost{border-color:var(--line2);background:0 0}.btn.ghost:hover{background:var(--hover);box-shadow:none}.presets button{color:var(--fg);background:#383838;border:1px solid #1a1a1a}.presets button:hover{box-shadow:none;background:#3f3f3f;transform:none}.presets button.active{color:#fff;box-shadow:none;background:#2d5c8a;border-color:#1a1a1a}.field input[type=text],.field input[type=number],.field textarea,.field select,.dropdown .trigger{color:var(--fg);background-color:#2a2a2a;border:1px solid #1a1a1a}.field input[type=text]:focus,.field input[type=number]:focus,.field textarea:focus,.field select:focus,.dropdown.open .trigger{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.dropdown-menu{background:#2c2c2c;border:1px solid #1a1a1a;box-shadow:0 4px 12px #00000080}.dropdown-item:hover{color:#fff;background:#2d5c8a}.card{background:var(--panel);border:1px solid var(--line);padding:0 0 12px}.card:after{display:none}.card:hover{border-color:var(--line)}.foldout-head{border-bottom:1px solid var(--line);background:#2f2f2f;font-weight:600}input[type=range]{background:#1e1e1e;border-radius:0;height:4px}input[type=range]::-webkit-slider-thumb{width:12px;height:12px;box-shadow:none;background:#c4c4c4;border:1px solid #1a1a1a;border-radius:2px}input[type=range]::-webkit-slider-thumb:hover{background:#fff;transform:none}input[type=range]:active::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--accent);transform:none}input[type=range]::-moz-range-thumb{width:12px;height:12px;box-shadow:none;background:#c4c4c4;border:1px solid #1a1a1a;border-radius:2px}.segmented{background:#2a2a2a;border:1px solid #1a1a1a;padding:2px}.segmented:before{box-shadow:none;background:#2d5c8a;border-radius:2px}.modal{background:#2c2c2c;border:1px solid #1a1a1a;box-shadow:0 8px 30px #0009}.modal:before{display:none}.toast{background:#2c2c2c;border:1px solid #1a1a1a;box-shadow:0 4px 12px #00000080}.pose-studio{-webkit-backdrop-filter:none;background:#2c2c2cf7;border:1px solid #1a1a1a;border-radius:2px;box-shadow:0 8px 30px #0009}.pose-studio:before{display:none}.hierarchy-row-wrap{height:22px}.hud,.caption,.viewmode{-webkit-backdrop-filter:none;border-radius:2px}.tool-switch button{align-items:center;gap:6px;display:inline-flex}.tool-icon{flex:none;width:13px;height:13px}.inspector-sidebar .inspector-pane{background:#2c2c2c}.inspector-heading{background:#282828;border-bottom:1px solid #1a1a1a;align-items:center;gap:8px;height:28px;padding:0 12px;display:flex}.inspector-heading>span{margin:0;font-size:9px}.inspector-scroll{background:#2c2c2c;padding:0}.inspector-scroll>.card{margin:0}.card.foldout,.card{background:0 0;border:0;border-bottom:1px solid #232323;border-radius:0;padding:0 0 8px}.foldout-head{letter-spacing:0;background:0 0;border-bottom:0;width:100%;height:24px;margin:0;padding:0 8px 0 6px;font-size:11px;font-weight:600}.foldout-head:hover{background:#ffffff0a}.foldout-arrow{width:12px;font-size:8px}.row{align-items:center;gap:8px;min-height:22px;margin:3px 0;font-size:11px;display:flex}.row>span:first-child{width:84px;color:var(--muted);flex:none;font-size:11px}.row .val{width:auto;min-width:34px;font-size:11px}input[type=range]{height:3px}.multimodel-card{background:linear-gradient(#3a7cbf1f,#ffffff06);border:1px solid #3a7cbf61;border-radius:3px;padding:8px}.multimodel-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.multimodel-card-head strong,.multimodel-card-head span{display:block}.multimodel-card-head strong{color:#dce7ff;font-size:11px}.multimodel-card-head div>span{color:var(--muted);margin-top:2px;font-size:9px}.multimodel-status{border:1px solid var(--line);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;padding:2px 5px;font-size:8px}.multimodel-status.ready{color:#9fe0a7;border-color:#7ed08f8c}.multimodel-status.error{color:#ff9b9f;border-color:#e5484da6}.multimodel-source-row,.multimodel-url-row{align-items:center;gap:6px;margin-top:8px;display:flex}.multimodel-input-block{background:#0000001f;border:1px solid #ffffff1a;margin-top:9px;padding:8px}.multimodel-input-block+.multimodel-input-block{margin-top:6px}.multimodel-input-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.multimodel-input-label strong{color:#c9d8f7;font-size:10px;font-weight:600}.multimodel-input-label span{color:var(--muted2);white-space:nowrap;font-size:8px}.multimodel-file-input{display:none}.multimodel-file-name{min-width:0;color:var(--muted2);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.multimodel-url-input{box-sizing:border-box;border:1px solid var(--line);background:var(--card2);width:100%;height:26px;color:var(--fg);font-family:var(--mono);margin-top:7px;padding:2px 8px;font-size:10px;display:block}.multimodel-url-input::placeholder{color:var(--muted2)}.multimodel-url-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.multimodel-url-actions{align-items:center;gap:6px;margin-top:6px;display:flex}.multimodel-url-actions .btn{flex:1}.multimodel-status.busy{color:#a8c4f2;border-color:#7ea0e08c}.multimodel-progress{align-items:center;gap:7px;margin-top:9px;display:flex}.multimodel-progress-track{background:#00000059;flex:1;height:4px;overflow:hidden}.multimodel-progress-bar{background:var(--accent);width:0;height:100%;transition:width .12s linear}.multimodel-progress-bar.indeterminate{width:35%;animation:1.1s ease-in-out infinite multimodel-slide}@keyframes multimodel-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.multimodel-progress span{text-align:right;min-width:62px;color:var(--muted2);font-family:var(--mono);flex:none;font-size:9px}.multimodel-error{color:#ff9b9f;background:#e5484d1a;border:1px solid #e5484d73;margin:9px 0 0;padding:6px 8px;font-size:9.5px;line-height:1.45}.multimodel-receipt{background:#7ed08f12;border:1px solid #7ed08f4d;gap:8px;margin-top:9px;padding:7px;display:flex}.multimodel-preview{object-fit:cover;background:#000;border:1px solid #ffffff1f;flex:none;width:76px;height:44px}.multimodel-receipt-body{flex-direction:column;gap:2px;min-width:0;display:flex}.multimodel-receipt-body strong{color:#dbe8ff;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.multimodel-receipt-body span{color:var(--muted2);font-family:var(--mono);font-size:9px}.multimodel-receipt-timeline{color:#9fe0a7!important}.multimodel-extract{margin-top:9px}.multimodel-extract .btn{width:100%}.multimodel-extract-receipt{color:#9fe0a7;background:#7ed08f12;border:1px solid #7ed08f4d;margin:8px 0 0;padding:6px 8px;font-size:9.5px;line-height:1.45}.multimodel-note{color:var(--muted2);margin:8px 0 0;font-size:9px;line-height:1.45}.readout{color:var(--muted2);margin-top:2px;font-size:10px}.field{margin:4px 0}.field label{color:var(--muted);margin-bottom:3px;font-size:10px}.field input[type=text],.field input[type=number],.field textarea,.field select,.dropdown .trigger{border-radius:2px;height:22px;padding:2px 8px;font-size:11px}.field textarea{height:auto;min-height:72px;padding:6px 8px}.field select{background-position:right 7px center;padding-right:26px}.dropdown-menu{padding:3px}.dropdown-item{border-radius:2px;padding:4px 8px;font-size:11px}.vec3-row{gap:3px;min-height:22px;margin:4px 0}.vec3-label{width:52px;font-size:11px}.number-field .axis{border-radius:2px 0 0 2px;width:15px;font-size:9px}.number-field input{border-radius:0 2px 2px 0;height:20px;padding:1px 5px;font-size:11px}.presets{gap:4px;margin:4px 0}.presets button{height:24px;padding:0 8px;font-size:11px;font-weight:500}.check{gap:6px;min-height:20px;margin-top:4px;font-size:11px}.check input{width:13px;height:13px}.btn{white-space:nowrap;justify-content:center;align-items:center;height:24px;padding:0 12px;font-size:11px;font-weight:500;display:inline-flex}.btn.ghost{margin-top:6px;padding:0 12px}.btn.generate,.btn.cta{height:30px;font-size:12px}.segmented{margin-bottom:4px}.segmented button{padding:3px 9px;font-size:11px}.subjects-row{gap:6px}.subject-box{background:#282828;border-radius:2px;padding:6px 8px 8px}.sb-name,.subject-box-head>span{font-size:11px}.cslider-head{margin-bottom:3px;font-size:10px}.add-subject{border-width:1px;border-radius:2px;margin-top:6px;padding:6px;font-size:11px}.inspector-hint,.ardy-hint,.ardy-status,.hint,.ardy-caveat,.ardy-meta,.ardy-clamp{font-size:10px;line-height:1.5}.hint{margin-top:6px}.ardy-report,.inspector-status-grid{border-radius:2px;padding:6px 8px;font-size:10px}.inspector-list button{border-radius:2px;padding:4px 8px;font-size:11px}.presets.gizmo-modes{grid-template-columns:1fr 1fr 1fr}.presets.gizmo-modes button{padding:0 4px}.presets.gizmo-modes kbd{border-radius:2px;padding:0 3px;font-size:8px}.object-colors{gap:4px;margin:4px 0 8px}.object-color{border-radius:2px;width:18px;height:18px}.editor-toolbar.scene-tools{scrollbar-width:none;background:var(--panel);flex:1;justify-content:flex-start;gap:0;min-width:0;height:27px;display:flex;position:static;overflow:auto hidden}.editor-toolbar.scene-tools::-webkit-scrollbar{display:none}.editor-toolbar.scene-tools .tool-switch{background:0 0;border:0;border-radius:0;flex:none;padding:0}.editor-toolbar.scene-tools .transform-toolbar-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex:none;align-self:center;padding:0 8px;font-size:9px;font-weight:700}.editor-toolbar.scene-tools .tool-switch button,.editor-toolbar.scene-tools .snap-switch{border:0;border-right:1px solid var(--line);background:0 0;border-radius:0;height:26px}.editor-toolbar.scene-tools .tool-switch button{justify-content:center;gap:0;width:29px;padding:0;font-size:0}.editor-toolbar.scene-tools .tool-switch .tool-icon{width:14px;height:14px}.editor-toolbar.scene-tools .snap-switch{padding:0 6px;font-size:8px}.editor-toolbar.scene-tools .tool-switch button.active{color:#fff;background:#2d5c8a}.editor-toolbar.scene-tools .snap-switch.active{color:var(--fg);background:#2d5c8a59}.viewport-toolbar-separator{background:var(--line);flex:0 0 1px;align-self:stretch}.editor-toolbar.scene-tools .settings-separator{margin-left:auto}.viewport-toolbar-field,.viewport-fov-control{border-right:1px solid var(--line);color:#9aa0a6;white-space:nowrap;flex:none;align-items:center;gap:4px;height:26px;padding:0 4px;font-size:9px;display:flex}.viewport-toolbar-field>span{display:none}.viewport-toolbar-field select{color:#dedede;min-width:0;height:21px;font:inherit;background:#242424;border:1px solid #494949;border-radius:2px;padding:0 18px 0 5px;font-size:10px}.viewport-toolbar-field.shot-field select{width:92px}.viewport-toolbar-field.ratio-field select{width:64px}.viewport-fov-control input{accent-color:#4b8bc4;width:54px}.viewport-fov-control output{color:#efefef;text-align:right;min-width:25px;font-size:10px}.viewport-fov-control small{color:#9aa0a6;font-size:9px}.viewport-toolbar-spacer{display:none}.editor-toolbar.scene-tools>button{border:0;border-right:1px solid var(--line);color:#bdbdbd;height:26px;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;flex:none;padding:0 6px;font-size:9px}.editor-toolbar.scene-tools>button:hover{color:#fff;background:#363636}.export-menu-wrap{flex:none;align-items:center;display:flex;position:relative}.export-menu-wrap .topbar-action{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.export-menu-wrap .topbar-action .caret{color:var(--muted2);font-size:10px}.export-menu{z-index:80;min-width:240px;position:fixed;left:auto}.export-menu button{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.export-menu button.export-menu-primary{color:var(--cyan);font-weight:700}.export-menu button:disabled{opacity:.38;cursor:default;background:0 0}.export-menu button small{color:var(--muted2);font-size:10px}.export-menu-hint{border-top:1px solid var(--line);color:var(--muted2);margin:4px 2px 0;padding:7px 10px 3px;font-size:10px;line-height:1.4}.settings-menu-wrap{flex:none;align-items:center;display:flex;position:relative}.view-menu-wrap{flex:none;align-self:stretch;align-items:center;margin-left:auto;display:flex;position:relative}.settings-menu-trigger{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.settings-menu-trigger .caret{color:var(--muted2);font-size:10px}.settings-menu{z-index:80;min-width:210px;top:calc(100% + 6px);left:auto;right:0}.settings-menu h4{color:var(--muted2);letter-spacing:.06em;text-transform:uppercase;margin:6px 10px 2px;font-size:10px;font-weight:650}.settings-menu button{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.settings-menu button .mark{color:var(--muted2);font-size:10px}.settings-menu button[aria-pressed=true] .mark{color:var(--cyan)}.view-menu-trigger{border:0;border-left:1px solid var(--line);color:#bdbdbd;height:26px;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;flex:none;align-items:center;gap:4px;padding:0 8px;font-size:9px;display:inline-flex;position:relative}.view-menu-trigger:hover,.view-menu-trigger[aria-expanded=true]{color:#fff;background:#363636}.view-menu-trigger .caret{color:var(--muted2);font-size:8px}.view-menu-dot{background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}.view-menu{z-index:80;min-width:200px;position:fixed;left:auto}.view-menu .view-menu-item{align-items:center;gap:8px;display:flex}.view-menu .view-menu-item.active{background:var(--accent-soft)}.view-menu-mark{width:12px;color:var(--accent);text-align:center;flex:none;font-size:11px}.view-menu-group{border-top:1px solid var(--line);flex-direction:column;margin-top:4px;padding-top:4px;display:flex}.view-menu-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;font-size:10px;font-weight:700}.placement-fields .vec3-row{grid-template-columns:56px 1fr 1fr}.placement-fields .vec3-row .number-field:nth-of-type(2) .axis{color:#79c0ff}.vec3-row .number-field:first-of-type .axis{color:#e5484d}.vec3-row .number-field:nth-of-type(2) .axis{color:#7ee787}.vec3-row .number-field:nth-of-type(3) .axis{color:#79c0ff}.hierarchy-toggle{color:#a0a0a0;font-size:11px}.hierarchy-row-wrap{margin-left:calc(var(--hierarchy-depth) * 12px)}.hierarchy-row-wrap:before{background:#ffffff12;left:-9px}.hierarchy-icon{width:10px;height:10px}.hierarchy-label{font-size:11px}.hierarchy-heading,.inspector-heading{background:#2c2c2c;border-bottom:1px solid #1a1a1a;height:26px;padding:0 10px}.hierarchy-heading strong,.inspector-heading strong{font-size:11px;font-weight:600}.hierarchy-kicker,.inspector-heading>span{display:none}.vec3-row{grid-template-columns:56px 1fr 1fr 1fr;align-items:center;gap:4px;display:grid}.vec3-label{width:auto}.number-field{min-width:0}.number-field input{text-align:left;padding-left:4px}.viewport .viewmode.scene-only{border:1px solid var(--line);border-top:0;border-radius:0;top:0;left:auto;right:0}.object-colors{margin:2px 0 6px}.inspector-hint{margin:2px 0 6px;line-height:1.45}:is(.field:has(input[type=text]),.field:has(input[type=number]),.field:has(select),.field:has(.dropdown)){grid-template-columns:84px 1fr;align-items:center;gap:8px;display:grid}:is(.field:has(input[type=text]) label,.field:has(input[type=number]) label,.field:has(select) label,.field:has(.dropdown) label){color:var(--muted);margin:0;font-size:11px}.ardy-clamp{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.inspector-heading strong{letter-spacing:0;font-size:12.5px;font-weight:700}.foldout-head{gap:6px;height:26px;font-size:11.5px;font-weight:700}.foldout-head:after{content:"";background:0 0;border:1px solid #6f6f6f;border-radius:1px;flex:none;order:1;width:10px;height:10px}.foldout-arrow{color:#c4c4c4;order:0;width:12px;font-size:8px}.foldout-title{order:2}.card.foldout.open .foldout-head{border-bottom:1px solid #232323}.card.foldout{border-bottom:0;padding-bottom:6px}.card.foldout.open{border-bottom:1px solid #232323}.foldout-body{padding:6px 12px 2px 22px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#4a4a4a;border:none;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5c5c5c}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}.inspector-scroll{overflow-x:hidden}.inspector-heading strong{font-size:11px;font-weight:600}.inspector-heading-selection{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:10px;font-weight:400;overflow:hidden}.inspector-actions-wrap{flex:none;position:relative}.inspector-actions-trigger{width:24px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:0;font-size:17px;line-height:18px}.inspector-actions-trigger:hover,.inspector-actions-trigger[aria-expanded=true]{border-color:var(--line2);background:var(--hover);color:var(--fg)}.inspector-actions-menu{z-index:12;border:1px solid var(--line2);background:var(--panel);min-width:128px;box-shadow:var(--shadow-md);border-radius:5px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.inspector-actions-menu button{color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:6px 8px;font-size:11px}.inspector-actions-menu button:hover{background:var(--hover);color:var(--fg)}.inspector-scroll{padding-bottom:16px}.card.foldout:last-child{border-bottom:0}.inspector-scroll{flex-direction:column;display:flex}.inspector-scroll>.card.foldout.open:last-child{flex-direction:column;flex:1 0 auto;min-height:0;display:flex;overflow:visible}.inspector-scroll>.card.foldout.open:last-child .foldout-body{flex:1 0 auto;min-height:0}.inspector-footer{background:#282828;border-top:1px solid #1a1a1a;flex:none;justify-content:flex-end;margin-top:auto;padding:6px 12px;display:flex}.inspector-footer span{color:var(--muted2);font-size:10px}.scene-delete-toast{z-index:42;border:1px solid var(--line2);background:var(--panel);box-shadow:var(--shadow-md);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:11px;display:flex;position:fixed;bottom:76px;left:50%;transform:translate(-50%)}.scene-delete-toast button{border:1px solid var(--accent);background:var(--accent-soft);color:var(--fg);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:700}.hierarchy-row-wrap:before{display:none}.hierarchy-icon{width:10px;height:10px;box-shadow:none;background:#ffffff0d;border:1px solid #8a8a8a;border-radius:2px;transform:none}.hierarchy-icon.shot{background:#3a7cbf2e;border-color:#3a7cbf;border-radius:50%}.hierarchy-icon.camera{background:#d4972d29;border-color:#d4972d;transform:skew(-8deg)}.hierarchy-icon.character{background:#6f9f8629;border-color:#6f9f86;border-radius:50% 50% 3px 3px}.hierarchy-icon.motion,.hierarchy-icon.clip,.hierarchy-icon.prompt{background:#3a7cbf2e;border-color:#3a7cbf}.hierarchy-icon.key{background:#d65f5529;border-color:#d65f55;transform:rotate(45deg)scale(.78)}.hierarchy-icon.rig,.hierarchy-icon.bone{background:#8a759d29;border-color:#8a759d;border-radius:50%}.hierarchy-icon.path{background:#6f9f8629;border-color:#6f9f86;border-radius:999px;width:12px;height:5px}.hierarchy-icon.environment{background:#6f9f8629;border-color:#6f9f86;border-radius:50%}.hierarchy-icon.props,.hierarchy-icon.object{background:#c7836f29;border-color:#c7836f}.hierarchy-badge{color:var(--muted2);background:0 0;min-width:0;padding:0;font-size:9px}.hierarchy-badge:where([data-zero=true]){display:none}.hierarchy-status{color:var(--muted2);letter-spacing:0;text-transform:none;font-size:9px}.hierarchy-row{min-width:0}.hierarchy-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hierarchy-badge,.hierarchy-status{flex:none}.hierarchy-row-wrap{border-radius:2px;height:22px;padding-right:6px}.hierarchy-row-wrap.selected{box-shadow:none;background:#2d5c8a}.result-move-slate{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.result-move-slate small{color:var(--cyan);font-family:var(--sans);letter-spacing:0;text-align:right;font-size:9.5px;font-weight:600}.result-modal{width:560px}.result-modal .promptbox{max-height:100px;overflow-y:auto}.result-next-intro{margin:0 0 10px}.result-handoff-steps{border-top:1px solid var(--line2);margin:0;padding:0;list-style:none}.result-handoff-steps li{border-bottom:1px solid var(--line2);grid-template-columns:128px minmax(0,1fr);gap:10px;padding:9px 0;font-size:10.5px;line-height:1.45;display:grid}.result-handoff-steps strong{color:var(--fg);font-weight:700}.result-handoff-steps span{color:var(--muted)}.result-handoff-note{color:var(--cyan);margin:10px 0 0;font-size:10px;line-height:1.45}.result-next{border:1px solid var(--line2);border-left:3px solid var(--accent);background:#282828;margin-top:16px;padding:12px 13px}.result-next h4{margin:0 0 5px;font-size:12px;font-weight:650}.result-next p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.result-next code{color:var(--fg);font-family:var(--mono);font-size:10px}.result-reference-video{border-top:1px solid var(--line2);padding-top:9px;display:block;margin-top:10px!important}.result-reference-video strong{color:var(--cyan);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:650;display:block}.result-reference-video code{overflow-wrap:anywhere;margin:3px 0 2px;line-height:1.35;display:block}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal{animation:none}}.rig-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rig-option{border:1px solid var(--line2);background:var(--card2);color:var(--muted);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:8px 6px 7px;font-size:11px;font-weight:700;display:flex}.rig-option img,.rig-option .tile-blank{object-fit:contain;border-radius:5px;width:100%;height:66px}.rig-option:hover{border-color:var(--accent);color:var(--fg)}.rig-option.active{border-color:var(--accent);color:var(--fg);background:var(--accent-soft)}.inspector-empty{color:var(--muted);margin:0;padding:18px 16px;font-size:11.5px;line-height:1.5}.inspector-scroll>.card{flex-shrink:0}.matte-editor{flex-direction:column;gap:6px;margin:6px 0 2px;display:flex}.matte-canvas{border:1px solid var(--line);touch-action:none;cursor:crosshair;background:#141819;border-radius:3px;width:100%;height:340px;display:block}.presets.matte-modes{flex-wrap:wrap;gap:6px;display:flex}.props-drop{border:1px dashed #0000;border-radius:4px;flex-direction:column;gap:8px;padding:2px;transition:border-color .12s,background .12s;display:flex}.props-drop[data-drop=over],.hierarchy-row-wrap[data-drop=over]{border-color:var(--accent,#e7b557);background:#e7b5571a}.hierarchy-row-wrap[data-drop=over]{border:1px dashed var(--accent,#e7b557);border-radius:3px}.viewport[data-drop=over]{outline:2px dashed var(--accent,#e7b557);outline-offset:-6px}@media (prefers-reduced-motion:reduce){.props-drop{transition:none}}.matte-slider{grid-template-columns:auto 1fr 4.6rem;align-items:center;gap:10px;margin:8px 0;display:grid}.matte-slider label{color:var(--muted);font-size:11.5px}.matte-slider input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}.matte-slider input[type=number]{background:var(--card2);border:1px solid var(--line);width:100%;color:var(--fg);font-variant-numeric:tabular-nums;text-align:right;border-radius:4px;padding:5px 6px;font-size:12px}.btn.matte-apply{margin-top:4px}.btn.matte-apply[disabled]{opacity:.5;cursor:not-allowed}.inspector-hint.matte-state{border-left:2px solid var(--accent);background:var(--card2);border-radius:0 3px 3px 0;padding:6px 8px}.matte-tools{justify-content:space-between;align-items:flex-start;gap:12px;margin:8px 0;display:flex}.matte-history{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.matte-tools .presets.matte-modes{flex-wrap:nowrap;gap:6px;margin:0;display:flex}.matte-tools .presets.matte-modes button{text-align:center;white-space:nowrap;flex:none;justify-content:center;align-items:center;width:4rem;padding:9px 2px;font-size:11.5px;line-height:1.2;display:flex}.matte-tools .presets.matte-icons button{width:2.3rem;font-size:13px}.vp-inset-tag.vp-look-through-exit{z-index:6;pointer-events:auto;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;display:inline-flex;position:absolute;top:60px;left:50%;right:auto;transform:translate(-50%)}.vp-look-through-exit .vp-exit-hint{opacity:.6;letter-spacing:.04em;font-size:9px}.crash-screen{background:var(--bg,#1e1e1e);min-height:100vh;color:var(--fg,#d2d2d2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.crash-screen h1{margin:0;font-size:18px}.crash-screen p{color:var(--muted,#9a9a9a);max-width:52ch;margin:0}.crash-screen .crash-detail{border:1px solid var(--line2,#3c3c3c);background:var(--panel,#2c2c2c);max-width:min(72ch,90vw);color:var(--muted,#9a9a9a);text-align:left;white-space:pre-wrap;border-radius:6px;padding:10px 14px;font-size:12px;overflow:auto}.crash-screen button,.gl-lost-card button{border:1px solid var(--line2,#3c3c3c);background:var(--card,#383838);color:var(--fg,#d2d2d2);cursor:pointer;border-radius:6px;padding:6px 16px}.gl-lost-overlay{z-index:9;background:#0c0c0ec7;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gl-lost-card{border:1px solid var(--line2,#3c3c3c);background:var(--panel,#2c2c2c);max-width:46ch;color:var(--fg,#d2d2d2);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:18px 22px;display:flex}.gl-lost-card p{color:var(--muted,#9a9a9a);margin:0;font-size:12px}.preserve-strength-row{align-items:center;gap:8px;display:flex}.preserve-strength-row input[type=range]{flex:1;min-width:0}.preserve-strength-value{font-variant-numeric:tabular-nums;opacity:.8}.preserve-strength-scale{justify-content:space-between;gap:8px;margin-top:3px;display:flex}.preserve-tracks-summary{opacity:.85;margin-top:4px}.stage canvas.line-edit-overlay,.stage canvas.line-edit-overlay:active{z-index:7;pointer-events:none;cursor:inherit;position:absolute;inset:0}.stage[data-line-grab=hover] canvas,.stage[data-line-grab=hover] canvas:active{cursor:grab}.stage[data-line-grab=drag] canvas,.stage[data-line-grab=drag] canvas:active{cursor:grabbing}.stage[data-line-grab=draw] canvas,.stage[data-line-grab=draw] canvas:active{cursor:crosshair}.line-edit-panel{border-left:2px solid var(--line2,#3c3c3c);flex-direction:column;gap:6px;margin-top:8px;padding-left:8px;display:flex}.line-edit-range-row{align-items:center;gap:6px;display:flex}.line-edit-range-row input[type=number]{font-variant-numeric:tabular-nums;flex:1;min-width:0}.line-edit-range-row span{opacity:.6}.line-edit-radius-row{align-items:center;gap:8px;display:flex}.line-edit-radius-row input[type=range]{flex:1;min-width:0}.line-edit-radius-value{opacity:.75;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.line-edit-pending{opacity:.85;margin-top:2px}.line-edit-drift{border-left:2px solid var(--warn,#ff9c6e);opacity:.9;margin-top:2px;padding-left:6px}.line-preview-busy{opacity:.8;margin-top:2px}.line-preview-busy:before{content:"";background:var(--accent,#3a7cbf);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1s ease-in-out infinite line-preview-pulse;display:inline-block}@keyframes line-preview-pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.line-preview-busy:before{opacity:.8;animation:none}}.line-preview-live{border-left:2px solid var(--accent,#3a7cbf);opacity:.9;margin-top:2px;padding-left:6px}.line-preview-time{font-variant-numeric:tabular-nums;opacity:.7;white-space:nowrap}.line-preview-error{color:var(--warn,#ff9c6e);opacity:.95;margin-top:2px}.take-bar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;flex:none;align-items:center;gap:6px 14px;padding:5px 8px;display:flex}.take-modes{align-items:flex-start;gap:8px;display:flex}.take-mode{flex-direction:column;gap:1px;display:flex}.take-mode-btn{border:1px solid var(--line2);background:var(--bg);height:26px;color:var(--fg);font:inherit;letter-spacing:.02em;cursor:pointer;border-radius:3px;padding:0 14px;font-size:11px;font-weight:700}.take-mode-btn:hover{background:var(--hover)}.take-mode-btn.active{border-color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.take-mode-btn.disabled,.take-scene-action .btn.disabled{opacity:.45;cursor:not-allowed}.take-mode-hint,.take-mode-reason{max-width:26ch;color:var(--muted);font-size:10px;line-height:1.3}.take-mode-reason{color:var(--warn,#ff9c6e);opacity:.9}.take-scene-menu{border-left:1px solid var(--line2);flex-wrap:wrap;align-items:flex-start;gap:6px 10px;padding-left:10px;display:flex}.take-scene-action{flex-direction:column;gap:1px;display:flex}.take-scene-menu .btn{white-space:nowrap;height:26px;padding:0 10px;font-size:11px}.take-scene-advanced{min-width:220px;font-size:11px}.take-scene-advanced>summary{cursor:pointer;color:var(--muted);letter-spacing:.03em;font-size:10px;font-weight:700}.take-scene-advanced>summary:hover{color:var(--fg)}.take-recipe-summary{opacity:.8;font-variant-numeric:tabular-nums;margin-top:4px}.take-version-strip{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:flex}.take-version-chip{border:1px solid var(--line2);background:var(--bg);min-width:34px;max-width:120px;color:var(--muted);font:inherit;cursor:pointer;border-radius:3px;flex-direction:column;align-items:center;gap:0;padding:2px 7px;display:flex}.take-version-chip:hover{background:var(--hover);color:var(--fg)}.take-version-chip b{font-variant-numeric:tabular-nums;font-size:11px}.take-version-chip small{text-overflow:ellipsis;white-space:nowrap;opacity:.75;max-width:100%;font-size:9px;overflow:hidden}.take-version-chip.current{border-color:var(--accent);color:var(--fg);box-shadow:inset 0 -2px var(--accent)}.replay-notice{color:var(--warn,#ff9c6e);flex-basis:100%;margin:0;font-size:10px;line-height:1.4}@media (width>=1041px){.vp-inset:not(.collapsed){width:min(var(--inset-width), 280px)!important;height:min(var(--inset-height), 240px)!important}.vp-shot-preview{width:clamp(180px,17vw,270px);max-width:270px;bottom:12px;right:12px}.editor-toolbar.scene-tools .tool-switch{border:1px solid var(--line2);background:#00000024;border-radius:3px;height:23px;margin:2px 4px 2px 3px}.editor-toolbar.scene-tools .tool-switch button{border-right:0;height:21px}.editor-toolbar.scene-tools .tool-switch button+button{border-left:1px solid var(--line)}.editor-toolbar.scene-tools>.snap-switch{border:1px solid var(--line2);border-radius:3px;height:23px;margin:2px 0}.editor-toolbar.scene-tools .viewport-toolbar-field,.editor-toolbar.scene-tools .viewport-fov-control{background:#00000014}.editor-toolbar.scene-tools .settings-separator{margin-left:5px}.workspace-splitter-vertical{flex-basis:8px;margin-left:-4px;margin-right:-4px}.workspace-splitter-vertical:after{background:var(--line2);width:2px;inset:0 3px}.workspace-splitter-vertical:hover:after,body.is-resizing .workspace-splitter-vertical:after{background:var(--accent);box-shadow:0 0 0 1px var(--accent-ring)}.timeline-splitter{flex-basis:8px;margin-top:-4px;margin-bottom:-4px}.timeline-splitter:after{background:var(--line2);height:2px;top:3px}.timeline-splitter:hover:after,body.is-resizing .timeline-splitter:after{background:var(--accent);box-shadow:0 0 0 1px var(--accent-ring)}}.hierarchy-label,.hierarchy-project,.inspector-pane,.inspector-heading,.inspector-hint,.foldout-head,.right-panel-tabs,.bottom-window-tabs,.settings-menu{word-break:keep-all;overflow-wrap:anywhere}.hierarchy-project{font-size:12px;line-height:1.25}.inspector-hint{font-size:11px;line-height:1.45}.reference-slot{border-top:1px solid var(--line2);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.reference-slot-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.reference-slot-label{color:var(--fg);letter-spacing:-.01em;font-size:11px;font-weight:600}.reference-slot-body{align-items:flex-start;gap:10px;display:flex}.reference-slot-thumb{border:1px solid var(--line2);background:var(--card2);width:58px;height:58px;box-shadow:none;cursor:pointer;transition:border-color var(--fast), background var(--fast);border-radius:8px;flex:none;place-items:center;padding:0;display:grid;overflow:hidden}.reference-slot-thumb:hover{border-color:var(--accent);background:var(--hover)}.reference-slot-thumb[data-empty]{border-style:dashed}.reference-slot-thumb img{object-fit:cover;width:100%;height:100%;display:block}.reference-slot-plus{color:var(--muted2);font-size:16px;line-height:1}.reference-slot-copy{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex}.reference-slot-copy .inspector-hint{margin:0}.reference-slot .btn.ghost{width:auto;box-shadow:none;border-radius:6px;align-self:flex-start;margin-top:0;padding:5px 10px;font-size:10px;font-weight:600}.reference-slot .btn.ghost:hover{box-shadow:none;transform:none}.reference-slot-error{color:#e08a7a;margin:0}.camera-tutorial{z-index:7;background:color-mix(in srgb, var(--panel) 94%, #000);border:1px solid var(--line2);width:min(430px,74% - 24px);box-shadow:var(--shadow-md);pointer-events:none;animation:rise var(--med) var(--ease) both;border-radius:8px;flex-direction:column;gap:7px;padding:8px 10px 9px;display:flex;position:absolute;top:35px;left:12px}.camera-tutorial[data-previewing="1"]{width:clamp(220px,50% - 92px,360px)}.camera-tutorial-steps{flex-wrap:wrap;gap:4px;margin:0;padding:0 22px 0 0;list-style:none;display:flex}.camera-tutorial-steps li{border:1px solid var(--line2);color:var(--muted);letter-spacing:.02em;border-radius:999px;align-items:center;gap:5px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.camera-tutorial-steps li i{font-family:var(--mono);opacity:.85;font-size:9px;font-style:normal}.camera-tutorial-steps li[data-current="1"]{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.camera-tutorial-steps li[data-done="1"]{color:#65c18c;border-color:#65c18c8c}.camera-tutorial-card{color:var(--fg);align-items:baseline;gap:8px;font-size:11.5px;line-height:1.45;display:flex}.camera-tutorial-card p{margin:0}.camera-tutorial-count{color:var(--accent);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:9.5px;font-weight:700}.camera-tutorial-count.done{color:#65c18c}.camera-tutorial kbd{border:1px solid var(--line2);background:var(--card2);color:var(--fg);font-family:var(--mono);border-radius:4px;padding:1px 5px;font-size:9.5px}.camera-tutorial-keys{gap:3px;margin:0 2px;display:inline-flex}.camera-tutorial-keys kbd[data-done="1"]{color:#65c18c;border-color:#65c18c8c}.camera-tutorial-close{color:var(--muted);cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0 4px;font-size:15px;line-height:1;position:absolute;top:4px;right:5px}.camera-tutorial-close:hover,.camera-tutorial-close:focus-visible{color:var(--fg)}.camera-tutorial-where{border:1px solid var(--accent-ring);color:var(--accent);letter-spacing:.02em;white-space:nowrap;vertical-align:1px;border-radius:4px;margin-right:6px;padding:1px 5px;font-size:9.5px;font-weight:700}.tutorial-beacon{z-index:14;pointer-events:none;animation:rise var(--med) var(--ease) backwards;align-items:center;gap:7px;display:flex;position:fixed}.tutorial-beacon-leader{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tutorial-beacon-leader line{stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:3 3;opacity:.85}.tutorial-beacon-dot{background:var(--accent);width:22px;height:22px;color:var(--on-accent);font-family:var(--mono);box-shadow:0 0 0 3px #3a7cbf47, var(--shadow);animation:tutorial-beacon-breathe 1.5s var(--ease) infinite;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex;position:relative}.tutorial-beacon-label{border:1px solid var(--accent-ring);background:color-mix(in srgb, var(--panel) 94%, #000);max-width:190px;box-shadow:var(--shadow-md);color:var(--fg);word-break:keep-all;border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:600;line-height:1.35;position:relative}@keyframes tutorial-beacon-breathe{0%,to{box-shadow:0 0 0 3px #3a7cbf47, var(--shadow)}50%{box-shadow:0 0 0 8px #3a7cbf00, var(--shadow)}}.tutorial-cue{z-index:7;border:1px solid var(--line2);background:color-mix(in srgb, var(--panel) 82%, transparent);width:120px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;opacity:1;transition:opacity var(--med) var(--ease), transform var(--med) var(--ease);animation:riseCenter var(--med) var(--ease) backwards;border-radius:10px;flex-direction:column;align-items:center;gap:7px;padding:10px 8px 8px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.tutorial-cue[data-leaving="1"]{opacity:0;transform:translate(-50%)translateY(6px)}.tutorial-cue-stage{justify-content:center;align-items:flex-end;gap:6px;width:100%;height:54px;display:flex;position:relative}.tutorial-cue-arm{align-items:flex-end;display:inline-flex;position:relative}.tutorial-cue-mouse{width:30px;height:44px;overflow:visible}.cue-mouse-body{fill:none;stroke:var(--muted);stroke-width:2.5px}.cue-mouse-left,.cue-mouse-right{fill:var(--card2);stroke:var(--muted);stroke-width:1.5px}.cue-mouse-wheel{fill:var(--muted2)}.tutorial-cue[data-kind=fly] .cue-mouse-right,.tutorial-cue[data-kind=walk] .cue-mouse-right,.tutorial-cue[data-kind=orbit] .cue-mouse-left{fill:var(--accent);stroke:var(--accent)}.tutorial-cue[data-kind=dolly] .cue-mouse-wheel{fill:var(--accent)}.tutorial-cue[data-kind=fly] .tutorial-cue-arm{animation:cue-swing 2.2s var(--ease) infinite}.tutorial-cue-arc{width:56px;height:18px;position:absolute;top:-13px;left:50%;overflow:visible;transform:translate(-50%)}.cue-arc-line,.cue-arc-head{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.tutorial-cue-updown{width:12px;height:40px;overflow:visible}.cue-up,.cue-down{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.cue-up{animation:cue-up 1.8s var(--ease) infinite}.cue-down{animation:cue-down 1.8s var(--ease) infinite}.tutorial-cue[data-kind=orbit] .tutorial-cue-stage{align-items:flex-start;height:64px}.tutorial-cue-key{border:1px solid var(--accent);background:var(--accent-soft);color:var(--fg);font-family:var(--mono);border-radius:4px;padding:2px 5px;font-size:9px;font-weight:700;position:absolute;bottom:0;left:0}.tutorial-cue-pivot{background:var(--muted);width:6px;height:6px;box-shadow:0 0 0 3px var(--card2);border-radius:50%;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.tutorial-cue[data-kind=orbit] .tutorial-cue-arm{transform-origin:50% 145%;animation:cue-orbit 2.8s var(--ease) infinite}.tutorial-cue-keys{grid-template-columns:repeat(6,1fr);gap:3px;width:100%;display:grid}.tutorial-cue-keys kbd{border:1px solid var(--line2);background:var(--card2);color:var(--muted);font-family:var(--mono);text-align:center;animation:cue-key 1.6s var(--ease) infinite;border-radius:3px;padding:2px 0;font-size:8.5px;font-weight:700}.tutorial-cue-keys kbd[data-done="1"]{color:#65c18c;background:#65c18c29;border-color:#65c18c99;animation:none}.tutorial-cue-caption{color:var(--fg);text-align:center;word-break:keep-all;font-size:9.5px;font-weight:600;line-height:1.3}@keyframes cue-swing{0%,to{transform:translate(-7px)}50%{transform:translate(7px)}}@keyframes cue-orbit{0%,to{transform:rotate(-13deg)}50%{transform:rotate(13deg)}}@keyframes cue-up{0%,to{opacity:.45;transform:translateY(2px)}40%{opacity:1;transform:translateY(-2px)}}@keyframes cue-down{0%,to{opacity:.45;transform:translateY(-2px)}90%{opacity:1;transform:translateY(2px)}}@keyframes cue-key{0%,to{border-color:var(--line2);color:var(--muted)}50%{border-color:var(--accent);color:var(--fg)}}@media (prefers-reduced-motion:reduce){.app[data-tutorial-step=shot] .tl-track.shots .tl-track-add,.app[data-tutorial-step=rail] .tl-track.shots .tl-shot-block:not(.selected),.app[data-tutorial-step=rail] .tl-rail-draw,.app[data-tutorial-step=play] .vp-look-through{box-shadow:0 0 0 3px var(--accent);animation:none}.tutorial-beacon,.tutorial-beacon-dot,.tutorial-cue,.tutorial-cue-arm,.tutorial-cue-keys kbd,.cue-up,.cue-down{animation:none}.tutorial-cue{transition:none}}
|