:root{--bg: #14161c;--panel: #1c1f27;--line: #2b3040;--text: #e6e8ee;--dim: #8f97aa;--accent: #ff5a32}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.4 system-ui,Segoe UI,sans-serif;display:flex;flex-direction:column;overflow:hidden}.hidden{display:none!important}button,input,select{font:inherit;color:var(--text);background:#262b38;border:1px solid var(--line);border-radius:6px;padding:5px 9px}button{cursor:pointer}button:hover{background:#303649}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover{background:#ff7048}input[type=range]{padding:0;width:140px;vertical-align:middle}input[type=number]{width:70px}input[type=checkbox]{padding:0}label{color:var(--dim)}label input,label select{margin-left:4px}#top{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{font-size:15px}a.back{color:var(--text);text-decoration:none;background:#262b38;border:1px solid var(--line);border-radius:6px;padding:5px 10px}a.back:hover{background:#303649}.decor-pick{display:block;margin-top:8px;font-size:12px}.decor-pick select{width:100%;margin:3px 0 0}.brand span{color:var(--accent)}.gap{flex:1}.menu{position:relative}.dropdown{position:absolute;top:34px;left:0;z-index:20;min-width:240px;max-height:60vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 10px 30px #000a}.dropdown h4{margin:8px 6px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim)}.dropdown button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:6px 8px}.dropdown button:hover{background:#303649}.dropdown .item{display:flex;gap:4px}.dropdown .item .del{width:auto;color:#ff7b7b}main{flex:1;display:flex;min-height:0}aside{background:var(--panel);padding:10px;overflow:auto}#tools{width:190px;border-right:1px solid var(--line)}#side{width:280px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px}aside h3{margin:10px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--dim)}aside h3:first-child{margin-top:0}.row{display:flex;gap:6px;align-items:end;flex-wrap:wrap}.row label{display:flex;flex-direction:column;gap:2px}.row label input{margin:0}.hint{color:var(--dim);margin:2px 0;font-size:12px}.check{display:flex;align-items:center;gap:6px}output{color:var(--text);margin-left:4px}#tool-list{display:grid;grid-template-columns:1fr 1fr;gap:5px}#tool-list button{text-align:left;padding:6px 8px}#tool-list button.on{background:var(--accent);border-color:var(--accent);color:#fff}#tool-list kbd{float:right;opacity:.6;font:inherit;font-size:11px}#palette{display:grid;grid-template-columns:1fr 1fr;gap:4px}#palette button{display:flex;align-items:center;gap:6px;padding:4px 6px;text-align:left;font-size:12px}#palette button.on{outline:2px solid var(--accent)}#palette .sw{width:16px;height:16px;border-radius:3px;border:1px solid #0006;flex:none;display:grid;place-items:center;font-size:10px;font-weight:700;color:#000a}#stage{flex:1;position:relative;min-width:0;background:#0d0f14}#cv{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair}#status{position:absolute;left:8px;bottom:8px;background:#000a;padding:3px 9px;border-radius:6px;font-size:12px;pointer-events:none;color:var(--dim)}#toast{position:absolute;left:50%;top:14px;transform:translate(-50%);max-width:70%;background:#22304a;border:1px solid #3d5a8c;padding:8px 14px;border-radius:8px;z-index:5}#toast.error{background:#4a2222;border-color:#8c3d3d}#toast.ok{background:#1f3d2a;border-color:#3d8c58}#problems{margin:0;padding-left:16px}#problems li{margin:3px 0}#problems li.bad{color:#ff9a8a}#problems li.good{color:#8fe0a2;list-style:none;margin-left:-16px}#dialog{position:fixed;inset:0;background:#000a;display:grid;place-items:center;z-index:50}#dialog-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;min-width:320px;display:flex;flex-direction:column;gap:10px}#dialog-box h2{margin:0 0 4px;font-size:16px}#dialog-box .row{align-items:center}#dialog-box .buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
