:root{color-scheme:dark;--bg:#111418;--panel:#1a1f26;--line:#2a313b;--accent:#e8b64c;--text:#e6e9ee;--muted:#8a94a3}*{box-sizing:border-box}body{margin:0;font:14px/1.4 system-ui,sans-serif;background:var(--bg);color:var(--text)}.center{min-height:100vh;display:grid;place-items:center}.muted{color:var(--muted)}.error{color:#ff6b6b}button{background:var(--accent);color:#111;border:0;border-radius:6px;padding:8px 12px;font-weight:600;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}input{background:#0d1116;border:1px solid var(--line);color:var(--text);border-radius:6px;padding:8px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}.login{display:flex;flex-direction:column;gap:12px;width:320px}.login label{display:flex;flex-direction:column;gap:4px}.app{height:100vh;display:flex;flex-direction:column}header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line)}header .ghost{margin-left:auto}.layout{flex:1;display:grid;grid-template-columns:200px 1fr 300px;overflow:hidden}.sidebar,.params{background:var(--panel);overflow:auto;padding:12px}.sidebar{border-right:1px solid var(--line)}.params{border-left:1px solid var(--line)}.configs{list-style:none;margin:0 0 12px;padding:0}.configs li{padding:6px 8px;border-radius:6px;cursor:pointer}.configs li:hover{background:#0d1116}.configs li.active{background:#0d1116;outline:1px solid var(--accent)}.stage{display:flex;flex-direction:column;padding:16px;gap:12px;overflow:auto}.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;min-height:0}figure{margin:0;background:#0d1116;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}figcaption{padding:6px 10px;border-bottom:1px solid var(--line);color:var(--muted)}figure img{flex:1;object-fit:contain;min-height:0;background:#000}.drop{flex:1;display:grid;place-items:center;color:var(--muted)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.upload{background:var(--accent);color:#111;border-radius:6px;padding:8px 12px;font-weight:600;cursor:pointer}.nameInput{flex:1;min-width:120px}.status{color:var(--muted);min-height:18px;display:flex;gap:8px;align-items:center}.status .autosave{color:var(--text);background:var(--line);border-radius:8px;padding:0 8px;font-size:12px}.group{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}.group h4{margin:8px 0 4px}.group>summary{cursor:pointer;list-style:none;padding:6px 0;font-weight:600;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.group>summary::-webkit-details-marker{display:none}.group>summary:before{content:"▸";color:var(--muted);font-size:11px;transition:transform .1s}.group[open]>summary:before{transform:rotate(90deg)}.group>summary .badge{margin-left:auto;background:var(--line);color:var(--text);border-radius:10px;padding:0 7px;font-size:11px;font-weight:500}.param{margin-bottom:6px}.param label{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted)}.param .ctl{display:flex;align-items:center;gap:6px}.param .dot{width:13px;height:13px;border-radius:50%;border:1px solid var(--line);flex:none}.param input.val{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:4px;width:72px;text-align:right;padding:1px 4px;font:inherit}.param input.val:focus{outline:none;border-color:var(--muted)}.param input[type=range]{width:100%}.param input[type=range].hue{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;border-radius:4px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.param input[type=range].hue::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #222;cursor:pointer}.param input[type=range].hue::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #222;cursor:pointer}.tabs{display:flex;gap:6px}.tab{background:transparent;color:var(--muted);border:1px solid var(--line);padding:6px 12px}.tab.on{color:#111;background:var(--accent);border-color:var(--accent)}select{background:#0d1116;border:1px solid var(--line);color:var(--text);border-radius:6px;padding:8px}.catalogForm{display:flex;flex-direction:column;gap:12px;max-width:640px}.catalogForm label{display:flex;flex-direction:column;gap:4px;color:var(--muted)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.check{flex-direction:row!important;align-items:center;gap:8px;color:var(--text)}.chip{background:transparent;color:var(--muted);border:1px solid var(--line);padding:4px 10px;border-radius:14px;font-size:12px;text-transform:capitalize}.chip.on{color:#111;background:var(--accent);border-color:var(--accent)}button.danger{background:#3a1418;color:#ff8a8a;border:1px solid #5a2a2a}button.danger:hover{background:#4a1a20}.tabs.sub{margin-bottom:12px}.configs li.archived{opacity:.5}.fieldError{display:block;color:#ff6b6b;font-size:12px;margin-top:4px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer;background:#222;border:1px solid #3a3a3a;color:#bbb}.chip.on{background:#2f5d50;border-color:#47917c;color:#eaf6f2}.tiny{padding:2px 8px;font-size:12px}.palette{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.swatchRow{display:inline-flex;align-items:center;gap:2px}.swatchRow input[type=color]{width:38px;height:28px;padding:0;border:none;background:none}.rangePair{display:flex;gap:6px}.rangePair input{width:100%}.param select,.param input[type=text],.param>input{width:100%}.drawn{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;color:#aaa;padding:8px 0;border-top:1px solid #2a2a2a}.drawn code{color:#ddd}.layerMeta{display:inline-flex;align-items:center;gap:4px;background:#1e1e1e;padding:2px 8px;border-radius:4px}.layerMeta .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.slider{display:flex;flex-direction:column;min-height:0;flex:1}.wipe{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#000}.wipe img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.wipe img.over{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto}.wipeLabel{position:absolute;top:8px;font-size:11px;color:#eee;background:#0000008c;padding:2px 8px;border-radius:3px;pointer-events:none}.wipeLabel.left{left:8px}.wipeLabel.right{right:8px}.slider input[type=range]{width:100%;margin-top:8px;flex:none}.profileEditor{padding:4px 8px;overflow-y:auto}.profileEditor section{margin:20px 0}.profileEditor h4{margin:0 0 8px}table.weights{width:100%;border-collapse:collapse;font-size:13px}table.weights th{text-align:left;color:#888;font-weight:500;padding:4px 6px}table.weights td{padding:3px 6px;border-top:1px solid #262626}table.weights input{width:90px}.sqlOut{width:100%;height:260px;font-family:ui-monospace,monospace;font-size:11px;background:#141414;color:#ddd;border:1px solid #2e2e2e;border-radius:4px;padding:10px;white-space:pre;overflow:auto;resize:vertical}.sqlPanel{border-top:1px solid #2a2a2a;padding-top:10px}
