.ed{display:grid;grid-template-columns:minmax(0,1fr) 400px;height:calc(100vh - 63px);height:calc(100dvh - 63px)}
.ed-stage{position:relative;min-height:0;background:#eef1f6}.ed-stage canvas{display:block;width:100%!important;height:100%!important;touch-action:none}
.ed-moves{position:absolute;left:12px;right:12px;bottom:12px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.ed-moves::-webkit-scrollbar{display:none}
.ed-stat{position:absolute;left:12px;top:10px;font-size:12px;color:#5f6577;background:rgba(255,255,255,.75);padding:3px 8px;border-radius:7px}
.ed-stage .toast{bottom:64px;position:absolute}
.ed-panel{background:var(--bg2);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.ed-panel h1{font-size:19px;margin:14px 16px 8px}
.tabs{display:flex;gap:4px;padding:0 12px;border-bottom:1px solid var(--line)}.tabs button{flex:1;border:0;background:none;padding:10px 4px;font:700 14px/1 inherit;font-family:inherit;color:var(--mut);cursor:pointer;border-bottom:3px solid transparent}.tabs button.on{color:var(--ink);border-color:var(--acc)}
.pane{flex:1;overflow:auto;padding:12px 14px}
.pane .row{margin-bottom:14px}.pane .row>b{display:block;font-size:13px;color:var(--mut);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
#p-char{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:start}
.card{border:2px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:10px 4px;font:600 13px/1.2 inherit;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.card span{font-size:28px}.card.on{border-color:var(--acc);background:rgba(139,123,255,.18)}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 11px;font:600 13px/1 inherit;font-family:inherit;cursor:pointer;white-space:nowrap}.chip.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.ed-moves .chip{background:rgba(10,12,22,.78);border-color:rgba(255,255,255,.15);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ed-moves .chip.on{background:var(--acc)}
.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}.col{display:flex;align-items:center;gap:7px;font-size:13px;background:var(--card);border-radius:9px;padding:5px 7px;cursor:pointer}
.col input{width:30px;height:30px;border:0;padding:0;background:none;cursor:pointer;flex:none}
.sl{display:grid;grid-template-columns:110px 1fr 44px;align-items:center;gap:8px;font-size:14px;margin-bottom:12px}.sl input{width:100%;accent-color:var(--acc)}.sl span{text-align:right;color:var(--mut);font-size:13px}
.tog{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;margin:8px 0}.tog input{width:18px;height:18px;accent-color:var(--acc)}
.ed-dl{border-top:1px solid var(--line);padding:12px 14px 14px;background:var(--bg)}.ed-row{display:flex;gap:6px}.ed-row select{flex:1;min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--card);color:var(--ink)}.ed-row .btn{padding:8px 11px}
.ed-dl .dlnote{text-align:center;margin:8px 0 0}
#p-colors .ghost{border-radius:9px;padding:8px 12px;cursor:pointer;font:600 13px inherit;font-family:inherit}
@media (max-width:860px){.ed{grid-template-columns:minmax(0,1fr);height:auto}.ed-stage{height:56vh;height:56svh}.ed-panel{border-left:0}.pane{max-height:none;overflow:visible}#p-char{grid-template-columns:repeat(4,minmax(0,1fr))}.ed-dl{position:sticky;bottom:0;box-shadow:0 -6px 20px rgba(0,0,0,.4)}}
@media (max-width:420px){#p-char{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pane[hidden]{display:none!important}
.ed-panel,.pane,.ed-dl{min-width:0}.tabs button{min-width:0}.card{min-width:0;overflow:hidden}

#p-colors .ghost{color:var(--ink)}.ed-panel h1{font-family:"Space Grotesk",system-ui,sans-serif}
