#ws-root{--wl:#c9382f;--wa:#c9382f;--wa-h:#a82c24;--ws-ok-bg:#e9f8f1;--ws-ok-bd:#bfe8d4;--ws-ok-tx:#065f46;--ws-ok-tx2:#256f55;--ws-warn:#9a3412;--ws-chk:repeating-conic-gradient(#f1eef8 0% 25%,#fff 0% 50%) 50%/16px 16px;container-type:inline-size;color:var(--text-primary)}
[data-theme="dark"] #ws-root{--wl:#ff8a86;--ws-ok-bg:#0d2a21;--ws-ok-bd:#1b5a43;--ws-ok-tx:#7ee0b5;--ws-ok-tx2:#8fd9b8;--ws-warn:#fbbf86;--ws-chk:repeating-conic-gradient(#2a1f45 0% 25%,#1a1030 0% 50%) 50%/16px 16px}
#ws-root [hidden]{display:none!important}
#ws-root .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#ws-root button,#ws-root select,#ws-root input{font-family:inherit}
#ws-root :focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.ws-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.ws-files,.ws-settings{background:var(--card-bg);border:1px solid var(--border);border-radius:20px}
.ws-files{padding:18px;min-height:420px}.ws-settings{padding:20px}.ws-side{align-self:stretch;display:flex;flex-direction:column;gap:14px}
.ws-act{position:sticky;bottom:92px;z-index:5;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:12px;box-shadow:0 6px 24px rgba(0,0,0,.14)}.ws-act .ws-limits{margin:8px 0 0}.ws-act .ws-hint{margin:0 0 8px}
.ws-drop{border:2px dashed var(--border);border-radius:18px;min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 16px;cursor:pointer;transition:border-color .15s,background .15s}
.ws-drop:hover,.ws-drop.over{border-color:var(--wa);background:var(--accent-soft)}
.ws-drop .big{width:76px;height:76px;border-radius:22px;background:var(--accent-soft);color:var(--wa);display:grid;place-items:center;margin-bottom:18px}
.ws-btnp{display:inline-flex;gap:10px;align-items:center;background:var(--wa);color:#fff;border:0;border-radius:14px;padding:16px 32px;font-weight:800;font-size:18px;cursor:pointer}
.ws-drop .or{margin-top:12px;color:var(--text-secondary);font-size:15px}.ws-drop .fm{margin-top:6px;color:var(--text-secondary);font-size:13px}
.ws-fbar{display:flex;align-items:center;gap:12px;margin:2px 2px 14px;flex-wrap:wrap}.ws-fbar b{font-size:15px}.ws-fbar span{color:var(--text-secondary);font-size:13px}.ws-fbar .grow{flex:1}
.ws-lnk{background:none;border:0;color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px;font-weight:600;font-size:13px;cursor:pointer;padding:6px}.ws-lnk:hover{color:var(--wl)}
.ws-summary{background:var(--ws-ok-bg);border:1px solid var(--ws-ok-bd);border-radius:14px;padding:14px 16px;margin-bottom:16px}
.ws-summary .t{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-weight:800;color:var(--ws-ok-tx);font-size:16px}.ws-summary .t small{font-weight:600;color:var(--ws-ok-tx2);font-size:13px}
.ws-summary .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.ws-notice{background:var(--accent-soft);border:1px solid var(--wa);border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:14px;color:var(--text-primary)}.ws-notice a{color:var(--wl);font-weight:700}
.ws-b2{border:1px solid var(--border);background:var(--card-bg);color:var(--text-primary);border-radius:11px;padding:10px 15px;font-weight:700;font-size:14px;cursor:pointer;min-height:40px}.ws-b2:hover{border-color:var(--wa)}
.ws-bd{border:0;background:var(--wa);color:#fff;border-radius:11px;padding:11px 18px;font-weight:800;font-size:15px;cursor:pointer;min-height:40px}.ws-bd:hover{background:var(--wa-h)}
.ws-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}
.ws-fc{position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--card-bg);display:flex;flex-direction:column}
.ws-fc.bad{border-color:var(--wa)}
.ws-th{position:relative;display:block;width:100%;height:128px;padding:0;border:0;background:var(--ws-chk);cursor:zoom-in;overflow:hidden}
.ws-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.ws-th .noprev{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;color:var(--text-secondary);font-size:15px;text-transform:uppercase}
.ws-rm{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(30,10,60,.78);color:#fff;font-weight:700;font-size:16px;cursor:pointer;line-height:1;z-index:2}
.ws-st{position:absolute;inset:0;display:none;place-items:center;background:rgba(255,255,255,.8);font-weight:700;font-size:13px;color:#1e0a3c;z-index:1;text-align:center}
[data-theme="dark"] .ws-st{background:rgba(26,16,48,.82);color:#f1f5f9}
.ws-fc.proc .ws-st,.ws-fc.queued .ws-st{display:grid}
.ws-spin{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--wa);border-radius:50%;animation:wsspin .8s linear infinite;margin:0 auto 6px}@keyframes wsspin{to{transform:rotate(360deg)}}
.ws-cb{padding:9px 10px 10px;display:flex;flex-direction:column;flex:1}.ws-nm{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-mt{font-size:12px;color:var(--text-secondary);margin-top:3px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ws-badge{background:#d1f2e2;color:#065f46;border-radius:999px;padding:1px 8px;font-weight:800;font-size:11.5px}.ws-badge.k{background:var(--border);color:var(--text-primary)}
.ws-err{font-size:12px;color:var(--ws-warn);margin-top:5px;line-height:1.35;font-weight:600}
.ws-dl{margin-top:auto;padding-top:8px}.ws-dl button{width:100%;border:1px solid var(--border);background:var(--card-bg);border-radius:9px;padding:8px;font-weight:700;font-size:12.5px;cursor:pointer;color:var(--text-primary);min-height:36px}.ws-dl button:hover{border-color:var(--wa)}
.ws-add{border:2px dashed var(--border);border-radius:14px;min-height:190px;display:grid;place-items:center;color:var(--text-secondary);font-weight:700;font-size:14px;cursor:pointer;background:transparent;text-align:center}.ws-add:hover{border-color:var(--wa);color:var(--wl)}.ws-add i{display:block;font-style:normal;font-size:30px;line-height:1;margin-bottom:4px}
.ws-settings h2{font-size:16px;margin:0 0 14px}
.ws-presets,.ws-seg{display:grid;gap:6px;margin-bottom:16px}.ws-presets{grid-template-columns:repeat(3,1fr)}.ws-seg{grid-template-columns:1fr 1fr}
.ws-presets button,.ws-seg button{border:1px solid var(--border);background:var(--card-bg);border-radius:10px;padding:10px 4px;font-weight:700;font-size:12.5px;cursor:pointer;color:var(--text-primary);min-height:42px}
.ws-presets button[aria-pressed=true],.ws-seg button[aria-pressed=true]{background:var(--text-primary);color:var(--card-bg);border-color:var(--text-primary)}
.ws-fld{margin-bottom:14px}.ws-fld>label,.ws-fld>.lbl{display:flex;justify-content:space-between;font-weight:700;font-size:13px;margin-bottom:6px}.ws-fld output{color:var(--text-secondary);font-weight:700}
.ws-fld select,.ws-fld input[type=text],.ws-fld input[type=password],.ws-fld input[type=number],.ws-fld textarea{width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg);font-size:14px;color:var(--text-primary);min-height:42px}.ws-fld input[type=range]{width:100%;accent-color:var(--wa)}
.ws-fld .help{font-size:12px;color:var(--text-secondary);margin-top:5px;line-height:1.4}.ws-fld .help.warn{color:var(--ws-warn);font-weight:600}
.ws-tgt{display:grid;grid-template-columns:1fr 84px;gap:8px}.ws-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ws-chips button{border:1px solid var(--border);background:var(--card-bg);border-radius:999px;padding:6px 12px;font-weight:700;font-size:12.5px;cursor:pointer;color:var(--text-primary);min-height:34px}.ws-chips button:hover{border-color:var(--wa)}
.ws-adv{border-top:1px solid var(--border);margin:6px 0 14px;padding-top:10px}.ws-adv summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--text-secondary);padding:6px 0}.ws-adv .ws-fld{margin-top:12px}
.ws-chk{display:flex;gap:8px;align-items:flex-start;font-size:13px;font-weight:600;line-height:1.35}.ws-chk input{margin-top:2px;width:18px;height:18px;accent-color:var(--wa);flex:none}
.ws-go{width:100%;border:0;background:var(--wa);color:#fff;border-radius:14px;padding:16px;font-weight:800;font-size:17px;cursor:pointer;min-height:52px}.ws-go:hover:not(:disabled){background:var(--wa-h)}.ws-go:disabled{background:var(--border);color:var(--text-secondary);cursor:not-allowed}
.ws-go.dirty{outline:3px solid var(--accent-soft);box-shadow:0 0 0 3px var(--wa)}
.ws-limits{font-size:12.5px;color:var(--text-secondary);margin:10px 0 0;line-height:1.5}.ws-limits.warn{color:var(--ws-warn);font-weight:700}.ws-limits a{color:var(--wl);font-weight:700}
.ws-hint{font-size:12.5px;color:var(--ws-warn);margin:0 0 10px;font-weight:700}
.ws-safe{font-size:12px;color:var(--text-secondary);margin:12px 0 0;line-height:1.45}
.ws-lb{position:fixed;inset:0;background:rgba(20,10,40,.8);display:none;place-items:center;z-index:9999;padding:20px}.ws-lb.on{display:grid}
.ws-lb .box{background:var(--card-bg);border-radius:16px;max-width:min(960px,96vw);width:100%;padding:16px;color:var(--text-primary)}
.ws-lb .tabs{display:flex;gap:8px;margin-bottom:12px;align-items:center}.ws-lb .tabs button{border:1px solid var(--border);background:var(--card-bg);color:var(--text-primary);border-radius:9px;padding:8px 14px;font-weight:700;font-size:13px;cursor:pointer;min-height:38px}.ws-lb .tabs button[aria-pressed=true]{background:var(--text-primary);color:var(--card-bg)}.ws-lb .tabs .x{margin-left:auto}
.ws-lb .view{background:var(--ws-chk);border-radius:10px;display:grid;place-items:center;max-height:70vh;overflow:auto}.ws-lb img{max-width:100%;max-height:70vh;display:block}.ws-lb .cap{font-size:13px;color:var(--text-secondary);margin-top:10px}
@container (max-width:780px){.ws-grid{display:flex;flex-direction:column}.ws-grid>*{min-width:0}.ws-side{display:contents}.ws-settings{order:2}.ws-act{order:3;position:static;margin-right:0;box-shadow:none}#ws-root.has-files .ws-act{position:sticky;bottom:12px;margin-right:76px;box-shadow:0 6px 24px rgba(0,0,0,.18)}.ws-files{min-height:0}.ws-drop{min-height:280px}.ws-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.ws-grid{display:flex;flex-direction:column}.ws-grid>*{min-width:0}.ws-side{display:contents}.ws-settings{order:2}.ws-act{order:3;position:static;margin-right:0;box-shadow:none}#ws-root.has-files .ws-act{position:sticky;bottom:12px;margin-right:76px;box-shadow:0 6px 24px rgba(0,0,0,.18)}.ws-files{min-height:0}.ws-drop{min-height:280px}.ws-cards{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.ws-spin{animation:none}.ws-drop{transition:none}}

#ws-root .ws-th video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;background:#0b0618;pointer-events:none}
#ws-root .ws-th .ico{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-secondary);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
#ws-root .ws-th .ico svg{width:38px;height:38px}
#ws-root .ws-el{display:block;font-weight:600;font-size:12px;margin-top:2px;opacity:.85}
.ws-lb .view video,.ws-lb .view audio{max-width:100%;max-height:70vh;display:block}
.ws-lb .view audio{width:min(520px,90%);margin:40px 0}
.ws-lb .view iframe{width:100%;height:70vh;border:0;background:#fff}
.ws-lb .view .nop{padding:40px 20px;color:var(--text-secondary);font-size:14px;text-align:center}
.ws-lb .view svg.big{width:56px;height:56px;color:var(--text-secondary);margin:30px auto 0;display:block}
.ws-lb .cap a{color:var(--wl);font-weight:700}
#ws-root .ws-fld>label.ws-chk{justify-content:flex-start;margin-bottom:0}

/* combine mode, notes, number fields (v2) */
#ws-root .ws-note{background:var(--ws-note-bg,rgba(120,100,200,.08));border-radius:10px;padding:10px 12px;margin:0;font-size:13px;line-height:1.45}
#ws-root .ws-fc .ws-ord{position:absolute;top:6px;left:6px;min-width:26px;height:26px;padding:0 7px;border-radius:13px;background:var(--wa);color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.3)}
#ws-root .ws-fc.drag{cursor:grab}
#ws-root .ws-fc.dragging{opacity:.45}
#ws-root .ws-fc.dropt{outline:3px dashed var(--wa);outline-offset:-3px}
#ws-root .ws-mv{display:flex;gap:6px;padding:0 10px 10px}
#ws-root .ws-mv button{flex:1;min-height:36px;border:1px solid var(--border);border-radius:9px;background:var(--card-bg);color:var(--text-primary);font-size:16px;font-weight:700;cursor:pointer}
#ws-root .ws-mv button:hover:not(:disabled){border-color:var(--wa);color:var(--wl)}
#ws-root .ws-mv button:disabled{opacity:.35;cursor:default}

/* sticky action bar needs the page, not body, to be the scroller */
html body{overflow-x:clip!important;overflow-y:visible!important}

.ws-pp{margin-top:18px;border-top:1px solid var(--border);padding-top:16px}
.ws-pph{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ws-pph b{font-size:15px}.ws-ppc{color:var(--text-secondary);font-size:13px}.ws-pph2,.ws-ppn{margin:6px 0 12px;color:var(--text-secondary);font-size:13px}
.ws-ppt{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 0}
.ws-pgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:12px}
.ws-pg{position:relative;display:flex;flex-direction:column;align-items:stretch;border:2px solid var(--border);border-radius:12px;background:var(--card-bg);padding:6px 6px 8px;cursor:pointer;color:var(--text-primary);font:inherit;text-align:center}
.ws-pg .cv{display:grid;place-items:center;min-height:150px;background:#fff;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.ws-pg .cv canvas{max-width:100%;height:auto;display:block}.ws-pg .cv:not(.ok){background:var(--ws-chk)}
.ws-pg .num{margin-top:7px;font-weight:700;font-size:13px}.ws-pg .orig{font-size:12px;color:var(--text-secondary)}
.ws-pg:hover{border-color:var(--wa)}
.ws-pg.on{border-color:var(--wa);box-shadow:0 0 0 2px var(--wa) inset}.ws-pg.on .num{color:var(--wl)}
.ws-pg.on::after{content:"\2713";position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:12px;background:var(--wa);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800}
.ws-pgs.rm .ws-pg.on .cv{opacity:.35}.ws-pgs.rm .ws-pg.on::after{content:"\00D7";font-size:18px}
.ws-pg[draggable=true]{cursor:grab}.ws-pg.dragging{opacity:.45}.ws-pg.dropt{outline:3px dashed var(--wa);outline-offset:-3px}
.ws-pg .ws-mv{display:flex;gap:6px;margin-top:6px;justify-content:center}.ws-pg .ws-mv button{min-width:44px;min-height:34px;border:1px solid var(--border);background:var(--card-bg);color:var(--text-primary);border-radius:9px;cursor:pointer;font-size:15px}.ws-pg .ws-mv button:disabled{opacity:.4;cursor:default}

.ws-fld textarea{resize:vertical;font-family:inherit;line-height:1.4;min-height:96px}

.ws-player{margin-bottom:16px}.ws-media{display:block;width:100%;max-height:240px;border-radius:12px;background:#000}audio.ws-media{background:transparent;max-height:none}.ws-prow{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.ws-prow button{border:1px solid var(--border);background:var(--card-bg);border-radius:10px;padding:10px 6px;font-weight:700;font-size:12.5px;cursor:pointer;color:var(--text-primary);min-height:42px}.ws-prow button:hover{border-color:var(--accent,#4f46e5)}.ws-pinfo{font-size:12.5px;color:var(--text-secondary);margin-top:6px;line-height:1.4}
