@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--stage:#e5e7eb;--stage-dot:#00000016;--stage-edge:#00000029;--stage-shadow:#0000001f;--card:#fff;--card-inset:#f3f4f6;--card-thumb:#e5e7eb;--card-soft:#f9fafb;--frame:#e5e7eb;--line:#e5e7eb;--line-soft:#0000001f;--handle:#b9bfcb;--fg:#111827;--fg-body:#111827;--fg-label:#374151;--fg-value:#111827;--fg-muted:#6b7280;--fg-faint:#9ca3af;--seg-active-bg:#111827;--seg-active-fg:#fff;--inverse-bg:#111827;--inverse-fg:#fff;--chip-bg:#374151;--chip-fg:#fff;--beta-bg:#fff;--beta-fg:#111827;--tl-lane-h:30px;--tl-gutter-w:86px;--tl-bar-idle:#e5e7eb;--tl-bar-idle-fg:#374151;--tl-bar-on:#111827;--tl-bar-on-fg:#fff;--gz-x:#e05252;--gz-y:#7db72f;--gz-z:#4a86d9;--gz-neg-fill:#10131a8c;--gz-label:#0f1319;--r-card:0px;--r-ctrl:0px;--r-seg:0px;--r-chip:0px;--r-nav:0px;--fs-label:13px;--fs-ui:12px;--fs-meta:11px;--fs-eyebrow:10px;--fs-micro:9px;--lh-label:19.5px;--lh-ui:18px;--gutter:0px;--pad-card:14px;--pad-sect:20px;--gap-row:12px;--gap-tight:10px;--rail-w:64px;--tpl-w:296px;--panel-w:280px;--bottom-h:56px;--ctl-h:34px;--seg-pad:3px;--t-fast:.12s;--t-seg:.49s;--e-seg:cubic-bezier(.71, 0, .07, 1);--t-seg-flip:.19s;--sl-rubber:6px;--sl-fill:var(--card);--sl-fill-edge:var(--handle);--sl-handle-on:var(--handle);--sl-value-on:var(--fg-value);--sl-tick:3px}:root[data-theme=dark]{--stage:#0d0d0d;--stage-dot:#ffffff16;--stage-edge:#ffffff2e;--stage-shadow:#0000008c;--card:#171717;--card-inset:#232323;--card-thumb:#2d2d2d;--card-soft:#1f1f1f;--frame:#0d0d0d;--line:#303030;--line-soft:#ffffff24;--handle:#595959;--fg:#fff;--fg-body:#e8e8e8;--fg-label:#ccc;--fg-value:#aaa;--fg-muted:#a3a3a3;--fg-faint:#858585;--sl-fill:var(--card-thumb);--sl-fill-edge:var(--handle);--sl-handle-on:var(--fg-body);--sl-value-on:var(--fg-value);--seg-active-bg:#2d2d2d;--seg-active-fg:#fff;--inverse-bg:#fff;--inverse-fg:#111;--chip-bg:#ccc;--chip-fg:#171717;--beta-bg:#fff;--beta-fg:#111;--tl-bar-idle:#2d2d2d;--tl-bar-idle-fg:#ccc;--tl-bar-on:#fff;--tl-bar-on-fg:#111}
*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--stage);color:var(--fg-body);font-family:var(--font-inter), "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;font-size:var(--fs-ui);line-height:var(--lh-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}input,button,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}input,select,textarea{background:0 0;border:none;outline:none}select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%23666666' fill='none' stroke-width='1.4'/></svg>");background-position:right 10px center;background-repeat:no-repeat}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}input[type=range]{appearance:none;background:0 0}:focus-visible{outline:1px solid var(--fg);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--card-inset);border:2px solid var(--card);border-radius:6px}::-webkit-scrollbar-track{background:0 0}.app{--templates-col:var(--tpl-w);--controls-col:var(--panel-w);--right-col:var(--panel-w);grid-template-columns:var(--rail-w) minmax(0, var(--templates-col)) minmax(min(320px, 100%), 1fr) minmax(0, var(--controls-col)) minmax(0, var(--right-col));background:var(--stage);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"rail templates stage controls right""rail bottom bottom bottom bottom";gap:0;height:100vh;padding:0;transition:grid-template-columns .18s;display:grid;overflow:hidden}.app.left-collapsed{--templates-col:0px}.app.right-collapsed{--controls-col:0px;--right-col:0px}.card{background:var(--card);border-radius:0;flex-direction:column;min-height:0;display:flex;overflow:hidden}.card-scroll{background:var(--card);flex:1;min-height:0;overflow-y:auto}.eyebrow{font-size:var(--fs-eyebrow);letter-spacing:1.5px;text-transform:uppercase;color:var(--fg-label);font-weight:650;line-height:15px}.section-head{padding:17px var(--pad-sect) 7px;background:var(--card);justify-content:space-between;align-items:center;display:flex}.section-body{padding:9px var(--pad-sect) 18px;gap:var(--gap-row);background:var(--card);flex-direction:column;display:flex}.hairline{background:var(--line);height:1px;margin:0 var(--pad-sect);flex:none}.card-scroll>.hairline{background:var(--line);border:none;width:100%;height:1px;margin:0}.card-scroll>.section-head,.card-scroll>:first-child>.section-head{padding-top:16px}.ctl-hint{font-size:var(--fs-ui);color:var(--fg-faint);line-height:1.4}.badge{font-size:var(--fs-ui);color:var(--fg-label);background:var(--card-inset);border-radius:var(--r-seg);padding:3px 10px;font-weight:400}.rail{border-right:1px solid var(--line);grid-area:rail;align-items:stretch}.rail-top{flex-direction:column;flex:1;align-items:stretch;padding:12px 8px 0;display:flex}.rail-logo-wrap{flex-direction:column;align-items:center;margin:8px auto 16px;display:flex}.rail-logo{width:42px;height:19px;color:var(--fg);background:0 0;place-items:center;display:grid}.beta-tag.rail-beta-tag{box-sizing:border-box;color:#111827;background:#f3f4f6;place-items:center;width:33px;height:14px;margin-top:6px;padding:0;display:grid}:root[data-theme=dark] .beta-tag.rail-beta-tag{color:#fff;background:#2d2d2d}.rail-item{border-radius:var(--r-nav);height:52px;color:var(--fg-faint);cursor:pointer;transition:color var(--t-fast), background var(--t-fast);flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-bottom:4px;text-decoration:none;display:flex;position:relative}.rail-item:hover{color:var(--fg-muted)}.rail-item.active{background:var(--card-inset);color:var(--fg)}.rail-item.rail-action{color:var(--fg-label);border-bottom:1px solid var(--line);border-radius:0;margin-bottom:8px;padding-bottom:4px}.rail-item.rail-action:hover{color:var(--fg);background:var(--card-inset)}.rail-ico{place-items:center;width:20px;height:20px;display:grid}.rail-label{font-size:8px;font-weight:600;line-height:10px}.rail-exp-chevron{width:10px;height:10px;transition:transform var(--t-fast);place-items:center;display:grid;position:absolute;top:16px;right:4px}.rail-exp-chevron.open{transform:rotate(180deg)}.rail-experimental-items{pointer-events:none;width:100%;max-height:0;margin:0;transition:max-height .34s cubic-bezier(.22,1,.36,1),margin .34s cubic-bezier(.22,1,.36,1);overflow:hidden}.rail-experimental-items.open{pointer-events:auto;max-height:162px;margin-bottom:4px}.rail-experimental-inner{opacity:0;transition:opacity .18s,transform .34s cubic-bezier(.22,1,.36,1);transform:translateY(-34px)}.rail-experimental-items.open .rail-experimental-inner{opacity:1;animation:.34s cubic-bezier(.22,1,.36,1) both rail-experiments-open;transform:translateY(0)}.rail-experimental-items.closed .rail-experimental-inner{animation:.34s cubic-bezier(.55,0,1,.45) both rail-experiments-close}@keyframes rail-experiments-open{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes rail-experiments-close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-24px)}}.rail-item.rail-subitem{width:100%;height:52px;margin-bottom:2px}.rail-item.rail-locked,.rail-item.rail-locked:hover{opacity:.38;color:var(--fg-faint);cursor:default;background:0 0}.rail-bottom{padding:8px}.rail-update,.rail-news{width:100%;margin:0 0 4px}.update-bell-icon,.news-bell-icon{position:relative}.update-bell-dot,.news-bell-dot{border:1.5px solid var(--card);background:var(--gz-x,#ef4444);border-radius:50%;width:7px;height:7px;position:absolute;top:-2px;right:-2px}.rail-theme{width:100%;margin:0}.folder-glyph{--dur:.38s;transform-box:fill-box;transform-origin:bottom;overflow:visible}.folder-glyph .folder-back-masked,.rail-item.active .folder-glyph .folder-back-plain{visibility:hidden}.rail-item.active .folder-glyph .folder-back-masked{visibility:visible}.folder-glyph .folder-front{transform-box:fill-box;transform-origin:0 100%;visibility:hidden;opacity:0;transition:transform var(--dur) cubic-bezier(.4, 0, .2, 1)}.rail-item.active .folder-glyph .folder-front{visibility:visible;opacity:1;transition:transform var(--dur) cubic-bezier(.4, 0, .2, 1);transform:skew(-18deg)scaleY(.56)}.rail-item.active .folder-glyph{animation:folder-pinch var(--dur) cubic-bezier(.4, 0, .2, 1)}@keyframes folder-pinch{0%{transform:scaleY(1)scaleX(1)}25%{transform:scaleY(.92)scaleX(1.03)}60%{transform:scaleY(1.02)scaleX(.99)}to{transform:scaleY(1)scaleX(1)}}@media (prefers-reduced-motion:reduce){.folder-glyph .folder-front{transition-duration:1ms}.rail-item.active .folder-glyph{animation:none}}.theme-glyph{--dur:.42s;--grow:1.55;--sw:.968;--park:3.61px}.theme-glyph .disc{transform-box:fill-box;transform-origin:50%;transition:transform var(--dur) cubic-bezier(.4, 0, .2, 1), stroke-width var(--dur) cubic-bezier(.4, 0, .2, 1)}.theme-glyph .bite{transition:transform var(--dur) cubic-bezier(.4, 0, .2, 1)}.theme-glyph .rays{transform-box:fill-box;transform-origin:50%;transition:transform var(--dur) cubic-bezier(.4, 0, .2, 1), opacity var(--dur) linear}.theme-glyph .disc{transform:scale(var(--grow));stroke-width:var(--sw)}.theme-glyph .bite{transform:translate(0)}.theme-glyph .rays{opacity:0;transition-delay:0s;transform:scale(0)}:root[data-theme=dark] .theme-glyph .disc{stroke-width:1.5px;transform:none}:root[data-theme=dark] .theme-glyph .bite{transform:translate(var(--park), calc(-1 * var(--park)))}:root[data-theme=dark] .theme-glyph .rays{opacity:.5;transition-delay:calc(var(--dur) * .2);transform:none}@media (prefers-reduced-motion:reduce){.theme-glyph .disc,.theme-glyph .bite,.theme-glyph .rays{transition-duration:1ms;transition-delay:0s}}.templates{border-right:1px solid var(--line);grid-area:templates;transition:opacity .14s}.app.left-collapsed .templates{opacity:0;visibility:hidden;pointer-events:none;border-right-color:#0000}.tpl-head{flex-direction:column;gap:8px;padding:12px 14px 10px;display:flex}.tpl-head-row{align-items:center;gap:8px;display:flex}.tpl-collapse,.tpl-expand{border-radius:var(--r-seg);width:26px;height:26px;color:var(--fg-faint);transition:background var(--t-fast), color var(--t-fast);flex:none;place-items:center;display:grid}.tpl-collapse:hover,.tpl-expand:hover{background:var(--card-inset);color:var(--fg)}.tpl-strip{align-items:center;padding-top:12px}.app-tpl-collapsed{--templates-col:40px}.tabs{background:var(--card-inset);border-radius:var(--r-ctrl);padding:var(--seg-pad);width:100%;display:flex}.tab{border-radius:var(--r-seg);text-align:center;color:var(--fg-faint);line-height:var(--lh-ui);transition:background var(--t-fast), color var(--t-fast);flex:1;padding:5px 8px}.tab.active{background:var(--seg-active-bg);color:var(--seg-active-fg)}.tab-beta{justify-content:center;align-items:center;gap:6px;display:inline-flex}.beta-tag{font-size:var(--fs-eyebrow);letter-spacing:.8px;border-radius:var(--r-seg);background:var(--beta-bg);color:var(--beta-fg);padding:2px 4px;font-weight:500;line-height:1}.beta-note{font-size:var(--fs-meta);color:var(--fg-muted);line-height:15px}.view-gizmo{z-index:5;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;top:10px;right:10px}.gz-axis{pointer-events:none}.gz-input{fill:#0000}.gz-x{--gz:var(--gz-x)}.gz-y{--gz:var(--gz-y)}.gz-z{--gz:var(--gz-z)}.gz-axis line{stroke:var(--gz);stroke-width:1.75px;stroke-linecap:round}.gz-pos .gz-ball{fill:var(--gz)}.gz-neg .gz-ball{fill:var(--gz-neg-fill);stroke:var(--gz);stroke-width:1.5px}.gz-axis text{letter-spacing:.2px;text-anchor:middle;dominant-baseline:central;font-size:8.5px;font-weight:600}.gz-pos text{fill:var(--gz-label)}.gz-neg text{fill:var(--gz)}.searchbox{background:var(--card-inset);border-radius:var(--r-ctrl);align-items:center;height:34px;padding-left:28px;padding-right:10px;display:flex;position:relative}.searchbox input{width:100%;color:var(--fg-body);font-size:var(--fs-ui);background:0 0;border:none}.searchbox input::placeholder{color:var(--fg-faint)}.searchbox .ico{width:13px;height:13px;color:var(--fg-faint);place-items:center;display:grid;position:absolute;left:8px}.tpl-list{flex:1;padding:0 14px;overflow-y:auto}.tpl-group-label{font-size:var(--fs-eyebrow);letter-spacing:1.5px;text-transform:uppercase;color:var(--fg-faint);padding:14px 13px 6px;line-height:15px}.tpl-item{border-radius:var(--r-ctrl);width:100%;height:40px;color:var(--fg-label);font-size:var(--fs-label);text-align:left;transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:10px;padding:0 13px;display:flex}.tpl-item:hover:not(:disabled),.tpl-item.active{background:var(--card-inset);color:var(--fg)}.tpl-name{flex:1}.tpl-group-count{text-align:right;min-width:2ch;font-size:var(--fs-micro);font-variant-numeric:tabular-nums;border-radius:var(--r-chip);background:var(--card-inset);color:var(--fg-muted);flex:none;padding:2px 5px}.tpl-chevron{width:12px;height:12px;color:var(--fg-faint);place-items:center;display:grid}.tpl-accordion{width:100%}.tpl-accordion-chevron{width:12px;height:12px;color:var(--fg-faint);transition:transform .18s ease, color var(--t-fast);place-items:center;display:grid}.tpl-accordion.open .tpl-accordion-chevron{color:var(--fg);transform:rotate(90deg)}.tpl-grid-accordion{transform-origin:top;padding:10px 0 18px;animation:.18s ease-out both tpl-accordion-in}@keyframes tpl-accordion-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tpl-accordion-chevron{transition:none}.tpl-grid-accordion{animation:none}}.tpl-item.soon{opacity:.45;cursor:default}.tpl-soon{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-faint);border:1px solid var(--line);border-radius:var(--r-chip);padding:2px 5px;font-size:9px}.tpl-foot{padding:12px 16px 16px}.tpl-save-row{gap:6px;display:flex}.tpl-save-row .field{flex:1;min-width:0}.tpl-save-row .btn{flex:none;padding:0 14px}.tpl-card-custom{cursor:pointer;position:relative}.tpl-card-custom .tpl-del{background:var(--card);border:1px solid var(--line);opacity:0;width:18px;height:18px;transition:opacity var(--t-fast), color var(--t-fast);position:absolute;top:4px;right:4px}.tpl-card-custom:hover .tpl-del{opacity:1}.tpl-foot .btn{border:1px dashed var(--line);color:var(--fg-faint);font-size:var(--fs-label);background:0 0;height:auto;padding:9px 16px}.tpl-foot .btn:hover{border-color:var(--handle);color:var(--fg-muted);background:0 0}.tpl-group-head{align-items:center;padding:10px 0 6px;display:flex}.tpl-back{background:var(--card-inset);width:20px;height:20px;color:var(--fg-label);border-radius:var(--r-seg);transition:color var(--t-fast), background var(--t-fast);place-items:center;display:grid}.tpl-back:hover{color:var(--fg);background:var(--card-thumb)}.tpl-group-title{text-align:center;color:var(--fg);flex:1;margin-right:20px;font-size:14px;font-weight:600}.tpl-grid{grid-template-columns:1fr 1fr;gap:14px 10px;padding:8px 0 16px;display:grid}.tpl-card{background:var(--card-soft);border:1px solid var(--line);transition:border-color var(--t-fast), background var(--t-fast);cursor:pointer;flex-direction:column;gap:8px;padding:8px;display:flex;position:relative}.tpl-item:has(.tpl-new-inline) .tpl-name{flex:0 auto}.tpl-new-inline{font-size:var(--fs-micro);letter-spacing:.6px;border-radius:var(--r-seg);background:var(--inverse-bg);color:var(--inverse-fg);flex:none;margin-left:6px;margin-right:auto;padding:2px 4px;font-weight:500;line-height:1}.tpl-new{z-index:2;font-size:var(--fs-micro);letter-spacing:.6px;border-radius:var(--r-seg);background:var(--inverse-bg);color:var(--inverse-fg);pointer-events:none;padding:3px 5px;font-weight:500;line-height:1;position:absolute;top:12px;right:12px}.tpl-card:hover{border-color:var(--handle)}.tpl-card.active{border-color:var(--fg)}.tpl-card.active .tpl-card-label{color:var(--fg)}.tpl-fav{z-index:2;width:16px;height:16px;color:var(--fg-faint);opacity:0;transition:opacity var(--t-fast), color var(--t-fast);filter:drop-shadow(0 0 1px var(--card));position:absolute;top:12px;left:12px}.tpl-card:hover .tpl-fav,.tpl-card:focus-within .tpl-fav,.tpl-fav.on{opacity:1}.tpl-fav:hover,.tpl-fav.on{color:var(--fg)}@media (hover:none){.tpl-fav{opacity:1}}.tpl-fav-ico{width:12px;height:12px;color:var(--fg-muted);place-items:center;display:grid}.tpl-fav-count{font-size:var(--fs-micro);font-variant-numeric:tabular-nums;border-radius:var(--r-chip);background:var(--card-inset);color:var(--fg-muted);flex:none;margin-left:6px;margin-right:auto;padding:2px 5px;line-height:1}.tpl-accordion-fav:has(.tpl-fav-count) .tpl-name{flex:0 auto}.tpl-fav-empty{font-size:var(--fs-meta);color:var(--fg-faint);padding:10px 13px 18px;line-height:16.5px;animation:.18s ease-out both tpl-accordion-in}@media (prefers-reduced-motion:reduce){.tpl-fav-empty{animation:none}}.tpl-thumb{aspect-ratio:3/4;background:var(--frame);isolation:isolate;width:100%;position:relative;overflow:hidden}.tpl-thumb-el{background:#c9c9c9;position:absolute}.tpl-thumb.is-previewing .tpl-thumb-el{will-change:transform, opacity}.tpl-thumb:after{content:"";z-index:50;background:var(--fg-faint);opacity:0;width:6px;height:6px;transition:opacity var(--t-fast), background var(--t-fast);border-radius:50%;position:absolute;bottom:7px;right:7px}.tpl-card:hover .tpl-thumb:after,.tpl-card:focus-visible .tpl-thumb:after{opacity:.65}.tpl-thumb.is-previewing:after{opacity:1;background:var(--fg)}@media (prefers-reduced-motion:reduce){.tpl-thumb:after{display:none}}.tpl-card-label{font-size:var(--fs-meta);color:var(--fg-muted);text-align:center;line-height:16.5px}.controls{border-left:1px solid var(--line);--pad-sect:14px;grid-area:controls;transition:opacity .14s}.right{border-left:1px solid var(--line);grid-area:right;transition:opacity .14s}.app.right-collapsed .controls,.app.right-collapsed .right{opacity:0;visibility:hidden;pointer-events:none;border-left-color:#0000}.ctl-row{gap:var(--gap-tight);flex-direction:column;display:flex}.ctl-label{font-size:var(--fs-label);line-height:var(--lh-label);color:var(--fg-label)}.ctl-input{display:flex}.strack{width:100%;height:var(--ctl-h);border-radius:var(--r-ctrl);background:var(--card-inset);cursor:ew-resize;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.strack:not(.is-dragging){transition:width var(--t-fast) cubic-bezier(.2, 0, 0, 1), margin var(--t-fast) cubic-bezier(.2, 0, 0, 1)}@media (prefers-reduced-motion:reduce){.strack:not(.is-dragging){transition:none}}.sfill{z-index:2;background:var(--sl-fill);box-shadow:inset 0 0 0 1px var(--sl-fill-edge);border-radius:var(--r-ctrl);pointer-events:none;position:absolute;top:0;bottom:0}.shandle{z-index:1;width:var(--sl-tick);background:var(--sl-handle,var(--handle));pointer-events:none;border-radius:0;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%)}.shandle.is-split{background:linear-gradient(var(--sl-handle,var(--handle)) 0 var(--sl-tick), transparent var(--sl-tick) calc(20px - var(--sl-tick)), var(--sl-handle,var(--handle)) calc(20px - var(--sl-tick)) 20px);height:20px}.sval{z-index:1;font-size:var(--fs-ui);line-height:var(--lh-ui);color:var(--sl-value,var(--fg-value));font-variant-numeric:tabular-nums;border-radius:var(--r-seg);cursor:text;padding:2px 6px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.sinv{z-index:3;pointer-events:none;--sl-handle:var(--sl-handle-on);--sl-value:var(--sl-value-on);position:absolute;inset:0}.strack:has(.sval:hover):not(.is-dragging) .sinv .sval{background:color-mix(in srgb, var(--sl-handle-on) 16%, transparent)}.szero,.slider-bubble{z-index:3}.sinv .szero{background:color-mix(in srgb, var(--sl-handle-on) 34%, transparent)}.sticks{z-index:1;pointer-events:none;opacity:0;transition:opacity var(--t-fast);transform:translateX(calc(100% / var(--tick-n)));background-image:linear-gradient(90deg, color-mix(in srgb, var(--fg) 30%, transparent) 0 var(--sl-tick), transparent var(--sl-tick));background-size:calc(100% / var(--tick-n)) var(--sl-tick);background-position:0;background-repeat:repeat-x;position:absolute;inset:0}.strack:hover .sticks,.strack.is-dragging .sticks{opacity:1}@media (prefers-reduced-motion:reduce){.sticks{transition:none}}.sval-input{z-index:4}.sval:before{content:"";background:var(--card-inset);z-index:-1;height:10px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.sinv .sval:before{background:var(--sl-fill)}.sval:hover{background:var(--card-thumb);color:var(--fg-body)}.strack.is-dragging .sval:hover{color:var(--fg-value);background:0 0}.sval-input{text-align:right;background:var(--card-thumb);border-radius:var(--r-seg);max-width:calc(100% - 8px);color:var(--fg-body);font-size:var(--fs-ui);font-variant-numeric:tabular-nums;border:none;padding:2px 6px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.segmented{background:var(--card-inset);border-radius:var(--r-ctrl);padding:var(--seg-pad);width:100%;display:flex}.seg{border-radius:var(--r-seg);min-width:1px;color:var(--fg-faint);font-size:var(--fs-ui);line-height:var(--lh-ui);text-align:center;text-transform:capitalize;white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);flex:1;padding:5px 8px}.seg:hover:not(.active){color:var(--fg-muted)}.seg.active{background:var(--seg-active-bg);color:var(--seg-active-fg)}.pills{background:var(--card-inset);border-radius:var(--r-ctrl);padding:var(--seg-pad);width:100%;display:flex}.pill{border-radius:var(--r-seg);min-width:1px;color:var(--fg-faint);font-size:var(--fs-ui);line-height:var(--lh-ui);text-align:center;text-transform:capitalize;white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);flex:1;padding:5px 8px}.pill:hover:not(.active){color:var(--fg-muted)}.pill.active{background:var(--seg-active-bg);color:var(--seg-active-fg)}@supports selector(:has(*)){:is(.segmented,.pills,.tabs){--seg-n:1;position:relative}:is(.segmented,.pills,.tabs):has(>:nth-child(2):last-child){--seg-n:2}:is(.segmented,.pills,.tabs):has(>:nth-child(3):last-child){--seg-n:3}:is(.segmented,.pills,.tabs):has(>:nth-child(4):last-child){--seg-n:4}:is(.segmented,.pills,.tabs):has(>:nth-child(5):last-child){--seg-n:5}:is(.segmented,.pills,.tabs):has(>:nth-child(6):last-child){--seg-n:6}:is(.segmented,.pills,.tabs):has(>:nth-child(7):last-child){--seg-n:7}:is(.segmented,.pills,.tabs):has(>:nth-child(8):last-child){--seg-n:8}:is(.segmented,.pills,.tabs):before{content:"";top:var(--seg-pad);bottom:var(--seg-pad);left:var(--seg-pad);width:calc((100% - 2 * var(--seg-pad)) / var(--seg-n));border-radius:var(--r-seg);background:var(--seg-active-bg);transition:transform var(--t-seg) var(--e-seg), opacity var(--t-fast);pointer-events:none;position:absolute;transform:translate(0)}:is(.segmented,.pills,.tabs):has(>:nth-child(2).active):before{transform:translate(100%)}:is(.segmented,.pills,.tabs):has(>:nth-child(3).active):before{transform:translate(200%)}:is(.segmented,.pills,.tabs):has(>:nth-child(4).active):before{transform:translate(300%)}:is(.segmented,.pills,.tabs):has(>:nth-child(5).active):before{transform:translate(400%)}:is(.segmented,.pills,.tabs):has(>:nth-child(6).active):before{transform:translate(500%)}:is(.segmented,.pills,.tabs):has(>:nth-child(7).active):before{transform:translate(600%)}:is(.segmented,.pills,.tabs):has(>:nth-child(8).active):before{transform:translate(700%)}:is(.segmented,.pills,.tabs):not(:has(>.active)):before{opacity:0}:is(.segmented,.pills,.tabs)>:is(.seg,.pill,.tab){z-index:1;transition:color var(--t-fast) var(--t-seg-flip);position:relative}:is(.segmented,.pills,.tabs)>:is(.seg,.pill,.tab).active{background:0 0}:is(.segmented,.pills,.tabs)>:is(.seg,.pill,.tab):hover{transition-delay:0s}:is(.pj-sort,.aspect-pills,.card-shape-pills):before{display:none}:is(.segmented,.pills,.tabs):has(>:nth-child(9)):before{display:none}:is(:is(.pj-sort,.aspect-pills,.card-shape-pills)>:is(.seg,.pill,.tab).active,:is(.segmented,.pills,.tabs):has(>:nth-child(9))>:is(.seg,.pill,.tab).active){background:var(--seg-active-bg);transition-delay:0s}@media (prefers-reduced-motion:reduce){:is(.segmented,.pills,.tabs):before{transition:none}:is(.segmented,.pills,.tabs)>:is(.seg,.pill,.tab){transition-delay:0s}}}.dim-inputs{align-items:center;gap:6px;width:100%;display:flex}.dim-field{text-align:center;font-variant-numeric:tabular-nums;flex:1;min-width:0}.dim-x{color:var(--fg-faint);font-size:var(--fs-ui)}.field{width:100%;height:var(--ctl-h);background:var(--card-inset);border-radius:var(--r-ctrl);color:var(--fg-body);font-size:var(--fs-ui);border:none;padding:0 10px}select.field{padding-right:26px}.direction-picker{width:100%;padding:var(--seg-pad);border-radius:var(--r-ctrl);background:var(--card-inset);grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.direction-cell{border-radius:var(--r-seg);min-width:0;height:29px;color:var(--fg-faint);transition:background var(--t-fast), color var(--t-fast), transform var(--t-fast);place-items:center;font-size:16px;line-height:1;display:grid}.direction-cell:hover:not(.active){color:var(--fg-muted);background:var(--card-thumb)}.direction-cell:active{transform:scale(.96)}.direction-cell.active{background:var(--seg-active-bg);color:var(--seg-active-fg)}.direction-cell.is-random{letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:600}.direction-cell:focus-visible{outline:1px solid var(--handle);outline-offset:-2px}.color{align-items:center;gap:8px;width:100%;display:flex}.color input[type=color]{width:40px;height:var(--ctl-h);background:var(--card-inset);border-radius:var(--r-ctrl);cursor:pointer;border:none;padding:4px}.xypad-wrap{flex-direction:column;align-items:stretch;gap:8px;width:100%;display:flex}.xypad{aspect-ratio:1;background:var(--card-inset);border-radius:var(--r-ctrl);touch-action:none;cursor:crosshair;width:100%;position:relative}.xypad-grid{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.xypad-line{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.5}.xypad-mid{stroke:var(--handle);stroke-width:1px;vector-effect:non-scaling-stroke}.xypad-tag{font-size:var(--fs-meta);color:var(--fg-faint);pointer-events:none;letter-spacing:.04em;line-height:1;position:absolute}.xypad-tag-x{top:50%;right:5px;transform:translateY(-50%)}.xypad-tag-y{top:5px;left:50%;transform:translate(-50%)}.xypad-field{pointer-events:none;position:absolute;inset:5px}.xypad-dot{background:var(--fg-label);border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)}.xypad-vals{color:var(--fg-faint);font-size:var(--fs-ui);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:4px;display:flex}.xypad-zero{border-radius:var(--r-seg);background:var(--card-inset);color:var(--fg-muted);font:inherit;font-size:var(--fs-ui);cursor:pointer;border:1px solid #0000;margin-left:4px;padding:3px 8px}.xypad-zero:hover:not(:disabled){background:var(--card-thumb);color:var(--fg-body)}.xypad-zero:disabled{opacity:.4;cursor:default}.xypad-axis{font-size:var(--fs-meta);color:var(--fg-faint);letter-spacing:.04em;padding:0 2px;line-height:1}.exact-num{text-align:center;background:var(--card-inset);border-radius:var(--r-seg);color:var(--fg-value);font-size:var(--fs-ui);font-variant-numeric:tabular-nums;cursor:text;border:1px solid #0000;padding:3px 4px}.exact-num:hover{background:var(--card-thumb);color:var(--fg-body)}.exact-num:focus{outline:1px solid var(--ink);outline-offset:1px;color:var(--fg-body)}.upload,.dropzone{text-align:center;background:var(--card-inset);width:100%;color:var(--fg-muted);border-radius:var(--r-ctrl);font-size:var(--fs-ui);transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);cursor:pointer;border:1px solid #0000;padding:9px 13px;display:block}.upload:hover,.dropzone:hover,.dropzone.over{background:var(--card-thumb);color:var(--fg-label)}.dropzone.over{border-color:var(--handle)}.upload input{display:none}.btn{height:var(--ctl-h);background:var(--card-inset);border-radius:var(--r-ctrl);color:var(--fg-label);font-size:var(--fs-ui);transition:background var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;padding:0 13px;display:inline-flex}.btn:hover{background:var(--card-thumb);color:var(--fg)}.btn.full{width:100%}.link-btn{color:var(--fg-faint);font-size:var(--fs-ui)}.link-btn:hover{color:var(--fg-label)}.icon-btn{width:16px;height:16px;color:var(--fg-faint);transition:color var(--t-fast);place-items:center;display:grid}.icon-btn:hover{color:var(--fg-body)}.icon-btn.off{opacity:.4}.icon-btn:disabled{opacity:.28;cursor:default}.asset-mobile-order{display:none}.collapsible{border-top:1px solid var(--line);margin-top:14px;padding-top:8px}.collapsible:first-child{border-top:0;margin-top:0;padding-top:0}.collapsible-head{text-align:left;justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:11px 0;display:flex}.collapsible-head .c-label{font-size:var(--fs-eyebrow);letter-spacing:1.5px;text-transform:uppercase;color:var(--fg-label);font-weight:650;line-height:15px}.collapsible-head .chev{width:10px;height:10px;color:var(--fg-faint);transition:transform var(--t-fast);place-items:center;display:grid}.collapsible-head.open .chev{transform:rotate(90deg)}.collapsible-body{gap:var(--gap-row);flex-direction:column;padding:3px 0 16px;display:flex}.asset-meta{color:var(--fg-muted);font-size:var(--fs-meta);align-items:center;gap:8px;padding:4px 0;display:flex}.asset-meta .spacer{flex:1}.asset-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.asset-item{cursor:grab;border-radius:var(--r-ctrl);touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;height:44px;padding:0 4px;display:flex}.asset-item:hover{background:var(--card-inset)}.asset-item.dragging{opacity:.4}.asset-item.drop-target{background:var(--card-inset);box-shadow:inset 0 2px 0 0 var(--fg-muted)}.asset-idx{text-align:center;width:16px;color:var(--fg-faint);font-size:var(--fs-ui);font-variant-numeric:tabular-nums}.asset-thumb{object-fit:cover;border-radius:var(--r-seg);background:var(--frame);border:1px solid var(--line);width:36px;height:36px}.asset-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-meta);color:var(--fg-muted);flex:1;overflow:hidden}.asset-item.asset-empty{cursor:pointer;opacity:.7}.asset-item.asset-empty:hover{opacity:1}.asset-thumb-empty{color:var(--fg-faint);object-fit:unset;border-style:dashed;place-items:center;display:grid}.asset-name-empty{color:var(--fg-faint);font-style:italic}.mobile-slot-copy{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mobile-slot-copy strong{color:var(--fg-label);font-size:var(--fs-ui);font-weight:500}.mobile-slot-copy small{color:var(--fg-faint);font-size:var(--fs-meta)}.shape-pills .pill{padding:0 2px;font-size:11px}.aspect-pills,.card-shape-pills{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.aspect-pills .pill,.card-shape-pills .pill{min-width:0;font-size:var(--fs-ui);line-height:var(--lh-ui);padding-block:5px;padding-inline:4px}.card-shape-dims{margin-top:6px}.asset-item{position:relative}.icon-btn.crop-set{color:var(--fg)}.crop-scrim{z-index:30;position:fixed;inset:0}.crop-pop{z-index:31;background:var(--card);border:1px solid var(--line);border-radius:var(--r-ctrl);cursor:default;flex-direction:column;align-items:center;gap:8px;padding:10px;display:flex;position:absolute;top:40px;right:4px;box-shadow:0 8px 24px #0000001f}.crop-pop-title{font-size:var(--fs-meta);color:var(--fg-muted)}.crop-grid{grid-template-columns:repeat(3,18px);grid-auto-rows:18px;gap:4px;display:grid}.crop-cell{border:1px solid var(--line);background:var(--card-inset);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);border-radius:3px}.crop-cell:hover{border-color:var(--fg-muted)}.crop-cell.active{background:var(--seg-active-bg);border-color:var(--seg-active-bg)}.effect-add{gap:7px;display:flex}.effect-add .field{flex:1}.effect-card{background:var(--card-inset);border-radius:var(--r-ctrl);overflow:hidden}.effect-card.disabled{opacity:.5}.effect-card-head{align-items:center;gap:8px;padding:8px 10px;display:flex}.effect-title{font-size:var(--fs-ui);color:var(--fg-label);flex:1}.drag-grip{cursor:grab;color:var(--fg-faint);font-size:11px}.effect-card-body{gap:var(--gap-row);border-top:1px solid var(--line);flex-direction:column;padding:12px 10px;display:flex}.export-demo-warning{border:1px solid color-mix(in srgb, #d39a36 38%, var(--line));border-radius:var(--r-ctrl);background:color-mix(in srgb, #d39a36 9%, var(--card));padding:14px}.export-demo-warning strong{color:var(--fg);margin-bottom:5px;font-size:12px;display:block}.export-demo-warning p{color:var(--fg-muted);margin:0 0 12px;font-size:11px;line-height:1.45}.export-demo-actions{grid-template-columns:1fr 1.4fr;gap:8px;display:grid}.stage-col{background-color:var(--stage);background-image:linear-gradient(90deg, var(--stage) 10px, transparent 10px), linear-gradient(var(--stage-dot) 2px, transparent 2px);background-position:50%;background-size:12px 12px;grid-area:stage;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.panel-toggle{z-index:50;width:32px;height:44px;color:var(--fg-muted);background:color-mix(in srgb, var(--card) 92%, transparent);border:1px solid var(--line);border-radius:var(--r-ctrl);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color var(--t-fast), background var(--t-fast);place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #00000014}.panel-toggle:hover{color:var(--fg);background:var(--card)}.panel-toggle svg{transition:transform .18s}.panel-toggle-left{left:12px}.panel-toggle-right{right:12px}.app:not(.left-collapsed) .panel-toggle-left svg,.app.right-collapsed .panel-toggle-right svg{transform:rotate(180deg)}.stage-wrap{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:clamp(12px,2.5vw,48px);display:flex}.stage-canvas{border-radius:var(--r-ctrl);width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 0 0 1px var(--stage-edge), 0 4px 18px var(--stage-shadow)}.board-stage{width:100%;height:100%;position:relative;overflow:hidden}.board-frame{transform-origin:50%;border-radius:var(--r-ctrl);background:var(--card-soft);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000024}.board-card{background:var(--card);border:1px solid var(--line);backface-visibility:hidden;will-change:transform, opacity;pointer-events:none;border-radius:12px;width:200px;height:260px;box-shadow:0 6px 20px #00000014}.board-card-num{color:var(--fg-muted);font-size:13px;font-weight:600;position:absolute;top:8px;left:50%;transform:translate(-50%)}.board-hotspot{pointer-events:auto;cursor:pointer;border-radius:8px;width:56px;height:56px;position:absolute;top:0;left:50%;transform:translate(-50%)}.board-json{resize:vertical;width:100%;margin-top:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.4}.board-json-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.board-json-actions .web-clear{flex:none}.board-json-file{margin:0}.board-json-status.is-ok{color:#15803d}.board-json-status.is-err{color:#b91c1c}.stage-fs{border-radius:var(--r-seg);width:30px;height:30px;color:var(--fg-faint);transition:color var(--t-fast);place-items:center;display:grid;position:absolute;bottom:10px;right:10px}.stage-fs:hover{color:var(--fg-body)}.stage-history{z-index:40;background:color-mix(in srgb, var(--card) 92%, transparent);border:1px solid var(--line);border-radius:var(--r-ctrl);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;display:flex;position:absolute;top:10px;left:10px}.stage-hist-btn{width:30px;height:30px;color:var(--fg-muted);transition:color var(--t-fast), background var(--t-fast);place-items:center;display:grid}.stage-hist-btn:hover:not(:disabled){color:var(--fg);background:var(--card-inset)}.stage-hist-btn:disabled{opacity:.32;cursor:default}.stage-hist-sep{background:var(--line);flex:none;width:1px;height:16px}.bottom{border-top:1px solid var(--line);grid-area:bottom}.timeline-shell{--tl-axis-left:0px;--tl-axis-w:100%;flex-direction:column;display:flex}.timeline{padding:0 var(--pad-sect);height:var(--bottom-h);flex:none;align-items:center;gap:16px;display:flex}.play-btn{border-radius:var(--r-ctrl);background:var(--inverse-bg);width:36px;height:36px;color:var(--inverse-fg);transition:opacity var(--t-fast);flex:none;place-items:center;font-size:11px;display:grid}.play-btn:hover{opacity:.85}.time-readout{min-width:80px;font-size:var(--fs-label);font-variant-numeric:tabular-nums;color:var(--fg-faint);flex:none;line-height:16px}.time-readout b{color:var(--fg-body);font-weight:500}.scrubber{flex:1;height:100%;position:relative}.ruler{height:11px;position:absolute;top:17px;left:0;right:0}.ruler-dash{background:color-mix(in srgb, var(--fg-faint) 60%, transparent);width:3px;height:3px;position:absolute;top:4px}.ruler-label{font-size:var(--fs-micro);color:var(--fg-faint);line-height:11px;position:absolute;top:0}.tl-trackbar{background:var(--line);pointer-events:none;height:4px;position:absolute;top:33.5px;left:0;right:0}.playhead{background:var(--chip-bg);pointer-events:none;width:2px;position:absolute;top:12px;bottom:4px}.playhead-chip{background:var(--chip-bg);color:var(--chip-fg);border-radius:var(--r-chip);white-space:nowrap;filter:drop-shadow(0 1px 1.5px #0000001a);font-variant-numeric:tabular-nums;padding:2px 6px;font-size:10px;font-weight:500;line-height:14px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.scrubber input[type=range]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;top:0;left:0;right:0}.dur-field{color:var(--fg-faint);font-size:var(--fs-ui);flex:none;align-items:center;gap:5px;display:flex}.dur-field input{border-radius:var(--r-seg);text-align:center;width:44px;height:30px;color:var(--fg-body);font-variant-numeric:tabular-nums;transition:background var(--t-fast);background:0 0;border:none;padding:0 6px}.dur-field input:hover,.dur-field input:focus{background:var(--card-thumb);outline:none}.export-btn{height:var(--ctl-h);background:var(--inverse-bg);color:var(--inverse-fg);border-radius:var(--r-seg);font-size:var(--fs-label);letter-spacing:.2px;transition:opacity var(--t-fast);flex:none;justify-content:center;align-items:center;gap:6px;padding:0 20px;font-weight:600;display:flex}.export-btn:hover{opacity:.9}.tl-lanes-btn{height:var(--ctl-h);background:var(--card-inset);color:var(--fg-label);border-radius:var(--r-seg);font-size:var(--fs-ui);transition:background var(--t-fast), color var(--t-fast);flex:none;align-items:center;gap:6px;padding:0 12px;display:flex}.tl-lanes-btn:hover{background:var(--card-thumb);color:var(--fg)}.tl-lanes-btn.active{background:var(--seg-active-bg);color:var(--seg-active-fg)}.tl-lanes-count{font-size:var(--fs-micro);font-variant-numeric:tabular-nums;background:var(--card);color:var(--fg-muted);padding:1px 4px;line-height:12px}.tl-lanes-btn.active .tl-lanes-count{background:var(--card-inset);color:var(--fg-label)}.tl-lanes{border-top:1px solid var(--line);padding:8px var(--pad-sect) 0;flex-direction:column;gap:3px;max-height:44vh;display:flex;position:relative;overflow-y:auto}.tl-lane{height:var(--tl-lane-h);cursor:default;flex:none;align-items:center;gap:8px;display:flex}.tl-lane.hidden{opacity:.45}.tl-lane-gutter{width:calc(var(--tl-axis-left) - var(--pad-sect) - 8px);min-width:var(--tl-gutter-w);flex:none;justify-content:flex-end;align-items:center;gap:1px;display:flex}.tl-lane-btn{width:22px;height:22px;color:var(--fg-faint);border-radius:var(--r-seg);transition:color var(--t-fast), background var(--t-fast);flex:none;place-items:center;display:grid}.tl-lane-btn:hover:not(:disabled){color:var(--fg);background:var(--card-inset)}.tl-lane-btn:disabled{opacity:.28;cursor:default}.tl-lane-btn.danger:hover:not(:disabled){color:var(--gz-x)}.tl-lane.active .tl-lane-btn{color:var(--fg-label)}.tl-lane-order{flex-direction:column;flex:none;display:flex}.tl-lane-arrow{width:16px;height:12px;color:var(--fg-faint);transition:color var(--t-fast);place-items:center;display:grid}.tl-lane-arrow:hover:not(:disabled){color:var(--fg)}.tl-lane-arrow:disabled{opacity:.3;cursor:default}.tl-lane-bars{flex:1;min-width:0;height:100%;position:relative}.tl-bar{--tl-bar-fill:var(--tl-bar-idle);background:var(--tl-bar-fill);color:var(--tl-bar-idle-fg);border-radius:var(--r-seg);cursor:grab;touch-action:none;transition:background var(--t-fast), color var(--t-fast);align-items:center;display:flex;position:absolute;top:2px;bottom:2px;overflow:hidden}.tl-bar:active{cursor:grabbing}.tl-lane.active .tl-bar{--tl-bar-fill:var(--tl-bar-on);color:var(--tl-bar-on-fg)}.tl-bar-fade{pointer-events:none;position:absolute;inset:0}.tl-bar-label{pointer-events:none;min-width:0;font-size:var(--fs-meta);white-space:nowrap;align-items:baseline;gap:6px;padding:0 9px;line-height:1;display:flex;position:relative}.tl-bar-label b{text-overflow:ellipsis;font-weight:500;overflow:hidden}.tl-bar-label em{opacity:.6;font-style:normal}.tl-bar-edge{cursor:ew-resize;touch-action:none;width:6px;position:absolute;top:0;bottom:0}.tl-bar-edge.in{left:0}.tl-bar-edge.out{right:0}.tl-bar-edge:hover{background:var(--line-soft)}.tl-lanes-playhead{background:var(--chip-bg);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:34px}.tl-lanes-foot{flex:none;align-items:center;gap:12px;height:34px;display:flex}.tl-add-track{background:var(--card-inset);height:24px;color:var(--fg-label);border-radius:var(--r-seg);font-size:var(--fs-ui);transition:background var(--t-fast), color var(--t-fast);flex:none;align-items:center;gap:5px;padding:0 10px;display:flex}.tl-add-track:hover{background:var(--card-thumb);color:var(--fg)}.tl-lanes-hint{font-size:var(--fs-meta);color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trk-name{text-align:right;max-width:130px;font-size:var(--fs-ui);color:var(--fg-label);background:var(--card-inset);border:none}.trk-name:focus{color:var(--fg)}.trk-assets{flex-wrap:wrap;gap:4px;display:flex}.trk-asset{background:var(--card-inset);width:26px;height:26px;color:var(--fg-faint);border-radius:var(--r-seg);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;transition:background var(--t-fast), color var(--t-fast);flex:none;place-items:center;display:grid}.trk-asset:hover{background:var(--card-thumb);color:var(--fg-label)}.trk-asset.on{background:var(--seg-active-bg);color:var(--seg-active-fg)}.prj-sub{font-size:var(--fs-meta);color:var(--fg-faint);padding:6px 0 2px}.prj-list{padding:6px 0}.prj-item{padding:0 var(--pad-card);min-height:48px;transition:background var(--t-fast);border-left:2px solid #0000;align-items:center;gap:4px;display:flex;position:relative}.prj-item:hover{background:var(--card-soft)}.prj-item.active{border-left-color:var(--fg);background:var(--card-soft)}.prj-open{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px 0;display:flex}.prj-name{font-size:var(--fs-label);color:var(--fg-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prj-item.active .prj-name{color:var(--fg);font-weight:500}.prj-meta{font-size:var(--fs-meta);color:var(--fg-faint)}.prj-meta b{color:var(--fg-muted);font-weight:500}.prj-rename{flex:1;min-width:0;height:30px}.prj-actions{flex:none;align-items:center;gap:2px;display:none}.prj-item:hover .prj-actions,.prj-item.active .prj-actions{display:flex}.prj-actions .icon-btn.danger{color:var(--gz-x)}.prj-confirm{left:var(--pad-card);right:var(--pad-card);font-size:var(--fs-micro);color:var(--gz-x);line-height:1.3;position:absolute;bottom:2px}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#11182759;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:var(--r-card);border:1px solid var(--line);width:400px;box-shadow:0 20px 60px #0000002e}.modal-head{border-bottom:1px solid var(--line);font-size:var(--fs-label);color:var(--fg-body);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-body{flex-direction:column;gap:16px;padding:18px;display:flex}.export-mobile-back,.export-mobile-preview,.export-mobile-transport,.export-action-mobile,.export-label-mobile{display:none}.export-primary-action{justify-content:center;align-items:center;gap:8px}.export-primary-action>svg{display:none}.btn.solid,.btn.primary{background:var(--inverse-bg);color:var(--inverse-fg);letter-spacing:.2px;border-radius:var(--r-seg);font-weight:600;font-size:var(--fs-label)}.btn.solid:hover,.btn.primary:hover{opacity:.9;background:var(--inverse-bg);color:var(--inverse-fg)}.progress{color:var(--fg-muted);font-size:var(--fs-ui);flex-direction:column;gap:9px;display:flex}.progress-bar{background:var(--card-inset);border-radius:3px;height:6px;overflow:hidden}.progress-bar>div{background:var(--fg-body);height:100%;transition:width .1s}.export-done{font-size:var(--fs-label);color:var(--fg-muted)}.export-done a{color:var(--fg-body)}.export-error{color:var(--fg-label);font-size:var(--fs-ui);line-height:1.5}.export-hint{color:var(--fg-muted);margin-top:8px}.export-hint code{background:var(--card-inset);border-radius:var(--r-chip);color:var(--fg-body);padding:2px 6px}.export-static-note{font-size:var(--fs-label);color:var(--fg-label);flex-direction:column;gap:12px;line-height:1.5;display:flex}.export-static-note pre{background:var(--card-inset);border-radius:var(--r-ctrl);font-size:var(--fs-meta);color:var(--fg-body);margin:0;padding:10px 12px;line-height:1.6;overflow-x:auto}.tour-scrim{z-index:200;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.tour-scrim-fill{fill:#0000008c}:root[data-theme=dark] .tour-scrim-fill{fill:#000000b3}.tour-ring{z-index:201;pointer-events:none;border:2px solid var(--fg);transition:transform .26s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0}.tour-card{z-index:202;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);flex-direction:column;gap:10px;padding:16px;transition:transform .26s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;left:0;box-shadow:0 20px 60px #0000002e}.tour-step{font-size:var(--fs-eyebrow);letter-spacing:1.5px;text-transform:uppercase;color:var(--fg-faint);font-weight:500;line-height:15px}.tour-title{color:var(--fg);font-size:15px;font-weight:600;line-height:1.3}.tour-body{font-size:var(--fs-label);color:var(--fg-label);margin:0;line-height:1.5}.tour-actions{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.tour-nav{gap:8px;display:flex}.welcome-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1118274d}.modal.welcome{width:460px;max-height:86vh;overflow-y:auto}.welcome-body{flex-direction:column;gap:12px;padding:24px 26px 26px;display:flex}.welcome-title{color:var(--fg);margin:0;font-size:18px;font-weight:600;line-height:1.2}.welcome-body p{font-size:var(--fs-label);color:var(--fg-label);margin:0;line-height:1.55}.welcome-body p b{color:var(--fg);font-weight:600}.welcome-love{color:var(--fg-muted)}.welcome-agree{font-size:var(--fs-label);color:var(--fg);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin-top:4px;display:flex}.welcome-agree input[type=checkbox]{width:15px;height:15px;accent-color:var(--inverse-bg);cursor:pointer;appearance:auto;-webkit-appearance:checkbox;margin:0}.update-notice,.news-notice{z-index:190;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);width:min(380px,100vw - 100px);max-height:calc(100dvh - 24px);color:var(--fg);flex-direction:column;gap:10px;padding:18px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 18px 55px #0003}.update-notice-close,.news-notice-close{border-radius:var(--r-chip);width:28px;height:28px;color:var(--fg-faint);place-items:center;font-size:20px;line-height:1;display:grid;position:absolute;top:10px;right:12px}.update-notice-close:hover{background:var(--card-inset);color:var(--fg)}.update-notice-eyebrow{color:var(--fg-faint);font-size:var(--fs-eyebrow);letter-spacing:1.2px;text-transform:uppercase;padding-right:28px;font-weight:600;line-height:1.2}.update-notice strong{font-size:15px;line-height:1.35}.update-notice p{color:var(--fg-label);font-size:var(--fs-label);margin:0;line-height:1.5}.update-notice code{background:var(--card-inset);color:var(--fg);border-radius:4px;padding:2px 5px}.update-notice-list{color:var(--fg-label);font-size:var(--fs-ui);flex-direction:column;gap:5px;margin:0;padding-left:18px;line-height:1.4;display:flex}.update-notice-warning,.update-notice-info{background:var(--card-inset);border-radius:var(--r-ctrl);padding:9px 10px}.update-notice-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:3px;display:flex}.update-notice-primary{min-width:112px;height:34px;padding:0 14px}.update-notice-optout{color:var(--fg-faint);font-size:var(--fs-ui);text-underline-offset:3px;align-self:flex-start;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.update-notice-optout:hover{color:var(--fg-label);text-decoration-color:currentColor}.update-notice button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:919px){.update-notice{width:auto;right:12px;bottom:12px!important;left:12px!important}}.news-notice-close:hover{background:var(--card-inset);color:var(--fg)}.news-notice-eyebrow{color:var(--fg-faint);font-size:var(--fs-eyebrow);letter-spacing:1.2px;text-transform:uppercase;padding-right:28px;font-weight:600;line-height:1.2}.news-notice strong{font-size:15px;line-height:1.35}.news-notice p{color:var(--fg-label);font-size:var(--fs-label);margin:0;line-height:1.5}.news-notice-list{flex-direction:column;gap:8px;display:flex}.news-notice-item{background:var(--card-inset);border:1px solid var(--line);border-radius:var(--r-ctrl);flex-direction:column;align-items:flex-start;gap:5px;padding:10px;display:flex}.news-notice-item strong{font-size:var(--fs-label)}.news-notice-kind{color:var(--fg-faint);font-size:var(--fs-eyebrow);letter-spacing:1px;text-transform:uppercase;font-weight:600}.news-notice-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:3px;display:flex}.news-notice-primary{min-width:112px;height:34px;padding:0 14px}.news-notice-optout{color:var(--fg-faint);font-size:var(--fs-ui);text-underline-offset:3px;align-self:flex-start;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.news-notice-optout:hover{color:var(--fg-label);text-decoration-color:currentColor}.news-notice button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:919px){.news-notice{width:auto;right:12px;bottom:12px!important;left:12px!important}}.ez-body{gap:12px}.ez-editor{aspect-ratio:1;background:var(--card-soft);border-radius:var(--r-ctrl);touch-action:none;width:100%;position:relative;overflow:hidden}.ez-svg{width:100%;height:100%;position:absolute;inset:0}.ez-grid-dot{fill:var(--stage-dot)}.ez-curve{fill:none;stroke:var(--fg-body);stroke-width:1.6px;vector-effect:non-scaling-stroke}.ez-guide{stroke:var(--handle);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.ez-handle{fill:var(--fg);stroke:var(--card-inset);stroke-width:1.2px;vector-effect:non-scaling-stroke;pointer-events:none}.ez-grab{fill:#0000;cursor:grab}.ez-grab:active{cursor:grabbing}.ez-nums{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.ez-num{text-align:center;background:var(--card-inset);border-radius:var(--r-seg);width:100%;height:30px;color:var(--fg-body);font-size:var(--fs-ui);font-variant-numeric:tabular-nums;-moz-appearance:textfield;border:none}.ez-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ez-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ez-num:disabled{color:var(--fg-faint)}.ez-tabs{margin-top:2px}.ez-list{flex-direction:column;gap:2px;display:flex}.ez-group-label{font-size:var(--fs-eyebrow);letter-spacing:1.2px;text-transform:uppercase;color:var(--fg-faint);padding:8px 2px 4px}.ez-item{border-radius:var(--r-ctrl);width:100%;height:38px;color:var(--fg-label);font-size:var(--fs-label);text-align:left;transition:background var(--t-fast), color var(--t-fast);justify-content:space-between;align-items:center;padding:0 12px;display:flex}.ez-item:hover:not(.active),.ez-item.active{background:var(--card-inset);color:var(--fg)}.ez-item-label{flex:1}.ez-mini{flex:none;width:24px;height:16px}.ez-mini path{fill:none;stroke:var(--fg-muted);stroke-width:1.4px;vector-effect:non-scaling-stroke}.ez-item.active .ez-mini path{stroke:var(--fg)}.ez-custom-tag{font-size:var(--fs-eyebrow);letter-spacing:1.2px;text-transform:uppercase;color:var(--fg-muted);text-align:center;padding:2px 0}.ez-reset{border-radius:var(--r-ctrl);background:var(--card-inset);width:100%;height:36px;color:var(--fg-muted);font-size:var(--fs-ui);transition:color var(--t-fast), background var(--t-fast);justify-content:center;align-items:center;gap:8px;margin-top:6px;display:flex}.ez-reset:hover{color:var(--fg-body)}.three3d-stage{border-radius:var(--r-ctrl);background-blend-mode:color-dodge, hue, normal;cursor:crosshair;background:radial-gradient(230.87% 25.76% at 50% 100%,#e6ff55 0%,#000 100%),radial-gradient(55.28% 15.35% at 50% 88.61%,#090a0580 0%,#e6ff5580 100%),#141a0c;position:absolute;inset:0;overflow:hidden}.three3d-layer{opacity:.5;position:absolute;inset:0}.three3d-ascii{z-index:3;pointer-events:auto;cursor:grab}.three3d-ascii:active{cursor:grabbing}.three3d-radar{z-index:4;opacity:.075;pointer-events:none;width:400vmin;height:400vmin;position:absolute;bottom:calc(-225vmin - 10px);left:50%;transform:translate(-50%)}.three3d-lens{pointer-events:none;position:absolute;inset:0}.three3d-lensLum{z-index:5;mix-blend-mode:luminosity;background:radial-gradient(72.71% 72.71% at 50% 60.49%,#0000 64.42%,#000 100%)}.three3d-lensHue{z-index:6;mix-blend-mode:hue;background:radial-gradient(55.28% 15.35% at 50% 88.61%,#090a0580 0%,#e6ff5580 100%)}.three3d-scanlines{z-index:8;background:repeating-linear-gradient(#0000 0 3px,#00ff4108 3px 4px)}.three3d-sun{z-index:30;pointer-events:none;mix-blend-mode:color-burn;background:linear-gradient(#eead228c 45.19%,#ff7c578c 100%);position:absolute;inset:0}.three3d-picker{z-index:20;border-radius:var(--r-ctrl);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d0d0db8;flex-direction:column;gap:6px;min-width:160px;padding:10px 12px;display:flex;position:absolute;top:12px;left:12px}.three3d-picker .field{width:100%}.app-web{grid-template-columns:var(--rail-w) minmax(0, var(--templates-col)) minmax(min(320px, 100%), 1fr) minmax(0, var(--right-col));grid-template-areas:"rail templates stage right""rail bottom bottom bottom"}.web-source-bar{align-items:center;gap:10px;min-width:0;display:flex}.tl-ghost-btn{border-radius:var(--r-ctrl);background:var(--card-inset);color:var(--fg-label);font-size:var(--fs-ui);transition:background var(--t-fast), color var(--t-fast);flex:none;align-items:center;gap:7px;padding:7px 12px;font-weight:500;display:inline-flex}.tl-ghost-btn:hover{background:var(--card-thumb);color:var(--fg)}.web-source-bar .export-btn:disabled{opacity:.4;cursor:not-allowed}.web-source-err{text-overflow:ellipsis;white-space:nowrap;max-width:380px;font-size:var(--fs-meta);color:#ff8fa3;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex;overflow:hidden}@media (max-width:919px){html,body{overscroll-behavior:none;width:100%;overflow:hidden}.mobile-editor{grid-template-rows:calc(48px + env(safe-area-inset-top)) minmax(180px, 42dvh) 52px minmax(0, 1fr) calc(60px + env(safe-area-inset-bottom));background:var(--card);width:100%;height:100dvh;display:grid;overflow:hidden}.mobile-editor.mobile-panel-is-closed{grid-template-rows:calc(48px + env(safe-area-inset-top)) minmax(0, 1fr) 52px 0 calc(60px + env(safe-area-inset-bottom))}.mobile-topbar{padding:env(safe-area-inset-top) 8px 0;background:var(--card);border-bottom:1px solid var(--line);z-index:20;justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.mobile-project-button{min-width:0;height:47px;color:var(--fg-body);align-items:center;gap:8px;padding:0 8px;display:flex}.mobile-project-button span{text-overflow:ellipsis;white-space:nowrap;max-width:min(44vw,190px);font-size:13px;font-weight:600;overflow:hidden}.mobile-top-actions{align-items:center;gap:4px;height:47px;display:flex}.mobile-icon-button{width:44px;height:44px;color:var(--fg-muted);flex:none;place-items:center;display:grid}.mobile-top-actions .stage-history{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;position:static}.mobile-top-actions .stage-hist-btn{width:44px;height:44px}.mobile-top-actions .stage-hist-sep{display:none}.mobile-stage{border:0;grid-area:auto;min-height:0}.mobile-stage .stage-wrap{padding:18px}.mobile-stage .stage-canvas{border-radius:0}.mobile-transport{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);z-index:15;align-items:center;gap:8px;min-width:0;height:52px;padding:0 12px;display:flex}.mobile-play{width:40px;height:40px;color:var(--inverse-fg);background:var(--inverse-bg);flex:none;place-items:center;display:grid}.mobile-time{width:36px;color:var(--fg-label);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:11px}.mobile-time-total{text-align:left;color:var(--fg-faint)}.mobile-scrubber{touch-action:pan-x;flex:1;min-width:0;height:44px;margin:0}.mobile-scrubber::-webkit-slider-runnable-track{background:var(--line);height:4px}.mobile-scrubber::-webkit-slider-thumb{-webkit-appearance:none;background:var(--fg);border:5px solid var(--card);width:20px;height:20px;box-shadow:0 0 0 1px var(--handle);border-radius:50%;margin-top:-8px}.mobile-scrubber::-moz-range-track{background:var(--line);height:4px}.mobile-scrubber::-moz-range-thumb{background:var(--fg);border:4px solid var(--card);border-radius:50%;width:12px;height:12px}.mobile-panel{background:var(--card);border-top:1px solid var(--line);min-height:0;transition:opacity .14s;position:relative;overflow:hidden}.mobile-panel-is-closed .mobile-panel{opacity:0;pointer-events:none}.mobile-panel-handle{z-index:3;background:var(--handle);opacity:.65;width:36px;height:3px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.mobile-panel-scroll{overscroll-behavior:contain;height:100%;padding-top:8px;overflow-y:auto}.mobile-panel .templates{border:0;border-radius:0;grid-area:auto;width:100%;height:100%}.mobile-panel .tpl-head{padding-top:10px}.mobile-panel .searchbox{height:44px}.mobile-panel .tpl-foot{padding-bottom:18px}.mobile-composed-panel{--pad-sect:16px;min-height:100%}.mobile-desktop-hint{background:var(--card-soft);border:1px solid var(--line);color:var(--fg-muted);margin:12px 16px;padding:10px 12px;font-size:11px;line-height:1.45}.mobile-bottom-nav{padding:0 4px env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--line);z-index:30;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.mobile-nav-item{min-width:0;height:59px;color:var(--fg-faint);flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:relative}.mobile-nav-item span{font-size:9px;font-weight:600;line-height:12px}.mobile-nav-item.active{color:var(--fg)}.mobile-nav-item.active:before{content:"";background:var(--fg);height:2px;position:absolute;top:-1px;left:22%;right:22%}.mobile-nav-export{color:var(--fg-label)}.mobile-editor input:not([type=range]),.mobile-editor select,.mobile-editor textarea{font-size:16px}.mobile-editor .field,.mobile-editor .btn,.mobile-editor .upload,.mobile-editor .dropzone,.mobile-editor .seg,.mobile-editor .pill,.mobile-editor .tab{min-height:48px}.mobile-editor .btn,.mobile-editor .field,.mobile-editor .upload,.mobile-editor .dropzone{min-height:52px}.mobile-editor .strack{touch-action:none;height:52px;overflow:visible}.mobile-editor .strack .shandle{border:6px solid var(--card);background:var(--sl-handle,var(--fg));width:24px;height:24px;box-shadow:0 0 0 1px var(--handle);border-radius:50%}.mobile-editor .strack{--sl-fill:var(--card);--sl-fill-edge:var(--handle)}.mobile-editor .sinv,.mobile-editor .sval:before{display:none}.mobile-editor .sval{place-items:center;min-width:52px;min-height:52px;padding:0 10px;display:grid}.mobile-editor .slider-bubble{z-index:4;background:var(--inverse-bg);min-width:48px;color:var(--inverse-fg);text-align:center;pointer-events:none;border-radius:7px;padding:6px 8px;font-size:12px;position:absolute;bottom:calc(100% + 8px);transform:translate(-50%)}.mobile-editor .collapsible-head{min-height:52px;padding:0}.mobile-composed-panel .icon-btn{width:44px;height:44px}.mobile-editor .xypad-wrap{flex-direction:column;align-items:stretch;gap:8px;width:100%}.mobile-editor .xypad{width:100%;min-height:180px}.mobile-editor .xypad-field{inset:14px}.mobile-editor .xypad-dot{border:7px solid var(--card);width:28px;height:28px;box-shadow:0 0 0 1px var(--handle)}.mobile-editor .xypad-vals{text-align:center;font-size:13px}.mobile-editor .xypad-zero{border-radius:var(--r-ctrl);min-height:44px;padding:0 14px}.mobile-editor .pills{overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;overflow-x:auto}.mobile-editor .pills::-webkit-scrollbar{display:none}.mobile-editor .pills .pill{scroll-snap-align:start;flex:none;min-width:64px}.mobile-editor .pills:not(.pills-fit):before{display:none}.mobile-editor .pills:not(.pills-fit)>.pill.active{background:var(--seg-active-bg);transition-delay:0s}.mobile-editor .pills.pills-fit{scroll-snap-type:none;overflow-x:hidden}.mobile-editor .pills.pills-fit .pill{flex:1 1 0;min-width:0}.mobile-editor .segmented .seg{min-width:64px}.mobile-editor .color input[type=color]{flex:0 0 52px;width:52px;height:52px}.mobile-editor button:active{transform:scale(.97)}.mobile-editor button:disabled{transform:none}.mobile-editor .section-head,.mobile-editor .section-body{padding-left:16px;padding-right:16px}.mobile-editor .hairline{margin-left:16px;margin-right:16px}.mobile-asset-list{flex-direction:column;gap:6px;margin:0;padding:4px 0;list-style:none;display:flex}.mobile-asset-row{background:var(--card-inset);border-radius:10px;min-height:64px;position:relative;overflow:hidden}.mobile-asset-row.is-dragging{opacity:.28}.mobile-asset-actions{grid-template-columns:repeat(3,56px);display:grid;position:absolute;inset:0 0 0 auto}.mobile-asset-actions button{width:56px;color:var(--fg-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;display:flex}.mobile-asset-actions button.danger{color:#e75d5d}.mobile-asset-face{z-index:1;background:var(--card);touch-action:pan-y;align-items:center;gap:10px;min-height:64px;padding:8px 6px;transition:transform .18s;display:flex;position:relative}.mobile-asset-row:has(.mobile-asset-face:active) .mobile-asset-face{transition:none}.mobile-editor .asset-thumb{flex:0 0 48px;width:48px;height:48px}.mobile-editor .asset-name{min-width:0;color:var(--fg-body);font-size:13px}.mobile-drag-handle,.mobile-effect-grip{width:44px;height:44px;color:var(--fg-muted);background:var(--card-inset);touch-action:none;cursor:grab;border-radius:8px;flex:0 0 44px;place-items:center;display:grid}.mobile-drag-handle:active,.mobile-effect-grip:active{cursor:grabbing}.mobile-asset-empty{border:1px dashed var(--line);border-radius:10px;align-items:center;gap:10px;min-height:64px;padding:8px 6px;display:flex}.mobile-asset-overlay{background:var(--card);min-width:260px;min-height:64px;color:var(--fg);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex;box-shadow:0 14px 38px #00000047}.mobile-asset-overlay span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mobile-effects-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.mobile-effect-card{overflow:visible}.mobile-effect-card.is-dragging{opacity:.3}.mobile-effect-card .effect-card-head{min-height:60px;padding:8px}.mobile-effect-card .icon-btn{width:44px;height:44px}.mobile-remove-confirm{color:#e75d5d;font-size:10px}.mobile-sheet-backdrop{z-index:220;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000007a;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-sheet{width:100%;max-height:min(82dvh,680px);padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-radius:18px 18px 0 0;overflow:hidden;box-shadow:0 -16px 48px #0000003d}.mobile-sheet-grip{background:var(--handle);border-radius:3px;width:38px;height:4px;margin:8px auto 2px}.mobile-sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;padding:0 12px 0 18px;display:flex}.mobile-sheet-head strong{color:var(--fg);font-size:14px}.mobile-sheet-close{width:44px;height:44px;color:var(--fg-muted);font-size:24px}.mobile-sheet-body{max-height:calc(82dvh - 66px);padding:18px;overflow-y:auto}.mobile-sheet-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.mobile-sheet-actions .btn{min-height:48px}.mobile-number-editor{grid-template-columns:52px 1fr 52px;gap:8px;display:grid}.mobile-number-editor button,.mobile-number-editor input{background:var(--card-inset);text-align:center;min-height:56px;color:var(--fg);border-radius:10px;font-size:20px}.mobile-number-editor input{width:100%;min-width:0;font-size:18px}.mobile-crop-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.mobile-crop-grid button{aspect-ratio:1.45;border:1px solid var(--line);background:var(--card-inset);border-radius:10px;min-height:58px}.mobile-crop-grid button.active{background:var(--seg-active-bg);border-color:var(--fg-muted);box-shadow:inset 0 0 0 2px var(--card)}.mobile-projects-screen{z-index:120;grid-template-rows:calc(48px + env(safe-area-inset-top)) minmax(0, 1fr);background:var(--card);display:grid;position:fixed;inset:0}.mobile-subpage-head{padding:env(safe-area-inset-top) 8px 0;border-bottom:1px solid var(--line);grid-template-columns:44px 1fr 44px;align-items:end;display:grid}.mobile-subpage-head strong{place-items:center;height:47px;font-size:14px;display:grid}.mobile-projects-screen .templates{border:0;grid-area:auto;width:100%;height:100%}.mobile-projects-screen .prj-item{min-height:64px;padding-right:8px}.mobile-projects-screen .prj-actions{display:flex}.mobile-projects-screen .prj-actions .icon-btn{width:44px;height:44px}.mobile-projects-screen .tpl-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.mobile-notice-backdrop{z-index:140;padding:16px 16px calc(16px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1118276b;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-notice{background:var(--card);border:1px solid var(--line);width:100%;padding:20px;box-shadow:0 16px 50px #0000003d}.mobile-notice strong{color:var(--fg);margin-bottom:8px;font-size:15px;display:block}.mobile-notice p{color:var(--fg-label);margin:0 0 18px;font-size:13px;line-height:1.5}.mobile-editor .modal-backdrop{justify-content:stretch;align-items:stretch;padding:0}body:has(.mobile-editor) .modal-backdrop{justify-content:stretch;align-items:stretch;padding:0}.mobile-editor .modal{width:100%;height:100dvh;max-height:none;box-shadow:none;border:0;flex-direction:column;display:flex}body:has(.mobile-editor) .modal{width:100%;height:100dvh;max-height:none;box-shadow:none;border:0;flex-direction:column;display:flex}.mobile-editor .modal-head{min-height:calc(52px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}body:has(.mobile-editor) .modal-head{min-height:calc(52px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.mobile-editor .modal-head .icon-btn{width:44px;height:44px}body:has(.mobile-editor) .modal-head .icon-btn{width:44px;height:44px}.mobile-editor .modal-body{padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow-y:auto}body:has(.mobile-editor) .modal-body{padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow-y:auto}body:has(.mobile-editor) .modal.welcome{width:100%;height:100dvh;max-height:none}.mobile-editor .export-modal{background:var(--card);grid-template-rows:minmax(260px,1fr) 66px minmax(220px,36dvh);display:grid;overflow:hidden}body:has(.mobile-editor) .export-modal{background:var(--card);grid-template-rows:minmax(260px,1fr) 66px minmax(220px,36dvh);display:grid;overflow:hidden}.mobile-editor .export-modal .modal-head{inset:env(safe-area-inset-top) 0 auto;z-index:3;pointer-events:none;background:0 0;border:0;min-height:58px;padding:8px 14px;position:absolute}body:has(.mobile-editor) .export-modal .modal-head{inset:env(safe-area-inset-top) 0 auto;z-index:3;pointer-events:none;background:0 0;border:0;min-height:58px;padding:8px 14px;position:absolute}.mobile-editor .export-modal .modal-head>span,.mobile-editor .export-modal .modal-head>.icon-btn:last-child{display:none}body:has(.mobile-editor) .export-modal .modal-head>span{display:none}body:has(.mobile-editor) .export-modal .modal-head>.icon-btn:last-child{display:none}.mobile-editor .export-mobile-back{border-radius:var(--r-ctrl);color:#f7f7f7;pointer-events:auto;background:#1c1c1cdb;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 6px 18px #00000029}body:has(.mobile-editor) .export-mobile-back{border-radius:var(--r-ctrl);color:#f7f7f7;pointer-events:auto;background:#1c1c1cdb;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 6px 18px #00000029}.mobile-editor .export-mobile-preview{min-height:0;padding:calc(62px + env(safe-area-inset-top)) 32px 28px;background:#050505;justify-content:center;align-items:center;display:flex;overflow:hidden}body:has(.mobile-editor) .export-mobile-preview{min-height:0;padding:calc(62px + env(safe-area-inset-top)) 32px 28px;background:#050505;justify-content:center;align-items:center;display:flex;overflow:hidden}.mobile-editor .export-mobile-preview canvas{object-fit:contain;background:#000;width:auto;max-width:100%;height:auto;max-height:100%;display:block}body:has(.mobile-editor) .export-mobile-preview canvas{object-fit:contain;background:#000;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.mobile-editor .export-mobile-transport{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);grid-template-columns:48px 1fr 48px;align-items:center;padding:0 14px;display:grid}body:has(.mobile-editor) .export-mobile-transport{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);grid-template-columns:48px 1fr 48px;align-items:center;padding:0 14px;display:grid}.mobile-editor .export-mobile-transport:after{content:"";width:48px}body:has(.mobile-editor) .export-mobile-transport:after{content:"";width:48px}.mobile-editor .export-mobile-play{border-radius:var(--r-ctrl);background:var(--card-thumb);width:42px;height:42px;color:var(--fg);place-items:center;display:grid}body:has(.mobile-editor) .export-mobile-play{border-radius:var(--r-ctrl);background:var(--card-thumb);width:42px;height:42px;color:var(--fg);place-items:center;display:grid}.mobile-editor .export-mobile-transport>span{text-align:center;color:var(--fg-faint);font-variant-numeric:tabular-nums;font-size:12px}body:has(.mobile-editor) .export-mobile-transport>span{text-align:center;color:var(--fg-faint);font-variant-numeric:tabular-nums;font-size:12px}.mobile-editor .export-mobile-transport b{color:var(--fg-body);font-weight:500}body:has(.mobile-editor) .export-mobile-transport b{color:var(--fg-body);font-weight:500}.mobile-editor .export-modal-body{min-height:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--card);border:0;gap:13px}body:has(.mobile-editor) .export-modal-body{min-height:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:var(--card);border:0;gap:13px}.mobile-editor .export-modal-body .pills{border-radius:var(--r-ctrl)}body:has(.mobile-editor) .export-modal-body .pills{border-radius:var(--r-ctrl)}.mobile-editor .export-modal-body .pill{min-height:42px}body:has(.mobile-editor) .export-modal-body .pill{min-height:42px}.mobile-editor .export-action-desktop,.mobile-editor .export-label-desktop{display:none}body:has(.mobile-editor) .export-action-desktop{display:none}body:has(.mobile-editor) .export-label-desktop{display:none}.mobile-editor .export-action-mobile,.mobile-editor .export-label-mobile{display:inline}body:has(.mobile-editor) .export-action-mobile{display:inline}body:has(.mobile-editor) .export-label-mobile{display:inline}.mobile-editor .export-primary-action{border-radius:var(--r-ctrl);justify-content:center;align-items:center;gap:8px;min-height:48px;display:flex}body:has(.mobile-editor) .export-primary-action{border-radius:var(--r-ctrl);justify-content:center;align-items:center;gap:8px;min-height:48px;display:flex}.mobile-editor .export-primary-action>svg{display:block}body:has(.mobile-editor) .export-primary-action>svg{display:block}@media (orientation:landscape) and (max-height:560px){.mobile-editor{grid-template-rows:calc(44px + env(safe-area-inset-top)) minmax(0, 1fr) 48px 0 calc(54px + env(safe-area-inset-bottom))}.mobile-topbar,.mobile-project-button,.mobile-top-actions{height:auto;min-height:43px}.mobile-panel-is-open .mobile-panel{inset:calc(44px + env(safe-area-inset-top)) 0 calc(54px + env(safe-area-inset-bottom));z-index:25;opacity:1;border-top:0;position:fixed}.mobile-transport{height:48px}.mobile-nav-item{height:53px}.mobile-editor .export-modal{grid-template-rows:minmax(150px,1fr) 56px minmax(180px,48dvh)}body:has(.mobile-editor) .export-modal{grid-template-rows:minmax(150px,1fr) 56px minmax(180px,48dvh)}}}.modal.web-modal{flex-direction:column;width:min(1100px,92vw);height:86vh;display:flex;overflow:hidden}.web-modal-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:14px 18px;display:flex}.web-modal-head .tabs{flex:1;width:auto}.web-modal-head .tab{flex:0 auto;padding:5px 14px}.web-modal-body{flex:1;min-height:0;padding:14px 18px;display:flex}.web-editor-full{resize:none;background:var(--card-inset);min-height:0;color:var(--fg);border:1px solid var(--line);tab-size:2;white-space:pre;border-radius:8px;flex:1;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:18px;overflow:auto}.web-editor-full:focus{outline:1px solid var(--fg-muted);outline-offset:-1px}.web-modal-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex}.web-modal-ok{font-size:var(--fs-meta);color:var(--fg-muted)}.web-modal-ok code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.web-modal-err{font-size:var(--fs-meta);color:#ff8fa3;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.web-edit-code{border-radius:var(--r-ctrl);background:var(--card-inset);width:100%;color:var(--fg-label);font-size:var(--fs-ui);transition:background var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;gap:7px;padding:8px;font-weight:500;display:flex}.web-edit-code:hover{background:var(--card-thumb);color:var(--fg)}.web-sel-err{font-size:var(--fs-meta);color:#ff8fa3;word-break:break-word;margin:10px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:15px}.web-derived{font-size:var(--fs-ui);color:var(--fg);align-items:baseline;gap:6px;display:inline-flex}.web-derived em{font-style:normal;font-size:var(--fs-meta);color:var(--fg-faint)}.web-mode-note{font-size:var(--fs-meta);color:var(--fg-muted);margin:2px 0 0;line-height:15px}.web-toggle{color:var(--fg);cursor:pointer;align-items:center;gap:8px;font-size:11px;display:flex}.web-toggle input{accent-color:var(--seg-active-bg);cursor:pointer}.web-toggle-note{color:var(--fg-muted);font-size:var(--fs-meta)}.web-hint{font-size:var(--fs-meta);color:var(--fg-muted);margin:10px 14px 12px;line-height:15px}.web-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.web-stage{width:100%;height:100%;padding:16px;display:flex;position:relative;overflow:auto}.web-frame{background:0 0;border:0;flex:none;width:100%;height:100%;margin:auto;display:block}.web-zoom{z-index:4;border-radius:var(--r-ctrl);background:var(--card);border:1px solid var(--line);align-items:center;gap:4px;padding:4px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 14px #00000014}.web-zoom-dims,.web-zoom-pct{font-size:var(--fs-meta);color:var(--fg-faint);font-variant-numeric:tabular-nums;padding:0 6px}.web-zoom-dims em{color:var(--fg);font-style:normal}.web-auto-btn{font-size:var(--fs-meta);color:var(--fg-label);background:var(--card-inset);border-radius:var(--r-seg);transition:background var(--t-fast), color var(--t-fast);padding:3px 10px}.web-auto-btn:hover{background:var(--card-thumb);color:var(--fg)}.web-zoom-btn{border-radius:var(--r-seg);font-size:var(--fs-meta);color:var(--fg-faint);transition:background var(--t-fast), color var(--t-fast);padding:4px 9px;font-weight:500}.web-zoom-btn:hover{background:var(--card-inset);color:var(--fg)}.web-zoom-btn.active{background:var(--seg-active-bg);color:var(--seg-active-fg)}.web-error{color:#ff8fa3;background:#141416f2;border:1px solid #ff5c7c66;border-radius:6px;max-width:80%;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:16px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.web-sel-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.web-sel-row{background:var(--card-inset);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.web-sel-idx{background:var(--seg-active-bg);width:18px;height:18px;color:var(--seg-active-fg);border-radius:4px;flex:none;place-items:center;font-size:10px;font-weight:600;display:grid}.web-sel-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg-muted);flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;overflow:hidden}.web-sel-rm{width:18px;height:18px;color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;font-size:14px;line-height:1}.web-sel-rm:hover{background:var(--line);color:var(--fg)}.web-clear{border:1px solid var(--line);width:100%;color:var(--fg-muted);cursor:pointer;background:0 0;border-radius:6px;margin-top:10px;padding:7px;font-size:11px;font-weight:500}.web-clear:hover{color:var(--fg);border-color:var(--fg-muted)}.e3d-controls{flex-direction:column;gap:4px;display:flex}.e3d-group{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding:14px 0;display:flex}.e3d-group:first-child{border-top:0;padding-top:4px}.e3d-group-title{font-size:var(--fs-eyebrow);letter-spacing:1.5px;text-transform:uppercase;color:var(--fg-muted);font-weight:500}.three3d-tint{z-index:6}.three3d-vignette{z-index:5;background:radial-gradient(72.71% 72.71% at 50% 60.49%,#0000 64.42%,#000 100%)}.three3d-mask{z-index:7;mix-blend-mode:multiply;background:radial-gradient(60% 60%,#fff 40%,#787878 100%)}.three3d-dotgrid{z-index:9;background-image:radial-gradient(#ffffff1a 1px,#0000 1px);background-size:6px 6px}.three3d-halftone{z-index:9;mix-blend-mode:overlay;background-image:radial-gradient(circle,#00000073 30%,#0000 31%);background-size:4px 4px}.three3d-grain{z-index:10;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;animation:.6s steps(3,end) infinite three3d-grain}.three3d-dust{z-index:10;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.02 0.12' numOctaves='1'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 12 -6'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23d)'/%3E%3C/svg%3E");background-size:100% 100%;animation:1.1s steps(2,end) infinite three3d-dust}@keyframes three3d-grain{0%{transform:translate(0)}33%{transform:translate(-4%,3%)}66%{transform:translate(3%,-2%)}to{transform:translate(0)}}@keyframes three3d-dust{0%{transform:translate(0)}to{transform:translate(2%,-3%)}}.three3d-stage.is-glitch .three3d-ascii{animation:2.2s step-end infinite three3d-glitch}@keyframes three3d-glitch{0%,92%,to{clip-path:none;transform:translate(0)}93%{clip-path:inset(20% 0 55%);transform:translate(-6px)}95%{clip-path:inset(60% 0 12%);transform:translate(6px)}97%{clip-path:inset(35% 0 40%);transform:translate(-3px)}}.mc-body{flex-direction:column;gap:12px;display:flex}.rb-row{align-items:center;gap:10px;display:flex}.rb-fields{flex-direction:column;flex:none;gap:6px;display:flex}.rb-field{align-items:center;gap:6px;display:flex}.rb-axis{width:10px;font-size:var(--fs-meta);color:var(--fg-faint);text-align:center;flex:none}.rb-field input{background:var(--card-inset);border-radius:var(--r-ctrl);width:46px;height:26px;color:var(--fg-value);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;transition:border-color var(--t-fast);border:1px solid #0000;padding:0 6px}.rb-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rb-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rb-field input:focus-visible{border-color:var(--fg);outline:none}.rb-ball{touch-action:none;cursor:grab;flex:none}.rb-ball.dragging{cursor:grabbing}.rb-ring{fill:none;stroke:var(--line);stroke-width:1.5px}.rb-disc{fill:var(--card-inset);stroke:var(--line);stroke-width:1px;transition:fill var(--t-fast)}.rb-disc.on{fill:var(--card-thumb)}.rb-wire-front{fill:none;stroke:var(--fg-muted);stroke-width:1.2px}.rb-wire-back{fill:none;stroke:var(--line);stroke-width:1px}.rb-face{fill:var(--fg)}.rb-handle{fill:var(--handle);transition:fill var(--t-fast)}.rb-handle.on,.rb-ball:hover .rb-handle{fill:var(--fg)}.rb-reset{flex:none;padding:0 12px}.rb-reset:disabled{opacity:.4;cursor:default}@media (prefers-reduced-motion:reduce){.rb-disc,.rb-handle,.rb-field input{transition:none}}.mc-reset-model{color:var(--fg-muted);font-size:var(--fs-label);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.mc-reset-model:hover{color:var(--fg)}.finish-swatches{flex-wrap:wrap;gap:10px;display:flex}.finish-swatch{cursor:pointer;border:1px solid var(--line);width:28px;height:28px;box-shadow:0 0 0 0 var(--fg);transition:box-shadow var(--t-fast), transform var(--t-fast);border-radius:50%;padding:0}.finish-swatch:hover{transform:scale(1.08)}.finish-swatch.active{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--fg)}.sc-asset{border-radius:var(--r-ctrl);background:var(--card-inset);align-items:center;gap:10px;padding:6px;display:flex}.sc-asset-thumb{object-fit:cover;background:var(--card-thumb);border-radius:4px;flex:none;width:34px;height:34px}.sc-asset-name{min-width:0;font-size:var(--fs-ui);color:var(--fg-label);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sc-asset-x{color:var(--fg-muted);cursor:pointer;background:0 0;border:0;flex:none;padding:4px 6px;font-size:12px}.sc-asset-x:hover{color:var(--fg)}.mc-colors{gap:var(--gap-tight);flex-direction:column;display:flex}.mc-colors-hint{font-size:var(--fs-label);color:var(--fg-muted)}.mc-color-row{align-items:center;gap:var(--gap-tight);padding:calc(var(--gap-tight) / 2);border-radius:var(--r-ctrl);cursor:default;transition:background var(--t-fast);display:flex}.mc-color-row.sel{background:var(--card-inset)}.mc-color-name{font-size:var(--fs-ui);color:var(--fg-body);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mc-color-row input[type=color]{width:var(--ctl-h);height:var(--ctl-h);border:1px solid var(--line);border-radius:var(--r-ctrl);cursor:pointer;background:0 0;flex:none;padding:0}.mc-color-clear{width:var(--ctl-h);height:var(--ctl-h);border-radius:var(--r-ctrl);background:var(--card-inset);color:var(--fg-muted);cursor:pointer;font-size:var(--fs-label);border:0;place-items:center;line-height:1;display:grid}.mc-color-clear:hover:not(:disabled){color:var(--fg);background:var(--card-thumb)}.mc-color-clear:disabled{opacity:.3;cursor:default}.mc-fill-type{height:var(--ctl-h);border-radius:var(--r-ctrl);background-color:var(--card-inset);color:var(--fg-body);font-size:var(--fs-ui);padding:0 var(--gap-tight);cursor:pointer;border:0;flex:none}.mc-gradient-preview{width:var(--ctl-h);height:var(--ctl-h);border:1px solid var(--line);border-radius:var(--r-ctrl);box-shadow:0 0 0 0 var(--fg);transition:box-shadow var(--t-fast);flex:none;padding:0}.mc-gradient-preview.active{box-shadow:0 0 0 2px var(--fg)}.mc-fill-block{border-radius:var(--r-ctrl);transition:background var(--t-fast)}.mc-fill-block.sel{background:var(--card-inset)}.gradient-editor{gap:var(--gap-row);flex-direction:column;min-width:0;display:flex}.mc-fill-block>.gradient-editor{padding:0 var(--gap-tight) var(--gap-tight)}.mc-fill-system{gap:var(--gap-row);flex-direction:column;display:flex}.mc-fill-system>.gradient-editor{padding:0}.gradient-presets{gap:var(--gap-tight);grid-template-columns:repeat(6,minmax(0,1fr));width:100%;display:grid}.gradient-presets button{height:var(--ctl-h);border-radius:var(--r-ctrl);border:1px solid var(--line);min-width:0;transition:border-color var(--t-fast), opacity var(--t-fast)}.gradient-presets button:hover{border-color:var(--handle);opacity:.9}.gradient-row-label,.gradient-stop-heading{justify-content:space-between;align-items:center;gap:var(--gap-tight);display:flex}.gradient-row-label span{color:var(--fg-faint);font-size:var(--fs-meta);font-variant-numeric:tabular-nums}.gradient-stops-row{gap:var(--gap-tight)}.gradient-ramp{height:var(--ctl-h);margin:0 calc(var(--gap-tight) / 2) var(--ctl-h);border-radius:var(--r-ctrl);border:1px solid var(--line);cursor:copy;position:relative}.gradient-stop{bottom:calc(var(--ctl-h) * -1);width:calc(var(--ctl-h) - var(--gap-tight));height:calc(var(--ctl-h) - var(--gap-tight));border-radius:var(--r-ctrl);border:1px solid var(--line);box-shadow:inset 0 0 0 1px var(--card);cursor:ew-resize;touch-action:none;transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);padding:0;position:absolute;transform:translate(-50%)}.gradient-stop:hover{border-color:var(--handle);transform:translate(-50%)translateY(-1px)}.gradient-stop.selected{border-color:var(--fg);box-shadow:0 0 0 2px var(--card)}.gradient-ramp-actions{gap:var(--gap-tight);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gradient-ramp-actions .btn:disabled,.gradient-stop-heading .link-btn:disabled{opacity:.35;cursor:default}.gradient-stop-editor,.gradient-advanced{border-top:1px solid var(--line);padding-top:var(--gap-tight)}.gradient-stop-editor{gap:var(--gap-row);flex-direction:column;display:flex}.gradient-stop-heading .ctl-section-title{margin-bottom:0}.gradient-stop-color .field{text-transform:uppercase;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.gradient-stop-color input[type=color]::-webkit-color-swatch-wrapper{padding:0}.gradient-stop-color input[type=color]::-webkit-color-swatch{border:1px solid var(--line);border-radius:var(--r-ctrl)}.gradient-stop-color input[type=color]::-moz-color-swatch{border:1px solid var(--line);border-radius:var(--r-ctrl)}.gradient-advanced{gap:var(--gap-row);flex-direction:column;display:flex}.editor-loading{width:100%;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;background:var(--bg);color:var(--fg-muted);letter-spacing:.01em;justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex;overflow:hidden}.route-404{text-align:center;flex-direction:column;gap:8px}.route-404-title{color:var(--fg);margin:0;font-size:18px;font-weight:600}.route-404-link{border-radius:var(--r-nav);background:var(--card-inset);color:var(--fg);font-size:var(--fs-ui);margin-top:6px;padding:8px 14px;font-weight:600;text-decoration:none}.route-404-link:hover{background:var(--line)}.editor-loading .ld-cards{margin-top:0}.ctl-section{gap:var(--gap-row);flex-direction:column;padding:0;display:flex}.section-body>.ctl-section+.ctl-section,.controls .section-body>.ctl-section+.ctl-section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.ctl-section-title{color:var(--fg-label);font-size:var(--fs-eyebrow);letter-spacing:.12em;text-transform:uppercase;margin:0 0 2px;font-weight:650;line-height:15px}.stage-canvas{background-color:#fff!important;background-image:linear-gradient(45deg,#cbcbd2 25%,#0000 25%),linear-gradient(-45deg,#cbcbd2 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#cbcbd2 75%),linear-gradient(-45deg,#0000 75%,#cbcbd2 75%)!important;background-position:0 0,0 10px,10px -10px,-10px 0!important;background-size:20px 20px!important}.strack:focus-visible{outline:1px solid var(--fg);outline-offset:2px}.szero{background:color-mix(in srgb, var(--fg) 22%, transparent);pointer-events:none;width:1px;height:20px;position:absolute;top:7px}.ctl-advanced{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.ctl-advanced-toggle{width:100%;color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:7px 0;font-size:11px;display:flex}.ctl-advanced-toggle:hover{color:var(--fg-body)}.ld-cards{width:42px;height:19px;margin-top:16px;position:relative}.ld-cards i{background:var(--ink,currentColor);border-radius:2.5px;width:10px;height:15px;animation:1.8s ease-in-out infinite cards;position:absolute;top:2px;left:1px}.ld-cards i:nth-child(2){animation-delay:-.6s}.ld-cards i:nth-child(3){animation-delay:-1.2s}@keyframes cards{0%,to{opacity:1;transform:translate(0)scale(1)}33.333%{transform:translateX(calc(12px * var(--dir,1))) scale(.8, .6667);opacity:.55}66.667%{transform:translateX(calc(22px * var(--dir,1))) scale(.6, .4);opacity:.3}}@media (prefers-reduced-motion:reduce){.ld-cards i{animation:none}.ld-cards i:nth-child(2){transform:translateX(calc(12px * var(--dir,1))) scale(.8, .6667);opacity:.55}.ld-cards i:nth-child(3){transform:translateX(calc(22px * var(--dir,1))) scale(.6, .4);opacity:.3}}.app-projects{grid-template-columns:var(--rail-w) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"rail stage"}.app-projects .templates,.app-projects .controls,.app-projects .right,.app-projects .bottom,.app-projects .panel-toggle,.app-projects .stage-history,.app-projects .stage-fs{display:none}.pj{z-index:60;background:var(--card);position:absolute;inset:0;overflow:auto}.pj-inner{max-width:1180px;margin:0 auto;padding:0 28px 40px}.pj-head{z-index:1;background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;padding:26px 0 18px;display:flex;position:sticky;top:0}.pj-head-titles{min-width:0}.pj-title{letter-spacing:-.01em;color:var(--fg);margin:0;font-size:21px;font-weight:500;line-height:1.15}.pj-sub{font-size:var(--fs-ui);color:var(--fg-faint);margin:6px 0 0}.pj-tools{flex:none;align-items:center;gap:8px;display:flex}.pj-search{width:190px;height:var(--ctl-h)}.pj-sort{width:auto}.pj-sort .seg{flex:none;padding:5px 12px}.pj-grid{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));align-content:start;gap:22px 20px;display:grid}.pj-card{background:var(--card);flex-direction:column;min-width:0;display:flex;position:relative}.pj-shot{aspect-ratio:4/3;background:var(--card-inset);border:1px solid var(--line);width:100%;transition:border-color var(--t-fast), background var(--t-fast);place-items:center;display:grid;position:relative;overflow:hidden}.pj-card:hover .pj-shot{border-color:var(--handle)}.pj-card.active .pj-shot{border-color:var(--fg)}.pj-frame{outline:1px solid var(--stage-edge);outline-offset:-1px;box-shadow:0 3px 12px var(--stage-shadow);display:block;position:relative}.pj-shot-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.pj-noshot{font-size:var(--fs-meta);color:var(--fg-faint);background:color-mix(in srgb, var(--card) 86%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 7px;line-height:1;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.pj-flag{font-size:var(--fs-meta);letter-spacing:.07em;text-transform:uppercase;color:var(--fg);background:color-mix(in srgb, var(--card) 88%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 7px;line-height:1;position:absolute;top:8px;left:8px}.pj-actions{z-index:2;opacity:0;pointer-events:none;background:color-mix(in srgb, var(--card) 88%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity var(--t-fast);gap:1px;display:flex;position:absolute;top:7px;right:7px}.pj-card:hover .pj-actions,.pj-card:focus-within .pj-actions{opacity:1;pointer-events:auto}.pj-act{width:27px;height:27px;color:var(--fg-muted);transition:color var(--t-fast), background var(--t-fast);place-items:center;display:grid}.pj-act:hover{color:var(--fg);background:var(--card-inset)}.pj-act.danger{color:var(--gz-x)}.pj-foot{flex-direction:column;gap:3px;min-width:0;padding:10px 1px 0;display:flex}.pj-name{font-size:var(--fs-label);color:var(--fg-body);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.pj-card.active .pj-name{color:var(--fg);font-weight:500}.pj-meta{font-size:var(--fs-meta);color:var(--fg-faint)}.pj-facts{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.pj-fact{font-size:var(--fs-meta);color:var(--fg-muted);background:var(--card-inset);white-space:nowrap;padding:4px 6px;line-height:1}.pj-rename{width:100%;height:30px}.pj-confirm{z-index:3;text-align:center;font-size:var(--fs-ui);color:var(--fg-body);background:color-mix(in srgb, var(--card) 94%, transparent);border:1px solid var(--fg);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px;line-height:1.4;display:flex;position:absolute;inset:0}.pj-confirm-row{gap:8px;display:flex}.btn.solid.danger{background:var(--gz-x);color:#fff}.btn.solid.danger:hover{background:var(--gz-x);opacity:.88}.pj-new{aspect-ratio:4/3;border:1px dashed var(--handle);width:100%;color:var(--fg-muted);transition:border-color var(--t-fast), color var(--t-fast), background var(--t-fast);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.pj-new:hover{border-color:var(--fg);color:var(--fg);background:var(--card-soft)}.pj-new-mark{place-items:center;display:grid}.pj-new-label{font-size:var(--fs-label)}.pj-new-hint{font-size:var(--fs-meta);color:var(--fg-faint)}.pj-empty{font-size:var(--fs-ui);color:var(--fg-faint);grid-column:1/-1}.pdock{z-index:45;max-width:calc(100% - 96px);position:absolute;top:10px;right:10px}.pdock-chip{background:color-mix(in srgb, var(--card) 92%, transparent);border:1px solid var(--line);border-radius:var(--r-ctrl);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:min(320px,100%);height:30px;color:var(--fg-label);font-size:var(--fs-ui);transition:color var(--t-fast), background var(--t-fast);align-items:center;gap:8px;padding:0 10px;display:flex}.pdock-chip:hover,.pdock-chip.open{background:var(--card);color:var(--fg)}.pdock-ico{color:var(--fg-faint);flex:none;place-items:center;display:grid}.pdock-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pdock-state{border-left:1px solid var(--line);color:var(--fg-faint);font-size:var(--fs-meta);flex:none;padding-left:8px}.pdock-state.busy{color:var(--fg-muted);animation:1.1s ease-in-out infinite pdock-pulse}@keyframes pdock-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.pdock-state.busy{animation:none}}.pdock-menu{background:var(--card);border:1px solid var(--line);width:264px;box-shadow:0 14px 34px var(--stage-shadow);flex-direction:column;gap:8px;padding:14px;display:flex;position:absolute;top:36px;right:0}.pdock-field-label{font-size:var(--fs-eyebrow);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint)}.pdock-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.pdock-hint{font-size:var(--fs-meta);color:var(--fg-faint);line-height:1.4}.pdock-sep{background:var(--line);height:1px;margin:2px 0}.pdock-recents{flex-direction:column;display:flex}.pdock-recent{text-align:left;min-width:0;transition:background var(--t-fast);justify-content:space-between;align-items:baseline;gap:10px;margin:0 -8px;padding:7px 8px;display:flex}.pdock-recent:hover{background:var(--card-inset)}.pdock-recent-name{font-size:var(--fs-ui);color:var(--fg-body);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pdock-recent-meta{font-size:var(--fs-meta);color:var(--fg-faint);flex:none}.tpl-thumb-skeleton{background:var(--card-inset);position:absolute;inset:0;overflow:hidden}.tpl-thumb-skeleton:after{content:"";background:linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--fg) 7%, transparent) 45%, color-mix(in srgb, var(--fg) 7%, transparent) 55%, transparent 80%);background-size:200% 100%;animation:1.4s linear infinite tpl-thumb-sweep;position:absolute;inset:0}@keyframes tpl-thumb-sweep{0%{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.tpl-thumb-skeleton:after{animation:none}}
