.composer{background:#0f1012;min-height:100vh;color:#d1d5db;font-family:var(--font-body);-webkit-font-smoothing:antialiased}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:.9rem;padding:.6rem 1.1rem;background:#0f1012eb;backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #2a2c30}.back{color:#41b5e6;text-decoration:none;font:600 .8rem/1 var(--font-body);white-space:nowrap}#combo-name{flex:1;min-width:0;max-width:26rem;background:#1a1c1f;border:1px solid #2a2c30;border-radius:8px;color:#fff;font:600 .9rem/1 var(--font-display);padding:.5rem .7rem}#combo-name:focus{outline:none;border-color:#41b5e6}#combo-folder{max-width:11rem;background:#1a1c1f;border:1px solid #2a2c30;border-radius:8px;color:#d1d5db;font-size:.75rem;padding:.5rem .4rem}.save-state{font-size:.72rem;color:#9ca3af;white-space:nowrap}.tb-content{display:flex;align-items:center;gap:.4rem}.tb-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;color:#d1d5db;background:#232529;border:0;border-radius:8px;cursor:pointer}.tb-btn:hover{background:#2e3136}.tb-btn[aria-pressed=false]{opacity:.4}.tb-seg{background:#1a1c1f}.actions{margin-left:auto;display:flex;gap:.45rem}.actions button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;color:#d1d5db;background:#232529;border:0;border-radius:8px;cursor:pointer}.actions button:hover{background:#2e3136}.actions button:disabled{opacity:.5;cursor:default}.actions .primary{color:#0f1012;background:#ffd23f}.actions .primary:hover{background:#ffdc6b}#btn-save{position:relative}#btn-save .ic-save-idle,#btn-save .ic-save-check{transition:opacity .25s ease}#btn-save .ic-save-check{position:absolute;inset:0;margin:auto;opacity:0}#btn-save.just-saved .ic-save-idle{opacity:0}#btn-save.just-saved .ic-save-check{opacity:1}#btn-save.is-dirty:after{content:"";position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:#ee4564;border:2px solid #0f1012}.wrap{position:relative;display:grid;grid-template-columns:var(--sidebar-w, 384px) 1fr;height:calc(100vh - 53px)}.controls{overflow:hidden;border-right:1px solid #2a2c30;display:flex;flex-direction:column;min-width:0}.tabs{display:flex;flex:0 0 auto;background:#141517;border-bottom:1px solid #2a2c30}.tab{flex:1;min-width:0;padding:.62rem .3rem;font:600 .72rem/1 var(--font-body);color:#9ca3af;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab:hover{color:#fff}.tab.is-on{color:#fff;border-bottom-color:#ee4564}.tabpanels{position:relative;flex:1;min-height:0}.tabpanel{position:absolute;inset:0;display:none;flex-direction:column;min-height:0}.tabpanel.is-on{display:flex}.tabpanel:not(.panel-image){overflow-y:auto;gap:.7rem;padding:.8rem}.panel-image,.panel-fx{overflow:hidden}.subtabs{display:flex;gap:.35rem;padding:.7rem .8rem 0;flex:0 0 auto}.subtab{flex:1;font:600 .68rem/1 var(--font-body);color:#9ca3af;background:#1a1c1f;border:1px solid #2a2c30;border-radius:8px;padding:.42rem .3rem;cursor:pointer}.subtab:hover{color:#fff}.subtab.is-on{color:#fff;background:#232529;border-color:#ee4564}.subtabpanels{position:relative;flex:1;min-height:0}.subtabpanel{position:absolute;inset:0;display:none;flex-direction:column;min-height:0}.subtabpanel.is-on{display:flex}.thumbs-wrap{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.7rem;padding:.8rem}.chips{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:.4rem;padding:.7rem .8rem 0}.chips:empty{display:none}.img-bar{flex:0 0 auto;display:flex;gap:.45rem;padding:.7rem .8rem 0}.img-bar select{flex:1;min-width:0;background:#1a1c1f;color:#d1d5db;border:1px solid #2a2c30;border-radius:6px;padding:.3rem;font-size:.75rem}.img-bar .row-btn{width:1.9rem;height:auto}.fx-list-wrap{flex:1;min-height:0;overflow-y:auto;padding:.8rem}.panel-image .thumbs,.panel-fx .fx-list{max-height:none}.fx-opts-bar{flex:0 0 auto;max-height:55%;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem;padding:.7rem .8rem;border-top:1px solid #2a2c30;background:#141517}.img-opts-bar{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:.9rem .9rem 1.3rem}.img-opts-bar.is-disabled{opacity:.4;pointer-events:none}.img-opts-bar .field-label:not(:first-child){margin-top:.4rem;padding-top:.65rem;border-top:1px solid #2a2c30}.opts-block.is-off{opacity:.4}.sidebar-resizer{position:absolute;top:0;bottom:0;left:var(--sidebar-w, 384px);width:11px;transform:translate(-6px);cursor:col-resize;z-index:30;touch-action:none}.sidebar-resizer:before{content:"";position:absolute;inset:0 5px;background:transparent;transition:background .12s}.sidebar-resizer:hover:before,.sidebar-resizer.is-dragging:before{background:#ee4564}fieldset{border:1px solid #2a2c30;border-radius:12px;padding:.6rem .7rem .7rem;display:flex;flex-direction:column;gap:.55rem}legend{font:700 .78rem/1 var(--font-display);color:#fff;padding:0 .4rem;letter-spacing:.03em}.hint{margin:0;font-size:.72rem;line-height:1.45;color:#9ca3af}.hint code{background:#232529;padding:.05em .3em;border-radius:4px}.seg{display:flex;background:#1a1c1f;border-radius:999px;padding:3px;gap:3px}.seg label{position:relative;flex:1}.seg input{position:absolute;opacity:0;pointer-events:none}.seg span{display:flex;align-items:center;justify-content:center;text-align:center;font:600 .72rem/1 var(--font-body);padding:.4rem .3rem;border-radius:999px;cursor:pointer;color:#9ca3af}.nudge{flex:0 0 auto;display:inline-flex;gap:3px;margin-left:auto}.nudge button{width:1.35rem;height:1.35rem;padding:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;line-height:1;color:#b8bcc4;background:#232529;border:1px solid #34373d;border-radius:6px;cursor:pointer}.nudge button:hover:not(:disabled){color:#fff;background:#2e3136;border-color:#41b5e6}.nudge button:disabled{opacity:.3;cursor:default}.ic-sprite{position:absolute}.ic{width:1.05rem;height:1.05rem;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.row>span.ic-label{min-width:0;flex:0 0 auto;display:inline-flex;align-items:center;color:#9ca3af}.seg input:checked+span{background:#ee4564;color:#fff}.row{display:flex;align-items:center;gap:.55rem;font-size:.75rem;color:#c7c9ce}.row>span:first-child{min-width:4.2rem}.row--divider{border-top:1px solid #2a2c30;margin-top:.35rem;padding-top:.65rem}.row input[type=range]{flex:1;accent-color:#ee4564;min-width:0}.row input[type=range].range--ramp{-webkit-appearance:none;appearance:none;height:12px;border-radius:999px;background:var(--ramp);border:1px solid #0006}.row input[type=range].range--ramp::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--ramp-cur, #f4f4f5);border:2px solid #f4f4f5;box-shadow:0 1px 4px #000a;cursor:pointer}.row input[type=range].range--ramp::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--ramp-cur, #f4f4f5);border:2px solid #f4f4f5;box-shadow:0 1px 4px #000a;cursor:pointer}.row output{min-width:2.6rem;text-align:right;font-variant-numeric:tabular-nums;color:#9ca3af;font-size:.72rem}.row select{flex:1;background:#1a1c1f;color:#d1d5db;border:1px solid #2a2c30;border-radius:6px;padding:.3rem;font-size:.75rem}.bg-swatch{flex:0 0 auto;inline-size:3rem;block-size:2rem;padding:0;border:1px solid #2a2c30;border-radius:6px;background:#323439;cursor:pointer}.hex-in{flex:1;min-width:0;font-family:var(--font-term),ui-monospace,monospace;font-size:.8rem;text-transform:uppercase;background:#1a1c1f;border:1px solid #2a2c30;border-radius:6px;color:#e5e7eb;padding:.4rem .5rem}.hex-in:focus{outline:none;border-color:#41b5e6}.row-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;padding:0;color:#9ca3af;background:#1a1c1f;border:1px solid #2a2c30;border-radius:6px;cursor:pointer}.row-btn .ic{width:.85rem;height:.85rem}.row-btn:hover{color:#d1d5db;background:#232529}.check input{accent-color:#ee4564}.field-label{font:700 .62rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin-top:.15rem}.pal-head{display:flex;align-items:center;justify-content:space-between;margin-top:.15rem}.pal-new{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;color:#d1d5db;background:#232529;border:0;border-radius:6px;cursor:pointer}.pal-new:hover{background:#2e3136}.swatches{display:flex;flex-direction:column;gap:.5rem}.sw-row{display:flex;align-items:flex-start;gap:.3rem}.sw-row.dragging{opacity:.4}.sw-row.drop-into{box-shadow:0 -2px #ffd23f}.sw-handle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:14px;min-height:18px;margin-top:1px;padding:0;color:#5b6169;background:none;border:0;cursor:grab;font-size:.85rem;line-height:1}.sw-handle:hover{color:#d1d5db}.sw-body{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:4px}.sw-name{align-self:flex-start;font:600 .66rem/1 var(--font-body);color:#9ca3af;cursor:pointer}.sw-name:hover{color:#fff;text-decoration:underline dotted}.sw-dots{display:flex;flex-wrap:wrap;gap:4px}.sw{width:20px;height:20px;border-radius:5px;border:1px solid rgb(255 255 255 / .12);cursor:pointer;padding:0;transition:transform .1s}.sw:hover{transform:scale(1.12)}.sw.is-active{outline:2px solid #ffd23f;outline-offset:1px}.mask-ui{display:flex;flex-direction:column;gap:.7rem}.mask-adv.is-off{opacity:.4}.chips{display:flex;gap:4px}.chips button{flex:1;font:600 .66rem/1 var(--font-body);color:#9ca3af;background:#1a1c1f;border:1px solid #2a2c30;border-radius:999px;padding:.32rem .2rem;cursor:pointer}.chips button:hover{color:#fff;background:#232529}.flip-btns{display:flex;gap:4px;flex:1}.flip-btns button{flex:1;font-size:.95rem;line-height:1;color:#9ca3af;background:#1a1c1f;border:1px solid #2a2c30;border-radius:8px;padding:.36rem 0;cursor:pointer}.flip-btns button.is-on{color:#fff;background:#ee4564;border-color:#ee4564}#ov-add{font:600 .72rem/1 var(--font-body);color:#0f1012;background:#ffd23f;border:0;border-radius:999px;padding:.42rem .8rem;cursor:pointer}#ov-add:disabled{opacity:.4;cursor:default}#ov-panels{display:flex;flex-direction:column;gap:.6rem}#ov-panels:empty{display:none}.ov-panel{border:1px solid #2a2c30;border-radius:10px;padding:.6rem .65rem;display:flex;flex-direction:column;gap:.55rem}.ov-panel header{display:flex;align-items:center;justify-content:space-between}.ov-panel header strong{font:700 .74rem/1 var(--font-display);color:#fff}.ov-panel header button{background:none;border:0;color:#9ca3af;font-size:.8rem;cursor:pointer}.ov-panel header button:hover{color:#ee4564}.fx-add-row{display:flex;gap:.5rem}.fx-add-row select{flex:1;min-width:0;background:#1a1c1f;color:#d1d5db;border:1px solid #2a2c30;border-radius:6px;padding:.4rem;font-size:.75rem}#fx-add{font:600 .72rem/1 var(--font-body);color:#0f1012;background:#ffd23f;border:0;border-radius:999px;padding:.42rem .85rem;cursor:pointer}#fx-manage,#fx-fold-all{flex:0 0 auto;width:2rem;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#d1d5db;background:#232529;border:0;border-radius:6px;cursor:pointer}#fx-manage:hover,#fx-fold-all:hover{background:#2e3136}.fx-stack{display:flex;flex-direction:column;gap:.55rem}.fx-panel{border:1px solid #2a2c30;border-radius:10px;padding:.55rem .6rem;display:flex;flex-direction:column;gap:.5rem}.fx-panel.dragging{opacity:.4}.fx-panel.drop-into{box-shadow:0 -2px #ffd23f}.fx-panel.is-active{border-color:#41b5e6;box-shadow:0 0 0 1px #41b5e6}.fx-panel header{display:flex;align-items:center;gap:.4rem}.fx-panel header strong{flex:1;min-width:0;font:700 .74rem/1 var(--font-display);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-grip{flex:0 0 auto;padding:0;background:none;border:0;color:#5b6169;cursor:grab;font-size:.9rem;line-height:1}.fx-fold{flex:0 0 auto;padding:0 .1rem;background:none;border:0;color:#9ca3af;cursor:pointer;font-size:.7rem;line-height:1}.fx-fold:hover{color:#fff}.fx-panel.is-folded .fx-panel-body{display:none}.fx-grip:hover{color:#d1d5db}.fx-panel header [data-del]{flex:0 0 auto;background:none;border:0;color:#9ca3af;font-size:.8rem;cursor:pointer}.fx-panel header [data-del]:hover{color:#ee4564}.fx-panel-body{display:flex;flex-direction:column;gap:.5rem}.fx-rand{align-self:flex-start;padding:.4rem .7rem;font-size:.78rem;color:#d1d5db;background:#232529;border:1px solid #2a2c30;border-radius:6px;cursor:pointer}.fx-rand:hover{background:#2e3136;color:#fff}.fx-params{display:flex;flex-direction:column;gap:.55rem;border-top:1px solid #2a2c30;padding-top:.7rem}.fx-params-reset{align-self:flex-end;font:600 .66rem/1 var(--font-body);color:#9ca3af;background:none;border:1px solid #2a2c30;border-radius:999px;padding:.3rem .6rem;cursor:pointer}.fx-params-reset:hover{color:#fff;background:#232529}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:280px;overflow-y:auto}.thumb{aspect-ratio:4/3;border:2px solid transparent;border-radius:8px;background:#1a1c1f center/cover no-repeat;color:#6b7280;font-size:.9rem;cursor:pointer}.thumb.is-active{border-color:#ffd23f}.picker{display:flex;flex-direction:column;gap:.55rem}.thumb-group__head{position:sticky;top:0;z-index:2;background:#0f1012;font:700 .62rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;padding:.3rem 0 .4rem}.thumbs-wrap.dropping{outline:2px dashed #ffd23f;outline-offset:-6px;border-radius:10px}.thumbs-wrap.uploading{opacity:.6;pointer-events:none}.dnd-hint{margin:.2rem 0 0;font-size:.66rem;color:#6b7280;text-align:center}.tip{position:fixed;z-index:200;max-width:18rem;padding:.32rem .5rem;background:#0b0c0e;color:#e5e7eb;border:1px solid #2a2c30;border-radius:6px;font:500 .72rem/1.3 var(--font-body);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .09s}.tip.show{opacity:1}.fx-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;margin:0 -.3rem;padding:0 .3rem}.fx-cat{margin:.55rem 0 .15rem;font:700 .62rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#6b7280}.fx-item{position:relative;display:flex;align-items:center;gap:.5rem;padding:.34rem .45rem;border-radius:7px;cursor:pointer;font-size:.78rem}.fx-item:hover{background:#1a1c1f}.fx-item input{position:absolute;opacity:0;pointer-events:none}.fx-item:has(input:checked){background:#232529;color:#fff;box-shadow:inset 2px 0 #ee4564}.fx-badge{margin-left:auto;font:700 .56rem/1 var(--font-body);letter-spacing:.05em;text-transform:uppercase;font-style:normal;color:#ee4564;background:#ee456424;border-radius:999px;padding:.18rem .4rem}.fx-chips{display:flex;flex-wrap:wrap;gap:4px}.fx-chips:empty{display:none}.fx-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .4rem .25rem .55rem;background:#1a1c1f;border:1px solid #2a2c30;border-radius:999px;color:#c7c9ce;font:600 .68rem/1 var(--font-body);cursor:pointer}.fx-chip.is-on{border-color:#ee4564;color:#fff}.fx-chip-x{font-style:normal;font-size:.62rem;color:#6b7280}.fx-chip-x:hover{color:#ee4564}.stage{padding:1.1rem;min-width:0;display:flex;flex-direction:column;gap:.55rem}.stage-tools{display:flex;align-items:center;gap:.6rem}.stage-tools .chips button{flex:0 0 auto;padding-inline:.65rem}.chips button.is-on{color:#fff;background:#ee4564;border-color:#ee4564}#stage-dim{margin-left:auto;font-size:.68rem;font-variant-numeric:tabular-nums;color:#6b7280;white-space:nowrap}.stage.hide-handles .mask-handles{display:none!important}.stage-frame{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.stage-box{position:relative;width:var(--st-w, 100%);height:var(--st-h, 100%);max-width:100%;max-height:100%}.stage-grip{position:absolute;right:-14px;bottom:-14px;width:44px;height:44px;padding:0;background:none;border:0;cursor:nwse-resize;touch-action:none;z-index:5}.stage-grip:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#ffd23f;border:2px solid #0f1012}.stage-hgrip{display:none}.stage-section{width:100%;height:100%;border-radius:16px;overflow:hidden;position:relative;isolation:isolate;box-shadow:0 0 0 1px #ffffff12,0 14px 40px -18px #000c}.mask-handles{position:absolute;inset:0;pointer-events:none;z-index:4}.mh-handle{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;background:none;border:0;cursor:grab;touch-action:none;pointer-events:auto}.mh-handle:active{cursor:grabbing}.mh-handle:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#ffd23f;border:2px solid #0f1012;box-shadow:0 2px 8px #0006}.mh-line{position:absolute;top:50%;left:50%;height:2px;background:#ffd23f8c;pointer-events:none}.mh-val{position:absolute;top:-20px;left:50%;transform:translate(-50%);font:600 .62rem/1 var(--font-body);color:#0f1012;background:#ffd23f;padding:2px 5px;border-radius:999px;white-space:nowrap;pointer-events:none}.mh-handle--soft:before{background:transparent;border:2px dashed #ffd23f;box-shadow:none}.mh-handle--soft .mh-line{background:repeating-linear-gradient(to right,rgb(255 210 63 / .45) 0 6px,transparent 6px 12px)}.mh-handle--soft .mh-val{background:#0f1012d9;color:#ffd23f;border:1px solid rgb(255 210 63 / .55)}.mh-invert{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:1px solid #2a2c30;background:#0f1012d9;color:#d1d5db;font-size:1rem;line-height:1;cursor:pointer;pointer-events:auto}.mh-invert.is-on{background:#ee4564;border-color:#ee4564;color:#fff}.fh-dot{position:absolute;width:32px;height:32px;margin:-16px 0 0 -16px;padding:0;background:none;border:0;cursor:grab;touch-action:none;pointer-events:auto}.fh-dot:active{cursor:grabbing}.fh-dot:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#41b5e6;border:2px solid #0f1012;box-shadow:0 2px 8px #0006}.fh-dot:after{content:"";position:absolute;inset:2px;border-radius:50%;border:1px solid rgb(65 181 230 / .5)}@media(max-width:900px){.topbar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0f1012f7}.save-state,#combo-folder{display:none}.actions{position:fixed;z-index:60;left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:#17181beb;backdrop-filter:saturate(180%) blur(12px);border:1px solid #2a2c30;border-radius:999px;padding:.4rem}.actions button{flex:1;padding:.75rem .5rem}.actions #btn-pause{flex:0 0 3rem}.wrap{display:flex;flex-direction:column;height:auto}.stage{order:-1;position:sticky;top:53px;z-index:40;height:40vh;height:var(--stage-h, 40dvh);padding:.6rem;background:#0f1012}.stage-hgrip{display:block;flex:0 0 16px;width:64px;height:16px;margin:0 auto;padding:0;border:0;background:none;touch-action:none;cursor:ns-resize}.stage-hgrip:before{content:"";display:block;width:100%;height:5px;border-radius:999px;background:#3a3d42;margin-top:5px}.controls{border-right:0;overflow:visible}.tabpanels{position:static;flex:none;padding-bottom:6.5rem}.tabpanel{position:static}.subtabpanels{position:static;flex:none}.subtabpanel{position:static}.panel-image,.panel-fx,.thumbs-wrap,.fx-list-wrap,.img-opts-bar,.fx-opts-bar{overflow:visible;max-height:none}.sidebar-resizer{display:none}.fx-list{max-height:none}.seg span{padding:.68rem .3rem}.fx-item{padding:.62rem .5rem}.row input[type=range]{height:2.4rem}.row select{padding:.55rem .4rem}.flip-btns button{padding:.62rem 0}.chips button{padding:.55rem .3rem}.controls button,.controls select,.controls input{touch-action:manipulation}#ov-add{padding:.6rem 1rem}}dialog{width:min(760px,92vw);max-height:86vh;background:#17181b;color:#d1d5db;border:1px solid #2a2c30;border-radius:14px;padding:1.1rem 1.2rem}#export-dlg{display:none;flex-direction:column;width:min(1200px,94vw);height:min(90vh,1000px);max-height:90vh;overflow:hidden}#export-dlg[open]{display:flex}#export-dlg .exp-body{flex:1;min-height:0;overflow:auto}#export-dlg .exp-standalone{flex:0 0 auto;margin-top:.9rem}@media(min-width:60em){#export-dlg .exp-body{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);gap:.9rem;overflow:hidden}#export-dlg .exp-block{margin:0;display:flex;flex-direction:column;min-height:0}#export-dlg .exp-block pre{flex:1;max-height:none;min-height:0}#export-dlg .exp-prompt{grid-column:1 / -1}#export-dlg .exp-prompt pre{max-height:22vh}#export-dlg .exp-body:has(#exp-js-block[hidden]) .exp-combined{grid-column:1 / -1}}dialog::backdrop{background:#0000008c;backdrop-filter:blur(3px)}.dlg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.dlg-head h2{margin:0;font:700 1.05rem/1 var(--font-display);color:#fff}.dlg-head button{background:none;border:0;color:#9ca3af;font-size:1rem;cursor:pointer}.exp-block{margin-bottom:.9rem}.exp-standalone{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .9rem;background:#1a1c1f;border:1px solid #2a2c30;border-radius:10px}.exp-standalone .hint{margin:0}.exp-standalone button{flex:0 0 auto;font:600 .76rem/1 var(--font-body);color:#0f1012;background:#ffd23f;border:0;border-radius:999px;padding:.55rem .95rem;cursor:pointer;white-space:nowrap}.exp-standalone button:hover{background:#ffdc6b}.exp-standalone button:disabled{opacity:.6;cursor:default}.exp-block>header{display:flex;align-items:center;justify-content:space-between;font:700 .72rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;margin-bottom:.35rem}.exp-block button{font:600 .7rem/1 var(--font-body);color:#0f1012;background:#ffd23f;border:0;border-radius:999px;padding:.3rem .7rem;cursor:pointer}.exp-block pre{margin:0;max-height:220px;overflow:auto;background:#0f1012;border:1px solid #2a2c30;border-radius:8px;padding:.7rem .8rem;font-size:.7rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.pal-dlg{width:min(420px,92vw)}.pal-field{display:flex;flex-direction:column;gap:.3rem;font-size:.72rem;color:#9ca3af;margin-bottom:.9rem}.pal-field input{background:#1a1c1f;border:1px solid #2a2c30;border-radius:6px;color:#e5e7eb;font:600 .85rem/1 var(--font-body);padding:.5rem .6rem}.pal-field input:focus{outline:none;border-color:#41b5e6}.pal-field-label{font:700 .62rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin-bottom:.45rem}.pal-colors{display:flex;flex-direction:column;gap:.4rem;max-height:42vh;overflow-y:auto}.pc-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.pc-row.dragging{opacity:.4}.pc-handle{flex:0 0 auto;width:1rem;color:#5b6169;background:none;border:0;cursor:grab;font-size:.9rem;line-height:1;padding:0}.pc-handle:hover{color:#b8bcc4}.pc-stop{display:flex;align-items:center;gap:.35rem}.pc-col{flex:0 0 auto;width:3.6rem;height:2.8rem;padding:0;border:1px solid #2a2c30;border-radius:7px;background:#000;cursor:pointer}.pc-stop .hex-in{width:5.4rem;flex:0 0 auto}.pc-prev{flex:0 0 auto;width:2.8rem;height:2.8rem;border-radius:7px;border:1px solid #2a2c30}.pcr-app[data-theme=nano].pcr-app{width:17em}.pcr-app[data-theme=nano] .pcr-interaction{row-gap:.45em}.pcr-app[data-theme=nano] .pcr-interaction .pcr-result{flex:1 1 100%;min-width:0;font-size:.78rem;padding:.4em .55em}.pc-tone{flex:1;min-width:0;background:#1a1c1f;border:1px solid #2a2c30;border-radius:6px;color:#e5e7eb;font:400 .8rem/1 var(--font-body);padding:.45rem .55rem}.pc-tone:focus{outline:none;border-color:#41b5e6}.pc-remove{flex:0 0 auto;color:#9ca3af;background:none;border:0;font-size:.85rem;cursor:pointer}.pc-remove:hover{color:#ee4564}.pal-add-color{align-self:flex-start;margin-top:.5rem;font:600 .72rem/1 var(--font-body);color:#d1d5db;background:#232529;border:0;border-radius:999px;padding:.45rem .85rem;cursor:pointer}.pal-add-color:hover{background:#2e3136}.pal-paste{margin-top:.7rem}.pal-paste summary{font:600 .72rem/1 var(--font-body);color:#9ca3af;cursor:pointer;padding:.3rem 0}.pal-paste textarea{width:100%;margin:.4rem 0;background:#0f1012;border:1px solid #2a2c30;border-radius:6px;color:#e5e7eb;font:400 .72rem/1.4 ui-monospace,monospace;padding:.5rem .6rem;resize:vertical}.pal-paste textarea:focus{outline:none;border-color:#41b5e6}.pal-paste>button{font:600 .7rem/1 var(--font-body);color:#0f1012;background:#ffd23f;border:0;border-radius:999px;padding:.4rem .75rem;cursor:pointer}.pal-dlg-foot{display:flex;align-items:center;gap:.5rem;margin-top:1.1rem}.pal-dlg-foot button{font:600 .78rem/1 var(--font-body);color:#d1d5db;background:#232529;border:0;border-radius:999px;padding:.5rem .95rem;cursor:pointer}.pal-dlg-foot button:hover{background:#2e3136}.pal-dlg-foot .primary{color:#0f1012;background:#ffd23f}.pal-dlg-foot .primary:hover{background:#ffdc6b}.pal-del{margin-right:auto;color:#ee4564!important;background:#ee45641f!important}.pal-del:hover{background:#ee456433!important}.unsaved-dlg{width:min(420px,92vw)}.cat-dlg{width:min(460px,94vw)}.cat-body{display:flex;flex-direction:column;gap:.6rem;max-height:52vh;overflow-y:auto;margin-top:.6rem}.cat-sec{border:1px solid #2a2c30;border-radius:10px;padding:.5rem .55rem}.cat-sec.drop-into{border-color:#ffd23f}.cat-sec.dragging{opacity:.5}.cat-head{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.cat-grip{flex:0 0 auto;background:none;border:0;color:#5b6169;cursor:grab;font-size:.85rem}.cat-grip:hover{color:#d1d5db}.cat-name{flex:1;min-width:0;background:#1a1c1f;border:1px solid #2a2c30;border-radius:6px;color:#fff;font:700 .76rem/1 var(--font-display);padding:.35rem .5rem}.cat-name:focus{outline:none;border-color:#41b5e6}.cat-del{flex:0 0 auto;background:none;border:0;color:#9ca3af;font-size:.8rem;cursor:pointer}.cat-del:hover{color:#ee4564}.cat-items{display:flex;flex-direction:column;gap:3px;min-height:1.4rem}.cat-item{display:flex;align-items:center;gap:.4rem;padding:.3rem .4rem;background:#1a1c1f;border:1px solid #2a2c30;border-radius:6px;font-size:.74rem;color:#d1d5db;cursor:grab}.cat-item.dragging{opacity:.4}.cat-item.drop-into{box-shadow:0 -2px #ffd23f}.ci-grip{color:#5b6169;font-size:.8rem}.org-dlg{width:min(1100px,94vw)}.org-body{display:flex;flex-direction:column;gap:.7rem;max-height:62vh;overflow-y:auto;margin:.6rem 0}.org-sec{border:1px solid #2a2c30;border-radius:10px;padding:0 .55rem .6rem}.org-sec.dropping{border-color:#ffd23f}.org-body.uploading{opacity:.6;pointer-events:none}.org-sec__head{display:flex;align-items:center;gap:.6rem;position:sticky;top:0;z-index:2;background:#17181b;font:700 .72rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;padding:.55rem .1rem}.org-sec__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-selall{font:600 .68rem/1 var(--font-body);letter-spacing:normal;text-transform:none;color:#9ca3af;background:none;border:0;padding:.2rem .3rem;cursor:pointer}.org-selall:hover{color:#d1d5db}.org-delfolder{font-size:.72rem;color:#6b7280;background:none;border:0;padding:.2rem .3rem;cursor:pointer}.org-delfolder:hover{color:#ee4564}.org-count{color:#6b7280;font-weight:600}.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;min-height:2.2rem}.org-thumb{position:relative;aspect-ratio:4/3;border:2px solid transparent;border-radius:8px;background:#1a1c1f center/cover no-repeat;cursor:grab}.org-thumb.is-picked{border-color:#41b5e6}.org-thumb.is-picked:after{content:"✓";position:absolute;top:4px;right:4px;width:18px;height:18px;background:#41b5e6;color:#0f1012;border-radius:50%;font:700 12px/18px var(--font-body);text-align:center}.org-thumb[data-count]:before{content:attr(data-count);position:absolute;top:4px;left:4px;background:#ffd23f;color:#0f1012;border-radius:999px;padding:2px 6px;font:700 11px/1 var(--font-body)}.org-thumb.dragging{background-image:none!important;background-color:#ffffff0a;border:2px dashed #3a3d42}.org-thumb.dragging:after{display:none}.org-thumb.drag-hidden{display:none}.org-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.6rem}.org-foot .pal-add-color{margin-top:0;align-self:auto}.org-actions{display:flex;align-items:center;gap:.5rem;min-width:0}.org-sel-count{font-size:.74rem;color:#9ca3af;white-space:nowrap}.org-actions select{min-width:0;background:#1a1c1f;color:#d1d5db;border:1px solid #2a2c30;border-radius:6px;padding:.4rem;font-size:.75rem}.org-actions button{font:600 .72rem/1 var(--font-body);color:#d1d5db;background:#232529;border:0;border-radius:999px;padding:.45rem .85rem;cursor:pointer;white-space:nowrap}.org-actions button:hover{background:#2e3136}.org-danger{color:#ee4564!important;background:#ee45641f!important}.org-danger:hover{background:#ee456433!important}
