:root{--bg: #f2f3f5;--surface: #ffffff;--surface-2: #e9ebef;--line: #d6dae0;--fg: #1c2025;--muted: #5a626d;--accent: #2748b8;--accent-soft: rgba(39, 72, 184, .11);--on-accent: #ffffff;--gold: #a87a1c;--ok: #1d7448;--warn: #8f5600;--stage: #23272d;--stage-fg: #e9ebee;--font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-body: "IBM Plex Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius: 10px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #121519;--surface: #1a1e23;--surface-2: #232830;--line: #343a44;--fg: #e7e9ec;--muted: #9ba3ad;--accent: #86a1ff;--accent-soft: rgba(134, 161, 255, .15);--on-accent: #0d1430;--gold: #e2b85a;--ok: #63c793;--warn: #e6a64b;--stage: #0d0f12;--stage-fg: #e7e9ec;color-scheme:dark}}:root[data-theme=dark]{--bg: #121519;--surface: #1a1e23;--surface-2: #232830;--line: #343a44;--fg: #e7e9ec;--muted: #9ba3ad;--accent: #86a1ff;--accent-soft: rgba(134, 161, 255, .15);--on-accent: #0d1430;--gold: #e2b85a;--ok: #63c793;--warn: #e6a64b;--stage: #0d0f12;--stage-fg: #e7e9ec;color-scheme:dark}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:14px;line-height:1.45}h1,h2{font-family:var(--font-display);font-weight:600;letter-spacing:.005em;margin:0;text-wrap:balance}h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}button,select,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-height:100%;display:grid;grid-template-rows:auto auto 1fr auto}.bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-block:12px;padding-inline:16px;border-bottom:1px solid var(--line);background:var(--surface)}.brand{display:flex;align-items:baseline;gap:10px}.mark{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:.08em}.product{font-family:var(--font-display);font-weight:500;font-size:16px}.tilename{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.pill{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.pill.draft{color:var(--warn);border-color:currentColor;background:transparent}.pill.live{color:var(--ok);border-color:currentColor;background:transparent}.banner{padding:9px 16px;background:var(--accent-soft);border-bottom:1px solid var(--line);font-size:13px}.banner.stop{background:transparent;border-left:3px solid var(--warn)}.work{display:grid;grid-template-columns:minmax(0,1fr) 460px;min-height:0}.stage-col{display:grid;grid-template-rows:1fr auto;min-width:0;min-height:0;border-right:1px solid var(--line)}.stage{position:relative;background:var(--stage);min-height:420px;overflow:hidden;touch-action:none}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.stage-top{position:absolute;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;pointer-events:none}.stage-top>*{pointer-events:auto}.stage-hint{color:var(--stage-fg);background:#00000073;border-radius:8px;padding:6px 10px;font-size:12.5px;max-width:46ch}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.seg button{border:0;background:transparent;padding:6px 11px;font-size:13px;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.stage .seg{border-color:#ffffff2e;background:#00000073}.stage .seg button{color:var(--stage-fg)}.stage .seg button[aria-pressed=true]{background:var(--stage-fg);color:var(--stage)}.stage-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-block:12px;padding-inline:16px;background:var(--surface)}.ctl{display:flex;align-items:center;gap:8px}.ctl label{color:var(--muted);font-size:13px;white-space:nowrap}.ctl input[type=range]{accent-color:var(--accent);width:140px}output{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;min-width:6ch}.presets{display:flex;flex-wrap:wrap;gap:6px}.chipbtn{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:4px 11px;font-size:12.5px}.chipbtn:hover{border-color:var(--accent)}.ghost{border:1px solid var(--line);background:transparent;border-radius:8px;padding:6px 12px}.ghost:hover{border-color:var(--accent)}.primary{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);border-radius:8px;padding:7px 14px;font-weight:600}.edit-col{display:flex;flex-direction:column;gap:14px;padding-block:14px;padding-inline:16px;overflow-y:auto;min-width:0;background:var(--bg)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.chips li{font-size:12.5px;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--fg)}.note{margin:0;color:var(--muted);font-size:13px}.hint{border-left:3px solid var(--warn);background:var(--surface);border-radius:6px;padding:9px 12px;display:flex;flex-direction:column;gap:6px}.hint.done{border-left-color:var(--ok)}.hint p{margin:0;font-size:13px}.suggest ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px}.flat-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sub{color:var(--muted);font-size:12.5px}.faces{align-self:flex-start}.toolbar{display:flex;flex-wrap:wrap;gap:6px}.toolbar button{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:5px 10px;font-size:13px}.toolbar button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--fg);font-weight:600}.tool-opts{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;min-height:28px}.tool-opts .ctl input[type=range]{width:110px}.tool-opts .palette{display:flex;flex-direction:column;gap:6px;width:100%}.tool-opts .small{flex-basis:100%}.tool-opts label.check{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:13px}.flat-wrap{position:relative;border-radius:8px;overflow:hidden;background:var(--surface-2);line-height:0}#flat{width:100%;height:auto;display:block;touch-action:none;cursor:crosshair}#flatCursor{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.flat-lock{position:absolute;inset:0;display:grid;place-items:center;background:#00000059;color:#fff;font-size:13px;line-height:1.4;text-align:center;padding:16px}.areas ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.area{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.area[aria-selected=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.area-head{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;background:transparent;padding:8px 10px;text-align:left}.sw{width:22px;height:22px;border-radius:5px;border:1px solid var(--line)}.nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sum{display:block;color:var(--muted);font-size:12px;font-weight:400}.share{font-family:var(--font-mono);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.area-body{display:flex;padding:4px 12px 12px;flex-direction:column;gap:10px}.row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:10px}.row>label,.row>.lbl{color:var(--muted);font-size:13px}.row select{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:5px 8px;min-width:0}.row input[type=range]{accent-color:var(--accent);width:100%}.scale{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;grid-column:2;margin-top:-8px}.metal-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.metal-chips button{width:24px;height:24px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);padding:0}.metal-chips button[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.metal-chips input[type=color]{width:30px;height:26px;border:1px solid var(--line);border-radius:6px;background:transparent;padding:0 2px}.small{font-size:12px;color:var(--muted);margin:0}.rename{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;padding:4px 8px;width:100%;min-width:0;box-sizing:border-box}.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-block:10px;padding-inline:16px;border-top:1px solid var(--line);background:var(--surface);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.actions .grp{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fine{color:var(--muted);font-size:12.5px}button:disabled,input:disabled,select:disabled{opacity:.45;cursor:default}.toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--fg);color:var(--bg);padding:9px 14px;border-radius:8px;font-size:13px;max-width:min(92vw,520px);box-shadow:0 6px 24px #00000040;z-index:10}.work.empty{grid-template-columns:minmax(0,1fr)}.work.empty .edit-col,.work.empty .stage-controls,.work.empty .stage-top,.work.empty #gl{display:none}.loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--stage-fg);font-size:13px;text-align:center;padding:16px}@media(min-width:981px){.app{height:100%}.work{min-height:0;overflow:hidden}.edit-col{overflow-y:auto}}@media(max-width:980px){.work{grid-template-columns:minmax(0,1fr)}.stage-col{border-right:0;border-bottom:1px solid var(--line)}.stage{min-height:56vh}.edit-col{overflow:visible}.status{margin-left:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.bar a.ghost{color:inherit;text-decoration:none}
