:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--line: #2a2f3a;--text: #e7e9ee;--muted: #9aa3b2;--accent: #e0202a;--accent-2: #ffd14d;--ok: #34d399;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;background:var(--bg);color:var(--text)}#app{display:flex;height:100vh;overflow:hidden}.panel{flex:0 0 auto;width:360px;background:var(--panel);overflow-y:auto;padding:18px}.resizer{flex:0 0 auto;width:6px;cursor:col-resize;background:var(--line);transition:background .15s}.resizer:hover{background:var(--accent)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:.3px;margin-bottom:4px}.brand .dot{width:11px;height:11px;border-radius:50%;background:var(--accent)}.brand small{color:var(--muted);font-weight:500;font-size:12px}.section{margin-top:22px}.section>.label{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:9px}.choices{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.choice{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 8px;cursor:pointer;text-align:center;font-size:13px;transition:.15s;-webkit-user-select:none;user-select:none}.choice small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.choice:hover{border-color:#3a4252}.choice.active{border-color:var(--accent);background:#241016}.row{display:flex;gap:10px}.row>*{flex:1}.field{margin-top:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.field input[type=number],.field input[type=text],.field select{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:9px 10px;font-size:14px}.field input[type=range]{width:100%}.drop{border:1.5px dashed #3a4252;border-radius:12px;padding:18px;text-align:center;color:var(--muted);cursor:pointer;transition:.15s}.drop:hover{border-color:var(--accent);color:var(--text)}.drop.has{border-style:solid;border-color:var(--ok);color:var(--text)}.drop b{color:var(--text)}.swatches{display:flex;flex-wrap:wrap;gap:7px}.sw{width:26px;height:26px;border-radius:6px;cursor:pointer;border:2px solid transparent}.sw.active{border-color:#fff}.btn{width:100%;border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:600;cursor:pointer;margin-top:10px}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.btn.ghost:hover{border-color:#3a4252}.stage{position:relative;flex:1 1 0;min-width:0}.stage canvas{display:block}.angles{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;gap:8px;background:#14161ccc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;padding:7px}.angles button{background:transparent;border:1px solid transparent;color:var(--muted);border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px}.angles button.active{background:var(--panel-2);color:var(--text);border-color:var(--line)}.sublabel{font-size:11px;color:var(--muted);margin:14px 0 7px}.field2 label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.field2 input,.field2 select{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px 9px;font-size:13px}.field2 select{cursor:pointer}.layers{display:flex;flex-direction:column;gap:6px}.layer-row{display:flex;align-items:center;gap:9px;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:8px 10px;cursor:pointer;font-size:13px}.layer-row.active{border-color:var(--accent);background:#241016}.layer-row .tag{color:var(--muted);flex:0 0 auto}.layer-row .linfo{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.layer-row .lname{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-row .lmeta{font-size:10px;color:var(--muted)}.layer-row .lacts{flex:0 0 auto;display:flex;gap:2px}.layer-row .lacts button{background:transparent;border:none;color:var(--muted);cursor:pointer;width:22px;height:22px;border-radius:6px;font-size:12px}.layer-row .lacts button:hover:not(:disabled){background:#2a2f3a;color:var(--text)}.layer-row .lacts button:disabled{opacity:.25;cursor:default}.btn.sm{padding:9px;font-size:13px;margin-top:0}.hint{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5}.divider{height:1px;background:var(--line);margin:20px 0}.toggle{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text)}
