:root{--bg:#111418;--panel:#181c22;--panel-2:#1f242c;--line:#2c333e;--text:#e7eaf0;--muted:#9aa3b2;--accent:#4f9cf9;--accent-ink:#0b1220;--accent-soft:color-mix(in srgb, var(--accent) 18%, transparent);--warn:#f2b134;--bad:#ef6b6b;--bad-soft:color-mix(in srgb, var(--bad) 14%, transparent);--ok:#4fc38a;--stage:#0a0c10;--r:6px;--r-sm:4px;--control-h:30px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font:13px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:light){:root{--bg:#eceef2;--panel:#fafbfc;--panel-2:#f0f2f5;--line:#d3d8df;--text:#1a1f27;--muted:#586172;--accent:#1f6fd6;--accent-ink:#fbfcfe;--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--warn:#8a5a00;--bad:#c03636;--bad-soft:color-mix(in srgb, var(--bad) 9%, transparent);--ok:#1d7f4f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{white-space:nowrap;margin:0;font-size:15px;font-weight:650}h2{color:var(--text);margin:18px 0 8px;font-size:12px;font-weight:600}button,select,input{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);min-height:var(--control-h);padding:4px 10px}input,select{font-variant-numeric:tabular-nums}button{cursor:pointer;transition:border-color .12s,background-color .12s,transform 80ms}button:hover:not(:disabled){border-color:var(--accent)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}button.primary:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.with-icon{align-items:center;gap:4px;display:inline-flex}input[type=number],input[type=text],select{width:100%}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--accent);justify-self:start}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}kbd{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text);border-bottom-width:2px;padding:0 6px;font:11px/1.4 ui-monospace,Cascadia Mono,Consolas,monospace}.app{grid-template:"bar bar bar""side main insp"minmax(0,1fr)/280px minmax(0,1fr) 300px;height:100vh;display:grid}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);grid-area:bar;align-items:center;gap:8px;padding:8px 12px;display:flex}.toolbar select{width:auto}.toolbar .spacer{flex:1}.dirty{border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);border-radius:var(--r);background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn);margin-right:4px;padding:1px 8px;font-size:12px;font-weight:600}.sidebar,.inspector-pane{background:var(--panel);padding:4px 14px 18px;overflow:auto}.sidebar{border-right:1px solid var(--line);grid-area:side}.inspector-pane{border-left:1px solid var(--line);grid-area:insp}.main{flex-direction:column;grid-area:main;min-width:0;min-height:0;display:flex;position:relative}.layout-fields{padding-top:10px}.field{gap:3px;margin-bottom:10px;display:grid}.field.wide{grid-column:1/-1}.field-label{color:var(--muted);font-size:12px}.field.invalid input,.field.invalid select{border-color:var(--bad)}.field-issue{color:var(--bad);font-size:12px}.grid2{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.section-head{justify-content:space-between;align-items:center;display:flex}.slot-list ul,.issues ul{margin:0;padding:0;list-style:none}.slot-list li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;margin-bottom:4px;display:grid}.slot-list .slot-pick{text-align:left;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:5px 10px;display:flex}.slot-list li.on .slot-pick{border-color:var(--accent);background:var(--accent-soft)}.slot-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.slot-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.slot-actions{gap:2px;display:flex}.icon-button{width:26px;height:26px;min-height:26px;color:var(--muted);background:0 0;border-color:#0000;place-items:center;padding:0;display:grid}.icon-button:hover:not(:disabled){color:var(--text);border-color:var(--line);background:var(--panel-2)}.icon-button.danger:hover:not(:disabled){color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, transparent)}.icon-button svg{width:15px;height:15px}.empty-block{border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);margin:12px 0;padding:14px}.empty-block p{margin:0}.empty-block .empty-title{color:var(--text);margin-bottom:4px;font-weight:600}.issues h2{color:var(--ok)}.issues.has-issues h2{color:var(--bad)}.issues li{color:var(--text);margin-bottom:6px}.issues code{color:var(--warn)}.import-error{border:1px solid var(--bad);border-radius:var(--r);background:var(--bad-soft);margin:12px 16px 0;padding:10px 14px}.import-error ul{margin:6px 0 10px;padding-left:18px}.note,.empty{color:var(--muted);font-size:12px}.stage-wrap{flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;padding:16px;display:flex;overflow:hidden}.stage{background:var(--stage);outline:1px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:none;position:relative;overflow:hidden}.stage-center-x,.stage-center-y{pointer-events:none;background:#ffffff10;position:absolute}.stage-center-x{width:1px;top:0;bottom:0}.stage-center-y{height:1px;left:0;right:0}.shortcuts{max-width:900px;color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:12px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.slot-content,.slot-box,.nameplate-marker{position:absolute}.slot-content{cursor:move;background-image:url(/test-card.svg);background-repeat:no-repeat;overflow:hidden}.slot-box{cursor:move;pointer-events:none;border:1px dashed #fff5}.slot.selected .slot-box{border:2px solid var(--accent);pointer-events:none}.slot.parked .slot-content{opacity:.35;filter:grayscale()}.slot-label{border-radius:var(--r-sm);color:#e7eaf0;white-space:nowrap;background:#000000b0;padding:1px 6px;font-weight:600;position:absolute;top:4px;left:4px}.slot.selected .slot-label{background:var(--accent);color:var(--accent-ink)}.handle{border:1px solid var(--accent);pointer-events:auto;background:#fafbfc;border-radius:2px;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute}.handle-nw{cursor:nwse-resize;top:0;left:0}.handle-n{cursor:ns-resize;top:0;left:50%}.handle-ne{cursor:nesw-resize;top:0;left:100%}.handle-e{cursor:ew-resize;top:50%;left:100%}.handle-se{cursor:nwse-resize;top:100%;left:100%}.handle-s{cursor:ns-resize;top:100%;left:50%}.handle-sw{cursor:nesw-resize;top:100%;left:0}.handle-w{cursor:ew-resize;top:50%;left:0}.nameplate-marker{pointer-events:none;border-radius:var(--r-sm);color:#1b1f27;white-space:nowrap;background:#f2b134e0;padding:2px 8px;font-size:11px;font-weight:600}.guide{pointer-events:none;background:#ef6b6b;position:absolute}.guide-x{width:1px;top:0;bottom:0}.guide-y{height:1px;left:0;right:0}.align-picker{grid-template-columns:repeat(3,24px);gap:3px;display:grid}.align-picker label{border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;place-items:center;width:24px;height:24px;display:grid}.align-picker label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.align-picker label.on{border-color:var(--accent);background:var(--accent-soft)}.align-picker input{opacity:0;width:1px;height:1px;position:absolute}.align-picker span{background:var(--muted);border-radius:50%;width:6px;height:6px}.align-picker label.on span{background:var(--accent)}.readout{grid-template-columns:auto 1fr;gap:3px 10px;margin:0 0 8px;display:grid}.readout dt{color:var(--muted)}.readout dd{font-variant-numeric:tabular-nums;margin:0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
