:root{--bg: #0e1210;--panel: #141a15;--panel-2: #1a221c;--field: #1a221c;--field-hover: #202a23;--line: #242e27;--line-strong: #34403a;--ink: #f2ead8;--muted: #b3aa92;--faint: #8f8874;--accent: #e8a33d;--accent-hover: #f0b152;--accent-press: #d6922c;--accent-ink: #17120a;--accent-text: #e8a33d;--accent-soft: rgba(232, 163, 61, .14);--accent-2: #c8442f;--focus: #e8a33d;--control-on: #e8a33d;--danger-text: #ec8a78;--warn-bg: rgba(232, 163, 61, .1);--stage: #0b0f0d;--backdrop: rgba(6, 8, 7, .66);--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--shadow-1: 0 2px 8px rgba(0, 0, 0, .28);--shadow-2: 0 18px 44px rgba(0, 0, 0, .42);--hd: "Playfair Display", Georgia, serif;--bd: "Manrope", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--panel-w: 380px;--bar-h: 64px;--ctl-h: 32px;--label-w: 104px;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f4efe6;--panel: #fbf8f2;--panel-2: #f2ecdf;--field: #f2ecdf;--field-hover: #ebe3d3;--line: #e2d9c8;--line-strong: #cbbfa9;--ink: #1c1714;--muted: #5e5546;--faint: #6f6655;--accent-text: #8a5710;--focus: #8a5710;--control-on: #8a5710;--accent-soft: rgba(232, 163, 61, .2);--danger-text: #a8321f;--warn-bg: rgba(232, 163, 61, .16);--stage: #ebe4d6;--backdrop: rgba(28, 23, 20, .45);--shadow-1: 0 2px 8px rgba(28, 23, 20, .12);--shadow-2: 0 18px 44px rgba(28, 23, 20, .2);color-scheme:light}}@media(pointer:coarse){:root{--ctl-h: 40px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:400 14px/1.45 var(--bd);-webkit-font-smoothing:antialiased;overflow-x:clip}html.has-modal{overflow:hidden}h1,h2,h3,p,figure,fieldset{margin:0}fieldset{border:0;padding:0;min-width:0}legend{padding:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--accent-text);text-underline-offset:3px}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.92em;padding:0 var(--s-1);border-radius:var(--r-xs);background:var(--field);color:var(--ink)}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-4);top:-48px;z-index:100;padding:var(--s-2) var(--s-3);border-radius:var(--r-xs);background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none}.skip-link:focus{top:var(--s-2)}.icon{display:inline-flex;flex:none;width:16px;height:16px}.icon svg{width:100%;height:100%}.muted{color:var(--muted)}.app{display:grid;grid-template-columns:var(--panel-w) minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"header stage" "panel stage" "footer stage";min-height:100vh;min-height:100dvh}.app-header{grid-area:header;display:flex;flex-direction:column;justify-content:center;gap:0;min-height:var(--bar-h);padding:var(--s-2) var(--s-4) var(--s-2) var(--s-5);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}.app-title{font:600 20px/1.2 var(--hd);letter-spacing:-.005em}.app-lead{color:var(--muted);font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel{grid-area:panel;background:var(--panel);border-right:1px solid var(--line);min-width:0}.panel:focus{outline:none}.app-footer{grid-area:footer;padding:var(--s-4) var(--s-5) var(--s-5);border-right:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:12px}.stage{grid-area:stage;align-self:start;position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--stage);min-width:0;z-index:1}.app>noscript{grid-area:panel}.noscript{margin:var(--s-5);padding:var(--s-4) var(--s-5);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--panel-2)}.tb{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);height:var(--bar-h);padding:0 var(--s-4);border-bottom:1px solid var(--line);background:var(--panel)}.tb-left,.tb-right{display:flex;align-items:center;gap:var(--s-1);min-width:0}.tb-right{gap:var(--s-2)}.tb-sep{width:1px;height:20px;background:var(--line);margin:0 var(--s-2);flex:none}.tb-format{width:260px;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:var(--ctl-h);padding:0 var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-xs);background:transparent;color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s}.btn:hover:not(:disabled){background:var(--field-hover)}.btn:disabled{opacity:.45}.btn-ghost{border-color:transparent}.btn-icon{width:var(--ctl-h);padding:0}.btn-small{height:28px;padding:0 var(--s-2);font-size:12px;gap:var(--s-1)}@media(pointer:coarse){.btn-small{height:36px}}.btn-danger{color:var(--danger-text)}.btn-toggle[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text)}.btn-press[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:var(--r-sm);height:36px;padding:0 var(--s-4)}@media(pointer:coarse){.btn-primary{height:40px}}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-press)}.btn-primary:focus-visible{outline-color:var(--ink)}.btn-primary.is-busy{opacity:.75}.split{position:relative;display:flex}.split>.btn{position:relative;z-index:30}.split-main{border-top-right-radius:0;border-bottom-right-radius:0}.split-more{width:34px;padding:0;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid rgba(23,18,10,.28)}.split-more[aria-expanded=true] .icon{transform:rotate(180deg)}.link-btn{display:inline;padding:0;border:0;background:none;color:var(--accent-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}.menu{position:absolute;top:calc(100% + var(--s-2));right:0;z-index:30;width:300px;padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel-2);box-shadow:var(--shadow-2)}.menu[hidden]{display:none}.menu-scrim{position:fixed;inset:0;z-index:29;background:transparent}.menu-scrim[hidden]{display:none}.menu:focus{outline:none}.menu-row{display:block}.menu .ctl-slider{grid-template-columns:72px 1fr 60px}.menu-fieldset{display:flex;flex-direction:column;gap:var(--s-1)}.menu-fieldset .ctl-label{margin-bottom:var(--s-1)}.menu-note{color:var(--muted);font-size:12px;margin-top:var(--s-1)}.menu-sep{height:1px;background:var(--line);margin:0 calc(-1 * var(--s-3))}.menu-item{display:flex;align-items:center;gap:var(--s-2);width:100%;min-height:32px;padding:0 var(--s-2);border:0;border-radius:var(--r-xs);background:transparent;text-align:left;font-size:13px;font-weight:600}.menu-item:hover{background:var(--field-hover)}.menu-item[hidden]{display:none}.menu-item--danger{color:var(--danger-text)}.menu-kbd{margin-left:auto;font:500 11px/1 var(--bd);color:var(--faint)}.menu--card{top:30px;right:0;width:200px;padding:var(--s-1);gap:0}.preset-cell:nth-child(3n+1)>.menu--card{left:0;right:auto}@media(pointer:coarse){.menu-kbd{display:none}}.radio{display:flex;align-items:center;gap:var(--s-2);min-height:32px;padding:0 var(--s-2);border-radius:var(--r-xs);cursor:pointer}.radio:hover{background:var(--field-hover)}.radio.is-disabled{opacity:.45;cursor:default}.radio.is-disabled:hover{background:none}.radio-input{position:absolute;opacity:0;width:1px;height:1px}.radio-mark{flex:none;width:16px;height:16px;border:1.5px solid var(--faint);border-radius:50%}.radio-input:checked+.radio-mark{border:5px solid var(--control-on)}.radio-input:focus-visible+.radio-mark{outline:2px solid var(--focus);outline-offset:2px}.radio-text{display:flex;justify-content:space-between;gap:var(--s-2);flex:1;font-size:13px}.radio-sub{color:var(--muted);font-variant-numeric:tabular-nums}.cv{flex:1;min-height:0;display:flex;flex-direction:column}.cv-wrap{flex:1;min-height:0;display:grid;place-items:center;padding:var(--s-6)}.cv-frame{position:relative;box-shadow:var(--shadow-2);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline-offset:4px}.cv-frame.no-ring:focus-visible{outline:none}.cv-canvas,.cv-overlay{position:absolute;inset:0;width:100%;height:100%;display:block}.cv-overlay{pointer-events:none}.cv-meta{flex:none;display:flex;justify-content:space-between;gap:var(--s-4);padding:0 var(--s-6) var(--s-4);color:var(--muted);font-size:12px}.cv-legend{display:none;flex:none;height:20px;margin:calc(-1 * var(--s-4)) var(--s-6) 0;color:var(--muted);font-size:12px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-legend.is-on{display:block}.cv-size{white-space:nowrap;font-variant-numeric:tabular-nums}.cv-hint{text-align:right}.sec{border-bottom:1px solid var(--line)}.sec-head{display:flex;align-items:center;gap:var(--s-2);min-height:48px;padding:0 var(--s-4) 0 var(--s-2)}.sec-h{flex:1;min-width:0;display:flex;font-size:inherit;font-weight:inherit}.sec-btn{flex:1;display:flex;align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-2);border:0;border-radius:var(--r-xs);background:transparent;text-align:left;font:700 14px/1.2 var(--bd);color:var(--ink)}.sec-btn:hover{background:var(--field-hover)}.sec-chevron{color:var(--muted);transition:transform .15s;transform:rotate(-90deg)}.sec.is-open .sec-chevron{transform:none}.sec-toggle{flex:none;display:flex}.sec-body{padding:var(--s-1) var(--s-4) var(--s-5)}.sec-body[hidden]{display:none}.sec-off{padding:var(--s-2) var(--s-3);border-radius:var(--r-xs);background:var(--field);color:var(--muted);font-size:12px}.sec-off[hidden]{display:none}.ctl-stack{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.ctl-stack[hidden],.ctl[hidden],[hidden]{display:none!important}.ctl{min-width:0}.ctl.is-disabled .ctl-label{opacity:.55}.ctl-label{display:block;color:var(--muted);font-size:12px;font-weight:600;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctl-hint,.ctl-note{color:var(--muted);font-size:12px;line-height:1.45}.ctl-hint{margin-top:calc(-1 * var(--s-2))}.ctl-warn{display:flex;gap:var(--s-2);align-items:flex-start;padding:var(--s-2) var(--s-3);border-radius:var(--r-xs);background:var(--warn-bg);color:var(--ink);font-size:12px}.ctl-warn .icon{color:var(--accent-text);margin-top:1px}.ctl-warn .btn{justify-self:start;align-self:flex-start}.sub-block{padding-top:var(--s-3);border-top:1px solid var(--line)}.sub-title{font-size:12px;font-weight:700;color:var(--ink)}.ctl-text,.ctl-select,.ctl-color,.ctl-seg,.ctl-weight,.ctl-size,.ctl-anchor{display:flex;flex-direction:column;gap:var(--s-1)}.ctl-slider{display:grid;grid-template-columns:var(--label-w) minmax(0,1fr) 68px;align-items:center;gap:var(--s-2)}.ctl-slider .ctl-label{white-space:nowrap}.range{-webkit-appearance:none;appearance:none;width:100%;height:var(--ctl-h);margin:0;background:transparent;--p: 0%;cursor:pointer}.range:disabled{cursor:default;opacity:.45}.range::-webkit-slider-runnable-track{height:4px;border-radius:var(--r-pill);background:linear-gradient(to right,var(--accent) 0 var(--p),var(--line-strong) var(--p) 100%)}.range::-moz-range-track{height:4px;border-radius:var(--r-pill);background:var(--line-strong)}.range::-moz-range-progress{height:4px;border-radius:var(--r-pill);background:var(--accent)}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;border:2px solid var(--control-on);background:var(--panel)}.range::-moz-range-thumb{width:10px;height:10px;border-radius:50%;border:2px solid var(--control-on);background:var(--panel)}.range:focus-visible{outline:none}.range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--panel),0 0 0 5px var(--focus)}.range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--panel),0 0 0 5px var(--focus)}@media(pointer:coarse){.range::-webkit-slider-thumb{width:22px;height:22px;margin-top:-9px}.range::-moz-range-thumb{width:18px;height:18px}}.text-input,.num-input,.hex-input,.select{width:100%;height:var(--ctl-h);padding:0 var(--s-2);border:1px solid transparent;border-radius:var(--r-xs);background:var(--field);color:var(--ink);font-size:13px;transition:border-color .12s,background-color .12s}.text-input:hover,.num-input:hover,.hex-input:hover,.select:hover{border-color:var(--line-strong)}.text-input:focus-visible,.num-input:focus-visible,.hex-input:focus-visible,.select:focus-visible,.text-input:focus,.num-input:focus,.hex-input:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:transparent;background:var(--panel)}.text-input::placeholder{color:var(--faint);opacity:1}.text-input:disabled,.num-input:disabled,.hex-input:disabled,.select:disabled{opacity:.5}.textarea{height:auto;min-height:64px;padding:var(--s-1) var(--s-2);line-height:1.45;resize:vertical;display:block;font-size:14px}.ctl-text--multi .textarea{font-weight:600}.text-affix{display:flex;align-items:center;border-radius:var(--r-xs);background:var(--field);position:relative}.text-prefix{flex:none;padding-left:var(--s-2);color:var(--muted);font-weight:700}.text-affix .text-input{padding-left:0;background:transparent}.text-affix:focus-within{outline:2px solid var(--focus);outline-offset:-1px;background:var(--panel)}.text-affix .text-input:focus,.text-affix .text-input:focus-visible{outline:none}.num{position:relative}.num-input{text-align:right;padding-right:var(--s-5);font-variant-numeric:tabular-nums}.num-input--solo{padding-right:var(--s-5)}.num-unit{position:absolute;right:7px;top:50%;transform:translateY(-50%);color:var(--faint);font-size:11px;pointer-events:none}.select-wrap{position:relative;min-width:0}.select{-webkit-appearance:none;appearance:none;padding-right:var(--s-6);cursor:pointer;text-overflow:ellipsis}.select option,.select optgroup{background:var(--panel-2);color:var(--ink)}.select-chevron{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.color-row{display:flex;align-items:center;gap:var(--s-1)}.color-chip{flex:none;width:var(--ctl-h);height:var(--ctl-h);padding:0;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:transparent;cursor:pointer}.color-chip::-webkit-color-swatch-wrapper{padding:2px}.color-chip::-webkit-color-swatch{border:0;border-radius:calc(var(--r-xs) - 2px)}.color-chip::-moz-color-swatch{border:0;border-radius:calc(var(--r-xs) - 2px)}.hex-input{flex:none;width:80px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;text-transform:lowercase}.swatches{display:flex;gap:var(--s-1);margin-left:auto}.swatch{width:22px;height:22px;padding:0;border:1px solid rgba(128,128,128,.35);border-radius:var(--r-xs);background:var(--c)}.swatch:hover{transform:translateY(-1px)}.swatch[aria-pressed=true]{outline:2px solid var(--control-on);outline-offset:1px}@media(pointer:coarse){.swatch{width:26px;height:26px}}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;padding:var(--s-1);border-radius:var(--r-sm);background:var(--field)}.seg-item{position:relative;display:flex;min-width:0}.seg-input{position:absolute;opacity:0;inset:0;margin:0;pointer-events:none}.seg-face{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--s-1);min-height:calc(var(--ctl-h) - var(--s-2));padding:0 var(--s-2);border-radius:var(--r-xs);color:var(--muted);font-size:12px;font-weight:600;text-align:center;line-height:1.2;cursor:pointer;transition:background-color .12s,color .12s}.seg-item:hover .seg-face{color:var(--ink)}.seg-input:checked+.seg-face{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-1)}.seg-input:focus-visible+.seg-face{outline:2px solid var(--focus);outline-offset:0}.seg-input:disabled+.seg-face{opacity:.5;cursor:default}.seg--icons{width:max-content}.seg--icons .seg-face{width:36px;padding:0}.switch{display:flex;align-items:center;gap:var(--s-2);min-height:28px;cursor:pointer;font-size:13px}.switch.is-disabled{opacity:.5;cursor:default}.switch-input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.switch-track{position:relative;flex:none;width:30px;height:18px;border-radius:var(--r-sm);background:var(--line-strong);transition:background-color .15s}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--ink);transition:transform .15s}.switch-input:checked+.switch-track{background:var(--accent)}.switch-input:checked+.switch-track:after{transform:translate(12px);background:var(--accent-ink)}.switch-input:focus-visible+.switch-track{outline:2px solid var(--focus);outline-offset:2px}.switch-label{line-height:1.3}.switch-list{display:flex;flex-direction:column;gap:var(--s-1)}.check{display:inline-flex;align-items:center;gap:var(--s-2);font-size:13px;cursor:pointer}.check-input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.check-box{flex:none;width:16px;height:16px;border:1.5px solid var(--faint);border-radius:var(--r-xs);display:grid;place-items:center}.check-input:checked+.check-box{background:var(--accent);border-color:var(--control-on)}.check-input:checked+.check-box:after{content:"";width:8px;height:4px;border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:translateY(-1px) rotate(-45deg)}.check-input:focus-visible+.check-box{outline:2px solid var(--focus);outline-offset:2px}.font-block{display:flex;flex-direction:column;gap:var(--s-3)}.font-del{align-self:flex-start}.btn-danger-solid{border-color:var(--accent-2);background:var(--accent-2);color:#fff}.btn-danger-solid:hover:not(:disabled){background:#b53b27;border-color:#b53b27}.confirm-text{font-size:14px}.touch-only{display:none}@media(pointer:coarse){.touch-only{display:block}}.weight-row{display:flex;gap:var(--s-2)}.weight-row .select-wrap{flex:1}.btn-italic{flex:none;width:var(--ctl-h);padding:0;border-color:transparent;background:var(--field)}.italic-glyph{font:italic 600 16px/1 var(--hd)}.size-row{display:flex;align-items:flex-end;gap:var(--s-1)}.size-row .ctl-number{flex:1}.btn-swap{flex:none}.btn-swap .icon{color:var(--muted)}.mini-label{display:block;font-size:11px;color:var(--faint);margin-bottom:var(--s-1)}.ctl-inline{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.pos-row{display:flex;gap:var(--s-4);align-items:flex-start}.pos-side{flex:1;padding-top:var(--s-5)}.anchor-grid{display:grid;grid-template-columns:repeat(3,24px);grid-template-rows:repeat(3,24px);gap:0;padding:var(--s-1);border-radius:var(--r-sm);background:var(--field);width:max-content}.anchor-cell{position:relative;display:grid;place-items:center;border-radius:var(--r-xs);cursor:pointer}.anchor-cell:hover{background:var(--field-hover)}.anchor-input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.anchor-dot{width:6px;height:6px;border-radius:50%;background:var(--faint);transition:transform .12s}.anchor-input:checked+.anchor-dot{background:var(--accent);transform:scale(1.6)}.anchor-input:focus-visible+.anchor-dot{outline:2px solid var(--focus);outline-offset:3px}.more{border-radius:var(--r-xs)}.more-summary{display:flex;align-items:center;gap:var(--s-1);min-height:28px;list-style:none;cursor:pointer;color:var(--muted);font-size:12px;font-weight:600;border-radius:var(--r-xs);width:max-content;padding-right:var(--s-2)}.more-summary::-webkit-details-marker{display:none}.more-summary:hover{color:var(--ink)}.more-chevron{transition:transform .15s;width:14px;height:14px}.more[open]>.more-summary .more-chevron{transform:rotate(90deg)}.more-body{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-2) 0 var(--s-1) var(--s-3);margin-left:var(--s-2);border-left:1px solid var(--line)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.tag-result{font-size:13px;overflow-wrap:anywhere}.tag-preview{font-weight:700;color:var(--accent-text)}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-1);width:100%;min-height:104px;padding:var(--s-4);border:1.5px dashed var(--line-strong);border-radius:var(--r-md);background:transparent;text-align:center;transition:background-color .12s,border-color .12s}.dropzone:hover{background:var(--field);border-color:var(--muted)}.dropzone--small{min-height:88px}.dropzone-icon{width:20px;height:20px;color:var(--accent-text);margin-bottom:var(--s-1)}.dropzone-title{font-weight:700;font-size:14px}.dropzone-hint{font-size:12px;color:var(--muted)}.is-drop-target{outline:2px dashed var(--accent)!important;outline-offset:2px;background:var(--accent-soft)!important}.asset-row{display:flex;gap:var(--s-3);align-items:center}.thumb{flex:none;width:56px;height:56px;border-radius:var(--r-xs);background:var(--field);border:1px solid var(--line)}.thumb--logo{background-color:var(--field);background-image:linear-gradient(45deg,var(--line) 25%,transparent 25%,transparent 75%,var(--line) 75%),linear-gradient(45deg,var(--line) 25%,transparent 25%,transparent 75%,var(--line) 75%);background-size:12px 12px;background-position:0 0,6px 6px}.asset-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3) var(--s-2)}.preset-cell{position:relative;min-width:0}.preset-card{display:flex;flex-direction:column;gap:var(--s-2);width:100%;padding:0;border:0;background:none;text-align:center;border-radius:var(--r-xs)}.preset-thumb,.preset-add{display:block;width:100%;aspect-ratio:1;border-radius:var(--r-xs);border:1px solid var(--line);background:var(--field);transition:border-color .12s}.preset-card:hover .preset-thumb,.preset-card:hover .preset-add{border-color:var(--accent)}.preset-name{font-size:12px;font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-card:hover .preset-name{color:var(--ink)}.preset-add{display:grid;place-items:center;border-style:dashed;border-width:1.5px;border-color:var(--line-strong);color:var(--muted);background:transparent}.preset-more{position:absolute;top:4px;right:4px;width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--r-xs);background:#0e1210c7;color:#f2ead8}.preset-more:hover{background:#0e1210f2}.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-2)}.link-row{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);align-items:center}.modal{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-2);flex-direction:column;overflow:hidden}.modal[open]{display:flex}.modal::backdrop{background:var(--backdrop)}.modal--small{width:min(420px,calc(100vw - 32px))}.modal--wide{width:min(1080px,calc(100vw - 32px))}.modal-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-4) var(--s-3) var(--s-5)}.modal-title{font:600 20px/1.25 var(--hd)}.modal-body{flex:1;min-height:0;overflow:auto;padding:0 var(--s-5) var(--s-5)}.modal-foot{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--line)}.prompt-form{display:flex;flex-direction:column;gap:var(--s-1)}.inapp{display:flex;flex-direction:column;gap:var(--s-3)}.inapp-img{width:100%;height:auto;border-radius:var(--r-xs);-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto}.inapp-hint{font-weight:700}.inapp-note{font-size:13px;color:var(--muted)}.kbd{font-weight:700;color:var(--ink)}.batch{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:var(--s-5);align-items:start}.batch-text{min-height:180px;font-weight:500;font-size:13px}.batch-hints{display:flex;flex-direction:column;gap:var(--s-2);color:var(--muted);font-size:12px}.batch-bg-head{display:flex;align-items:center;justify-content:space-between}.batch-bgs{display:flex;flex-wrap:wrap;gap:var(--s-2)}.batch-bgs:empty{display:none}.batch-bg{position:relative}.batch-bg-thumb{width:48px;height:48px;border-radius:var(--r-xs);display:block;border:1px solid var(--line)}.batch-bg-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;padding:0;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--panel-2);color:var(--ink)}.batch-bg-remove .icon{width:12px;height:12px}.batch-right{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.batch-count{font-weight:700}.batch-count.is-warn{color:var(--danger-text)}.batch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:var(--s-3);max-height:min(62vh,640px);overflow:auto;padding:var(--s-1)}.batch-cell{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.batch-thumb{width:100%;height:auto;display:block;border-radius:var(--r-xs);background:var(--field);border:1px solid var(--line)}.batch-name{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-run{display:flex;align-items:center;gap:var(--s-3);margin-right:auto;min-width:0}.batch-progress{width:160px;height:6px;accent-color:var(--accent)}.batch-status{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.toasts{position:fixed;left:50%;bottom:var(--s-4);bottom:calc(var(--s-4) + env(safe-area-inset-bottom));transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);width:min(520px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:center;gap:var(--s-2);width:max-content;max-width:100%;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel-2);color:var(--ink);box-shadow:var(--shadow-2);font-size:13px;pointer-events:auto;animation:toast-in .16s ease-out}.toast.is-leaving{opacity:0;transition:opacity .16s}.toast-icon{color:var(--accent-text)}.toast--error .toast-icon{color:var(--danger-text)}.toast-text{flex:1;min-width:0}.toast-action{flex:none;height:28px;padding:0 var(--s-2);border:0;border-radius:var(--r-xs);background:var(--accent-soft);color:var(--accent-text);font-weight:700;font-size:13px}.toast-close{flex:none;width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:var(--r-xs);background:transparent;color:var(--muted)}.toast-close:hover{color:var(--ink);background:var(--field-hover)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.drop-hint{position:fixed;inset:0;z-index:150;display:none;align-items:flex-end;justify-content:center;padding:var(--s-7);pointer-events:none;background:#0e121059}.is-dragging-file .drop-hint{display:flex}.drop-hint-text{padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);font-weight:700;box-shadow:var(--shadow-2)}@media(max-width:1279px){.tb-format{width:180px}.cv-hint{display:none}.tb .btn-ghost .btn-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tb .btn-ghost{width:var(--ctl-h);padding:0}}@media(max-width:1023px){.app-header{min-height:0;padding:var(--s-3) var(--s-4);border-right:0}.app-title{font-size:19px}.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"header" "stage" "panel" "footer"}.panel,.app-footer{border-right:0}.app-footer{text-align:center}.stage{z-index:20;--stage-fit: calc(52px + 2 * var(--s-3) + 1px + var(--cv-legend, 0px) + (100vw - 2 * var(--s-3)) * var(--cv-ratio, 1));height:48vh;height:48svh;height:min(48svh,var(--stage-fit));min-height:min(260px,var(--stage-fit),48svh);border-bottom:1px solid var(--line);box-shadow:var(--shadow-1)}.tb{height:52px;padding:0 var(--s-2)}.tb-format,.tb-sep{display:none}.tb .btn-ghost .btn-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tb .btn-ghost{width:var(--ctl-h);padding:0}.cv-wrap{padding:var(--s-3)}.cv-meta{display:none}.cv-legend{margin:calc(-1 * var(--s-3)) var(--s-3) 0;font-size:11px}.panel-inner{max-width:640px;margin:0 auto}.panel .sec,.panel input,.panel textarea,.panel select,.panel button{scroll-margin-top:calc(48svh + var(--s-4))}.batch{grid-template-columns:minmax(0,1fr)}.batch-grid{max-height:none;overflow:visible;grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.modal{max-height:calc(100dvh - 16px);width:calc(100vw - 16px)}.modal--wide{width:calc(100vw - 16px)}.modal-body{padding:0 var(--s-4) var(--s-4)}.modal-head{padding:var(--s-3) var(--s-3) var(--s-2) var(--s-4)}.modal-foot{padding:var(--s-3) var(--s-4);flex-wrap:wrap}.batch-progress{width:96px}}@media(min-width:1024px){.fmt-panel,.zone-panel{display:none}}@media(max-width:420px){.ctl-slider{grid-template-columns:var(--label-w) minmax(0,1fr) 60px}.swatch{width:22px;height:22px}.hex-input{width:72px}.color-row{flex-wrap:wrap}.swatches{margin-left:0}.split-main .btn-text{font-size:13px}.sec-body{padding-left:var(--s-3);padding-right:var(--s-3)}.sec-head{padding-right:var(--s-3)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ctl-note-link{white-space:nowrap}
