:root{--bg:#f3f5f7;--surface:#fff;--text:#1c2630;--muted:#5f6d7a;--border:#d6dde3;--accent:#2f6f9f;--accent-text:#fff;--deck:#c9a877;--deck-edge:#8c6d42;--blocked:#9aa4ad;--ok:#2e8b57;--warn:#c98a12;--err:#c7362f;--select:#1f7ae0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#12171c;--surface:#1b232b;--text:#e3e9ee;--muted:#93a2b0;--border:#2f3b46;--accent:#5a9fd4;--accent-text:#0d1318;--deck:#6e5a3c;--deck-edge:#a88a5c;--blocked:#4a545d;--ok:#4cbb7f;--warn:#e0a93a;--err:#ef6a61;--select:#69aefc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{white-space:nowrap;margin:0;font-size:18px}h2{margin:0 0 8px;font-size:14px}code,kbd{font:12px ui-monospace,Menlo,Consolas,monospace}kbd{border:1px solid var(--border);border-radius:3px;padding:0 4px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;display:flex;position:sticky;top:0}.actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}button,.button,select,input{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:5px 10px}button,.button{cursor:pointer}button:hover,.button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger:hover{border-color:var(--err);color:var(--err)}button.small{padding:1px 7px;font-size:12px}input{width:100%;min-width:0}:focus-visible{outline:2px solid var(--select);outline-offset:1px}.field{flex-direction:column;gap:3px;margin-bottom:8px;display:flex}.field>span{color:var(--muted);font-size:12px}.field.inline{flex-direction:row;align-items:center;gap:6px;margin:0}.grid2,.grid3{gap:8px;display:grid}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr 1fr}.hint{color:var(--muted);margin:0 0 8px;font-size:12px}.muted{color:var(--muted);font-weight:400}.form-error{color:var(--err);min-height:0;margin:0 0 6px;font-size:12px}.form-error:empty{display:none}.layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px;padding:16px;display:grid}@media (max-width:900px){.layout{grid-template-columns:minmax(0,1fr)}.sidebar{order:2}}.sidebar,.main{flex-direction:column;gap:16px;min-width:0;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.items{max-height:55vh;margin:0;padding:0;list-style:none;overflow:auto}.items li{border-bottom:1px solid var(--border);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:12px 1fr auto;align-items:center;gap:4px 8px;padding:6px 4px;display:grid}.items li.selected{background:color-mix(in srgb, var(--select) 14%, transparent)}.items li .swatch{border-radius:3px;width:12px;height:12px}.items li .meta{color:var(--muted);grid-column:2/4;font-size:12px}.items li .row-actions{gap:4px;display:flex}.items li .status{border:1px solid var(--border);border-radius:8px;padding:0 5px;font-size:11px}.items li .status.on{color:var(--ok);border-color:var(--ok)}.items .empty{cursor:default;color:var(--muted);display:block}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 12px}.stat .label{color:var(--muted);font-size:12px}.stat .value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.stat .value small{color:var(--muted);font-size:12px;font-weight:400}.bar{background:var(--border);border-radius:3px;height:5px;margin-top:5px;overflow:hidden}.bar>i{background:var(--ok);height:100%;display:block}.bar.warn>i{background:var(--warn)}.bar.err>i{background:var(--err)}.view-head{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.view svg{width:100%;height:auto;display:block}.top-view{touch-action:none;-webkit-user-select:none;user-select:none}.deck{fill:var(--deck);stroke:var(--deck-edge);stroke-width:1px}.deck-blocked{fill:var(--blocked)}.step-line{stroke:var(--text);stroke-width:1.2px;stroke-dasharray:4 3}.section-label,.tick-label,.side-deck-label,.front-label{fill:var(--muted);text-anchor:middle;font-size:9px}.front-label{letter-spacing:1px;font-size:8px}.tick{stroke:var(--muted)}.kingpin{fill:none;stroke:var(--text);stroke-width:1.5px}.axle{fill:var(--text)}.item{cursor:grab}.item rect{stroke:#0006;stroke-width:.8px}.item text{fill:#111;text-anchor:middle;dominant-baseline:central;pointer-events:none}.item-warning rect{stroke:var(--warn);stroke-width:2.5px}.item-error rect{stroke:var(--err);stroke-width:3px;stroke-dasharray:5 2}.item.selected rect{stroke:var(--select);stroke-width:3px;stroke-dasharray:none}.item.dragging{cursor:grabbing;opacity:.85}.cg line{stroke:var(--select);stroke-width:1.2px;stroke-dasharray:2 2}.cg text{fill:var(--select);text-anchor:middle;font-size:9px}.ground{stroke:var(--muted)}.legal-height{stroke:var(--err);stroke-dasharray:6 4}.legal-label{fill:var(--err);text-anchor:end;font-size:9px}.side-deck{fill:var(--deck-edge)}.wheel{fill:#333;stroke:#777;stroke-width:4px}.kingpin-side{fill:var(--text)}.side-item{stroke:#0007;stroke-width:.8px;opacity:.9}.side-item.selected{stroke:var(--select);stroke-width:2.5px}.issues{margin:0 0 8px;padding:0;list-style:none}.issues li{padding:4px 0 4px 22px;position:relative}.issues li:before{font-weight:700;position:absolute;left:0}.issues li.error:before{content:"✕";color:var(--err)}.issues li.warning:before{content:"!";color:var(--warn);left:5px}.issues li.ok:before{content:"✓";color:var(--ok)}.toast{background:var(--text);color:var(--bg);opacity:0;pointer-events:none;border-radius:8px;padding:8px 14px;transition:opacity .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}@media print{.topbar .actions,.sidebar,.hint{display:none!important}.field.inline:has(#grid){display:none!important}.layout{padding:0;display:block}body{background:#fff}}
