:root,.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07070a;--panel:#14141ab8;--panel-solid:#121217;--panel-border:#ffffff14;--panel-border-strong:#ffffff24;--text:#f4f4f5;--text-dim:#a1a1aa;--text-faint:#ffffff8c;--accent:#00d9ff;--accent-hover:#2ee3ff;--accent-soft:#00d9ff24;--accent-press:#00b8d9;--accent-contrast:#04141a;--danger:#f87171;--danger-bg:#7f1d1dd9;--success:#4ade80;--radius:16px;--radius-sm:10px;--radius-xs:8px;--field-bg:#18181b;--field-border:#2e2e33;--hover:#ffffff12;--shadow-pop:0 12px 40px #00000080;--shadow-soft:0 4px 16px #00000059;--panel-highlight:linear-gradient(180deg, #ffffff1a, transparent 35%);--shimmer:#ffffff0a;--toolbar-bg:#0e0e12b3;--range-track:#ffffff1f;--overlay:#0000008c;--brand-violet:#7c3aed;--z-modal:50;--z-command:60;--z-popover:70;--z-tour:90;--z-tour-card:95;--z-toast:100;--z-skip:110}.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f8;--panel:#ffffffd1;--panel-solid:#fff;--panel-border:#00000012;--panel-border-strong:#0000001f;--text:#1a1a1e;--text-dim:#6b6b78;--text-faint:#0000008c;--accent:#07c;--accent-hover:#1f8ad9;--accent-soft:#0077cc1a;--accent-press:#005fa3;--accent-contrast:#fff;--danger:#dc2626;--danger-bg:#fee2e2e6;--success:#16a34a;--field-bg:#fff;--field-border:#d4d4db;--hover:#0000000a;--shadow-pop:0 8px 30px #0000001a;--shadow-soft:0 2px 10px #0000000f;--panel-highlight:linear-gradient(180deg, #0000000a, transparent 35%);--shimmer:#0000000d;--toolbar-bg:#ffffffd9;--range-track:#0000001a;--overlay:#0000008c;--brand-violet:#7c3aed}.light body:before{background:radial-gradient(900px 600px at 15% -10%,#0077cc0f,#0000 55%),radial-gradient(800px 600px at 100% 0,#7c3aed0a,#0000 50%),#f6f6f8}
.skip-link{white-space:nowrap;width:0;height:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:var(--z-skip);border-radius:var(--radius-sm);background:var(--accent);width:auto;height:auto;color:var(--accent-contrast);white-space:normal;padding:8px 14px;font-weight:600;text-decoration:none;position:fixed;top:8px;left:8px;overflow:visible}
*{box-sizing:border-box}@font-face{font-family:Roboto;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/roboto-latin.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:Roboto;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/roboto-latin-ext.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:Roboto;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/roboto-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/roboto-cyrillic-ext.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:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/montserrat-latin.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:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/montserrat-latin-ext.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:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/montserrat-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/montserrat-cyrillic-ext.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:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin.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:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin-ext.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:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-cyrillic-ext.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:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-latin.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:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-latin-ext.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:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior-y:none;margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body:before{content:"";z-index:-1;background:radial-gradient(900px 600px at 15% -10%, #00d9ff14, transparent 60%), radial-gradient(800px 600px at 100% 0%, #7c3aed12, transparent 55%), var(--bg);transition:background .3s;position:fixed;inset:0}button,input,select{font:inherit}
:root{--panel-left-w:280px;--panel-right-w:310px;--grid-gap:14px;--tabbar-space:calc(74px + env(safe-area-inset-bottom))}.editor-shell{gap:var(--grid-gap);grid-template-rows:auto 1fr;height:100dvh;padding:16px;display:grid;overflow:hidden}.editor-grid{grid-template-columns:var(--panel-left-w) minmax(0, 1fr) var(--panel-right-w);gap:var(--grid-gap);align-items:stretch;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.editor-grid.fullscreen{grid-template-columns:minmax(0,1fr)}.preview-column{min-height:0}.fullscreen-exit{z-index:30;position:absolute;top:10px;right:10px}.panel-resize-handle{z-index:20;cursor:col-resize;touch-action:none;background:0 0;border:0;width:9px;padding:0;position:absolute;top:0;bottom:0}.panel-resize-handle:after{content:"";background:0 0;border-radius:1px;width:2px;transition:background .15s;position:absolute;top:20%;bottom:20%;left:50%;transform:translate(-50%)}.panel-resize-handle:hover:after,.panel-resize-handle:focus-visible:after,.panel-resize-handle.is-dragging:after{background:var(--accent)}.panel-resize-handle[data-side=left]{left:calc(var(--panel-left-w) + var(--grid-gap) / 2 - 4.5px)}.panel-resize-handle[data-side=right]{right:calc(var(--panel-right-w) + var(--grid-gap) / 2 - 4.5px)}body.panel-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}@media (max-width:1180px){.panel-resize-handle{display:none}}@media (min-width:981px) and (max-width:1180px){:root{--panel-left-w:244px;--panel-right-w:276px;--grid-gap:10px}.editor-shell{padding:12px}}@media (max-width:980px){.editor-grid{grid-template-columns:1fr;grid-auto-rows:min-content;overflow:visible}.editor-shell{height:auto;min-height:100dvh;overflow:visible}.preview-column{height:min(70dvh,520px)}.right-panel{height:auto;max-height:80dvh}.control-panel{max-height:none;overflow-y:visible}}@media (max-width:980px) and (min-height:600px){.editor-shell{height:100dvh;min-height:0;overflow:hidden}.editor-grid{grid-template-rows:minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.preview-column{height:100%;min-height:0}}.sheet-host{display:contents}.mobile-tabbar,.sheet-backdrop,.sheet-grabber{display:none}@media (max-width:980px){.editor-shell{padding-bottom:var(--tabbar-space)}.sheet-host{left:0;right:0;bottom:var(--tabbar-space);z-index:45;transform:translateY(calc(100% + var(--tabbar-space)));visibility:hidden;pointer-events:none;transition:transform .28s,visibility 0s linear .28s;display:block;position:fixed}.sheet-host.is-open{visibility:visible;pointer-events:auto;transition:transform .28s;transform:none}.sheet-host.is-dragging{transition:none}.sheet-host>.panel{border-radius:var(--radius);box-shadow:var(--shadow-pop);padding-top:22px!important}.sheet-grabber{z-index:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;place-items:center;width:64px;height:20px;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.sheet-grabber:active{cursor:grabbing}.sheet-grabber-bar{background:var(--panel-border-strong);border-radius:2px;width:36px;height:4px}.sheet-host--controls .control-panel{overscroll-behavior:contain;height:min(52dvh,560px);max-height:none;overflow-y:auto}.sheet-host--right .right-panel{height:min(52dvh,560px);max-height:none}.sheet-host--right .right-panel-content{overscroll-behavior:contain;overflow-y:auto}.sheet-backdrop{z-index:40;background:#0000002e;animation:.2s backdropFadeIn;display:block;position:fixed;inset:0}.mobile-tabbar{z-index:46;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--toolbar-bg);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--panel-border);grid-template-columns:repeat(4,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.mtab{appearance:none;font:inherit;border-radius:var(--radius-sm);min-height:48px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 8px;font-size:11px;font-weight:600;transition:background .12s,color .12s;display:flex;position:relative}.mtab:hover{color:var(--text)}.mtab:disabled{opacity:.4;cursor:not-allowed}.mtab-badge{background:var(--accent);min-width:16px;height:16px;color:var(--accent-contrast);border-radius:999px;place-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:2px;right:6px}.mtab.is-active{color:var(--accent);background:var(--accent-soft)}.mtab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}}.panel{border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-pop);min-height:0;position:relative}.control-panel,.templates-panel,.projects-panel,.layers-panel,.right-panel{min-width:0;min-height:0;overflow-y:auto}.panel:before{content:"";border-radius:inherit;background:var(--panel-highlight);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:12px;font-weight:600}.control-group{gap:12px;min-width:0;display:grid}.control-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:4px 0 -4px;font-size:11px;font-weight:700}
.btn{appearance:none;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--panel-border-strong);background:var(--field-bg);color:var(--text);cursor:pointer;padding:9px 15px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,transform 50ms,opacity .15s,box-shadow .15s}.btn:hover:not(:disabled){background:var(--hover);border-color:var(--accent)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{border-radius:var(--radius-xs);min-height:24px;padding:5px 10px;font-size:12px;font-weight:600}.btn-primary{background:linear-gradient(180deg, var(--accent), var(--accent-press));color:var(--accent-contrast);box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 30%, transparent);border-color:#0000;font-weight:700}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg, var(--accent-hover), var(--accent));box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 40%, transparent);border-color:#0000}.btn-danger{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 40%, transparent);color:var(--danger);font-weight:600}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 18%, var(--field-bg));border-color:var(--danger);box-shadow:none}.btn-icon{appearance:none;font:inherit;border-radius:var(--radius-xs);width:28px;min-width:28px;height:28px;min-height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--hover);color:var(--text);border-color:var(--panel-border)}.btn-icon:active:not(:disabled){transform:translateY(1px)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.frame-instance:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-link{appearance:none;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12.5px;font-weight:500}.btn-link:hover:not(:disabled){color:var(--accent-hover);text-decoration:underline}.btn-link:disabled{opacity:.4;cursor:not-allowed}.btn-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input::placeholder,textarea::placeholder{color:var(--text-faint)}.field{gap:7px;min-width:0;font-size:13px;display:grid}.color-input{appearance:none;border:1px solid var(--field-border);border-radius:var(--radius-xs);background:var(--field-bg);cursor:pointer;width:32px;height:28px;padding:0;transition:border-color .15s,box-shadow .15s}.color-input::-webkit-color-swatch-wrapper{padding:2px}.color-input::-webkit-color-swatch{border-radius:calc(var(--radius-xs) - 2px);border:none}.color-input::-moz-color-swatch{border-radius:calc(var(--radius-xs) - 2px);border:none}.color-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.color-input-row{align-items:center;gap:8px;font-size:12px;display:flex}.check-label{color:var(--text);cursor:pointer;align-items:center;gap:4px;font-size:12px;display:inline-flex}.field-hint{color:var(--text-dim);margin:0;font-size:12px;font-weight:600}.screen-notifications{gap:8px;margin-top:2px;display:grid}.screen-notifications .field-hint{margin:0}.screen-notification-row{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field-bg);grid-template-columns:28px 1fr;grid-auto-rows:auto;align-items:center;gap:4px 8px;padding:6px;display:grid}.screen-notification-row input[type=color]{grid-row:1/span 2}.screen-notification-row input[type=text]{width:100%;font:inherit;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);outline:none;padding:5px 8px;font-size:12px}.screen-notification-row input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dock-icons-editor{gap:8px;margin-top:2px;display:grid}.dock-icons-editor .field-hint{margin:0}.dock-actions{align-items:center;gap:12px;margin-top:2px;display:flex}.grid-preset-row{flex-wrap:wrap;gap:6px;display:flex}.grid-dims-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.preset-chip{appearance:none;font:inherit;border:1px solid var(--panel-border-strong);background:var(--field-bg);color:var(--text);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.preset-chip:hover:not(:disabled){background:var(--hover);border-color:var(--accent)}.preset-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.preset-chip:disabled{opacity:.4;cursor:not-allowed}.field>span,.field-label{color:var(--text-dim);font-size:12px;font-weight:600}.scope-label{border-top:1px solid var(--panel-border);padding-top:14px}.field-group>.scope-label:first-child{border-top:0;padding-top:0}.field select,.field input[type=text],.field input[type=url],.field input:not([type]),.field input[type=number],.field textarea{width:100%;font:inherit;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);padding:8px 11px;font-size:13px;transition:border-color .15s,box-shadow .15s}.field input,.field select{color:var(--text)}.field textarea{resize:vertical;min-height:56px;line-height:1.45}.field select:focus,.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.select{appearance:none;font:inherit;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a1a1aa' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding:8px 28px 8px 11px;font-size:13px;transition:border-color .15s,box-shadow .15s}.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.select option{background:var(--panel-solid);color:var(--text)}.control-search{align-items:center;display:flex;position:relative}.control-search-icon{color:var(--text-dim);pointer-events:none;position:absolute;left:10px}.control-search input{width:100%;font:inherit;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);padding:7px 26px 7px 28px;font-size:13px;transition:border-color .15s,box-shadow .15s}.control-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.control-search-clear{width:18px;height:18px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:5px}.control-search-clear:hover{color:var(--text)}.control-search-empty{color:var(--text-dim);margin:0;font-size:12px}.field input[type=file]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-trigger{width:100%;font:inherit;border-radius:var(--radius-sm);color:var(--accent-contrast);background:linear-gradient(180deg, var(--accent), var(--accent-press));box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 30%, transparent);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 15px;font-size:13px;font-weight:700;transition:background .15s,box-shadow .15s,transform 50ms;display:inline-flex}.file-trigger:hover{background:linear-gradient(180deg, var(--accent-hover), var(--accent));box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 40%, transparent)}.file-trigger:active{transform:translateY(1px)}.file-trigger:focus-within{outline:2px solid var(--accent);outline-offset:2px}.file-trigger input[type=file]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.field-error{color:var(--danger);font-size:13px}input[type=range]{appearance:none;background:var(--range-track);cursor:pointer;border-radius:999px;outline:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--bg);border-radius:50%;width:16px;height:16px;transition:transform .1s;box-shadow:0 2px 6px #0006}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #0006}input[type=range]:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented button{appearance:none;min-width:0;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--field-bg);color:var(--text-dim);cursor:pointer;white-space:nowrap;flex:auto;padding:7px 10px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.segmented button:hover{color:var(--text);border-color:var(--panel-border-strong)}.segmented button[aria-pressed=true],.segmented button.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toggle{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:13px;display:inline-flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle .track{background:var(--range-track);border-radius:999px;flex:none;width:38px;height:22px;transition:background .18s;position:relative}.toggle .track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.toggle input:checked+.track{background:var(--accent)}.toggle input:checked+.track:after{transform:translate(16px)}.toggle input:focus-visible+.track{box-shadow:0 0 0 3px var(--accent-soft)}.accordion-toggle{width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-size:13px;font-weight:600;transition:color .15s;display:flex}.accordion-toggle:hover{color:var(--accent)}.accordion-chevron{color:var(--text-dim);transition:transform .15s}.accordion-toggle[aria-expanded=true] .accordion-chevron{transform:rotate(180deg)}.video-options{border-top:1px solid var(--panel-border);padding-top:14px}.video-options .audio-info{align-items:center;gap:8px;display:flex}.video-options .audio-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);flex:1;font-size:.875rem;overflow:hidden}.video-options .upload-audio-btn{cursor:pointer}.video-options .upload-audio-btn .hidden{display:none}.range-wrap{align-items:center;gap:8px;width:100%;display:flex}.range-wrap .range-label{color:var(--text-dim);flex:none;min-width:14px;font-size:11px;font-weight:600}.range-wrap input[type=range]{appearance:none;background:var(--range-track);cursor:pointer;border-radius:999px;outline:none;flex:1;height:4px;margin:0}.range-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--bg);border-radius:50%;width:14px;height:14px;transition:transform .1s;box-shadow:0 1px 4px #0006}.range-wrap input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.range-wrap input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg);cursor:pointer;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #0006}.range-wrap input[type=range]:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.range-wrap .range-val{color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:34px;font-size:11px}
.frame-picker{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.frame-picker-cell{appearance:none;font:inherit;color:inherit;border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--hover);cursor:pointer;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:8px 4px 6px;transition:border-color .15s,background .15s,transform .1s;display:flex}.frame-picker-cell:hover{border-color:var(--panel-border-strong);transform:translateY(-1px)}.frame-picker-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.frame-picker-cell.is-active{border-color:var(--accent);background:var(--accent-soft)}.frame-picker-device{border:1.5px solid var(--text-dim);flex-shrink:0;position:relative}.frame-picker-device.is-none{border-style:dashed}.frame-picker-cell.is-active .frame-picker-device{border-color:var(--accent)}.frame-picker-notch{background:var(--text-dim);opacity:.75;border-radius:3px;width:30%;height:15%;position:absolute;top:14%;left:50%;transform:translate(-50%)}.frame-picker-cell.is-active .frame-picker-notch{background:var(--accent)}.frame-picker-img{flex-shrink:0;width:auto;max-width:100%;height:32px}.frame-picker-label{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.frame-picker-cell.is-active .frame-picker-label{color:var(--text);font-weight:600}
.toolbar{z-index:5;background:var(--toolbar-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--panel-border);box-shadow:var(--shadow-soft);flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;min-height:48px;padding:8px 10px;display:flex;position:sticky;top:16px;overflow:hidden}.toolbar .toolbar-group{flex:none;align-items:center;gap:2px;min-width:0;display:flex}.toolbar .toolbar-group+.toolbar-group{border-left:1px solid var(--panel-border);margin-left:2px;padding-left:6px}.toolbar .btn-tb{appearance:none;font:inherit;border-radius:var(--radius-xs);height:32px;color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:11.5px;font-weight:600;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.toolbar .btn-tb:hover:not(:disabled){background:var(--hover);color:var(--text);border-color:var(--panel-border)}.toolbar .btn-tb:active:not(:disabled){transform:translateY(1px)}.toolbar .btn-tb:disabled{opacity:.4;cursor:not-allowed}.toolbar .btn-tb.is-active{color:var(--accent);background:var(--accent-soft);border-color:#0000}.toolbar .btn-tb:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toolbar .btn-tb-primary{background:linear-gradient(180deg, var(--accent), var(--accent-press));color:var(--accent-contrast);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 25%, transparent);border-color:#0000;font-weight:700}.toolbar .btn-tb-primary:hover:not(:disabled){background:linear-gradient(180deg, var(--accent-hover), var(--accent));box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 35%, transparent)}.toolbar .btn-tb-icon{width:32px;min-height:32px;padding:0}.toolbar .undo-count{font-variant-numeric:tabular-nums;background:var(--hover);color:var(--text-dim);border-radius:999px;margin-left:2px;padding:1px 4px;font-size:10px;font-weight:700;line-height:1}.toolbar .btn-tb:disabled .undo-count{background:0 0}.toolbar .locale-select{appearance:none;font:inherit;border-radius:var(--radius-xs);height:32px;color:var(--text-dim);cursor:pointer;white-space:nowrap;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a1a1aa' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 8px center no-repeat;border:1px solid #0000;flex:none;padding:0 28px 0 8px;font-size:11.5px;font-weight:600;transition:background .1s,color .1s,border-color .1s}.toolbar .locale-select:hover:not(:disabled){background:var(--hover);color:var(--text);border-color:var(--panel-border)}.toolbar .locale-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toolbar .locale-select option{background:var(--panel-solid);color:var(--text)}.toolbar .r-sep{background:var(--panel-border);flex:none;width:1px;height:18px;margin:0 2px}.brand-mark{border-radius:var(--radius-xs);background:linear-gradient(135deg, var(--accent), var(--brand-violet));width:26px;height:26px;box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 35%, transparent);flex:none}.toolbar .spacer{flex:1}.toolbar .toolbar-status{flex:auto;align-items:center;gap:8px;min-width:0;padding:0 4px;display:flex;overflow:hidden}.toolbar .toolbar-status:empty{padding:0}.toolbar .status{color:var(--text-faint);min-width:48px;font-size:12px}.toolbar .toast-status{z-index:6;text-overflow:ellipsis;max-width:calc(100% - 16px);color:var(--toast-color,var(--text-dim));white-space:nowrap;background:var(--panel-solid);border:1px solid var(--panel-border);box-shadow:var(--shadow-soft);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:3px 12px;font-size:12px;display:inline-flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.toolbar .toast-status button{pointer-events:auto}.toolbar .status.saved{color:var(--success)}.toolbar .error{color:var(--danger);flex:1;min-width:0;font-size:13px}.field-group{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.divider{background:var(--panel-border);height:1px;margin:2px 0}.section{min-width:0}.section-header{appearance:none;border-radius:var(--radius-xs);width:100%;color:var(--text);font:inherit;letter-spacing:.04em;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:7px 8px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.section-header:hover{background:var(--hover)}.section-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.section-icon{width:16px;color:var(--accent);opacity:.85;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.section-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.section-chevron{width:12px;height:12px;color:var(--text-dim);flex-shrink:0;transition:transform .18s}.section-header[aria-expanded=true] .section-chevron{transform:rotate(90deg)}.section-body{padding-top:8px}.brand{flex-wrap:wrap;align-items:baseline;gap:12px;padding:2px 4px 6px;display:flex}.brand h1{letter-spacing:-.02em;background:linear-gradient(120deg, var(--accent), var(--brand-violet));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:22px;font-weight:800}.brand .tag{color:var(--text-dim);font-size:12px}.toolbar .toolbar-more{display:none}@media (max-width:1180px){.toolbar .toolbar-aux{display:none}.toolbar .toolbar-more{display:inline-flex}}@media (max-width:980px){.toolbar .toolbar-undo,.toolbar .toolbar-aux{display:none}.toolbar .toolbar-more{display:inline-flex}.toolbar .toolbar-status{padding:0 2px}.toolbar .toast-status{max-width:32vw}.toolbar .export-status{flex-basis:160px}.toolbar .export-status .progress{width:56px}}
.right-panel{min-width:0;min-height:0;overflow:hidden;container-type:inline-size}.right-panel-tabs{border-bottom:1px solid var(--panel-border);background:var(--hover);gap:0;padding:0;display:flex}.right-panel-tabs button{appearance:none;font:inherit;color:var(--text-dim);cursor:pointer;text-align:center;letter-spacing:.01em;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:4px;min-width:0;padding:8px 6px;font-size:11px;font-weight:600;transition:color .12s,background .12s;display:flex;position:relative}.right-panel-tabs button:hover{color:var(--text);background:var(--hover)}.right-panel-tabs button.is-active{color:var(--accent);background:var(--accent-soft)}.right-panel-tabs button.is-active:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:4px;right:4px}.right-panel-tabs .tab-icon{opacity:.7;flex:none;align-items:center;display:inline-flex}.right-panel-tabs button.is-active .tab-icon{opacity:1}.right-panel-tabs .tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1;overflow:hidden}.right-panel-tabs .tab-badge{background:var(--range-track);min-width:16px;height:16px;color:var(--text-faint);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.right-panel-tabs button.is-active .tab-badge{background:var(--accent-soft);color:var(--accent)}.right-panel-content{min-width:0;min-height:0;animation:.12s tabFadeIn;overflow-y:auto}@container (max-width:480px){.right-panel-tabs button{padding:10px 4px}.right-panel-tabs .tab-label{display:none}}
.command-palette-backdrop{background:var(--overlay);z-index:var(--z-command);place-items:flex-start center;padding:80px 16px 16px;animation:.2s backdropFadeIn;display:grid;position:fixed;inset:0}.command-palette{background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:var(--shadow-pop);animation:.25s modalSlideIn;overflow:hidden}.command-palette-header{border-bottom:1px solid var(--panel-border);align-items:center;gap:8px;padding:12px 14px;display:flex}.command-palette-kbd{min-width:24px;height:24px;color:var(--text-dim);background:var(--field-bg);border:1px solid var(--panel-border);border-radius:var(--radius-xs);justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex}.command-palette-input{font:inherit;color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:14px}.command-palette-input::placeholder{color:var(--text-dim)}.command-palette-list{max-height:320px;padding:6px;overflow-y:auto}.command-palette-empty{color:var(--text-dim);text-align:center;padding:12px 14px;font-size:13px}.command-palette-item{border-radius:var(--radius-xs);width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:start;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:background .1s;display:flex}.command-palette-item:hover{background:var(--hover)}.command-palette-item.selected{background:var(--accent-soft)}.command-palette-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.command-palette-match{color:var(--accent);background:0 0;font-weight:600}.command-palette-group+.command-palette-group{margin-top:2px}.command-palette-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:8px 10px 4px;font-size:10px;font-weight:600}.command-palette-item-desc,.command-palette-item-shortcut{color:var(--text-dim);flex:none;font-size:11px}.command-palette-footer{border-top:1px solid var(--panel-border);color:var(--text-dim);align-items:center;gap:10px;padding:8px 14px;font-size:11px;display:flex}.command-palette-footer-hint{white-space:nowrap;text-overflow:ellipsis;opacity:.85;margin-left:auto;overflow:hidden}
.modal-backdrop{background:var(--overlay);z-index:var(--z-modal);place-items:center;padding:16px;animation:.2s backdropFadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow-pop);padding:20px;animation:.25s modalSlideIn}.modal h3{margin:0 0 8px;font-size:16px}.modal p{color:var(--text-dim);margin:0 0 16px;font-size:14px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal.shortcuts{max-width:520px}.modal.export{max-width:420px}.modal.export .export-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.modal.export .export-head h3{margin:0}.modal.export .export-close{appearance:none;font:inherit;border-radius:var(--radius-xs);width:32px;height:32px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.modal.export .export-close:hover{background:var(--hover);color:var(--text);border-color:var(--panel-border)}.modal.export .export-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.shortcut-list{flex-direction:column;gap:16px;max-height:60vh;margin:4px 0 16px;display:flex;overflow:auto}.shortcut-group h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 8px;font-size:12px;font-weight:600}.shortcut-group ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.shortcut-row{align-items:center;gap:12px;display:flex}.shortcut-keys{gap:4px;min-width:132px;display:inline-flex}.kbd{min-width:22px;height:22px;color:var(--text);background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:var(--radius-xs);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:12px;display:inline-flex}.shortcut-label{color:var(--text-dim);font-size:14px}
.templates{align-content:start;gap:9px;padding:10px;display:grid}.template-card{text-align:start;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--field-bg);color:var(--text);cursor:pointer;font:inherit;padding:12px 14px;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.template-card:hover{background:var(--hover);border-color:var(--accent);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.template-card:active{transform:translateY(1px)}.template-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.template-card .t-name{text-shadow:0 1px 3px #0000008c;overflow-wrap:anywhere;font-size:13px;font-weight:600}.template-card .t-desc{color:var(--text-faint);margin-top:2px;font-size:11.5px}.frame-card{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel-border);flex-direction:column;transition:border-color .15s,background .15s;display:flex}.frame-card:hover{border-color:var(--panel-border-strong);background:var(--panel-border-strong)}.frame-card[draggable=true]{cursor:grab}.frame-card[data-drag-over]{border-color:var(--accent);box-shadow:0 -2px 0 0 var(--accent)}.frame-card[data-dragging]{opacity:.45}.frame-grip{color:var(--text-dim);letter-spacing:1px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:none;font-size:12px;line-height:1}.frame-card-head{flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;padding:6px 8px;display:flex}.frame-card-head .frame-thumb{border-radius:var(--radius-xs);background:var(--range-track);width:28px;height:28px;color:var(--text-faint);flex:none;place-items:center;font-size:10px;display:grid;overflow:hidden}.frame-card-head .frame-thumb img,.frame-card-head .frame-thumb video{object-fit:cover;width:100%;height:100%}.frame-card-head .frame-idx{color:var(--text-dim);text-align:center;min-width:14px;font-size:11px;font-weight:600}.frame-card-head .frame-device{border-radius:var(--radius-xs);background:var(--field-bg);border:1px solid var(--field-border);min-width:0;color:var(--text);cursor:pointer;flex:120px;padding:3px 6px;font-size:12px}.frame-card-body{flex-direction:column;gap:6px;padding:0 8px 8px;display:flex}.anno-row{width:100%;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--field-bg);color:var(--text-dim);cursor:pointer;text-align:start;align-items:center;gap:8px;padding:8px 11px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex}.anno-row:hover{color:var(--text);border-color:var(--panel-border-strong)}.anno-row.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.anno-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.anno-swatch{border-radius:3px;flex:none;width:12px;height:12px;box-shadow:0 0 0 1px #0006}.anno-hint{color:var(--text-dim);margin:0;font-size:11.5px;line-height:1.4}.group-icon-btn{appearance:none;font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.group-icon-btn:hover{color:var(--text)}.layer-item{border-radius:var(--radius-xs);border:1px solid var(--panel-border);cursor:grab;background:0 0;align-items:center;gap:5px;padding:6px 8px;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.layer-item:hover{border-color:var(--panel-border-strong)}.layer-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.layer-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.layer-actions{align-items:center;gap:2px;padding:4px 2px 0;display:flex}.projects-list{min-width:0}.project-item{border-radius:var(--radius-xs);border:1px solid var(--panel-border);cursor:pointer;background:0 0;align-items:center;gap:5px;min-width:0;padding:6px 8px;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.project-item:hover{border-color:var(--panel-border-strong)}.project-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.project-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-row{text-align:start;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--field-bg);width:100%;color:var(--text);cursor:pointer;font:inherit;align-items:center;gap:8px;padding:7px 9px;font-size:12.5px;transition:background .15s,border-color .15s;display:flex}.history-row:hover:not(:disabled){background:var(--hover);border-color:var(--accent)}.history-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-row.is-current{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);cursor:default}.history-row.is-future{color:var(--text-faint)}.history-dot{opacity:.55;background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.history-row.is-current .history-dot{opacity:1}.history-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.history-index{font-variant-numeric:tabular-nums;color:var(--text-faint);flex:none;font-size:11px}.history-empty{color:var(--text-faint);font-size:12.5px}
.preview-chip{z-index:4;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(8px);color:var(--text);cursor:pointer;font:inherit;align-items:center;gap:5px;padding:5px 11px;font-size:12.5px;transition:background .15s,border-color .15s;display:inline-flex}.preview-chip:hover{background:var(--hover);border-color:var(--accent)}.preview-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;container-type:inline-size}.preview-dock-bar{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(8px);flex:none;align-items:center;gap:10px;width:fit-content;max-width:100%;margin:8px auto 0;padding:6px 12px;display:flex;overflow-x:auto}.preview-dock-bar .dock-group{flex:none;align-items:center;gap:6px;display:flex}.preview-dock-bar .dock-sep{background:var(--panel-border);flex:none;align-self:stretch;width:1px;min-height:20px}.preview-dock-bar .preview-zoom-bar{-webkit-backdrop-filter:none;background:0 0;border:0;padding:0}@container (max-width:720px){.preview-dock-bar{gap:6px;padding:5px 8px}.preview-dock-bar .dock-group,.preview-dock-bar .preview-zoom-bar{gap:4px}.preview-dock-bar .chip-label{display:none}.preview-dock-bar .preview-chip{padding:5px 8px}.preview-dock-bar .preview-zoom-slider{width:76px}.preview-dock-bar .preview-zoom-value,.preview-dock-bar .preview-zoom-bar>.dock-sep{display:none}}@container (max-width:330px){.preview-dock-bar{gap:4px;padding:5px 6px}.preview-dock-bar .preview-zoom-btn{display:none}.preview-dock-bar .preview-zoom-slider{width:60px}}.preview-zoom-bar{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(8px);align-items:center;gap:6px;padding:4px 8px;display:flex}.preview-zoom-btn{border-radius:var(--radius-xs);width:24px;height:24px;color:var(--text);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.preview-zoom-btn:hover{background:var(--hover)}.preview-zoom-slider{width:120px;height:22px;accent-color:var(--accent);cursor:pointer;margin:0 4px}.preview-zoom-value,.preview-zoom-fit{pointer-events:auto;font-variant-numeric:tabular-nums;white-space:nowrap;position:static}.preview-zoom-value{text-align:center;min-width:54px;padding:5px 6px}.preview-zoom-fit.is-active{border-color:var(--accent);color:var(--accent)}.preview-watermark{z-index:3;color:#ffffffd9;text-shadow:0 1px 3px #0009;pointer-events:none;font-weight:500;position:absolute}.preview-watermark-logo{filter:drop-shadow(0 1px 3px #0009);width:auto;max-width:45%}.watermark-logo-thumb{border:1px solid var(--panel-border);border-radius:var(--radius-xs);background:var(--panel-solid);width:auto;padding:4px;display:block}.preview-error{z-index:4;border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--text);-webkit-backdrop-filter:blur(6px);padding:9px 13px;font-size:13px;position:absolute;bottom:12px;left:12px;right:12px}.drop-hover{outline-offset:-2px;outline:2px dashed var(--accent)!important}.media-loading{pointer-events:none;z-index:2;place-items:center;display:grid;position:absolute;inset:0}.spinner{border:3px solid var(--range-track);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.export-status{flex:0 260px;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex;overflow:hidden}.export-status .label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);flex:1;font-size:13px;overflow:hidden}.export-status .progress{background:var(--range-track);border-radius:999px;flex:none;width:100px;height:6px;overflow:hidden}.export-status .progress>div{background:var(--accent);border-radius:inherit;height:100%;transition:width .2s}.export-status .pct{color:var(--text-dim);text-align:right;flex:none;min-width:32px;font-size:12px}.custom-size{align-items:center;gap:8px;margin-top:8px;display:flex}.custom-size input[type=number]{min-width:0;font:inherit;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);flex:auto;padding:8px 11px;font-size:13px}.custom-size input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.custom-size>span{color:var(--text-dim);flex:none;font-size:13px}.auto-bg-btn{appearance:none;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);cursor:pointer;padding:8px 12px;font-size:12.5px;font-weight:600;transition:filter .15s,opacity .15s}.auto-bg-btn:hover:not(:disabled){filter:brightness(1.12)}.auto-bg-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--panel-border);background:var(--field-bg);color:var(--text-dim)}.auto-bg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bg-preset-group{gap:8px;min-width:0;display:grid}.bg-swatches{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;min-width:0;display:grid}.bg-swatches .swatch-btn{appearance:none;aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--panel-border);cursor:pointer;background-position:50%;width:100%;transition:transform .1s,border-color .15s,box-shadow .15s}.bg-swatches .swatch-btn:hover{border-color:var(--panel-border-strong);transform:translateY(-1px)}.bg-swatches .swatch-btn[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.bg-swatches .swatch-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bg-media-group{border-top:1px solid var(--panel-border);gap:10px;min-width:0;padding-top:2px;display:grid}.trim-track{touch-action:none;align-items:center;height:28px;display:grid;position:relative}.trim-thumb{appearance:none;border:2px solid var(--bg);background:var(--accent);cursor:grab;border-radius:50%;width:16px;height:16px;margin:0;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0006}.trim-thumb:hover{transform:translate(-50%,-50%)scale(1.15)}.trim-thumb:active{cursor:grabbing}.trim-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.skeleton{background:var(--field-bg);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--shimmer) 50%, transparent 100%);animation:1.5s infinite shimmer;position:absolute;inset:0}.skeleton-text{border-radius:var(--radius-xs);height:14px;margin-bottom:8px}.skeleton-text:last-child{width:60%}.skeleton-card{border-radius:var(--radius-sm);height:60px}.skeleton-row{border-radius:var(--radius-xs);height:32px;margin-bottom:6px}
.tooltip{position:relative}.tooltip:after{content:none;border-radius:var(--radius-xs);background:var(--panel-solid);border:1px solid var(--panel-border);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;z-index:var(--z-popover);box-shadow:var(--shadow-soft);padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip:hover:after,.tooltip:focus-visible:after{content:attr(data-tooltip);opacity:1}
.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 16px;display:flex}.empty-state-icon{border-radius:var(--radius-sm);background:var(--field-bg);border:1px solid var(--panel-border);width:40px;height:40px;color:var(--text-dim);place-items:center;font-size:18px;display:grid}.empty-state-text{color:var(--text-dim);font-size:12px;line-height:1.5}.empty-state-action{margin-top:4px}
.control-panel::-webkit-scrollbar{width:5px}.right-panel-content::-webkit-scrollbar{width:5px}.templates::-webkit-scrollbar{width:5px}.layers-list::-webkit-scrollbar{width:5px}.projects-list::-webkit-scrollbar{width:5px}.shortcut-list::-webkit-scrollbar{width:5px}.command-palette-list::-webkit-scrollbar{width:5px}.control-panel::-webkit-scrollbar-track{background:0 0}.right-panel-content::-webkit-scrollbar-track{background:0 0}.templates::-webkit-scrollbar-track{background:0 0}.layers-list::-webkit-scrollbar-track{background:0 0}.projects-list::-webkit-scrollbar-track{background:0 0}.shortcut-list::-webkit-scrollbar-track{background:0 0}.command-palette-list::-webkit-scrollbar-track{background:0 0}.control-panel::-webkit-scrollbar-thumb{background:var(--range-track);border-radius:999px}.right-panel-content::-webkit-scrollbar-thumb{background:var(--range-track);border-radius:999px}.templates::-webkit-scrollbar-thumb{background:var(--range-track);border-radius:999px}.layers-list::-webkit-scrollbar-thumb{background:var(--range-track);border-radius:999px}.projects-list::-webkit-scrollbar-thumb{background:var(--range-track);border-radius:999px}.shortcut-list::-webkit-scrollbar-thumb{background:var(--range-track);border-radius:999px}.command-palette-list::-webkit-scrollbar-thumb{background:var(--range-track);border-radius:999px}.control-panel::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.right-panel-content::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.templates::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.layers-list::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.projects-list::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.shortcut-list::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.command-palette-list::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ann-draw line{stroke-dasharray:1;stroke-dashoffset:1px;animation:.8s forwards ann-draw-line}.ann-draw polygon{opacity:0;animation:.35s .45s forwards ann-fade-in}@keyframes ann-draw-line{to{stroke-dashoffset:0}}.ann-typewriter{animation:.9s forwards ann-wipe}@keyframes ann-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.ann-fade{animation:.5s forwards ann-rise}@keyframes ann-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes ann-fade-in{to{opacity:1}}
.spin{animation:.8s linear infinite spin}.text-dim-sm{color:var(--text-dim);font-size:12px}.text-dim-xs{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.field-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.field-row-full{flex-wrap:wrap;align-items:center;gap:4px;width:100%;display:flex}.field-compact{gap:4px}.btn-compact{justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.btn-block{width:100%}.btn-flex{flex:1;min-width:0}.panel-grid{align-content:start;gap:8px;display:grid}.template-save-row{gap:6px;display:flex}.template-save-row input[type=text]{min-width:0;font:inherit;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);flex:1;padding:6px 8px;font-size:12px;transition:border-color .15s,box-shadow .15s}.template-save-row input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.template-save-row input[type=text]:disabled{opacity:.4;cursor:not-allowed}.template-list{gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.template-item{min-width:0;position:relative}.template-item .template-card{width:100%;min-width:0;padding-right:34px}.template-delete-btn{position:absolute;top:8px;right:8px}.bulk-actions-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bulk-transform-card{border:1px solid var(--panel-border);border-radius:var(--radius-xs);gap:6px;padding:8px;display:grid}.nudge-pad{grid-template-rows:repeat(3,28px);grid-template-columns:repeat(3,28px);align-content:center;justify-items:center;gap:2px;display:grid}.trim-label-row{color:var(--text-dim);justify-content:space-between;font-size:12px;display:flex}.frame-card-field{flex-wrap:wrap;gap:6px;display:flex}.frame-card-row{align-items:center;gap:4px;width:100%;display:flex}.frame-count-input{width:48px}.frame-layer-select{flex:1;padding:4px 6px;font-size:12px}.drop-hint{color:var(--text-dim);text-align:center;pointer-events:none;z-index:2;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);padding:8px 14px;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
@media (pointer:coarse){.trim-track{height:40px}.trim-thumb{width:24px;height:24px}.toolbar{gap:6px;padding:8px 12px}.toolbar .btn-tb,.toolbar .locale-select{height:38px;font-size:12.5px}.toolbar .btn-tb-icon{width:38px;min-height:38px;padding:0}[role=menu] button{min-height:44px;padding:8px 12px}.btn-icon{width:36px;min-width:36px;height:36px;min-height:36px}.segmented button{min-height:40px}.section-header{min-height:44px}.right-panel-tabs button{padding:12px 6px}.preview-chip{padding:9px 14px}.preview-zoom-btn{width:32px;height:32px}.preview-zoom-slider{width:120px;height:32px}input[type=range]::-webkit-slider-thumb{width:22px;height:22px}input[type=range]::-moz-range-thumb{width:22px;height:22px}.range-wrap input[type=range]::-webkit-slider-thumb{width:22px;height:22px}.range-wrap input[type=range]::-moz-range-thumb{width:22px;height:22px}.layer-grip,.frame-grip{margin:-12px -10px;padding:12px 10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

