:root{--bg: #f3f1ee;--panel: #ffffff;--panel-2: #f7f6f4;--line: #e2ded8;--text: #1f1d1a;--muted: #77716a;--accent: #e8341f;--accent-text: #ffffff;--primary: #1f1d1a;--primary-text: #ffffff;--stage: #dcd8d2;--radius: 8px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;color:var(--text)}@media(prefers-color-scheme:dark){:root{--bg: #18171a;--panel: #222125;--panel-2: #2a292e;--line: #38363c;--text: #ece9e4;--muted: #9a958e;--primary: #ece9e4;--primary-text: #18171a;--stage: #111013}}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg)}body{display:flex;flex-direction:column;overflow:hidden}button,.button,select,input[type=text],input[type=number]{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:5px 9px}button,.button{cursor:pointer;white-space:nowrap}.button{display:inline-flex;align-items:center;line-height:normal}button:hover,.button:hover{border-color:var(--muted)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}button.accent{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{font-size:14px;margin-right:4px}.doc-name{width:130px}#random-scope{max-width:130px}.topbar{gap:8px}.topbar .group{gap:3px}.group{display:flex;gap:4px;align-items:center}.layout{flex:1;min-height:0;display:grid;grid-template-columns:340px 1fr 300px}.panel{background:var(--panel);overflow-y:auto;min-height:0}.editor{border-right:1px solid var(--line);padding:8px 10px 40px}.gallery{border-left:1px solid var(--line);display:flex;flex-direction:column}.stage-wrap{position:relative;min-width:0;min-height:0;background:var(--stage)}.stage{position:absolute;top:0;right:0;bottom:28px;left:0;display:grid;place-items:center;padding:24px}.stage svg{display:block;box-shadow:0 6px 30px #00000040;background:#fff}.stage-info{position:absolute;bottom:0;left:0;right:0;height:28px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.section{border-bottom:1px solid var(--line);padding:6px 0 10px}.section>summary{cursor:pointer;font-weight:600;padding:6px 0;list-style:none;display:flex;justify-content:space-between}.section>summary:after{content:"▾";color:var(--muted)}.section:not([open])>summary:after{content:"▸"}.subhead{margin:10px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ctl{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:8px;margin:5px 0}.ctl-label{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctl select,.ctl input[type=text]{width:100%;min-width:0}.ctl-range{display:flex;gap:6px;align-items:center;min-width:0}.ctl-range input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.ctl-num{width:64px;padding:3px 5px!important}.ctl-seed{flex:1;min-width:0}.ctl-check{grid-template-columns:auto 1fr;justify-content:start;color:var(--text);cursor:pointer}.ctl-check input{accent-color:var(--accent);margin:0}input[type=color]{width:34px;height:26px;padding:0 2px;border:1px solid var(--line);border-radius:5px;background:var(--panel-2);cursor:pointer}.ctl-colors{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.swatch{display:inline-flex;align-items:center;gap:1px}.mini{padding:1px 6px;font-size:12px;line-height:18px}.mini-text{padding:3px 7px;font-size:12px}.row{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.zone-list{display:flex;flex-direction:column;gap:4px;margin:4px 0 8px}.zone-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:var(--panel-2)}.zone-item.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.zone-chip{width:18px;height:18px;border-radius:4px;border:1px solid rgb(0 0 0 / .15);flex:none}.zone-item .grow{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palettes{display:flex;flex-direction:column;gap:4px;margin:4px 0}.palette{display:flex;align-items:center;gap:8px;padding:3px 6px;border:1px solid transparent;border-radius:6px;background:none;text-align:left}.palette:hover{border-color:var(--line);background:var(--panel-2)}.palette .dots{display:flex}.palette .dots span{width:16px;height:16px;border-radius:50%;margin-right:-4px;border:2px solid var(--panel)}.palette .name{margin-left:8px;color:var(--muted)}.tabs{display:flex;border-bottom:1px solid var(--line)}.tab{flex:1;border:none;border-radius:0;background:none;padding:10px;color:var(--muted)}.tab.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.gallery-tools{display:flex;gap:4px;padding:8px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.gallery-tools select{flex:1}.gallery-grid{flex:1;overflow-y:auto;padding:8px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;align-content:start;align-items:start}.card{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--panel-2);display:flex;flex-direction:column}.card:hover{border-color:var(--muted)}.card.current{border-color:var(--accent)}.card .thumb{position:relative;aspect-ratio:1;background:var(--stage)}.card.strip .thumb{aspect-ratio:3 / 4}.card .thumb img{position:absolute;top:4px;right:4px;bottom:4px;left:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;display:block}.card .meta{padding:4px 6px;font-size:11px;display:flex;gap:4px;align-items:center}.card .meta .grow{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .kind{font-size:10px;color:var(--muted);text-transform:uppercase}.card .actions{position:absolute;top:4px;right:4px;display:none;gap:3px}.card:hover .actions{display:flex}.card .actions button{padding:0 6px;font-size:12px;line-height:20px;background:var(--panel)}.empty{grid-column:1 / -1;color:var(--muted);padding:20px 6px;text-align:center;line-height:1.5}.toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%) translateY(20px);background:var(--primary);color:var(--primary-text);padding:8px 14px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:80vw}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.error{background:var(--accent);color:#fff}@media(max-width:1100px){.layout{grid-template-columns:300px 1fr}.gallery{display:none}}[hidden]{display:none!important}textarea{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:5px 8px;width:100%;resize:vertical;font-size:15px}.hint{color:var(--muted);font-size:12px;line-height:1.45;margin:4px 0 6px}.layer-list{max-height:220px;overflow-y:auto}.text-chip{display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--panel);color:var(--text)}.stage{cursor:default}.stage [data-panel],.stage [data-text]{cursor:move}.overlay{position:absolute;top:0;right:0;bottom:28px;left:0;pointer-events:none}.sel-box{position:absolute;outline:2px solid var(--accent);outline-offset:0}.sel-box.text{outline-style:dashed;outline-offset:3px}.zone-box{position:absolute;outline:1px dashed rgb(255 255 255 / .9);box-shadow:0 0 0 1px #00000059}.handle{position:absolute;width:11px;height:11px;margin:-6px 0 0 -6px;background:#fff;border:2px solid var(--accent);border-radius:2px;pointer-events:auto}.h-nw{left:0;top:0;cursor:nwse-resize}.h-n{left:50%;top:0;cursor:ns-resize}.h-ne{left:100%;top:0;cursor:nesw-resize}.h-e{left:100%;top:50%;cursor:ew-resize}.h-se{left:100%;top:100%;cursor:nwse-resize}.h-s{left:50%;top:100%;cursor:ns-resize}.h-sw{left:0;top:100%;cursor:nesw-resize}.h-w{left:0;top:50%;cursor:ew-resize}.card .pick{position:absolute;top:6px;left:6px;margin:0;width:16px;height:16px;accent-color:var(--accent);opacity:0}.card:hover .pick,.card .pick:checked{opacity:1}.mini-text.accent{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.tab .count{font-size:11px;color:var(--muted);margin-left:2px}.subtabs{display:flex;gap:4px;padding:8px 8px 0}.subtab{flex:1;padding:4px 8px;font-size:12px;background:none;color:var(--muted)}.subtab.active{background:var(--panel-2);color:var(--text);border-color:var(--muted)}.gallery-hint{padding:0 10px;margin:8px 0 0}.gallery-grid:focus{outline:none}.gallery-grid:focus .card.cursor{box-shadow:0 0 0 2px var(--accent)}.card.cursor{border-color:var(--accent)}.lang{padding:4px 6px}.zone-item .row-star{opacity:0;padding:0 5px;line-height:18px}.zone-item:hover .row-star{opacity:1}.export-row{align-items:center}.export-row .ctl-label{flex:1}.card .actions{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 28px)}.card .actions button{font-size:11px;padding:0 5px}.sel-box{transform-origin:center}.h-rot{left:50%;top:-28px;border-radius:50%;cursor:grab;background:var(--accent);border-color:#fff}.h-rot:after{content:"";position:absolute;left:50%;top:9px;width:2px;height:16px;margin-left:-1px;background:var(--accent)}.palettes.compact{flex-direction:row;flex-wrap:wrap}.palettes.compact .palette{padding:2px 4px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:50;padding:16px}.modal-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:min(720px,100%);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000059}.modal-head,.modal-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.modal-foot{border-bottom:none;border-top:1px solid var(--line);justify-content:flex-end}.modal-body{overflow-y:auto;padding:8px 16px 16px}.rgroup{margin-top:14px}.rgroup-head{display:flex;align-items:center;gap:6px}.rgroup-head .subhead{flex:1;margin:0}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{padding:4px 10px;border-radius:999px;font-size:12px;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.chip.on{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.chip.ghost{cursor:default;border-style:dashed}.presets .chip{font-size:13px;padding:6px 12px}.pct{width:44px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
