.editor{display:flex;flex-direction:column;gap:12px}
.ed-dark{--surface:#242835;--bg:#2c3140;--line:#39404f;--line-strong:#4b5468;--ink:#e9ebf2;--muted:#98a1b4;--accent:#3b82f6;--accent-ink:#fff;--accent-soft:#2b3757;--radius-sm:10px;background:#1b1e27;border:1px solid #2b3040;border-radius:16px;padding:14px}
.ed-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ed-tool{height:40px;min-width:56px;padding:0 12px;border:1px solid var(--line-strong);background:var(--bg);color:var(--ink);border-radius:10px;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1}
.ed-tool.ico{min-width:40px;width:40px;padding:0;font-size:1.1rem}
.ed-tool:hover{border-color:var(--accent)}
.ed-tool[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.ed-tool:disabled{opacity:.4;cursor:default}
.ed-sep{width:1px;height:26px;background:var(--line);margin:0 4px}
.ed-zoom{min-width:52px;text-align:center;color:var(--ink);font-size:.85rem;font-variant-numeric:tabular-nums}
.ed-hint{color:var(--muted);font-size:.82rem}
.ed-main{display:grid;grid-template-columns:1fr 320px;gap:14px;align-items:start}
@media(max-width:900px){.ed-main{grid-template-columns:1fr}}
.ed-stage-wrap{background:#15171e;border:1px solid #2b3040;border-radius:12px;overflow:hidden;height:72vh;min-height:420px;position:relative}
#stage{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;outline:none}
.ed-side{display:flex;flex-direction:column;gap:12px}
@media(min-width:901px){.ed-side{max-height:72vh;overflow:auto;padding-right:4px}}
.ed-panel{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}
.ed-panel h4{margin:0 0 10px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
.ed-field{display:flex;align-items:center;gap:10px;margin:9px 0;font-size:.85rem}
.ed-field>label{flex:0 0 80px;color:var(--muted)}
.ed-field input[type=range]{flex:1;min-width:0}
.ed-field input[type=color]{width:42px;height:30px;padding:2px;border:1px solid var(--line-strong);border-radius:6px;background:var(--bg);cursor:pointer}
.ed-field input[type=text],.ed-field textarea,.ed-field select{flex:1;min-width:0;background:var(--bg);color:var(--ink);border:1px solid var(--line-strong);border-radius:8px;padding:7px 9px;font:inherit;font-size:.85rem}
.ed-field .val{flex:0 0 42px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.ed-toggles{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ed-toggles .chk{font-size:.84rem;display:inline-flex;align-items:center;gap:5px;color:var(--ink)}
.ed-layers{display:flex;flex-direction:column-reverse}
.layer{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid var(--line);border-radius:8px;margin-top:6px;cursor:pointer;background:var(--bg)}
.layer.active{border-color:var(--accent);background:var(--accent-soft)}
.layer canvas{width:38px;height:38px;border:1px solid var(--line);border-radius:5px;background:#fff;flex:0 0 auto}
.layer .lname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:600;color:var(--ink)}
.layer .licon{background:none;border:none;cursor:pointer;font-size:1rem;padding:2px 3px;line-height:1;color:var(--muted)}
.layer .licon:hover{color:var(--ink)}
.ed-actions{display:flex;flex-wrap:wrap;gap:8px}
.ed-actions .btn{width:auto;height:42px;padding:0 16px;font-size:.88rem}
.ed-side .btn{width:auto;height:36px;padding:0 12px;font-size:.82rem}
.btn.mini{width:auto;height:32px;padding:0 12px;font-size:.8rem}
.ed-del{margin-top:12px}
.ed-del .btn{width:100%;height:38px;font-size:.85rem}
