:root{--bg: #15151c;--pane: #1d1d27;--line: #2d2d3c;--fg: #e6e4ee;--dim: #8f8ca3;--accent: #f2b347;--accent2: #6fb8ff;--danger: #ff6b6b;--ok: #7ee08a;--c-top: #ff6b6b;--c-chin: #f2b347;--c-feet: #6fb8ff}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font:13px/1.45 system-ui,Microsoft YaHei,PingFang SC,sans-serif}body{display:flex;flex-direction:column;min-width:1180px}button,select,input{font:inherit;color:var(--fg);background:#262633;border:1px solid var(--line);border-radius:4px;padding:3px 8px}button{cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default;border-color:var(--line)}button.primary{background:var(--accent);color:#1a1208;border-color:var(--accent);font-weight:600}button.danger{color:var(--danger)}input[type=range]{padding:0;height:18px;accent-color:var(--accent)}input[type=number],input[type=text]{padding:2px 4px}.mono{font-family:ui-monospace,Consolas,monospace}.hint{color:var(--dim);font-size:12px;font-weight:400}.grow{flex:1}label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}label.chk{gap:2px}#top{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--pane);border-bottom:1px solid var(--line)}#top .brand{font-weight:700;font-size:15px;letter-spacing:1px}#top .brand .sub{color:var(--accent);font-weight:400;font-size:12px;margin-left:2px}.badge{padding:1px 8px;border-radius:10px;border:1px solid var(--line);color:var(--dim);font-size:12px}.badge.dev{border-color:var(--ok);color:var(--ok)}.build{color:var(--dim);font-size:11px;font-family:ui-monospace,monospace}.seg{display:inline-flex}.seg button{border-radius:0;margin-left:-1px}.seg button:first-child{border-radius:4px 0 0 4px;margin-left:0}.seg button:last-child{border-radius:0 4px 4px 0}.seg button.on{background:var(--accent);color:#1a1208;border-color:var(--accent);font-weight:600;position:relative;z-index:1}#layout{flex:1;display:grid;grid-template-columns:minmax(420px,1fr) 400px 340px;gap:8px;padding:8px;min-height:0}.pane{background:var(--pane);border:1px solid var(--line);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:6px;min-height:0;overflow:hidden}.pane h3{margin:4px 0 0;font-size:13px;color:var(--accent);display:flex;gap:8px;align-items:center}.toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}#canvasWrap{flex:1;min-height:360px;position:relative;background:#0f0f14 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><rect width='8' height='8' fill='%2318181f'/><rect x='8' y='8' width='8' height='8' fill='%2318181f'/></svg>");border-radius:4px;overflow:hidden}#stage{position:absolute;inset:0;image-rendering:pixelated}.status{min-height:18px;color:var(--dim);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#timeline{width:100%;height:56px;display:block;background:#14141b;border-radius:4px;cursor:pointer}#sliders{flex:1;overflow:auto;min-height:120px;display:flex;flex-direction:column;gap:2px;padding-right:4px}.srow{display:grid;grid-template-columns:118px 1fr 58px 20px;gap:6px;align-items:center}.srow .name{font-family:ui-monospace,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow .name.near{color:var(--accent)}.srow .name.far{color:var(--accent2)}.srow .name.ik{color:var(--ok)}.srow input[type=number]{width:58px}.srow .reset{padding:0 4px;font-size:11px;color:var(--dim)}.srow.group{grid-template-columns:1fr;margin-top:6px;color:var(--dim);font-size:11px;letter-spacing:1px;border-bottom:1px solid var(--line)}.srow.disabled{opacity:.55}#renderOut{max-height:160px;overflow:auto;background:#0f0f14;padding:6px;border-radius:4px;font-size:11px;white-space:pre-wrap;margin:0}#refWrap{position:relative;background:#0f0f14;border-radius:4px;min-height:260px;flex:0 0 auto}#refCanvas{display:block;width:100%;image-rendering:auto;cursor:ns-resize}.c-top{color:var(--c-top)}.c-chin{color:var(--c-chin)}.c-feet{color:var(--c-feet)}table.kv{border-collapse:collapse;width:100%;font-size:12px}table.kv td{padding:2px 4px;border-bottom:1px solid var(--line)}table.kv td:first-child{color:var(--dim);width:45%}.notes{flex:1;overflow:auto;color:var(--dim);font-size:12px;white-space:pre-wrap}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:#2a2a38;border:1px solid var(--accent);color:var(--fg);padding:6px 14px;border-radius:6px;font-size:13px;z-index:9;box-shadow:0 4px 16px #0006}.toast.err{border-color:var(--danger)}
