.studio{height:100vh;height:100dvh;display:grid;grid-template-rows:48px minmax(0,1fr);background:var(--bg);overflow:hidden}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;padding:0 10px;border-bottom:1px solid var(--line);background:var(--bg-elev)}.topbar-center,.topbar-history,.topbar-left,.topbar-right{display:flex;align-items:center;gap:4px;min-width:0}.topbar-left{gap:10px}.topbar-right{justify-content:flex-end;gap:6px}.topbar-center{gap:10px}.topbar-divider{flex:none;width:1px;height:16px;background:var(--line)}.topbar .brand-mark{font-size:var(--fs-13);gap:6px}.title-input{height:var(--ctl-h-md);min-width:120px;max-width:320px;padding:0 10px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;text-align:center;font-size:var(--fs-13);font-weight:600;color:var(--text)}.title-input:focus,.title-input:hover{background:var(--bg-elev-2)}.title-input:focus{outline:none;border-color:var(--accent)}.btn.on{background:var(--accent-soft);color:var(--accent)}.save-pill{display:inline-flex;align-items:center;gap:6px;height:var(--ctl-h-sm);padding:0 10px 0 8px;border-radius:var(--r-pill);border:0;background:color-mix(in srgb,var(--text) 6%,transparent);font-family:inherit;font-size:var(--fs-12);color:var(--text-3);white-space:nowrap}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--text-3)}.save-pill.saved .save-dot{background:var(--success)}.save-spinner{width:12px;height:12px;border:1.5px solid color-mix(in srgb,var(--text) 22%,transparent);border-top-color:var(--text-2);border-radius:50%;animation:save-spin .7s linear infinite}@keyframes save-spin{to{transform:rotate(1turn)}}.save-pill.offline{color:var(--warning)}.save-pill.offline .save-dot{background:var(--warning)}.save-pill.error{color:color-mix(in srgb,var(--danger) 82%,var(--text));cursor:pointer}.save-pill.error .save-dot{background:var(--danger)}.save-pill.error:hover{color:var(--danger)}.conflict-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.5)}.conflict-sheet{width:400px;max-width:92vw;padding:28px 24px 20px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg-elev);box-shadow:var(--shadow-pop);text-align:center}.conflict-title{font-family:var(--font-serif);font-size:var(--fs-22);font-weight:400;letter-spacing:-.01em;line-height:1.2;color:var(--text)}.conflict-copy{margin:10px 0 22px;font-size:var(--fs-13);line-height:1.45;color:var(--text-2)}.conflict-actions{display:grid;grid-gap:8px;gap:8px}.conflict-actions .btn{width:100%;height:36px}.conflict-cancel{height:36px;border:0;background:transparent;color:var(--text-2);font-size:var(--fs-13)}.conflict-cancel:hover{color:var(--text)}.unlock-backdrop{position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.5)}.unlock-sheet{width:420px;max-width:92vw;padding:28px 24px 18px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg-elev);box-shadow:var(--shadow-pop);text-align:center}.unlock-title{font-family:var(--font-serif);font-size:var(--fs-28);font-weight:400;letter-spacing:-.02em;line-height:1.15;color:var(--text)}.unlock-copy{margin:10px 0 18px;font-size:var(--fs-13);line-height:1.45;color:var(--text-2)}.unlock-list{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-gap:8px;gap:8px;text-align:left}.unlock-list li{display:flex;align-items:center;gap:10px;font-size:var(--fs-13);color:var(--text)}.unlock-list li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.unlock-actions{display:grid;grid-gap:8px;gap:8px}.unlock-actions .btn{width:100%;height:36px}.unlock-micro{margin:12px 0 0;font-size:var(--fs-11);color:var(--text-3)}.export-mark{font-family:var(--font-mono);font-size:.92em;padding:1px 5px;border-radius:4px;border:1px solid var(--line)}.export-callout,.export-mark{background:var(--bg-elev-2);color:var(--text)}.export-callout{position:fixed;top:58px;left:50%;transform:translateX(-50%);z-index:45;display:inline-flex;align-items:center;gap:8px;max-width:min(560px,calc(100vw - 280px));padding:7px 8px 7px 14px;border-radius:var(--r-pill);border:1px solid var(--line-strong);box-shadow:var(--shadow-2);font-size:var(--fs-12);font-weight:500}@media (max-width:900px){.export-callout{max-width:calc(100vw - 24px)}}.export-callout-dismiss{width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:var(--text-2);font-size:16px;line-height:1}.export-callout-dismiss:hover{color:var(--text)}.export-wrap{position:relative}.export-tip{top:calc(100% + 8px);right:0;width:248px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);box-shadow:var(--shadow-pop);z-index:40;text-align:left}.export-tip,.export-tip:before{position:absolute;background:var(--bg-elev-2)}.export-tip:before{content:"";top:-5px;right:28px;width:10px;height:10px;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.export-tip strong{display:block;font-size:var(--fs-13);font-weight:600;color:var(--text)}.export-tip p{margin:4px 0 0;line-height:1.4;font-weight:400}.export-dock-hint,.export-tip p{font-size:var(--fs-12);color:var(--text-2)}.export-dock-hint{margin:0 0 12px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-elev-2);line-height:1.45}.export-dock-hint strong{color:var(--text);font-weight:600}.studio-readonly .dock-body,.studio-readonly .graphic-overlay,.studio-readonly .kf-diamond,.studio-readonly .source-corner,.studio-readonly .tl-add-shot,.studio-readonly .tl-chips,.studio-readonly .tl-kf-lane,.studio-readonly .tl-motion,.studio-readonly .tl-shot-lane{pointer-events:none}.ratio-chip-wrap{position:relative;display:inline-flex}.ratio-chip{display:inline-flex;align-items:center;gap:5px;height:var(--ctl-h-sm);padding:0 8px;border-radius:var(--r-sm);border:1px solid var(--line);background:transparent;color:var(--text-2);font-size:var(--fs-12);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.ratio-chip.is-open,.ratio-chip:hover{color:var(--text);border-color:var(--line-strong)}.menu.ratio-menu{top:calc(100% + 6px);right:0;min-width:132px;gap:1px}.menu.ratio-menu>button{height:30px;justify-content:flex-start;gap:8px}.ratio-menu-glyph{display:inline-flex;flex:none;align-items:center;justify-content:center;width:24px}.menu.ratio-menu>button.on{color:var(--accent)}.menu.ratio-menu>button.on .ratio-glyph{border-color:var(--accent);background:var(--accent-soft)}.toast-stack{position:fixed;top:58px;left:50%;transform:translateX(-50%);z-index:60;display:grid;grid-gap:6px;gap:6px;justify-items:center;pointer-events:none}.toast{padding:7px 14px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--bg-elev-2);box-shadow:var(--shadow-2);font-size:var(--fs-12);font-weight:500;color:var(--text);animation:toast-in var(--dur-2) var(--ease) both}.toast-accent{color:var(--accent);font-weight:600}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.studio-body{display:grid;grid-template-columns:240px minmax(0,1fr) 320px;min-height:0;min-width:0}.studio.playground{position:relative;grid-template-rows:48px minmax(0,1fr);background:var(--chrome-canvas)}.studio.playground .topbar{background:var(--chrome-canvas);border-bottom:1px solid var(--line)}.studio.playground .studio-body{grid-template-columns:minmax(0,1fr)}.studio.playground .stage,.studio.playground .stage-col{background:var(--chrome-canvas)}.studio.playground .inspector{position:absolute;top:56px;right:12px;bottom:12px;z-index:20;width:280px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,var(--dock-surface-top),var(--dock-surface-bottom));box-shadow:0 12px 40px rgba(0,0,0,.45)}.studio.playground .stage-col{padding-right:292px}.gallery{min-height:0;border-right:1px solid var(--line);background:var(--bg-elev)}.gallery-scroll{height:100%;overflow:auto;padding:10px 12px 16px}.gallery-group{padding-top:10px}.gallery-group:first-child{padding-top:0}.gallery-group-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;margin-bottom:8px;border:0;background:none;color:inherit;cursor:pointer}.gallery-group-head .sec-title{margin:0}.gallery-group-head svg{flex:none;color:var(--text-3);transition:transform var(--dur-1) var(--ease)}.gallery-group-head[aria-expanded=true] svg{transform:rotate(180deg)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.tcard{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:130px;padding:6px;border-radius:12px;border:1px solid transparent;background:transparent;text-align:center;transition:border-color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}.tcard:hover{border-color:var(--line)}.tcard.on{border-color:transparent;background:var(--bg-elev-2);box-shadow:0 0 0 1px var(--line-strong)}.tcard-thumb{position:relative;flex:none;width:90px;height:90px;border-radius:8px;overflow:hidden;background:var(--stage-bg)}.tcard-thumb canvas{display:block;width:100%;height:100%}.tcard-new{position:absolute;top:6px;left:6px;padding:1px 6px;border-radius:var(--r-pill);background:var(--accent);color:var(--text-on-accent);font-size:9px;font-weight:700;line-height:1.5;letter-spacing:.3px;text-transform:uppercase}.tcard-name{display:flex;flex:1 1;align-items:center;justify-content:center;width:100%;min-width:0;padding:0 2px}.tcard-name span{max-width:100%;font-size:var(--fs-12);font-weight:500;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tcard.on .tcard-name span{color:var(--text)}.stage-col{grid-template-rows:minmax(0,1fr) auto auto;background:var(--bg)}.stage,.stage-col{position:relative;display:grid;min-width:0;min-height:0}.stage{place-items:center;overflow:hidden;background:var(--bg);background-image:radial-gradient(var(--stage-dot) 1px,transparent 1px);background-size:24px 24px;background-position:50%}.stage-canvas{display:block;border-radius:16px;box-shadow:var(--shadow-canvas);background:#000;cursor:-webkit-grab;cursor:grab;touch-action:none}.stage-canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.stage-canvas.graphic,.stage-canvas.graphic:active{cursor:default}.graphic-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;pointer-events:none;border-radius:16px}.graphic-overlay.is-dragging{pointer-events:auto}.graphic-overlay__frame{position:absolute;box-sizing:border-box;border:1.5px solid var(--accent);pointer-events:auto;cursor:move}.graphic-overlay__editor{display:block;width:100%;height:100%;margin:0;padding:2px 6px;border:0;resize:none;outline:none;background:#181614;overflow:hidden}.graphic-overlay__handle{position:absolute;width:8px;height:8px;background:#fff;border:1px solid var(--accent);box-sizing:border-box;pointer-events:auto}.graphic-overlay__handle--nw{top:-5px;left:-5px;cursor:nwse-resize}.graphic-overlay__handle--n{top:-5px;left:50%;margin-left:-4px;cursor:ns-resize}.graphic-overlay__handle--ne{top:-5px;right:-5px;cursor:nesw-resize}.graphic-overlay__handle--e{top:50%;right:-5px;margin-top:-4px;cursor:ew-resize}.graphic-overlay__handle--se{bottom:-5px;right:-5px;cursor:nwse-resize}.graphic-overlay__handle--s{bottom:-5px;left:50%;margin-left:-4px;cursor:ns-resize}.graphic-overlay__handle--sw{bottom:-5px;left:-5px;cursor:nesw-resize}.graphic-overlay__handle--w{top:50%;left:-5px;margin-top:-4px;cursor:ew-resize}.graphic-overlay__rotate{position:absolute;left:50%;top:-28px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#fff;border:1.5px solid var(--accent);cursor:-webkit-grab;cursor:grab;pointer-events:auto}.graphic-overlay__rotate:before{content:"";position:absolute;left:50%;top:10px;width:1px;height:16px;background:var(--accent);transform:translateX(-50%)}.stage-hint{position:absolute;left:14px;bottom:10px;color:var(--text-3);font-size:var(--fs-11);pointer-events:none;max-width:max(150px,calc(100% - 50vw - 68px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-error{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:8px;max-width:min(480px,calc(100% - 24px));padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-frost);backdrop-filter:var(--frost-filter);-webkit-backdrop-filter:var(--frost-filter);font-size:var(--fs-13);color:var(--text)}.stage.over{outline:2px dashed var(--accent);outline-offset:-12px}.stage-guides{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:16px;pointer-events:none;z-index:4}.stage-guide-h,.stage-guide-v{position:absolute;background:color-mix(in srgb,var(--accent) 62%,transparent)}.stage-guide-v{left:50%;top:0;bottom:0;width:1px;transform:translateX(-.5px)}.stage-guide-h{top:50%;left:0;right:0;height:1px;transform:translateY(-.5px)}.stage-guide-mark{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:1px solid var(--accent);border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.35)}.stage-focus-layer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;pointer-events:none;border-radius:16px}.stage-focus-layer.armed{pointer-events:auto;cursor:crosshair}.stage-focus-indicator{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;padding:0;border:0;background:none;pointer-events:auto;cursor:-webkit-grab;cursor:grab;z-index:1}.stage-focus-indicator:active{cursor:-webkit-grabbing;cursor:grabbing}.stage-focus-ring{position:relative;display:block;width:20px;height:20px;border-radius:50%;border:2px solid var(--accent);box-shadow:0 0 0 1px rgba(0,0,0,.55),0 0 8px rgba(0,0,0,.35);background:transparent}.stage-focus-dot{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px rgba(0,0,0,.4),0 0 5px rgba(212,113,74,.55)}.stage-focus-tip{top:24px;left:50%;transform:translateX(-50%);padding:3px 7px;border-radius:6px;background:rgba(16,14,13,.88);color:#f4efe9;font-size:var(--fs-11);letter-spacing:-.01em;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.35)}.stage-focus-tip,.stage-overlay{position:absolute;font-weight:500}.stage-overlay{inset:0;display:grid;place-items:center;background:var(--bg-frost);backdrop-filter:var(--frost-filter);-webkit-backdrop-filter:var(--frost-filter);font-size:var(--fs-17);letter-spacing:-.022em;z-index:5}.stage.over .stage-overlay{background:rgba(10,132,255,.12)}.stage-overlay .drop-card{min-width:min(360px,calc(100% - 48px));padding:28px 32px;border-radius:var(--r-xl);border:1.5px dashed var(--accent);background:var(--bg-elev);box-shadow:var(--shadow-1);text-align:center}.export-progress{display:grid;grid-gap:10px;gap:10px;justify-items:center;min-width:240px}.progress{width:100%;height:4px;border-radius:2px;background:var(--line-strong);overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);transition:width var(--dur-1) linear}.transport{display:flex;align-items:center;gap:8px;height:48px;padding:0 12px;border-top:1px solid var(--line);background:var(--bg-elev)}.transport .btn.icon{background:var(--bg-elev-2);border-color:transparent}.transport .btn.icon:hover{background:var(--bg-elev-3)}.scrubber{flex:1 1;min-width:80px;height:20px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;accent-color:var(--accent);background:transparent;cursor:pointer}.scrubber::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--fill,0),var(--line-strong) var(--fill,0))}.scrubber::-moz-range-track{height:4px;border-radius:2px;background:var(--line-strong)}.scrubber::-moz-range-progress{height:4px;border-radius:2px 0 0 2px;background:var(--accent)}.scrubber::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--text-on-accent);border:.5px solid rgba(0,0,0,.2);box-shadow:var(--shadow-thumb)}.scrubber::-moz-range-thumb{width:14px;height:14px;border:.5px solid rgba(0,0,0,.2);border-radius:50%;background:var(--text-on-accent);box-shadow:var(--shadow-thumb)}.transport-time{font-size:var(--fs-12);color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:96px;text-align:right}.inspector{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--bg-elev)}.insp-body{flex:1 1;min-height:0;overflow:auto;padding:4px 12px 24px}.dock-body{padding:4px 12px 20px}.dock-folder{padding:10px 0;border-bottom:1px solid var(--line)}.dock-folder:last-child{border-bottom:0}.dock-section>.dock-folder-head{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--bg-elev)}.dock-folder-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:24px}.dock-folder-toggle{display:flex;align-items:center;gap:4px;flex:1 1;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.dock-folder-toggle .sec-title{margin:0;font-size:var(--fs-13);font-weight:600;letter-spacing:0;text-transform:none;color:var(--text)}.dock-folder-chevron{display:inline-flex;color:var(--text-2);transition:transform var(--dur-1) var(--ease)}.dock-folder.collapsed .dock-folder-chevron{transform:rotate(-90deg)}.dock-hint{margin:0;color:var(--text-3);font-size:var(--fs-11);line-height:1.4}.dock-folder-reset{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;padding:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-2);cursor:pointer}.dock-folder-reset:hover{background:var(--accent-soft);color:var(--accent)}.disclosure+.dock-group,.dock-group+.disclosure,.dock-group+.dock-group{margin-top:10px}.dock-group-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:18px}.dock-group-head .param-group-title{margin:0}.dock-group-body{padding-top:6px}.dock-group-body,.dock-source{display:grid;grid-gap:8px;gap:8px}.dock-source-shot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0;font-size:var(--fs-12)}.dock-source-shot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3)}.dock-source-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.dock-folder-body{display:grid;grid-gap:8px;gap:8px;padding-top:8px}.dock-folder-body[hidden]{display:none}.dock-folder-body .slider{margin:0}.dock-folder-body .seg.block{display:flex}.dock-folder-body .seg.block>button{flex:1 1 auto;padding:0 4px;font-size:var(--fs-11)}.fx-post{display:grid;grid-gap:2px;gap:2px}.fx-effect-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px}.fx-effect-name{font-size:var(--fs-12);color:var(--text)}.fx-effect-toggle{flex:none}.fx-effect-body{display:grid;grid-gap:4px;gap:4px;padding:0 0 4px}.fx-stack{display:grid;grid-gap:8px;gap:8px}.fx-stack-empty{margin:0;color:var(--text-3);font-size:var(--fs-12);line-height:1.45}.fx-stack-list{display:grid;grid-gap:6px;gap:6px}.fx-row{border:1px solid transparent;border-radius:8px;background:color-mix(in srgb,var(--text) 4%,transparent);padding:4px 6px 4px 4px}.fx-row.expanded{border-color:var(--accent)}.fx-row.dragging{opacity:.55}.fx-row.drop-before{box-shadow:inset 0 1px 0 var(--accent)}.fx-row-head{display:grid;grid-template-columns:18px minmax(0,1fr) auto 18px 18px;align-items:center;grid-gap:4px;gap:4px;min-height:28px}.fx-row-handle,.fx-row-remove,.fx-row-reset{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-3);cursor:pointer}.fx-row-handle{cursor:-webkit-grab;cursor:grab}.fx-row-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.fx-row-handle:hover,.fx-row-remove:hover,.fx-row-reset:hover{background:var(--accent-soft);color:var(--text)}.fx-row-reset-gap{width:18px;height:18px}.fx-row-name{min-width:0;padding:0;border:0;background:transparent;font-size:var(--fs-13);font-weight:500;text-align:left;cursor:pointer}.fx-row-name,.fx-row-name:hover{color:var(--text)}.fx-enable.check{min-height:18px;width:auto;gap:0}.fx-row-body{padding:4px 2px 6px 22px}.fx-add-wrap{position:relative}.fx-add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:32px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line-strong));border-radius:8px;background:transparent;color:var(--accent);font-size:var(--fs-13);font-weight:500;cursor:pointer}.fx-add:hover,.fx-add[aria-expanded=true]{background:var(--accent-soft);border-color:var(--accent)}.fx-add-menu{top:auto;bottom:calc(100% + 6px);left:0;right:0;min-width:0}.fx-add-menu>button:disabled,.fx-add-menu>button:disabled:hover{background:transparent;color:var(--text-3);cursor:default}.fx-add-menu>button:disabled small{opacity:.8}.fx-add-foot{margin:2px 0 0;padding:6px 10px;border-radius:0 0 6px 6px;background:var(--accent-soft);color:var(--text-3);font-size:var(--fs-11);text-align:center}.blur-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.blur-modes .chip{min-height:28px;padding:0 8px}.blur-modes .chip.on{color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.focus-arm{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-elev-2)}.focus-arm .check{min-height:22px}.focus-arm .hint{margin:0}.motion-presets{display:grid;grid-gap:10px;gap:10px}.motion-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.motion-card,.motion-cards{display:grid;grid-gap:6px;gap:6px}.motion-card{justify-items:stretch;align-content:start;min-width:0;padding:6px 6px 8px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text-2);cursor:pointer;transition:border-color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.motion-card.selected,.motion-card:hover{color:var(--text);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.motion-card.applied{background:var(--accent-soft);color:var(--text)}.motion-card.applied.selected{border-color:var(--accent)}.motion-card-thumb{position:relative;display:block;aspect-ratio:8/5;border-radius:var(--r-sm);background:#141210;overflow:hidden}.motion-card-thumb canvas{display:block;width:100%;height:100%;opacity:0}.motion-card-thumb canvas.is-on{opacity:1}.motion-card-glyph{position:absolute;inset:0;display:grid;place-items:center}.motion-card-glyph.is-hidden{visibility:hidden}.motion-glyph{width:36px;height:22px;display:block}.motion-card-title{font-size:12px;font-weight:500;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.motion-card-none{border:1px dashed var(--line-strong);background:transparent}.motion-card.none.selected .motion-card-none{border-color:var(--accent)}.motion-confirm{display:grid;grid-gap:6px;gap:6px}.motion-confirm-ask{margin:0;font-size:var(--fs-12);color:var(--text-2);line-height:1.35}.motion-confirm-note{margin:-2px 0 0;font-size:var(--fs-11);color:var(--text-3);line-height:1.35}.motion-pose{display:grid;grid-gap:6px;gap:6px}.motion-pose-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.motion-hand,.motion-pose-hint{margin:0;font-size:var(--fs-11);color:var(--text-3);line-height:1.35}.lighting-rigs{display:grid;grid-gap:6px;gap:6px}.lighting-rigs .param-group-title{margin:0}.lighting-rig-row{display:grid;grid-gap:6px;gap:6px}.lighting-rig{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 10px 2px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text-2);font-size:var(--fs-12);font-weight:500;text-align:left;cursor:pointer;transition:border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}.lighting-rig:hover{color:var(--text);border-color:var(--line-strong)}.lighting-rig.on{color:var(--text);border-color:var(--accent)}.lighting-rig.on:after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:1.5px;border-radius:1px;background:var(--accent)}.lighting-rig-dot{width:8px;height:8px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.lighting-rig-name{min-width:0}.param-label{font-size:var(--fs-12);color:var(--text-2)}.param-group,.param-select,.preset-group{display:grid;grid-gap:6px;gap:6px}.param-group+.param-group{margin-top:6px}.param-group-title{margin:4px 0 0;font-size:var(--fs-11);font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:var(--text-3)}.row-2{display:flex;align-items:center;justify-content:space-between;gap:10px}.row-2.type-metrics{display:grid;grid-template-columns:1fr 1fr;align-items:end}.type-color{display:flex;align-items:center;justify-content:space-between;gap:12px}.type-color-readout{font-size:var(--fs-12);color:var(--text-2)}.logo-asset{display:grid;grid-gap:10px;gap:10px}.logo-asset-preview{width:48px;height:48px;overflow:hidden;border-radius:8px;background:var(--bg)}.logo-asset-thumb{display:block}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.size-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;grid-gap:8px;gap:8px}.size-x{color:var(--text-3);padding-bottom:7px}.ratio-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:6px;gap:6px}.ratio-tile{display:grid;justify-items:center;align-content:center;grid-gap:5px;gap:5px;padding:8px 2px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text-2);font-size:var(--fs-11);transition:border-color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.ratio-tile:hover{border-color:var(--line-strong);color:var(--text)}.ratio-tile.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.ratio-glyph{border:1.5px solid var(--line-strong);border-radius:3px;background:var(--bg-elev-3)}.ratio-tile.on .ratio-glyph{border-color:var(--accent);background:var(--accent-soft)}.ratio-glyph-wide{width:22px;height:12px}.ratio-glyph-four-three{width:20px;height:15px}.ratio-glyph-square{width:18px;height:18px}.ratio-glyph-four-five{width:16px;height:20px}.ratio-glyph-three-four{width:15px;height:20px}.ratio-glyph-vertical{width:12px;height:22px}.disclosure{margin-top:2px}.disclosure>summary{display:flex;align-items:center;gap:6px;padding:4px 0;list-style:none;font-size:var(--fs-12);font-weight:500;color:var(--text-2);cursor:pointer}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:"▾";margin-left:auto;font-size:10px;color:var(--text-3);transition:transform var(--dur-1) var(--ease)}.disclosure[open]>summary:after{transform:rotate(180deg)}.disclosure-body{padding-top:8px}.device-groups,.disclosure-body{display:grid;grid-gap:10px;gap:10px}.device-group{display:grid;grid-gap:6px;gap:6px}.device-group-label{color:var(--text-3);font-size:var(--fs-10);letter-spacing:.08em;text-transform:uppercase}.device-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.device-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.device-grid-wide .device-tile{grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:8px;padding:7px 9px;text-align:left}.device-tile{display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:8px 4px 6px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text-2);font-size:var(--fs-11);transition:border-color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}.device-tile:hover{border-color:var(--line-strong);color:var(--text)}.device-tile.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.finish-chips{padding-top:2px}.slots{display:grid;grid-gap:8px;gap:8px}.slots-head{justify-content:space-between}.slots-count,.slots-head{display:flex;align-items:center}.slots-count{gap:6px}.slots-count b{min-width:16px;text-align:center;font-size:var(--fs-12)}.slot-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.slot{display:grid;grid-template-columns:14px 1fr auto;align-items:center;grid-gap:4px;gap:4px;padding:4px 4px 4px 2px;border-radius:var(--r-md);border:1px dashed var(--line-strong);background:transparent}.slot.ungripped{grid-template-columns:1fr auto;padding-left:4px}.slot.filled{border-style:solid;border-color:var(--line);background:var(--bg-elev-2)}.slot.over{border-color:var(--accent);background:var(--accent-soft)}.slot-grip{color:var(--text-3);cursor:-webkit-grab;cursor:grab;display:grid;place-items:center}.slot-body{display:grid;grid-template-columns:56px 1fr;align-items:center;grid-gap:8px;gap:8px;text-align:left;min-width:0}.media-thumb{border-radius:var(--r-xs);background:var(--stage-bg);border:1px solid var(--line)}.slot-text{display:grid;min-width:0}.slot-text b{font-size:var(--fs-12);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-text small{font-size:var(--fs-11);color:var(--text-3)}.bg-picker{display:grid;grid-gap:8px;gap:8px}.swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:6px;gap:6px}.swatch{aspect-ratio:1;border-radius:var(--r-sm);border:1px solid var(--line-strong);cursor:pointer}.swatch.on{outline:2px solid var(--accent);outline-offset:1px}.swatch.magic{background:var(--bg-elev-2);color:var(--accent);font-size:var(--fs-13)}.studio-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.studio-room{display:grid;grid-gap:4px;gap:4px;padding:0;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg-elev-2);overflow:hidden;cursor:pointer;text-align:left}.studio-room.on{outline:2px solid var(--accent);outline-offset:1px}.studio-room-plate{display:block;aspect-ratio:16/9}.studio-room-name{padding:0 6px 5px;font-size:var(--fs-11);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-room.on .studio-room-name{color:var(--text)}.layer-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px}.layer-list li{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;grid-gap:2px;gap:2px;padding:2px 2px 2px 8px;border-radius:var(--r-sm);border:1px solid var(--line)}.layer-list li.on{border-color:var(--accent);background:var(--accent-soft)}.layer-name{text-align:left;font-size:var(--fs-13);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:26px}.anchor-grid{display:grid;grid-template-columns:repeat(3,24px);grid-gap:4px;gap:4px}.anchor-grid button{width:24px;height:24px;border-radius:4px;border:1px solid var(--line-strong);background:var(--bg-elev-2)}.anchor-grid button.on{background:var(--accent);border-color:var(--accent)}.dialog-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.35)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:var(--fs-15)}.dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:420px;max-width:92vw;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg-elev);box-shadow:var(--shadow-pop)}.export-dialog{width:440px;max-height:86vh;display:flex;flex-direction:column}.export-dialog-body{display:grid;grid-gap:10px;gap:10px;padding:14px 16px;overflow-y:auto;min-height:0}.export-policy{display:grid;grid-gap:2px;gap:2px;padding:8px 0 2px;border-top:1px solid var(--line)}.export-policy .hint{margin-top:-2px}.export-dialog-progress{display:flex;align-items:center;gap:10px;padding:0 16px 4px}.export-dialog-progress .progress{flex:1 1}.dialog-foot{display:flex;padding:12px 16px 16px;border-top:1px solid var(--line)}.dialog-foot,.dialog-foot .btn-row{justify-content:flex-end}@media (max-width:480px){.export-dialog{position:fixed;left:0;right:0;bottom:0;top:auto;transform:none;width:100%;max-width:100%;border-radius:var(--r-lg) var(--r-lg) 0 0}}.shortcut-list{list-style:none;margin:0;padding:8px 16px 16px;display:grid}.shortcut-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--fs-13)}.shortcut-list li:last-child{border-bottom:0}.keys{display:flex;gap:4px}.studio-skeleton .gallery,.studio-skeleton .inspector,.studio-skeleton .topbar{background:var(--bg-elev)}@media (max-width:1180px){.studio-body{grid-template-columns:220px minmax(0,1fr) 280px}.gallery-grid{grid-template-columns:1fr}.device-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.device-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}.mobile-tabbar{display:none}@media (max-width:900px){.studio{height:100vh;height:100dvh;overflow:hidden;grid-template-rows:auto minmax(0,1fr)}.studio-body>*{min-width:0;max-width:100vw}.insp-body,.inspector{overflow-x:hidden}.topbar{grid-template-columns:auto 1fr;grid-auto-rows:auto;height:auto;padding:8px 10px;gap:8px}.studio.playground{grid-template-rows:auto minmax(0,1fr)}.topbar-center{grid-column:1/-1;justify-content:space-between}.topbar-right .ratio-chip-wrap,.topbar-right .save-pill{display:none}.studio-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;padding-bottom:52px}.stage-col{grid-row:1;min-height:46vh}.gallery,.inspector{display:none;grid-row:2}.mobile-panel-properties .inspector{display:flex;border-left:0;border-top:1px solid var(--line)}.mobile-panel-stage .stage-col{display:flex}.studio.playground .studio-body{grid-template-columns:1fr}.studio.playground .stage-col{padding-right:0}.studio.playground .inspector{position:static;width:auto;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}.mobile-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;height:52px;border-top:1px solid var(--line);background:var(--bg-elev);z-index:30}.mobile-tabbar button{flex:1 1;display:flex;align-items:center;justify-content:center;font-size:var(--fs-12);font-weight:500;color:var(--text-2)}.mobile-tabbar button.on{color:var(--accent)}}.export-unlock-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.stage-tools{position:absolute;left:14px;top:12px;right:14px;z-index:6;display:flex;align-items:center;gap:10px;pointer-events:none}.stage-tool-strip{pointer-events:auto;flex:none}.stage-tool-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3);font-size:var(--fs-11)}.stage-light-layer{z-index:5;pointer-events:auto;cursor:crosshair}.stage-light-layer,.stage-light-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.stage-light-ring{border-radius:50%;border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);pointer-events:none}.stage-light-spoke{position:absolute;left:50%;top:50%;height:1px;transform-origin:0 50%;background:color-mix(in srgb,var(--accent) 55%,transparent);pointer-events:none}.stage-light-handle{position:absolute;transform:translate(-50%,-50%);width:18px;height:18px;padding:0;border:0;background:none;cursor:-webkit-grab;cursor:grab}.stage-light-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.stage-light-sun{width:18px;height:18px;border-radius:50%;border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 0 12px 2px color-mix(in srgb,var(--accent) 45%,transparent)}.stage-light-readout{position:absolute;left:26px;top:50%;transform:translateY(-50%);padding:2px 6px;border-radius:var(--r-pill);background:var(--dock-surface-top);border:1px solid var(--line);color:var(--text-2);font-size:var(--fs-11);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.frame-chooser{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--chrome-canvas) 92%,transparent)}.frame-chooser.over{background:color-mix(in srgb,var(--chrome-canvas) 88%,transparent);box-shadow:inset 0 0 0 2px var(--accent)}.frame-chooser-panel{width:100%;max-width:880px;display:grid;grid-gap:0;gap:0;justify-items:center;text-align:center}.frame-chooser-title{font-family:var(--font-serif);font-size:32px;font-weight:400;letter-spacing:-.01em;line-height:1.15;color:var(--text)}.frame-chooser-sub{margin-top:6px;font-size:var(--fs-13);color:var(--text-2)}.frame-chooser-grid{margin-top:26px;width:100%;max-width:760px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.frame-card{--frame-thumb-body:color-mix(in srgb,var(--text) 12%,transparent);--frame-thumb-line:color-mix(in srgb,var(--text) 22%,transparent);display:grid;grid-gap:10px;gap:10px;padding:10px;text-align:left;border-radius:var(--r-lg);border:1.5px solid var(--line);background:color-mix(in srgb,var(--dock-surface-top) 82%,transparent);color:var(--text);transition:transform var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.frame-card-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--r-md);border:1px solid var(--line);background:color-mix(in srgb,var(--chrome-canvas) 70%,transparent);overflow:hidden}.frame-card-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.frame-card-meta{display:grid;grid-gap:1px;gap:1px;padding:0 4px 4px}.frame-card-title{font-size:var(--fs-13);font-weight:600;letter-spacing:-.01em}.frame-card-sub{font-size:var(--fs-11);color:var(--text-2)}.frame-card:hover{transform:translateY(-2px);border-color:var(--accent)}.frame-card:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.frame-card.on{border-color:var(--accent);background:var(--accent-soft)}.frame-chooser-foot{margin-top:22px;display:grid;justify-items:center;grid-gap:8px;gap:8px}.frame-chooser-link{font-size:var(--fs-12);color:var(--text-2);text-decoration:underline;text-underline-offset:3px;background:none;border:0}.frame-chooser-link:hover{color:var(--text)}.frame-chooser-hint{font-size:var(--fs-11);color:var(--text-3);min-height:1em}@media (max-width:860px){.frame-chooser-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.frame-chooser-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.frame-chooser{padding:16px;align-items:start;overflow-y:auto}.frame-chooser-grid{grid-template-columns:minmax(0,1fr)}.frame-chooser-title{font-size:var(--fs-28)}}@media (prefers-reduced-motion:reduce){.frame-card{transition:none}.frame-card:hover{transform:none}}.starter-gallery{position:fixed;inset:0;z-index:62;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--chrome-canvas) 92%,transparent)}.starter-gallery-panel{width:min(1080px,100%);max-height:calc(100vh - 48px);overflow:auto;display:grid;justify-items:stretch;padding:18px 28px 22px;border-radius:20px;border:1px solid var(--line);background:var(--dock-surface-top);box-shadow:var(--shadow-pop)}.starter-gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.starter-gallery-back{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font-size:var(--fs-12);color:var(--text-2)}.starter-gallery-back:hover{color:var(--text)}.starter-gallery-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--chrome-canvas) 70%,transparent);color:var(--text-2)}.starter-gallery-close:hover{color:var(--text);border-color:var(--line-strong)}.starter-gallery-title{margin-top:10px;font-family:var(--font-serif);font-size:36px;font-weight:400;letter-spacing:-.01em;line-height:1.15;text-align:center;color:var(--text)}.starter-gallery-sub{margin-top:6px;font-size:var(--fs-13);text-align:center;color:var(--text-2)}.starter-gallery-grid{margin-top:26px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.starter-card{--frame-thumb-body:color-mix(in srgb,var(--text) 14%,transparent);--frame-thumb-line:color-mix(in srgb,var(--text) 24%,transparent);display:grid;grid-gap:10px;gap:10px;padding:10px;text-align:left;border-radius:var(--r-lg);border:1.5px solid var(--line);background:color-mix(in srgb,var(--chrome-canvas) 55%,transparent);color:var(--text);transition:transform var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.starter-card-thumb{position:relative;display:block;aspect-ratio:16/10;border-radius:var(--r-md);border:1px solid var(--line);background:#141210;overflow:hidden}.starter-card-thumb canvas{display:block;width:100%;height:100%;opacity:0}.starter-card-thumb canvas.is-on{opacity:1}.starter-card-glyph{position:absolute;inset:0}.starter-card-glyph.is-hidden{visibility:hidden}.starter-card-meta{display:grid;grid-gap:1px;gap:1px;padding:0 4px 2px}.starter-card-title{font-size:var(--fs-13);font-weight:600;letter-spacing:-.01em}.starter-card-tag{font-size:var(--fs-11);color:var(--text-2)}.starter-card:hover{transform:translateY(-2px);border-color:var(--accent)}.starter-card:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.starter-card.on{border-color:var(--accent);background:var(--accent-soft)}.starter-gallery-foot{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.starter-gallery-media{display:grid;grid-gap:4px;gap:4px}.starter-check{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-13);font-weight:600;color:var(--text);cursor:pointer}.starter-check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border-radius:4px;border:1.5px solid var(--line-strong);background:transparent;position:relative;flex:none;cursor:pointer}.starter-check input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.starter-check input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.starter-check.disabled,.starter-check.disabled input[type=checkbox]{cursor:default}.starter-check.disabled{color:var(--text-3)}.starter-gallery-media-alt,.starter-gallery-motion-note{margin:0 0 0 28px;font-size:var(--fs-11);color:var(--text-3)}@media (max-width:900px){.starter-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.starter-gallery-title{font-size:var(--fs-28)}}@media (max-width:520px){.starter-gallery{padding:12px;align-items:start}.starter-gallery-panel{padding:14px 16px 18px}.starter-gallery-grid{grid-template-columns:minmax(0,1fr)}.starter-gallery-foot{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.starter-card{transition:none}.starter-card:hover{transform:none}}.source-corner{position:absolute;left:16px;bottom:16px;z-index:6;max-width:min(260px,40%);display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--dock-surface-top);box-shadow:var(--shadow-2)}.source-meta{display:flex;align-items:baseline;gap:8px;min-width:0}.source-meta .source-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-corner.over{border-color:var(--accent)}.source-thumb{display:grid;place-items:center;padding:0;overflow:hidden;border-radius:var(--r-sm);border:1px solid transparent;background:var(--bg);color:var(--text-3);font-size:var(--fs-11);cursor:pointer}.source-thumb.empty{border:1px dashed var(--line-strong)}.source-corner.over .source-thumb,.source-thumb:hover{border-color:var(--accent);color:var(--text-2)}.source-thumb-canvas{display:block;border-radius:calc(var(--r-sm) - 1px)}.source-thumb--glyph{width:100%;height:88px;background:#181614}.source-aa{font-family:var(--font-instrument-serif),ui-serif,Georgia,serif;font-size:36px;line-height:1;color:#f4f0ea}.source-name{font-size:var(--fs-11);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-actions{display:flex;align-items:center;gap:8px}.source-action{padding:0;border:0;background:none;font-size:var(--fs-11);font-weight:500;color:var(--text);cursor:pointer;transition:color var(--dur-1) var(--ease)}.source-action.crop{color:var(--accent)}.source-action.crop:hover:not(:disabled){color:var(--accent-hover)}.source-action.clear{color:var(--text-3)}.source-action.clear:hover:not(:disabled){color:var(--danger)}.source-action:hover:not(:disabled){text-decoration:underline}.source-action:disabled{opacity:.4;cursor:default}.stage-hint{left:auto;right:14px}@media (max-width:900px){.source-corner{left:12px;bottom:12px}.stage-hint{display:none}}.crop-dialog{width:auto;max-width:92vw}.crop-body{display:grid;grid-gap:12px;gap:12px;padding:14px 16px}.crop-stage{display:grid;place-items:center;border-radius:var(--r-md);background:var(--bg)}.crop-box{position:relative;overflow:hidden;border-radius:var(--r-xs);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.crop-box canvas{display:block}.crop-rect{position:absolute;box-sizing:border-box;border:1px solid var(--accent);box-shadow:0 0 0 9999px rgba(0,0,0,.55);cursor:move}.crop-handle{position:absolute;width:10px;height:10px;border-radius:3px;border:1px solid var(--bg);background:var(--accent)}.crop-handle.nw{top:-1px;left:-1px;cursor:nwse-resize}.crop-handle.ne{top:-1px;right:-1px;cursor:nesw-resize}.crop-handle.sw{bottom:-1px;left:-1px;cursor:nesw-resize}.crop-handle.se{bottom:-1px;right:-1px;cursor:nwse-resize}.crop-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.crop-readout{font-size:var(--fs-12);color:var(--text-2)}.studio-timeline{--tl-handle-h:36px;position:absolute;left:0;right:0;bottom:0;z-index:22;pointer-events:none}.tl-handle{position:absolute;left:50%;transform:translateX(-50%);pointer-events:auto;display:inline-flex;align-items:center;gap:5px;height:var(--tl-handle-h);padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--timeline-surface);color:var(--text-2);font-size:var(--fs-12);font-weight:500;cursor:pointer;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.tl-handle:hover{color:var(--text);border-color:var(--line-strong)}.studio-timeline.collapsed .tl-handle{bottom:12px}.studio-timeline.open .tl-handle{bottom:calc(var(--tl-h) + 6px)}.tl-handle-chevron{display:inline-flex;color:var(--text-3);transition:transform var(--dur-1) var(--ease)}.studio-timeline.collapsed .tl-handle-chevron{transform:rotate(180deg)}.tl-body{position:absolute;left:0;right:0;bottom:0;height:var(--tl-h);pointer-events:auto;display:grid;grid-template-columns:172px minmax(0,1fr);align-items:stretch;border-top:1px solid var(--line);background:var(--timeline-surface)}.tl-rail{display:grid;align-content:center;justify-items:start;grid-gap:5px;gap:5px;padding:0 12px;border-right:1px solid var(--line)}.tl-lanes{display:grid;grid-template-rows:28px minmax(0,1fr);min-width:0}.tl-transport{display:flex;align-items:center;gap:4px}.tl-btn{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);cursor:pointer;transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.tl-btn:hover{background:var(--bg-elev-2);color:var(--text)}.tl-btn.tl-play{color:var(--accent)}.tl-btn.tl-play:hover{background:var(--accent-soft)}.tl-readout{display:flex;align-items:center;gap:6px}.tl-time{font-family:var(--font-mono);font-size:var(--fs-12);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.tl-loop{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-3);cursor:pointer;transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.tl-loop:hover{background:var(--bg-elev-2);color:var(--text)}.tl-loop.on{color:var(--accent)}.tl-rec{display:inline-flex;align-items:center;gap:4px;margin-left:2px;padding:3px 6px;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--text-3);font-size:var(--fs-11);font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.tl-rec:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.tl-rec:disabled{opacity:.4;cursor:default}.tl-rec-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.tl-rec.on{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent)}.tl-rec.on .tl-rec-dot{animation:tl-rec-pulse 1.4s var(--ease) infinite}@keyframes tl-rec-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.tl-rec.on .tl-rec-dot{animation:none}}.tl-rec-hint{margin:0;max-width:148px;color:var(--danger);font-size:10px;line-height:1.25}.tl-length{display:inline-flex;align-items:center;gap:4px;color:var(--text-3);font-size:var(--fs-11)}.tl-length input{width:46px;padding:2px 4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-elev-1);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-11);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tl-length input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tl-rail-actions{display:flex;align-items:center;gap:8px}.tl-add-wrap{position:relative}.tl-add-shot{display:inline-flex;align-items:center;gap:2px;padding:3px 8px 3px 0;border:0;background:transparent;color:var(--accent);font-size:var(--fs-12);font-weight:600;cursor:pointer;border-radius:var(--r-sm);transition:color var(--dur-1) var(--ease)}.tl-add-shot svg{width:12px;height:12px}.tl-add-menu{bottom:calc(100% + 6px);left:0;min-width:168px}.tl-add-kind{display:inline-flex;align-items:center;gap:8px}.tl-add-aa{width:16px;text-align:center;font-family:var(--font-instrument-serif),ui-serif,Georgia,serif;font-size:13px}.tl-add-mark{width:12px;height:12px;border-radius:3px;background:var(--accent)}.tl-add-shot:hover:not(:disabled){color:var(--accent-hover)}.tl-add-shot:disabled{color:var(--text-3);cursor:not-allowed}.tl-motion{padding:2px 8px 2px 0;border:0;background:transparent;color:var(--text-2);font-size:var(--fs-12);font-weight:600;cursor:pointer;border-radius:var(--r-sm);transition:color var(--dur-1) var(--ease)}.tl-motion.on,.tl-motion:hover{color:var(--text)}.tl-motion.applied{color:var(--accent)}.tl-motion-pop{position:fixed;z-index:40;width:280px;padding:10px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--dock-surface-bottom);box-shadow:var(--shadow-pop)}.tl-chips{display:flex;align-items:center;gap:2px;height:28px;padding:0 4px;overflow-x:auto;scrollbar-width:none}.tl-chips::-webkit-scrollbar{display:none}.tl-chip{position:relative;flex:none;padding:0 8px;height:22px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-3);font-size:var(--fs-11);font-weight:500;white-space:nowrap;cursor:pointer;touch-action:none;transition:color var(--dur-1) var(--ease)}.tl-chip:hover{color:var(--text-2)}.tl-chip.selected{color:var(--text)}.tl-chip.selected:after{content:"";position:absolute;left:8px;right:8px;bottom:1px;height:1.5px;border-radius:1px;background:var(--accent)}.tl-chip.dragging{opacity:.45}.tl-chip.drop-after:before,.tl-chip.drop-before:before{content:"";position:absolute;top:2px;bottom:2px;width:2px;border-radius:1px;background:var(--accent)}.tl-chip.drop-before:before{left:-2px}.tl-chip.drop-after:before{right:-2px}.tl-track{position:relative;display:grid;grid-template-rows:20px 28px auto;align-content:center;grid-gap:6px;gap:6px;padding:4px 0 12px;cursor:pointer;touch-action:none}.tl-ruler{position:relative;height:20px}.tl-tick{position:absolute;top:0;display:flex;align-items:center;height:100%;padding-left:5px;color:var(--text-3);font-family:var(--font-mono);font-size:10px;white-space:nowrap}.tl-tick:before{content:"";position:absolute;left:0;top:3px;width:1px;height:5px;background:var(--line-strong)}.tl-tick:last-child{transform:translateX(-100%);padding-left:0;padding-right:5px}.tl-tick:last-child:before{left:auto;right:0}.tl-shot-lane{position:relative;min-height:28px;height:28px}.tl-shot{position:absolute;top:0;display:flex;align-items:center;height:28px;border-radius:8px;background:color-mix(in srgb,var(--accent) 85%,transparent);transition:background-color var(--dur-1) var(--ease)}.tl-shot:hover{background:color-mix(in srgb,var(--accent) 92%,transparent)}.tl-shot.selected{background:var(--accent);box-shadow:inset 0 0 0 1px var(--playhead)}.tl-shot.dragging{opacity:.5}.tl-shot.drop-after:after,.tl-shot.drop-before:after{content:"";position:absolute;top:-2px;bottom:-2px;width:2px;border-radius:1px;background:var(--playhead)}.tl-shot.drop-before:after{left:-3px}.tl-shot.drop-after:after{right:-3px}.tl-shot-face{display:flex;flex:1 1;align-items:center;justify-content:space-between;gap:8px;min-width:0;height:100%;padding:0 2px 0 0;border:0;background:transparent;cursor:pointer}.tl-shot-label{font-size:var(--fs-11);font-weight:600;color:var(--text-on-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-shot-dur{flex:none;font-family:var(--font-mono);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--text-on-accent) 72%,transparent)}.tl-shot-grip{display:grid;place-items:center;flex:none;width:16px;height:100%;padding-left:4px;color:color-mix(in srgb,var(--text-on-accent) 65%,transparent);cursor:-webkit-grab;cursor:grab;touch-action:none}.tl-shot-grip:active{cursor:-webkit-grabbing;cursor:grabbing}.tl-shot-more{display:grid;place-items:center;flex:none;width:18px;height:18px;margin-right:3px;padding:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-on-accent);opacity:0;cursor:pointer;transition:opacity var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}.tl-shot-more:focus-visible,.tl-shot.selected .tl-shot-more,.tl-shot:hover .tl-shot-more{opacity:.85}.tl-shot-more:hover{opacity:1;background:rgba(0,0,0,.2)}.tl-shot-rename{flex:1 1;min-width:0;height:20px;margin:0 4px;padding:0 5px;border:1px solid var(--playhead);border-radius:var(--r-xs);background:rgba(0,0,0,.28);color:var(--text-on-accent);font-size:var(--fs-11);font-weight:600}.tl-shot-rename:focus{outline:none}.tl-trim{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize;touch-action:none;z-index:2}.tl-trim.start{left:0;border-radius:8px 0 0 8px}.tl-trim.end{right:0;border-radius:0 8px 8px 0}.tl-shot.selected .tl-trim,.tl-trim:hover{background:color-mix(in srgb,var(--playhead) 55%,transparent)}.tl-kf-lane{position:relative;height:14px}.tl-kf-lane:focus{outline:none}.tl-kf-lane .tl-kf{position:absolute;top:50%;transform:translate(-50%,-50%);cursor:pointer}.tl-kf-lane .tl-kf.other-shot{opacity:.35}.tl-kf-lane .tl-kf.other-shot:hover{opacity:.7}.tl-kf-lane .tl-kf.selected{outline:1px solid var(--accent);outline-offset:1px;border-radius:var(--r-xs)}.tl-kf-lane{cursor:default;touch-action:none}.tl-kf-lane:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}.tl-kf-slot{position:absolute;top:0;bottom:0;width:0}.tl-kf-slot .tl-kf{left:0}.tl-kf-ease,.tl-kf-more{position:absolute;left:50%;opacity:0;pointer-events:none;transition:opacity var(--dur-1) var(--ease)}.tl-kf-ease{bottom:calc(100% + 1px);color:var(--text-2)}.tl-kf-ease,.tl-kf-more{transform:translateX(-50%)}.tl-kf-more{top:calc(100% - 1px);display:grid;place-items:center;width:16px;height:14px;padding:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-3);cursor:pointer}.tl-kf-more svg{width:12px;height:12px}.tl-kf-slot:focus-within .tl-kf-ease,.tl-kf-slot:focus-within .tl-kf-more,.tl-kf-slot:has(.tl-kf.selected) .tl-kf-ease,.tl-kf-slot:has(.tl-kf.selected) .tl-kf-more,.tl-kf-slot:hover .tl-kf-ease,.tl-kf-slot:hover .tl-kf-more{opacity:1;pointer-events:auto}.tl-kf-more:hover{background:var(--bg-elev-2);color:var(--text)}.tl-marquee{position:absolute;top:-2px;bottom:-2px;border:1px solid var(--accent);border-radius:var(--r-xs);background:var(--accent-soft);pointer-events:none}.tl-menu-sub{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.tl-menu-sub-value{color:var(--text-3);font-size:var(--fs-11);max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-menu-back{display:flex;align-items:center;gap:6px;color:var(--text)}.tl-menu-back-chevron{display:inline-grid;place-items:center;transform:rotate(90deg)}.tl-menu-back-chevron svg{width:12px;height:12px}.tl-ease-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2px;gap:2px;max-height:216px;overflow-y:auto}.tl-ease-item{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;grid-gap:5px;gap:5px;padding:4px 5px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:var(--fs-11);text-align:left;cursor:pointer;transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.tl-ease-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-ease-item:focus-visible,.tl-ease-item:hover{background:var(--bg-elev-2);color:var(--text)}.tl-ease-item.on{color:var(--accent)}.tl-track-rows{position:absolute;left:0;right:0;bottom:2px;z-index:2;pointer-events:none}.tl-track-rows>*{pointer-events:auto}.tl-adv-toggle{display:inline-flex;align-items:center;gap:4px;padding:1px 6px 1px 2px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-3);font-size:var(--fs-11);cursor:pointer}.tl-adv-toggle.on,.tl-adv-toggle:hover{color:var(--text)}.tl-adv-chevron{display:inline-grid;place-items:center;transform:rotate(-90deg);transition:transform var(--dur-1) var(--ease)}.tl-adv-toggle.on .tl-adv-chevron{transform:rotate(0deg)}.tl-adv-chevron svg{width:11px;height:11px}.tl-adv-count{color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tl-adv-list{max-height:54px;overflow-y:auto;padding:1px 0 2px;border-top:1px solid var(--line);background:var(--timeline-surface)}.tl-adv-row{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;height:15px}.tl-adv-label{color:var(--text-3);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-adv-lane{position:relative;height:100%}.tl-adv-kf{position:absolute;top:50%;transform:translate(-50%,-50%);cursor:pointer}.tl-adv-kf.selected{outline:1px solid var(--accent);outline-offset:1px;border-radius:var(--r-xs)}.tl-menu{position:fixed;z-index:40;display:grid;padding:4px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:linear-gradient(180deg,var(--dock-surface-top),var(--dock-surface-bottom));box-shadow:var(--shadow-pop)}.tl-menu-item{padding:5px 8px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:var(--fs-12);text-align:left;cursor:pointer;transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.tl-menu-item:focus-visible,.tl-menu-item:hover:not(:disabled){background:var(--bg-elev-2);color:var(--text)}.tl-menu-item.danger{color:var(--danger)}.tl-menu-item:disabled{color:var(--text-3);cursor:not-allowed}.tl-menu-rule{height:1px;margin:4px 6px;border:0;background:var(--line)}.tl-menu-ask{margin:0;padding:6px 8px 4px;color:var(--text-2);font-size:var(--fs-11);line-height:1.3}.tl-playhead{position:absolute;top:0;bottom:0;width:1.5px;margin-left:-.75px;background:var(--playhead);pointer-events:none;z-index:3}.tl-playhead-head{position:absolute;top:0;left:50%;transform:translateX(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--playhead)}.studio.playground.timeline-open .inspector{bottom:calc(var(--tl-h) + 8px)}.studio.playground.timeline-open .stage-col{padding-bottom:calc(var(--tl-h) + 8px)}@media (max-width:900px){.studio-timeline{bottom:52px}.studio.playground.timeline-open .inspector{bottom:auto}.studio.playground.timeline-open .stage-col{padding-bottom:0}.tl-body{grid-template-columns:136px minmax(0,1fr)}}.projects-shell{min-height:100vh;display:flex;flex-direction:column}.projects-shell,.projects-skeleton{background:var(--bg)}.projects-header{flex:none;height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-elev);border-bottom:1px solid var(--line)}.projects-body{flex:1 1;display:grid;grid-template-columns:286px minmax(0,1fr);min-height:0}.projects-sidebar{background:var(--bg-elev);border-right:1px solid var(--line);padding:12px 8px;overflow:auto}.projects-sidebar h2{padding:4px 10px 12px;font-size:var(--fs-13);font-weight:600;color:var(--text)}.folder-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.folder-item{position:relative;gap:2px}.folder-item,.folder-row{display:flex;align-items:center}.folder-row{flex:1 1;gap:8px;height:34px;min-width:0;padding:0 10px;border-radius:var(--r-md);font-size:var(--fs-13);color:var(--text-2);text-align:left;transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.folder-row svg{flex:none}.folder-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-row.on,.folder-row:hover{background:var(--bg-elev-2);color:var(--text)}.folder-add{color:var(--text-2)}.folder-menu-btn{flex:none;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--text-3);opacity:0;transition:opacity var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.folder-item:hover .folder-menu-btn,.folder-menu-btn.is-open{opacity:1}.folder-menu-btn:hover{background:var(--bg-elev-3);color:var(--text)}.folder-menu{top:32px;right:6px}.folder-add-input,.folder-rename-input,.project-card-rename{width:100%;height:30px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-elev-2);color:var(--text);font-size:var(--fs-13);font-family:inherit}.projects-main{padding:28px 32px 48px;min-width:0;overflow:auto}.projects-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.projects-toolbar h1{margin:0;font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.projects-toolbar p{margin:4px 0 0;font-size:var(--fs-13);color:var(--text-2)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:20px;gap:20px;margin-top:24px}.projects-empty{display:grid;justify-items:center;grid-gap:14px;gap:14px;padding:96px 0;color:var(--text-2);font-size:var(--fs-13)}.projects-footnote{margin-top:40px;max-width:560px;font-size:var(--fs-12);color:var(--text-3)}.project-card{position:relative}.project-card-skeleton{min-height:230px;border-radius:var(--r-lg);background:var(--bg-elev);border:1px solid var(--line)}.project-card-link{display:block;color:inherit}.project-card-thumb{display:block;overflow:hidden;border-radius:12px;background:var(--bg);border:1px solid var(--line);transition:border-color var(--dur-1) var(--ease)}.project-card-link:hover .project-card-thumb{border-color:var(--line-strong)}.project-card-thumb canvas{display:block;width:100%;height:auto;aspect-ratio:320/200;background:var(--bg)}.project-card-body{display:block;padding:10px 2px 0}.project-card-body b{display:block;font-size:var(--fs-13);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-meta{display:block;margin-top:2px;font-size:var(--fs-12);color:var(--text-2)}.project-card-menu-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);background:var(--bg-frost);backdrop-filter:var(--frost-filter);-webkit-backdrop-filter:var(--frost-filter);color:var(--text);opacity:0;transition:opacity var(--dur-1) var(--ease)}.project-card-menu-btn.is-open,.project-card:hover .project-card-menu-btn{opacity:1}.menu{position:absolute;z-index:30;min-width:168px;padding:6px;display:grid;grid-gap:1px;gap:1px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-elev-2);box-shadow:var(--shadow-pop)}.menu a,.menu button{display:flex;align-items:center;width:100%;padding:7px 10px;border-radius:var(--r-sm);font-size:var(--fs-13);color:var(--text);text-align:left}.menu a:hover,.menu button:hover{background:var(--bg-elev-3)}.menu button.on{color:var(--accent)}.menu .danger,.menu button.danger{color:var(--danger)}.menu hr{border:none;border-top:1px solid var(--line);margin:4px 2px}.project-card-menu{top:42px;right:8px}.menu-item-sub{position:relative}.submenu{top:-6px;left:100%;margin-left:4px;max-height:220px;overflow:auto}.menu-confirm{padding:8px 10px;display:grid;grid-gap:8px;gap:8px;font-size:var(--fs-12);color:var(--text-2)}.menu-confirm div{display:flex;gap:6px}@media (max-width:720px){.projects-body{grid-template-columns:1fr}.projects-sidebar{border-right:none;border-bottom:1px solid var(--line)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes hero-head-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes hero-plate-in{0%{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}@keyframes drawer-in{0%{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.hero-head{animation:hero-head-in .7s var(--ease-out) both}.hero-plate{animation:hero-plate-in .86s var(--ease-out) 60ms both}.proof li{animation:fade-in .5s var(--ease-out) both}.proof li:first-child{animation-delay:.28s}.proof li:nth-child(2){animation-delay:.36s}.proof li:nth-child(3){animation-delay:.44s}.drawer-backdrop{animation:fade-in .2s var(--ease-out) both}.drawer{animation:drawer-in .32s var(--ease-drawer) both}.dialog-backdrop{animation:fade-in .2s var(--ease-out) both}.dialog{animation:dialog-in .22s var(--ease-out) both}.menu{transform-origin:top right;animation:menu-in .16s var(--ease-out) both}}@media (hover:hover) and (pointer:fine){.feat-bento article:hover,.step-track li:hover,.tcard:hover,.template-card:hover{transform:translateY(-2px)}.btn.cta:hover .btn-arrow{transform:translate(1px,-1px)}}