@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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}:root,[data-theme=dark]{--bg:#0c0c0f;--bg-raised:#121216;--surface:#16161b;--surface-2:#1c1c22;--surface-3:#24242c;--surface-hover:#202027;--border:#26262e;--border-strong:#34343f;--text:#ececf1;--text-2:#b4b4c0;--muted:#90909e;--faint:#5f5f6c;--accent:#8e7dff;--accent-strong:#a597ff;--accent-soft:#8e7dff24;--accent-line:#8e7dff6b;--on-accent:#0c0c0f;--focus:#a597ff;--ready:#3dd68c;--warning:#f2b54b;--warning-soft:#f2b54b21;--danger:#f2626f;--danger-soft:#f2626f21;--info:#6ea8ff;--checker-a:#2a2a31;--checker-b:#202026;--canvas-bg:#0a0a0d;--selection:#8e7dff;--snap:#ff4fd8;--guide:#2bd4e8;--safe-action:#ffffff59;--safe-graphics:#f2b54bbf;--radius-sm:6px;--radius:9px;--shadow-pop:0 24px 64px #0000008c, 0 0 0 1px var(--border-strong);--font:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f4f4f7;--bg-raised:#fff;--surface:#fff;--surface-2:#f1f1f5;--surface-3:#e7e7ee;--surface-hover:#ececf2;--border:#e2e2ea;--border-strong:#cfcfda;--text:#17171c;--text-2:#3c3c47;--muted:#5f5f6c;--faint:#9b9ba8;--accent:#6c5ce7;--accent-strong:#5a4bd6;--accent-soft:#6c5ce71f;--accent-line:#6c5ce766;--on-accent:#fff;--focus:#5a4bd6;--ready:#0f7a4a;--warning:#8a5a00;--warning-soft:#c480001f;--danger:#c0283a;--danger-soft:#c0283a1a;--info:#2a64c4;--checker-a:#e4e4ea;--checker-b:#f4f4f7;--canvas-bg:#d9d9e0;--selection:#6c5ce7;--safe-action:#00000059;--safe-graphics:#c48000cc;--shadow-pop:0 18px 48px #0000002e, 0 0 0 1px var(--border-strong);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:13px;line-height:1.4;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-radius:var(--radius-sm)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.hint{color:var(--muted);margin:6px 0;font-size:11.5px}.hint.warn,.warn{color:var(--warning)}.hint.ok{color:var(--ready)}.hint.pad,.empty.pad{padding:0 12px}.empty{color:var(--muted);padding:8px;font-size:12px;list-style:none}.spacer{flex:1}.error{color:var(--danger)}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;height:30px;padding:0 12px;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-strong)}.btn.small{height:24px;padding:0 8px;font-size:12px}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.icon-btn{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--text-2);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn.pressed{background:var(--accent-soft);color:var(--accent-strong)}.link{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px}.chip{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;border-radius:999px;padding:1px 8px;font-size:11.5px}.badge{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10.5px}.badge.muted{color:var(--muted)}.count{background:var(--warning-soft);color:var(--warning);border-radius:999px;margin-left:4px;padding:0 5px;font-size:10.5px}.field{flex-direction:column;gap:3px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:11px}.field-label.sub{margin-top:6px}.field-label.with-action{justify-content:space-between;align-items:center;display:flex}.field input[type=text],.field textarea,.field select,.name-input,.el-name,.top-select select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:100%;min-width:0;height:28px;padding:0 8px}.field textarea{resize:vertical;height:auto;padding:6px 8px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus);outline:none}.field input[aria-invalid=true]{border-color:var(--danger)}.field.number{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:row;align-items:center;gap:0;height:28px;padding-left:7px;position:relative}.field.number .field-label{min-width:16px;color:var(--muted);white-space:nowrap;margin-right:4px;font-size:10.5px}.field.number input{background:0 0;border:0;width:100%;min-width:0;height:26px;padding:0 4px}.field.number input:focus{outline:none}.field.number:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.field-suffix{color:var(--muted);padding-right:6px;font-size:10.5px}.field.color{grid-template-columns:1fr 28px 92px;align-items:center;gap:6px;display:grid}.field.color input[type=color]{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:28px;height:28px;padding:0}.field.color .hex{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);min-width:0;height:28px;padding:0 6px;font-family:ui-monospace,monospace;font-size:11.5px}.toggle{cursor:pointer;align-items:center;gap:8px;padding:3px 0;font-size:12px;display:flex}.toggle input{accent-color:var(--accent)}.row{gap:6px;margin:6px 0;display:grid}.row.two{grid-template-columns:1fr 1fr}.row.three{grid-template-columns:1fr 1fr 1fr}.row.four{grid-template-columns:repeat(4,1fr)}.btn-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.editor{grid-template:"top top top"48px"left centre right"minmax(0,1fr)"left bottom right"168px/264px minmax(0,1fr) 312px;height:100vh;display:grid}.topbar{background:var(--bg-raised);border-bottom:1px solid var(--border);grid-area:top;align-items:center;gap:8px;padding:0 10px;display:flex}.brand{letter-spacing:.02em;color:var(--text-2);white-space:nowrap;font-weight:500}.brand b{color:var(--accent-strong);font-weight:650}.name-input{background:0 0;border-color:#0000;max-width:260px;font-weight:600}.name-input:hover{border-color:var(--border);background:var(--surface-2)}.name-input:focus{border-color:var(--focus);background:var(--surface-2);box-shadow:0 0 0 1px var(--focus);outline:none}.top-select select{width:auto;height:28px}.top-group{gap:2px;display:flex}.top-error{color:var(--danger);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:12px;overflow:hidden}.save-status{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.save-status .dot{background:var(--ready);border-radius:50%;width:7px;height:7px}.save-status.s-dirty .dot,.save-status.s-saving .dot{background:var(--warning)}.save-status.s-error .dot,.save-status.s-conflict .dot{background:var(--danger)}.save-status.s-error,.save-status.s-conflict{color:var(--danger)}.dev-anchor{position:relative}.popover{z-index:30;border-radius:var(--radius);background:var(--surface);width:280px;box-shadow:var(--shadow-pop);flex-direction:column;gap:6px;padding:12px;display:flex;position:absolute;top:34px;right:0}.popover h3{margin:0 0 4px;font-size:13px}.left{border-right:1px solid var(--border);background:var(--bg-raised);grid-area:left;grid-template-rows:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.right{border-left:1px solid var(--border);background:var(--bg-raised);flex-direction:column;grid-area:right;min-height:0;display:flex}.right-body{flex:1;min-height:0;overflow:auto}.centre{flex-direction:column;grid-area:centre;min-width:0;min-height:0;display:flex}.bottom{border-top:1px solid var(--border);background:var(--bg-raised);flex-direction:column;grid-area:bottom;min-height:0;display:flex}.panel{flex-direction:column;min-height:0;display:flex}.panel+.panel{border-top:1px solid var(--border)}.panel-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;padding:10px 12px 6px;font-size:11px;font-weight:600}.panel-title-row{justify-content:space-between;align-items:center;padding-right:8px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:2px;padding:6px 8px 0;display:flex}.tabs button{border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;color:var(--muted);background:0 0;border:0;padding:6px 10px;font-weight:500}.tabs button.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.toolbar{border-bottom:1px solid var(--border);background:var(--bg-raised);align-items:center;gap:10px;padding:6px 10px;display:flex;overflow-x:auto}.tool-group{border-right:1px solid var(--border);align-items:center;gap:2px;padding-right:10px;display:flex}.tool-group:last-child{border-right:0}.tool{border-radius:var(--radius-sm);cursor:pointer;height:28px;color:var(--text-2);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.tool:hover{background:var(--surface-hover);color:var(--text)}.tool.small{font-size:11px;font-weight:600}.tool.pressed{background:var(--accent-soft);color:var(--accent-strong)}.canvas-root{background:var(--canvas-bg);flex:1;grid-template-rows:0 1fr;grid-template-columns:0 1fr;min-height:0;display:grid;position:relative}.canvas-root.with-rulers{grid-template-rows:20px 1fr;grid-template-columns:20px 1fr}.ruler-corner{background:var(--bg-raised);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.ruler{background:var(--bg-raised);cursor:crosshair;-webkit-user-select:none;user-select:none;display:block;overflow:hidden}.ruler-top{border-bottom:1px solid var(--border);width:100%}.ruler-left{border-right:1px solid var(--border);height:100%}.ruler line{stroke:var(--faint);stroke-width:1px}.ruler text{fill:var(--muted);font-family:ui-monospace,monospace;font-size:9px}.ruler-sel{fill:var(--accent-soft)}.canvas-viewport{touch-action:none;outline:none;grid-area:2/2;min-width:0;min-height:0;position:relative;overflow:auto}.canvas-viewport:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);border-radius:0}.canvas-content{position:relative}.canvas-stage{box-shadow:0 0 0 1px var(--border-strong), 0 12px 40px #0006;position:absolute;overflow:hidden}.canvas-stage.checker{background-color:var(--checker-a);background-image:linear-gradient(45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-b) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-b) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.canvas-reference{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.canvas-host{transform-origin:0 0;pointer-events:none;position:absolute;overflow:hidden}.canvas-offscreen{visibility:hidden;pointer-events:none;position:fixed;top:0;left:-100000px}.canvas-overlay{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvas-overlay *{vector-effect:non-scaling-stroke}.ov-frame{fill:none;stroke:none}.ov-safe-action{fill:none;stroke:var(--safe-action);stroke-dasharray:4 4;stroke-width:1px}.ov-safe-graphics{fill:none;stroke:var(--safe-graphics);stroke-width:1px}.ov-cut{fill:none;stroke:var(--guide);stroke-dasharray:8 4;stroke-width:1px}.ov-guide{stroke:var(--guide);stroke-width:1px}.ov-guide.active{stroke-dasharray:3 3}.ov-guide-hit{stroke:#0000;stroke-width:7px;pointer-events:stroke;cursor:ew-resize}line.ov-guide-hit[y1][y2]:not([x1="0"]){cursor:ew-resize}.ov-hover{fill:none;stroke:var(--selection);stroke-width:1px;opacity:.6}.ov-selection{fill:none;stroke:var(--selection);stroke-width:1.5px}.ov-selection-bounds{fill:none;stroke:var(--selection);stroke-dasharray:4 3;stroke-width:1px}.ov-handle{fill:#fff;stroke:var(--selection);stroke-width:1.5px;pointer-events:all}.h-n,.h-s{cursor:ns-resize}.h-e,.h-w{cursor:ew-resize}.h-nw,.h-se{cursor:nwse-resize}.h-ne,.h-sw{cursor:nesw-resize}.ov-rotate{cursor:grab}.ov-rotate-stem{stroke:var(--selection);stroke-width:1px}.ov-size{fill:#fff;text-anchor:middle;paint-order:stroke;stroke:var(--selection);stroke-width:3px;font-size:10.5px;font-family:var(--font)}.ov-snap{stroke:var(--snap);stroke-width:1px}.ov-marquee{fill:var(--accent-soft);stroke:var(--selection);stroke-width:1px}.ov-problem polygon{fill:#f2b54b14;stroke:var(--warning);stroke-dasharray:5 3;stroke-width:1.5px}.ov-problem circle{fill:var(--warning);pointer-events:all}.ov-problem text{fill:#111;text-anchor:middle;font-size:11px;font-weight:700}.canvas-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);padding:6px 10px;position:absolute;bottom:12px;left:32px}.canvas-zoom{color:var(--muted);pointer-events:none;font-size:11px;position:absolute;bottom:8px;right:12px}.layers{flex-direction:column;flex:1;min-height:0;display:flex}.tree{flex:1;margin:0;padding:0 4px;list-style:none;overflow:auto}.tree-row{border-radius:var(--radius-sm);cursor:default;height:26px;color:var(--text-2);-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding-right:4px;display:flex}.tree-row:hover{background:var(--surface-hover)}.tree-row.selected{background:var(--accent-soft);color:var(--text)}.tree-row.is-hidden .tree-name{opacity:.45}.tree-row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.tree-row.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.tree-row.drop-inside{box-shadow:inset 0 0 0 1px var(--accent)}.twisty{width:12px;color:var(--muted);place-items:center;display:inline-grid}.tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-actions{opacity:0;gap:1px;display:flex}.tree-row:hover .tree-actions,.tree-row.selected .tree-actions,.tree-row:focus-within .tree-actions{opacity:1}.mini{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.mini:hover{color:var(--text);background:var(--surface-3)}.mini.on{color:var(--accent-strong)}.tree-row .mini.on{opacity:1}.rename{border:1px solid var(--accent-line);background:var(--surface);border-radius:4px;flex:1;height:22px;padding:0 4px}.layers .hint,.assets .hint{padding:0 12px}.assets{flex-direction:column;flex:1;min-height:0;display:flex}.assets.drop-over{box-shadow:inset 0 0 0 2px var(--accent)}.assets-head{justify-content:space-between;align-items:center;gap:6px;padding:0 10px 6px;display:flex}.segmented{background:var(--surface-2);border-radius:var(--radius-sm);padding:2px;display:inline-flex}.segmented button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:2px 8px;font-size:12px}.segmented button.active{background:var(--surface-3);color:var(--text)}.upload{position:relative}.assets-msg{margin:0 10px 6px;font-size:11.5px}.assets-msg.ok{color:var(--ready)}.assets-msg.err{color:var(--danger)}.asset-list-panel{flex-direction:column;flex:1;min-height:0;display:flex}.asset-list{flex:1;margin:0;padding:0 6px;list-style:none;overflow:auto}.asset{border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px;display:flex}.asset:hover{background:var(--surface-hover)}.thumb{object-fit:contain;background:var(--surface-3);border-radius:4px;width:36px;height:36px}.thumb-icon{color:var(--muted)}.asset-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.asset-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-meta{color:var(--muted);font-size:10.5px}.coverage{flex-wrap:wrap;gap:3px;display:flex}.lang{border-radius:3px;align-items:center;gap:2px;padding:0 4px;font-size:10px;display:inline-flex}.lang.ok{background:color-mix(in srgb, var(--ready) 12%, transparent);color:var(--ready)}.lang.missing{background:var(--warning-soft);color:var(--warning)}.inspector{padding-bottom:24px}.inspector-head{align-items:center;gap:6px;padding:10px 10px 4px;display:flex}.el-name{flex:1;font-weight:600}.section{border-bottom:1px solid var(--border)}.section-head{justify-content:space-between;align-items:center;display:flex}.section-toggle{cursor:pointer;text-align:left;color:var(--text-2);background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.section-body{flex-direction:column;gap:6px;padding:0 12px 10px;display:flex}.expose-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.expose-list li{justify-content:space-between;align-items:center;gap:6px;display:flex}.expose-list li>span{flex:1}.data-panel{padding-bottom:24px}.field-list{flex-direction:column;gap:8px;margin:0;padding:0 8px;list-style:none;display:flex}.field-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.field-card-head{align-items:center;display:flex}.field-card-head .section-toggle{padding:8px}.field-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-test{padding:0 10px 10px}.field-test-meta{justify-content:space-between;margin-top:3px;font-size:11px;display:flex}.field-settings{border-top:1px dashed var(--border);flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.choices{border:0;margin:0;padding:0}.problems{flex:1;margin:0;padding:4px 6px;list-style:none;overflow:auto}.problem button{text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:4px 6px;display:flex}.problem button:hover{background:var(--surface-hover)}.problem-text{flex:1}.sev-error{color:var(--danger)}.sev-warning{color:var(--warning)}.sev-info{color:var(--info)}.editor.timeline-open{grid-template-rows:48px minmax(0,1fr) 380px}.timeline-tab{flex:1;min-height:0;display:flex}.problems-tab{flex-direction:column;flex:1;min-height:0;display:flex}.timeline{flex:1;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.tl-phases{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;display:flex}.tl-phase{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;white-space:nowrap;flex-direction:column;align-items:flex-start;gap:0;padding:3px 10px;font-size:12px;line-height:1.25;display:inline-flex}.tl-phase .tl-dur{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.tl-phase:hover{background:var(--surface-hover)}.tl-phase.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.tl-phase.k-through{flex-direction:row;align-items:center;gap:4px}.tl-phase.k-loop,.tl-phase.k-field{border-style:dashed}.tl-phase.k-custom{border-color:var(--info)}.tl-stepcount{color:var(--text-2);font-family:ui-monospace,monospace;font-size:11.5px}.tl-phase-tabs{display:contents}.tl-phases .toggle{white-space:nowrap;font-size:12px}.tl-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:4px 8px;display:flex}.tl-toolbar .field.number{width:170px}.tl-toolbar .field.number .field-label,.anim-prop .field.number .field-label{flex-shrink:0}.tl-toolbar .field.select{flex-direction:row;align-items:center;gap:6px}.tl-toolbar .field.select select{height:26px}.tl-time{font-variant-numeric:tabular-nums;gap:8px;min-width:220px;padding:0 6px;font-size:12px;display:inline-flex}.tl-time b{color:var(--accent-strong);font-weight:600}.tl-sep{background:var(--border-strong);width:1px;height:18px}.tl-body{grid-template-columns:180px minmax(0,1fr) 270px;min-height:0;display:grid}.tl-heads{border-right:1px solid var(--border);min-height:0;overflow:hidden}.tl-head{white-space:nowrap;align-items:center;gap:6px;padding:0 6px 0 10px;font-size:12px;display:flex;overflow:hidden}.tl-head.el{background:var(--surface-2);width:100%;color:var(--text);text-align:left;cursor:pointer;border:0;font-size:11.5px;font-weight:600}.tl-head.el.selected{color:var(--accent-strong)}.tl-head.track{color:var(--text-2);padding-left:20px}.tl-head.track>span:first-child{text-overflow:ellipsis;flex:1;overflow:hidden}.tl-head .icon-btn{width:20px;height:20px}.tl-lanes{cursor:default;-webkit-user-select:none;user-select:none;outline:none;min-height:0;position:relative;overflow:auto}.tl-lanes:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.tl-content{min-height:100%;position:relative}.tl-ruler{z-index:3;background:var(--bg-raised);border-bottom:1px solid var(--border);cursor:ew-resize;height:24px;position:sticky;top:0}.tl-tick{border-left:1px solid var(--border-strong);height:24px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;padding-left:3px;font-size:10px;line-height:14px;position:absolute;top:0}.tl-end{background:var(--warning);pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.tl-mark{color:var(--info);border-left:2px solid var(--info);pointer-events:none;padding:0 4px;font-size:10px;position:absolute;bottom:0}.tl-span{background:var(--accent-soft);opacity:.35;pointer-events:none;position:absolute;top:24px}.tl-lane{border-bottom:1px solid var(--border);position:absolute;left:0;right:0}.tl-lane.el{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.tl-seg{background:var(--accent-line);pointer-events:none;height:2px;margin-top:-1px;position:absolute;top:50%}.tl-seg.hold{background:repeating-linear-gradient(90deg, var(--accent-line) 0 4px, transparent 4px 7px)}.tl-key{border:1.5px solid var(--accent-strong);background:var(--surface);cursor:grab;z-index:1;border-radius:2px;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;padding:0;position:absolute;top:50%;transform:rotate(45deg)}.tl-key:hover{background:var(--accent-soft)}.tl-key.selected{background:var(--accent);border-color:#fff}.tl-marquee{border:1px dashed var(--accent);background:var(--accent-soft);pointer-events:none;z-index:2;position:absolute}.tl-playhead{background:var(--danger);pointer-events:none;z-index:4;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.tl-playhead:before{content:"";border:6px solid #0000;border-top-color:var(--danger);position:absolute;top:0;left:-5px}.tl-side{border-left:1px solid var(--border);min-height:0;padding:4px 10px 10px;overflow:auto}.tl-box{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:6px 0 8px;display:flex}.tl-box h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:600}.tl-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 10px;font-size:11px;display:flex}.tl-foot code{color:var(--text-2);background:var(--surface-2);border-radius:4px;padding:1px 6px;font-family:ui-monospace,monospace}.curve-editor{flex-direction:column;align-items:center;gap:4px;display:flex}.curve-editor svg{background:var(--surface-2);border-radius:var(--radius-sm);touch-action:none;overflow:hidden}.ce-box{fill:none;stroke:var(--border-strong)}.ce-diag{stroke:var(--border-strong);stroke-dasharray:3 3}.ce-arm{stroke:var(--muted)}.ce-curve{fill:none;stroke:var(--accent-strong);stroke-width:2.5px}.ce-handle{fill:var(--surface);stroke:var(--accent-strong);stroke-width:2px;cursor:grab}.ce-handle.active,.ce-handle:hover{fill:var(--accent)}.ce-handle:focus-visible{fill:var(--focus);stroke:var(--text);stroke-width:3px;outline:none}.ce-values{color:var(--text-2);font-family:ui-monospace,monospace;font-size:11px}.anim-props{grid-template-columns:1fr 1fr;gap:4px 8px;display:grid}.anim-prop{align-items:flex-end;gap:4px;min-width:0;display:flex}.anim-prop .field{flex:1}.anim-prop .field.color{grid-template-columns:1fr;display:grid}.anim-prop .field.color input[type=color]{display:none}.key-toggle{width:20px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.key-toggle.track{color:var(--accent-line)}.key-toggle.on,.anim-prop.animated .field-label{color:var(--accent-strong)}.modal-backdrop{z-index:50;background:#00000080;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:min(820px,100vw - 48px);max-height:calc(100vh - 80px);box-shadow:var(--shadow-pop);padding:16px 20px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0;font-size:16px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.shortcut-groups{grid-template-columns:repeat(2,1fr);gap:4px 24px;display:grid}.shortcut-groups h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:14px 0 6px;font-size:12px}.shortcut-groups dl{margin:0}.shortcut{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:3px 0;display:flex}.shortcut dt{color:var(--text-2)}.shortcut dd{gap:3px;margin:0;display:flex}kbd{font-family:var(--font);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:4px;padding:1px 6px;font-size:11px}.start{height:100vh;padding:32px 40px;overflow:auto}.start-head{margin-bottom:20px}.start-head .brand{font-size:22px}.start-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1100px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card.wide{grid-column:1/-1}.card h2{align-items:center;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.card form{flex-direction:column;gap:10px;display:flex}.list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.list-item{background:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;text-align:left;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;display:flex}.list-item:hover{border-color:var(--accent-line)}.li-title{font-weight:600}.li-meta{color:var(--muted);font-size:11.5px}.draft-row{align-items:center;gap:6px;display:flex}.center-message{height:100vh;color:var(--muted);align-content:center;place-items:center;gap:12px;display:grid}.preview-overlay{z-index:40;background:var(--bg);grid-template-rows:46px 1fr auto;display:grid;position:fixed;inset:0}.preview-head{box-sizing:border-box;background:var(--bg-raised);border-bottom:1px solid var(--border);align-items:center;gap:8px;height:46px;padding:0 10px;display:flex;overflow:auto hidden}.preview-head h2{margin:0;font-size:13px}.preview-head .spacer{flex:1}.preview-head .tabs{border:0;padding:0}.preview-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.preview-size{color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.preview-size.over{color:var(--warning);border-color:var(--warning);background:var(--warning-soft)}.preview-body{grid-template-columns:1fr 360px;min-height:0;display:grid}.preview-stage-area{background:var(--canvas-bg);place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.preview-stage-area.actual{place-items:start;padding:16px;overflow:auto}.preview-viewport{box-shadow:0 0 0 1px var(--border-strong), 0 12px 40px #0006;flex:none;position:relative;overflow:hidden}.preview-viewport.checker{background-color:var(--checker-a);background-image:linear-gradient(45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-b) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-b) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.preview-reference{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.preview-frame{transform-origin:0 0;color-scheme:normal;background:0 0;border:0;display:block;position:absolute;top:0;left:0}.preview-busy,.preview-error{border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-pop);padding:6px 12px;font-size:12px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.preview-error{color:var(--danger);max-width:80%}.preview-side{border-left:1px solid var(--border);background:var(--bg-raised);grid-template-rows:auto 1fr;min-height:0;display:grid}.preview-controls{border-bottom:1px solid var(--border);max-height:52vh;padding:10px 12px;overflow:auto}.preview-controls h3,.preview-log h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;margin:10px 0 6px;font-size:11px;font-weight:600;display:flex}.preview-controls .btn-grid .btn{justify-content:center;width:100%}.go-to-step{gap:4px;display:flex}.go-to-step .btn{flex:1}.go-to-step select{width:56px}.toggle-row{align-items:center;gap:6px;margin:10px 0 0;display:flex}.custom-action{gap:4px;margin-bottom:8px;display:grid}.custom-action textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;padding:4px 6px;font:11.5px ui-monospace,SFMono-Regular,Menlo,monospace}.custom-action textarea.invalid{border-color:var(--danger)}.clip-row{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;display:flex}.frame-input input{width:76px}.mark-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.mark-list li{align-items:center;gap:6px;font-size:12px;display:flex}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.preview-log{grid-template-rows:auto 1fr;min-height:0;padding:0 12px 10px;display:grid}.preview-log ol{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:120px;margin:0;padding:6px;font:11.5px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;list-style:none;overflow:auto}.preview-log li{word-break:break-word;padding:1px 0}.preview-log li .m{color:var(--accent-strong);font-weight:600}.preview-log li .p{color:var(--muted)}.preview-log li .s,.preview-log li .ms{color:var(--info)}.preview-log li.pending{opacity:.6}.preview-log li.err,.preview-log li.err .r{color:var(--danger)}.preview-log li.info{color:var(--muted);font-style:italic}.preview-timeline{background:var(--bg-raised);border-top:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.preview-timeline .transport{gap:2px;display:flex}.preview-timeline .scrub{padding-top:10px;position:relative}.preview-timeline .scrub input{width:100%}.preview-timeline .marks{height:10px;position:absolute;top:0;left:8px;right:8px}.preview-timeline .mark{border-radius:1px;width:2px;height:10px;position:absolute;top:0;transform:translate(-1px)}.preview-timeline .mark.step{background:var(--accent)}.preview-timeline .mark.update{background:var(--info)}.preview-timeline .mark.out{background:var(--warning)}.preview-timeline .tc{white-space:nowrap;gap:12px;font-size:12px;display:flex}.check-summary{border-radius:var(--radius-sm);align-items:center;gap:8px;margin:8px 0 12px;padding:8px 10px;display:flex}.check-summary.ok{color:var(--ready);background:#3dd68c1a}.check-summary.bad{color:var(--danger);background:var(--danger-soft)}.check-grid{grid-template-columns:1fr auto;align-items:start;gap:16px;display:grid}.check-issues{margin:0 0 8px;padding-left:18px;font-size:12.5px}.check-issues li{margin:3px 0}.check-issues li.err{color:var(--danger)}.check-issues pre{white-space:pre-wrap;color:var(--muted);max-height:140px;margin:4px 0;font-size:11px;overflow:auto}.check-facts{grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0;font-size:12.5px;display:grid}.check-facts dt{color:var(--muted)}.check-facts dd,.check-thumb{margin:0}.check-thumb img{background-color:var(--checker-a);background-image:linear-gradient(45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-b) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-b) 75%);border-radius:var(--radius-sm);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;max-width:240px;height:auto;display:block}.check-thumb figcaption{color:var(--muted);margin-top:4px;font-size:11px}.check-smoke summary{cursor:pointer;margin:8px 0}.check-calls{border-collapse:collapse;width:100%;font-size:12px}.check-calls th,.check-calls td{text-align:left;border-bottom:1px solid var(--border);padding:2px 6px}.check-calls tr.err td{color:var(--danger)}.prism-link{color:var(--text-2);border:1px solid var(--border);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:12px}.prism-link.dirty{color:var(--warning,#f5a524);border-color:currentColor}.save-form{gap:10px;min-width:min(480px,80vw);display:grid}.save-form textarea{resize:vertical;width:100%;font:inherit;color:inherit;background:var(--surface-2,transparent);border:1px solid var(--border);border-radius:6px;padding:6px 8px}.readonly{grid-template-rows:auto auto 1fr;height:100vh;display:grid}.readonly .topbar{grid-area:auto;align-items:center;gap:12px;height:44px;display:flex}.ro-badge{background:var(--surface-hover);border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.ro-reason{color:var(--text-2);border-bottom:1px solid var(--border);margin:0;padding:8px 16px}.ro-body{grid-template-columns:1fr 320px;gap:16px;min-height:0;padding:16px;display:grid}.ro-stage{border-radius:var(--radius);align-self:start;width:100%;position:relative;overflow:hidden}.ro-stage.checker{background:repeating-conic-gradient(#2a2a2a 0 25%, #333 0 50%) 0 0 / 24px 24px}.ro-form{align-content:start;gap:8px;display:grid;overflow:auto}.template-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0 0 10px;padding:0;list-style:none;display:grid}.template-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);width:100%;height:100%;color:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.template-card:hover:not(:disabled){border-color:var(--accent-line)}.template-card:focus-visible{border-color:var(--focus)}.template-card:disabled{opacity:.6;cursor:progress}.template-card .tpl-icon{color:var(--accent);margin-bottom:4px}.template-card .li-meta.small{font-size:11px}.template-picker .toggle-row{align-items:center;gap:6px;font-size:13px;display:flex}.embedded-pick{max-width:1100px;margin:0 auto}.embedded-pick h1{margin:0 0 4px;font-size:20px}.row-buttons{justify-content:center;gap:8px;margin-top:12px;display:flex}.brand-panel .swatches{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.swatch-row{grid-template-columns:28px 1fr auto auto;align-items:center;gap:8px;display:grid}.swatch{border:1px solid var(--border);cursor:pointer;border-radius:4px;width:28px;height:22px;padding:0}.swatch:disabled{cursor:default}.swatch-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-add{align-items:center;gap:6px;margin-top:8px;display:flex}.brand-add input[type=text]{flex:1;min-width:0}.brand-add input[type=color]{border:1px solid var(--border);background:0 0;border-radius:4px;width:32px;height:26px;padding:0}.logo-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.logo-grid li{position:relative}.logo-grid li>.icon-btn{position:absolute;top:2px;right:2px}.logo-tile{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background-color:#8884;background-image:linear-gradient(45deg,#0002 25%,#0000 25% 75%,#0002 75%),linear-gradient(45deg,#0002 25%,#0000 25% 75%,#0002 75%);background-position:0 0,6px 6px;background-size:12px 12px;place-items:center;width:100%;padding:6px;display:grid;position:relative}.logo-tile img{object-fit:contain;max-width:100%;max-height:100%}.logo-tile .logo-add{color:var(--accent);position:absolute;bottom:3px;right:3px}.list.plain .draft-row{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.badge.toggle{cursor:pointer;border:1px solid var(--accent-line);color:inherit;background:0 0}
