.isoplan{--iso-font:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--iso-bg:#070b0c;--iso-bg-grid:#00f0ff09;--iso-border:#1f2937;--iso-text:#e5e7eb;--iso-text-strong:#fff;--iso-muted:#6b7280;--iso-dim:#9ca3af;--iso-accent:#00f0ff;--iso-stroke:#7defff;--iso-top:#1d3236;--iso-left:#122124;--iso-right:#0b1517;--iso-ext-stroke:#a1a1aa;--iso-ext-top:#26262b;--iso-ext-left:#1a1a1e;--iso-ext-right:#121215;--iso-window:#00f0ff47;--iso-slab:#0c1517;--iso-slab-top:#00f0ff0a;--iso-slab-stroke:#00f0ff73;--iso-grid:#00f0ff;--iso-zone:#b026ff;--iso-zone-fill:#b026ff0f;--iso-zone-text:#c084fc;--iso-area-text:#fff;--iso-track:#00f0ff;--iso-flow:#00f0ff;--iso-label:#e5e7eb;--iso-num:#00f0ff;--iso-halo:#070b0c;--iso-on-top:#00f0ff;--iso-on-left:#00a9b4;--iso-on-right:#007a82;--iso-linked-top:#2c5a60;--iso-label-on:#00f0ff;--iso-min-width:760px}.isoplan:where([data-theme=light]){--iso-bg:#f7fafb;--iso-bg-grid:#0891b20f;--iso-border:#d4dde2;--iso-text:#1f2937;--iso-text-strong:#0f172a;--iso-muted:#64748b;--iso-dim:#475569;--iso-accent:#0e7490;--iso-stroke:#0e7490;--iso-top:#e3f4f8;--iso-left:#c7e6ee;--iso-right:#a9d6e1;--iso-ext-stroke:#71717a;--iso-ext-top:#f4f4f5;--iso-ext-left:#e4e4e7;--iso-ext-right:#d4d4d8;--iso-window:#0891b24d;--iso-slab:#dfe9ec;--iso-slab-top:#ffffffb3;--iso-slab-stroke:#0e749073;--iso-grid:#0e7490;--iso-zone:#7e22ce;--iso-zone-fill:#7e22ce0d;--iso-zone-text:#7e22ce;--iso-area-text:#0f172a;--iso-track:#0e7490;--iso-flow:#0891b2;--iso-label:#1f2937;--iso-num:#0e7490;--iso-halo:#f7fafb;--iso-on-top:#22d3ee;--iso-on-left:#06b6d4;--iso-on-right:#0891b2;--iso-linked-top:#a5f3fc;--iso-label-on:#0e7490}.isoplan{box-sizing:border-box;color:var(--iso-text);font-family:var(--iso-font);border:1px solid var(--iso-border);background:linear-gradient(var(--iso-bg-grid) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, var(--iso-bg-grid) 1px, transparent 1px) 0 0 / 24px 24px, var(--iso-bg)}.isoplan.is-full{z-index:200;--iso-min-width:1100px;border:0;flex-direction:column;display:flex;position:fixed;inset:0}.isoplan .iso-bar{border-bottom:1px solid var(--iso-border);align-items:flex-start;gap:.75rem;min-height:2.5rem;padding:.5rem .75rem;font-size:12px;line-height:1.5;display:flex}.isoplan .iso-info{flex:1}.isoplan .iso-info-num{color:var(--iso-accent)}.isoplan .iso-info-name{color:var(--iso-text-strong)}.isoplan .iso-info-sub,.isoplan .iso-info-hint{color:var(--iso-muted)}.isoplan .iso-info-links{color:var(--iso-dim)}.isoplan .iso-toggle{color:var(--iso-accent);font:inherit;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0}.isoplan .iso-toggle:hover,.isoplan .iso-toggle:focus-visible{color:var(--iso-text-strong)}.isoplan .iso-viewport{overflow-x:auto}.isoplan.is-full .iso-viewport{flex:1;overflow:auto}.isoplan .iso-stats{border-top:1px solid var(--iso-border);color:var(--iso-muted);flex-wrap:wrap;gap:.25rem 1.5rem;padding:.5rem .75rem;font-size:11px;display:flex}.isoplan .iso-stats b{color:var(--iso-text-strong)}.iso-scene svg{width:100%;height:auto;min-width:var(--iso-min-width,760px);font-family:var(--iso-font);display:block}svg.iso-scene{font-family:var(--iso-font)}.iso-scene .iso-face{stroke:var(--iso-stroke);stroke-opacity:.7;stroke-width:1.1px;stroke-linejoin:round;transition:fill .2s,stroke-opacity .2s}.iso-scene .iso-top{fill:var(--iso-top)}.iso-scene .iso-left{fill:var(--iso-left)}.iso-scene .iso-right{fill:var(--iso-right)}.iso-scene .iso-ext .iso-top{fill:var(--iso-ext-top)}.iso-scene .iso-ext .iso-left{fill:var(--iso-ext-left)}.iso-scene .iso-ext .iso-right{fill:var(--iso-ext-right)}.iso-scene .iso-ext .iso-face{stroke:var(--iso-ext-stroke)}.iso-scene .iso-window{fill:var(--iso-window);stroke:var(--iso-stroke);stroke-opacity:.6;stroke-width:.6px}.iso-scene .iso-deco{fill:none;stroke:var(--iso-stroke);stroke-opacity:.8;stroke-width:.9px}.iso-scene .iso-slab-side{fill:var(--iso-slab);stroke:var(--iso-slab-stroke);stroke-width:1px}.iso-scene .iso-slab-top{fill:var(--iso-slab-top);stroke:var(--iso-slab-stroke);stroke-width:1px}.iso-scene .iso-grid{stroke:var(--iso-grid);stroke-opacity:.07;stroke-width:.7px}.iso-scene .iso-block{fill:var(--iso-zone-fill);stroke:var(--iso-zone);stroke-opacity:.6;stroke-width:.9px;stroke-dasharray:5 3}.iso-scene .iso-block-name{fill:var(--iso-zone-text);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.iso-scene .iso-area-name{fill:var(--iso-area-text);font-size:19px;font-weight:700}.iso-scene .iso-track{fill:none;stroke:var(--iso-track);stroke-opacity:.28;stroke-width:1.2px;stroke-linejoin:round;transition:stroke-opacity .2s}.iso-scene .iso-label{fill:var(--iso-label);cursor:pointer;font-size:16px;font-weight:700}.iso-scene .iso-label .iso-num{fill:var(--iso-num)}.iso-scene .iso-label,.iso-scene .iso-area-name,.iso-scene .iso-block-name{paint-order:stroke;stroke:var(--iso-halo);stroke-width:4px;stroke-linejoin:round}.iso-scene .iso-piece{cursor:pointer;outline:none}.iso-scene .iso-piece:focus-visible .iso-face{stroke:var(--iso-accent);stroke-opacity:1;stroke-width:2px}.iso-scene .iso-flow{fill:none;stroke:var(--iso-flow);stroke-width:2px;stroke-linecap:round;stroke-dasharray:4 16;opacity:.7;animation:iso-flow var(--iso-flow-duration,.42s) linear infinite;transition:opacity .2s}@keyframes iso-flow{0%{stroke-dashoffset:20px}to{stroke-dashoffset:0}}.iso-scene[data-on] .iso-piece .iso-face{stroke-opacity:.25}.iso-scene[data-on] .iso-track{stroke-opacity:.07}.iso-scene[data-on] .iso-flow{opacity:.1}.iso-scene[data-on] .iso-label{opacity:.45}.iso-scene .iso-track.is-on{stroke-opacity:1;stroke-width:2.2px}.iso-scene .iso-flow.is-on{opacity:1;stroke-width:3px}.iso-scene .iso-piece.is-on .iso-face,.iso-scene .iso-piece.is-linked .iso-face{stroke-opacity:1}.iso-scene .iso-piece.is-on .iso-top{fill:var(--iso-on-top)}.iso-scene .iso-piece.is-on .iso-left{fill:var(--iso-on-left)}.iso-scene .iso-piece.is-on .iso-right{fill:var(--iso-on-right)}.iso-scene .iso-piece.is-linked .iso-top{fill:var(--iso-linked-top)}.iso-scene .iso-label.is-on,.iso-scene .iso-label.is-linked{opacity:1}.iso-scene .iso-label.is-on{fill:var(--iso-label-on)}@media (prefers-reduced-motion:reduce){.iso-scene .iso-flow{animation:none}.iso-scene .iso-face,.iso-scene .iso-track,.iso-scene .iso-flow{transition:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--demo-bg:#030607;--demo-panel:#0a1012;--demo-border:#1f2937;--demo-text:#e5e7eb;--demo-muted:#9ca3af;--demo-accent:#00f0ff;--demo-error:#f87171}*{box-sizing:border-box}body{background:var(--demo-bg);color:var(--demo-text);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.demo[data-theme=light]{--demo-bg:#eef3f5;--demo-panel:#fff;--demo-border:#d4dde2;--demo-text:#0f172a;--demo-muted:#475569;--demo-accent:#0e7490;--demo-error:#b91c1c;background:var(--demo-bg);color:var(--demo-text)}.demo{min-height:100vh;padding:16px}.demo-header{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.demo-header h1{color:var(--demo-accent);margin:0;font-size:22px}.demo-header h1 span{color:var(--demo-muted);font-weight:400}.demo-header p{color:var(--demo-muted);flex:1;min-width:240px;margin:0;font-size:13px}.demo-header nav{gap:12px;font-size:13px;display:flex}.demo a{color:var(--demo-accent)}.demo-toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:16px 0;display:flex}.demo-group{display:flex}.demo button{font:inherit;color:var(--demo-text);background:var(--demo-panel);border:1px solid var(--demo-border);cursor:pointer;padding:6px 10px;font-size:12px}.demo-group button+button{border-left:0}.demo button[aria-pressed=true]{color:var(--demo-accent);border-color:var(--demo-accent)}.demo button:hover{color:var(--demo-accent)}.demo-status{color:var(--demo-muted);font-size:12px}.demo-main{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:16px;display:grid}.demo-editor{flex-direction:column;gap:6px;display:flex}.demo-editor label{color:var(--demo-muted);font-size:12px}.demo-editor textarea{width:100%;height:70vh;min-height:320px;color:var(--demo-text);background:var(--demo-panel);border:1px solid var(--demo-border);resize:vertical;padding:10px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.demo-editor p{overflow-wrap:anywhere;margin:0;font-size:12px}.demo-ok{color:var(--demo-muted)}.demo-error{color:var(--demo-error)}.demo-plan{min-width:0}@media (width<=860px){.demo-main{grid-template-columns:1fr}.demo-editor textarea{height:40vh}}
