.spl{--bg:#e7eae7;--panel:#f7f8f6;--paper:#fbfbf8;--ink:#1b2629;--ink2:#46555a;--muted:#6c797c;--line:#d2d8d5;--line2:#e3e7e4;--accent:#1d6a73;--accent-ink:#ffffff;--accent-soft:#d6e8ea;--sel:#d27a22;--danger:#b83b2e;--slab:#eceee9;--terrace:#e2e5dc;--wall:#2a3437;--column:#3c474a;--sill:#8e9a9c;--glass:#2f86b8;--furn:#ffffff;--furnline:#3a474b;--grid:#dfe3e0;--detail:#a5afb0;--font-d:"Barlow Semi Condensed","Arial Narrow",system-ui,sans-serif;--font-b:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;--font-m:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;color-scheme:light}.spl[data-theme=dark]{--bg:#101517;--panel:#172022;--paper:#1a2326;--ink:#e3eae8;--ink2:#b4c1c0;--muted:#8a9999;--line:#2b373a;--line2:#222c2f;--accent:#4cb1bb;--accent-ink:#0d1a1c;--accent-soft:#1f3a3e;--sel:#f0a050;--danger:#e0705f;--slab:#212b2e;--terrace:#1e2a26;--wall:#d6dfdd;--column:#b9c5c3;--sill:#6c7a7c;--glass:#5cb8e8;--furn:#263134;--furnline:#c7d2d0;--grid:#243033;--detail:#4f5d60;color-scheme:dark}@media (prefers-color-scheme: dark){.spl[data-theme=auto]{--bg:#101517;--panel:#172022;--paper:#1a2326;--ink:#e3eae8;--ink2:#b4c1c0;--muted:#8a9999;--line:#2b373a;--line2:#222c2f;--accent:#4cb1bb;--accent-ink:#0d1a1c;--accent-soft:#1f3a3e;--sel:#f0a050;--danger:#e0705f;--slab:#212b2e;--terrace:#1e2a26;--wall:#d6dfdd;--column:#b9c5c3;--sill:#6c7a7c;--glass:#5cb8e8;--furn:#263134;--furnline:#c7d2d0;--grid:#243033;--detail:#4f5d60;color-scheme:dark}}.spl,.spl *{box-sizing:border-box}.spl{position:relative;background:var(--bg);color:var(--ink);font:14px/1.4 var(--font-b);text-align:left;border-radius:12px;height:var(--spl-h,86vh);min-height:620px;display:flex;flex-direction:column;padding:10px 14px 14px;overflow:hidden;isolation:isolate}.spl.spl-full{position:fixed;inset:0;z-index:100000;height:auto;min-height:0;border-radius:0;padding:max(10px,env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) max(14px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px))}.spl h1,.spl h2,.spl h3,.spl h4,.spl p{margin:0;padding:0;border:0;color:inherit;text-transform:none;letter-spacing:normal}.spl button,.spl input,.spl select,.spl textarea{font:inherit;color:inherit;margin:0;text-transform:none;letter-spacing:normal;box-shadow:none;min-height:0;min-width:0;width:auto;line-height:1.25;text-shadow:none}.spl button{cursor:pointer;background:none;border:0;padding:0;border-radius:0;text-decoration:none}.spl button:hover,.spl button:focus{background-image:none;text-decoration:none}.spl canvas{max-width:none;max-height:none;display:block}.spl img{max-width:100%;height:auto}.spl label{margin:0;font-weight:inherit;display:inline}.spl input[type=checkbox]{width:auto;height:auto;margin:0;accent-color:var(--accent)}.spl :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.spl [hidden]{display:none!important}.spl-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;padding-bottom:10px}.spl-brand{display:flex;flex-direction:column;line-height:1.1;margin-right:auto;min-width:0}.spl-brand b{font:700 19px/1.15 var(--font-d);letter-spacing:.01em;color:var(--ink)}.spl-brand b[contenteditable]{outline:none;border-bottom:1px dashed transparent;cursor:text}.spl-brand b[contenteditable]:hover,.spl-brand b[contenteditable]:focus{border-bottom-color:var(--muted)}.spl-brand span{font:500 11px/1.3 var(--font-d);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.spl .seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:2px;gap:2px}.spl .seg button{background:transparent;padding:5px 11px;border-radius:6px;font:600 13px/1.2 var(--font-d);letter-spacing:.04em;color:var(--ink2)}.spl .seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.spl .btn{border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:6px 11px;font:600 13px/1.2 var(--font-d);letter-spacing:.03em;color:var(--ink2);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.spl .btn:hover{border-color:var(--accent);color:var(--ink);background:var(--panel)}.spl .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.spl .btn.primary:hover{filter:brightness(1.08);color:var(--accent-ink);background:var(--accent)}.spl .btn.warn{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.spl .btn:disabled{opacity:.45;cursor:default}.spl .btn.big{padding:10px 16px;font-size:15px}.spl-hgroup{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.spl-status{font:500 12px var(--font-b);color:var(--muted);white-space:nowrap}.spl-status.dirty{color:var(--sel)}.spl-work{flex:1;display:grid;grid-template-columns:236px minmax(0,1fr) 272px;gap:10px;min-height:0}.spl .panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:auto;min-height:0;min-width:0}.spl .ph{font:600 11px/1 var(--font-d);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:12px 12px 8px}.spl .tools{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 10px 10px}.spl .tool{border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;font:600 12px/1.1 var(--font-d);color:var(--ink2)}.spl .tool kbd{font:400 10px var(--font-m);color:var(--muted);background:none;border:0;padding:0;box-shadow:none}.spl .tool[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.spl .toggles{display:flex;gap:10px;padding:0 12px 10px;flex-wrap:wrap;font-size:13px;color:var(--ink2)}.spl .toggles label{display:flex;gap:5px;align-items:center}.spl .lib details{border-top:1px solid var(--line2);margin:0}.spl .lib summary{list-style:none;cursor:pointer;padding:9px 12px;font:600 13px/1.2 var(--font-d);letter-spacing:.03em;display:flex;justify-content:space-between;color:var(--ink)}.spl .lib summary::-webkit-details-marker{display:none}.spl .lib summary:after{content:"+";color:var(--muted)}.spl .lib details[open] summary:after{content:"\2013"}.spl .libgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 10px 10px}.spl .li{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:5px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:grab;text-align:center;font-size:12px;line-height:1.15;color:var(--ink2);min-width:0}.spl .li:hover{border-color:var(--accent);color:var(--ink);background:var(--paper)}.spl .li canvas{width:76px;height:50px}.spl .li small{font:400 10px var(--font-m);color:var(--muted)}.spl-stage{display:grid;gap:10px;min-height:0;min-width:0;grid-template-columns:1fr 1fr}.spl-stage[data-view=plan]{grid-template-columns:1fr}.spl-stage[data-view=plan] .v3{display:none}.spl-stage[data-view="3d"]{grid-template-columns:1fr}.spl-stage[data-view="3d"] .v2{display:none}.spl .view{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-height:0;min-width:0}.spl .v2{background:var(--paper)}.spl .v3{background:#cfd8dc}.spl .view>canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.spl .ov{position:absolute;display:flex;gap:6px;flex-wrap:wrap;align-items:center;pointer-events:none;z-index:2}.spl .ov>*{pointer-events:auto}.spl .ov.tl{top:8px;left:8px;right:8px}.spl .ov.bl{bottom:8px;left:8px}.spl .ov.br{bottom:8px;right:8px}.spl .chip{background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:7px;padding:4px 8px;font:500 12px/1.2 var(--font-m);color:var(--ink2)}.spl .chip.txt{font:500 12px/1.3 var(--font-b)}.spl .ov .btn,.spl .ov .seg{background:color-mix(in srgb,var(--panel) 90%,transparent);backdrop-filter:blur(6px)}.spl .ov label.chip{display:flex;gap:5px;align-items:center;font-family:var(--font-b)}.spl .ov input[type=range]{width:96px;accent-color:var(--accent);padding:0;border:0;background:none}.spl .vtitle{font:600 11px/1 var(--font-d);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--panel) 85%,transparent);padding:5px 8px;border-radius:6px;border:1px solid var(--line)}.spl .msg3d{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:#2a3437;font:500 14px var(--font-b)}.spl .walkpad{display:none;grid-template-columns:repeat(3,38px);gap:4px}.spl .walkpad button{height:38px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 90%,transparent);font-size:16px;color:var(--ink)}.spl .walking .walkpad{display:grid}.spl .walking .hint3{max-width:calc(100% - 150px)}.spl .insp{padding:0 12px 14px;display:flex;flex-direction:column;gap:12px}.spl .insp h3{font:700 17px/1.15 var(--font-d);text-wrap:balance;color:var(--ink)}.spl .insp .sub{color:var(--muted);font-size:12.5px;margin-top:-8px}.spl .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spl .f{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);min-width:0}.spl .f input,.spl .f select,.spl .inp{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:5px 7px;font:500 13px var(--font-m);color:var(--ink);width:100%;min-width:0;height:auto}.spl .swatches{display:flex;flex-wrap:wrap;gap:6px}.spl .sw{width:26px;height:26px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--line);padding:0;display:inline-block}.spl .sw[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.spl .stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spl .stat{border:1px solid var(--line2);border-radius:8px;padding:8px;background:var(--paper)}.spl .stat b{display:block;font:600 20px/1.1 var(--font-m);font-variant-numeric:tabular-nums;color:var(--ink)}.spl .stat span{font-size:11.5px;color:var(--muted)}.spl .rlist{display:flex;flex-direction:column;gap:4px}.spl .rbtn{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line2);background:var(--paper);border-radius:7px;padding:6px 9px;text-align:left;font-size:13px;color:var(--ink)}.spl .rbtn:hover{border-color:var(--accent);background:var(--paper)}.spl .rbtn small{font:400 11px var(--font-m);color:var(--muted);white-space:nowrap}.spl .mats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.spl .mat{border:1px solid var(--line);border-radius:7px;padding:3px;background:var(--paper);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;line-height:1.1;color:var(--ink2);text-align:center}.spl .mat canvas{width:100%;aspect-ratio:1;border-radius:4px;max-width:100%;height:auto}.spl .mat[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.spl .row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.spl .note{font-size:12.5px;color:var(--muted);line-height:1.45}.spl .keys{font:400 11.5px/1.7 var(--font-m);color:var(--muted)}.spl .keys b{color:var(--ink2);font-weight:500}.spl dialog{border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);padding:0;width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 40px);margin:auto}.spl dialog::backdrop{background:#0a101273}.spl .dlg{padding:16px;display:flex;flex-direction:column;gap:10px}.spl .dlg h3{font:700 18px var(--font-d)}.spl .dlg textarea{width:100%;height:200px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:12px/1.4 var(--font-m);padding:8px}.spl .dlg img{width:100%;border-radius:8px;border:1px solid var(--line)}.spl .toast{position:absolute;left:50%;bottom:22px;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:7px 14px;border-radius:8px;font:500 13px var(--font-b);opacity:0;transition:opacity .2s;pointer-events:none;z-index:50}.spl .toast.on{opacity:1}.spl-home{flex:1;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:18px}.spl-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px}.spl-drop{border:2px dashed color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:12px;background:var(--paper);padding:26px;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:210px;transition:background .15s}.spl-drop.over{background:var(--accent-soft)}.spl-drop h2{font:700 24px/1.1 var(--font-d);text-wrap:balance}.spl-drop p{color:var(--ink2);max-width:52ch}.spl-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.spl-card h3{font:700 17px/1.15 var(--font-d)}.spl-sample{display:flex;flex-direction:column;gap:10px}.spl-sample canvas{width:100%;height:120px;border-radius:8px;background:var(--paper);border:1px solid var(--line2)}.spl-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.spl-plan{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;text-align:left}.spl-plan .th{aspect-ratio:16/9;background:var(--paper);border-bottom:1px solid var(--line2);display:grid;place-items:center;color:var(--muted);font-size:12px;overflow:hidden}.spl-plan .th img{width:100%;height:100%;object-fit:cover}.spl-plan .meta{padding:9px 10px;display:flex;flex-direction:column;gap:2px}.spl-plan .meta b{font:600 14px/1.2 var(--font-d);color:var(--ink)}.spl-plan .meta small{color:var(--muted);font-size:12px}.spl-plan .acts{display:flex;gap:6px;padding:0 10px 10px}.spl-sect{display:flex;align-items:baseline;gap:10px;justify-content:space-between;flex-wrap:wrap}.spl-sect h2{font:700 18px var(--font-d)}.spl-empty{border:1px dashed var(--line);border-radius:10px;padding:18px;color:var(--muted);font-size:13px}.spl-wiz{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:10px;min-height:0}.spl-wiz .view{min-height:300px}.spl-steps{display:flex;gap:6px;flex-wrap:wrap}.spl-steps span{font:600 12px var(--font-d);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 8px;border-radius:6px;border:1px solid var(--line)}.spl-steps span.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.spl-steps span.done{color:var(--accent);border-color:var(--accent)}.spl-side{display:flex;flex-direction:column;gap:12px;padding:12px}.spl-layers{display:flex;flex-direction:column;gap:3px}.spl-lrow{display:grid;grid-template-columns:12px minmax(0,1fr) 112px;gap:8px;align-items:center;padding:4px 6px;border-radius:6px;font-size:12.5px}.spl-lrow:hover{background:var(--paper)}.spl-lrow i{width:12px;height:12px;border-radius:3px;display:block}.spl-lrow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.spl-lrow span small{color:var(--muted);font:400 10.5px var(--font-m);margin-left:4px}.spl-lrow select{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:3px 4px;font-size:12px;width:100%;color:var(--ink)}.spl-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--ink2)}.spl-legend span{display:flex;align-items:center;gap:4px}.spl-legend i{width:10px;height:10px;border-radius:2px;display:block}.spl-progress{height:6px;border-radius:3px;background:var(--line2);overflow:hidden}.spl-progress i{display:block;height:100%;width:30%;background:var(--accent);animation:spl-ind 1.2s ease-in-out infinite}@keyframes spl-ind{0%{transform:translate(-100%)}to{transform:translate(340%)}}.spl-wrap{container-type:inline-size;container-name:spl;margin:1.5em 0;max-width:none}.spl-wrap.spl-wide{width:min(1680px,calc(100vw - 32px));position:relative;left:50%;transform:translate(-50%)}.spl-wrap.spl-wide:has(.spl-full){transform:none;left:auto}@container spl (max-width:1180px){.spl-stage[data-view=split]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.spl-work{grid-template-columns:220px minmax(0,1fr) 250px}}@container spl (max-width:960px){.spl{height:auto;min-height:0;overflow:visible}.spl.spl-full{overflow:auto}.spl-work{grid-template-columns:minmax(0,1fr)}.spl-stage{order:-1;height:72svh;min-height:420px}.spl .li canvas{width:64px;height:42px}.spl .libgrid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.spl-hero{grid-template-columns:1fr}.spl-wiz{grid-template-columns:minmax(0,1fr)}.spl-wiz .view{height:55svh}.spl-head{gap:8px}}@media (prefers-reduced-motion:reduce){.spl .toast{transition:none}.spl-progress i{animation:none;width:100%}}
