@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-semi-condensed-latin-400-normal-DlzeKIMS.woff2) format("woff2"),url(./barlow-semi-condensed-latin-400-normal-CwTnoNB3.woff) format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2) format("woff2"),url(./barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff) format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2) format("woff2"),url(./barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff) format("woff")}:root{--page: #e8e3d8;--bar: #f6f2ea;--panel: #faf7f1;--ink: #23272b;--ink-2: #5d646b;--rule: #d8d1c3;--sheet: #fbfaf7;--accent: #2c7a6b;--accent-ink: #ffffff;--accent-soft: #dcece7;--focus: #2f6fd3;--bad: #b3261e;--warn: #9a6a00;--paper-line: rgb(60 90 120 / .09);--paper-line-2: rgb(60 90 120 / .17);--shadow: 0 1px 2px rgb(40 30 10 / .06), 0 6px 18px rgb(40 30 10 / .08);--radius: 8px;--font: "Barlow Semi Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;color-scheme:light}@media (prefers-color-scheme: dark){:root{--page: #121517;--bar: #1b1f22;--panel: #1b1f22;--ink: #e3e7ea;--ink-2: #9aa3ab;--rule: #333a40;--accent: #5fb5a3;--accent-ink: #10231f;--accent-soft: #23403a;--bad: #f2877f;--warn: #e0b04a;--paper-line: rgb(120 160 200 / .07);--paper-line-2: rgb(120 160 200 / .14);--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 6px 18px rgb(0 0 0 / .35);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--page);color:var(--ink);font:400 16px/1.5 var(--font)}#app{display:flex;flex-direction:column;height:100%}svg.icon{flex:none}.bar{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:7px 14px;background:var(--bar);border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:center;gap:9px;margin:0 6px 0 0;font-size:19px;font-weight:600;letter-spacing:.01em}.group{display:flex;gap:6px;align-items:center}.group.end{margin-left:auto}.btn{display:inline-flex;align-items:center;gap:7px;font:500 15px var(--font);padding:5px 12px;border-radius:var(--radius);border:1px solid var(--rule);background:var(--panel);color:var(--ink);cursor:pointer}.btn:hover:not(:disabled){border-color:var(--ink-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.07);border-color:var(--accent)}.icon-btn{padding:5px 8px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.plan:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.plan-name{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2)}.plan-name input{font:500 15px var(--font);width:13em;padding:4px 8px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:6px}.plan-name input:hover{border-color:var(--rule)}.file{font-size:13px;color:var(--ink-2);padding:2px 8px;border-radius:999px;background:var(--page)}.file.dirty:after{content:" ●";color:var(--warn)}.dl{position:relative}.caret:after{content:"";display:inline-block;margin-left:2px;vertical-align:2px;border:4px solid transparent;border-top-color:currentColor;border-bottom-width:0}.menu{position:absolute;z-index:5;top:calc(100% + 6px);min-width:210px;display:flex;flex-direction:column;padding:4px;border:1px solid var(--rule);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.menu.left{left:0}.menu.right{right:0}.menu button{display:flex;justify-content:space-between;align-items:baseline;gap:16px;width:100%;font:500 15px var(--font);padding:6px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.menu button:hover:not(:disabled),.menu button:focus-visible{background:var(--accent-soft);outline:none}.menu button:disabled{opacity:.4;cursor:default}.menu [role=menuitemcheckbox]:before{content:"";flex:none;width:14px;height:14px;margin-right:8px;align-self:center;border:1.5px solid var(--ink-2);border-radius:4px}.menu [role=menuitemcheckbox][aria-checked=true]:before{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.5l2.8 2.6L11 4.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;border-color:var(--accent)}.menu [role=menuitemcheckbox]{justify-content:flex-start}.menu [role=menuitemcheckbox] small{margin-left:auto}.menu small{color:var(--ink-2);font-size:13px}.desk{flex:1;min-height:0;padding:10px;display:grid;grid-template-columns:224px minmax(0,1fr) 272px;gap:10px}.side{overflow-y:auto;padding:12px;background:var(--panel);border:1px solid var(--rule);border-radius:10px;font-size:14px}.side h2{margin:0 0 8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.side h2:not(:first-child){margin-top:18px}.side h3{margin:12px 0 4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.side button,.side input,.side select,.side textarea{font:400 14px var(--font);color:var(--ink)}.props-head{margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--rule)}.props-head small{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.props-head h2{margin:0;font-size:19px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink);overflow-wrap:anywhere}.hint{margin:8px 0 0;font-size:12.5px;color:var(--ink-2)}.tool-hint{min-height:5.6em}.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.tool{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px 5px;border:1px solid var(--rule);border-radius:var(--radius);background:transparent;cursor:pointer;font-size:12px}.tool span{font-size:12px;line-height:1.1}.tool kbd{position:absolute;top:2px;right:4px;font:600 9.5px var(--font);color:var(--ink-2);opacity:.7}.tool:hover{border-color:var(--ink-2)}.tool[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}.search{position:relative;display:flex;align-items:center;margin-bottom:4px;color:var(--ink-2)}.search svg{position:absolute;left:8px;pointer-events:none}.search input{width:100%;padding:5px 8px 5px 28px;background:transparent;border:1px solid var(--rule);border-radius:var(--radius)}details.fold>summary{display:flex;align-items:center;gap:5px;list-style:none;cursor:pointer;margin:8px 0 4px;padding:2px 0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary svg{transition:transform .12s}details.fold[open]>summary svg{transform:rotate(90deg)}details.fold>summary em{margin-left:auto;font-style:normal;font-weight:500;opacity:.7}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:5px}.tile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 3px 5px;border:1px solid var(--rule);border-radius:var(--radius);background:transparent;cursor:pointer}.tile{touch-action:none;-webkit-user-select:none;user-select:none}.tile:hover{border-color:var(--accent);background:var(--accent-soft)}.thumb-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:38px}.thumb{max-width:84%;max-height:38px;width:auto;height:auto;overflow:visible}.thumb *{vector-effect:non-scaling-stroke}.thumb .tbody{stroke:#454b52;stroke-width:1;fill-opacity:.95}.thumb .sym{fill:none;stroke:#5d646b;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.thumb .f{fill:#fff;fill-opacity:.7}.thumb .d{stroke-dasharray:2 2;stroke-opacity:.45}.thumb .k{fill:#5d646b;stroke:none}.thumb .ring{stroke:#c9ced3}.thumb .sp{stroke-opacity:.5}.thumb .acc{fill:#9db6cb;fill-opacity:.6}.thumb .bk{stroke-width:3;stroke-opacity:.7}.tile-name{font-size:12px;line-height:1.15;text-align:center}.list{list-style:none;margin:0;padding:0}.list button{width:100%;text-align:left;padding:3px 6px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer}.list button:hover,.list button:focus-visible{background:var(--accent-soft);border-color:var(--accent)}.list em{color:var(--accent);font-style:normal;font-size:12.5px}.form{display:flex;flex-direction:column;gap:8px}.field{display:flex;flex-direction:column;gap:2px}.field>span{font-size:12px;color:var(--ink-2)}.field input,.field select,.field textarea{width:100%;padding:4px 7px;background:transparent;border:1px solid var(--rule);border-radius:6px}.field input:disabled{opacity:.45}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check{display:flex;align-items:center;gap:6px}.actions-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.chips button,.actions-row button{padding:4px 10px;border-radius:var(--radius);border:1px solid var(--rule);background:transparent;cursor:pointer}.actions-row button:hover{background:var(--accent-soft);border-color:var(--accent)}.actions-row .danger:hover{border-color:var(--bad);background:transparent;color:var(--bad)}.wide{width:100%;margin-top:8px;padding:5px;border-radius:var(--radius);border:1px solid var(--rule);background:transparent;cursor:pointer}.wide:hover{background:var(--accent-soft);border-color:var(--accent)}.verts{width:100%;border-collapse:collapse;font-size:13px}.verts th{font-weight:500;font-size:11px;color:var(--ink-2);text-align:left;padding:0 2px}.verts td{padding:1px 2px}.verts input{width:100%;min-width:0;padding:2px 3px;background:transparent;border:1px solid var(--rule);border-radius:4px}.verts .x{border:0;background:transparent;cursor:pointer;font-size:16px;line-height:1;color:var(--ink-2)}.verts .x:disabled{opacity:.25;cursor:default}.field input[type=color]{padding:0;height:28px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.selbox{fill:none;stroke:var(--focus);stroke-width:1.5;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.hoverbox{fill:var(--focus);fill-opacity:.08;stroke:var(--focus);stroke-width:1.5;vector-effect:non-scaling-stroke}.handle{fill:#fff;stroke:var(--focus);stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:all}.gapline{stroke:#e0368c;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:2 3}.live.gap{fill:#c0267a}.guide{stroke:#e0368c;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:4 3}.plan{position:relative;height:100%;overflow:hidden;background-color:var(--sheet);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.plan:active{cursor:grabbing}.plan-svg,.plan-svg svg{width:100%;height:100%;display:block}.empty{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:fit-content;height:fit-content;max-width:28em;text-align:center;color:#59616a;padding:0 16px}.tip{position:fixed;z-index:3;max-width:300px;padding:6px 10px;border-radius:8px;background:var(--ink);color:var(--page);font-size:14px;line-height:1.35;pointer-events:none;box-shadow:0 4px 14px #0003}.tip span{display:block;font-size:12.5px;opacity:.8}.status{display:flex;gap:6px 22px;flex-wrap:wrap;padding:4px 16px;font-size:13px;color:var(--ink-2);background:var(--bar);border-top:1px solid var(--rule);font-variant-numeric:tabular-nums}.status>span:not(:last-child):not(.notice):not(.coords){padding-right:22px;border-right:1px solid var(--rule)}.status .coords{margin-left:auto;min-width:11em;text-align:right}.status .bad{color:var(--bad)}.status .warn{color:var(--warn)}.status .notice{color:var(--accent)}.plan.tool-rect,.plan.tool-poly{cursor:crosshair}.vertex{fill:#fff;stroke:var(--focus);stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:all;cursor:move}.vertex.first{fill:var(--focus)}.mid{fill:var(--focus);fill-opacity:.35;stroke:var(--focus);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:all;cursor:copy}.ghost{fill:var(--accent);fill-opacity:.12;stroke:var(--accent);stroke-width:2;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}polyline.ghost{fill:none}.live{fill:var(--focus);text-anchor:middle;dominant-baseline:central;font-family:var(--font);font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.plan.tool-rect .furn,.plan.tool-poly .furn{pointer-events:none}.opsel{stroke:var(--focus);stroke-opacity:.3;stroke-linecap:butt}.plan.tool-puerta,.plan.tool-ventana,.plan.tool-viga{cursor:crosshair}.plan.tool-puerta .furn,.plan.tool-ventana .furn,.plan.tool-viga .furn{pointer-events:none}.dlg{width:min(640px,92vw);padding:16px 18px;border:1px solid var(--rule);border-radius:12px;background:var(--bar);color:var(--ink)}.dlg::backdrop{background:#00000073}.dlg h2{margin:0 0 6px;font-size:18px}.dlg textarea{width:100%;margin:8px 0;font:12.5px/1.4 ui-monospace,Menlo,monospace;color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:6px;padding:6px 8px;resize:vertical}.dlg .report ul{margin:4px 0;padding-left:18px;max-height:9em;overflow:auto;font-size:13px}.dlg .bad{color:var(--bad)}.dlg .warn{color:var(--warn)}.dlg .ok{color:var(--accent)}.dlg .actions-row button,.crash .actions-row button{padding:5px 14px;border-radius:var(--radius);border:1px solid var(--rule);background:transparent;color:var(--ink);cursor:pointer;font:500 15px var(--font)}.dlg .actions-row button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.dlg .actions-row button:disabled{opacity:.4;cursor:default}.crash{grid-column:1 / -1;margin:40px auto;max-width:560px;padding:20px 24px;background:var(--bar);border:1px solid var(--bad);border-radius:12px}.crash h2{margin:0 0 8px}.crash pre{white-space:pre-wrap;font-size:12.5px;color:var(--ink-2);background:transparent;border:1px solid var(--rule);border-radius:6px;padding:6px 8px}.plan.space,.plan.space *{cursor:grab!important}.zoom{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:2px;padding:3px;background:var(--panel);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow)}.zoom button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer}.zoom button:hover{background:var(--accent-soft)}.zoom .pct{min-width:3.4em;text-align:center;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}.welcome{position:absolute;left:14px;top:14px;max-width:24em;padding:14px 16px;cursor:default;pointer-events:none;background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-radius:12px;box-shadow:var(--shadow)}.welcome:not(.first){top:0;right:0;bottom:0;left:0;margin:auto;width:fit-content;height:fit-content;text-align:center}.welcome:not(.first) .actions-row{justify-content:center}.welcome button,.welcome kbd{pointer-events:auto}.welcome h2{margin:0 0 4px;font-size:18px}.welcome p{margin:0 0 10px;font-size:14px;color:var(--ink-2)}.welcome p.hint{margin:10px 0 0;font-size:12.5px}.welcome .actions-row button.primary,.side .actions-row button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}kbd{font:600 11px var(--font);padding:0 5px;border:1px solid var(--rule);border-radius:4px;background:var(--page);color:var(--ink)}.status{position:relative}.linkbtn{font:inherit;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.linkbtn:disabled{cursor:default;text-decoration:none}.linkbtn.bad{color:var(--bad)}.linkbtn.warn{color:var(--warn)}.linkbtn.ok{color:var(--ink-2)}.problems{position:static}.popover{position:absolute;left:12px;bottom:calc(100% + 6px);z-index:6;width:min(560px,94vw);max-height:50vh;overflow:auto;padding:6px;background:var(--panel);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow)}.popover ul{list-style:none;margin:0;padding:0}.popover button{display:block;width:100%;text-align:left;padding:5px 8px;border:0;border-radius:6px;background:transparent;font:400 14px var(--font);color:var(--ink);cursor:pointer}.popover button:hover:not(:disabled){background:var(--accent-soft)}.popover button b{margin-right:6px}.popover button.bad b{color:var(--bad)}.popover button.warn b{color:var(--warn)}.wide-dlg{width:min(760px,94vw)}.keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4px 24px}.keys h3{margin:12px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.keys dl{margin:0}.keys dl>div{display:flex;gap:10px;align-items:baseline;padding:2px 0;font-size:14px}.keys dt{flex:none;min-width:8.5em}.keys dd{margin:0;color:var(--ink-2)}.mobile-note{display:none;margin:0;padding:6px 14px;font-size:13px;color:var(--ink-2);background:var(--accent-soft);border-bottom:1px solid var(--rule)}.cartouche{display:none}@media (max-width: 860px){.desk{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);padding:6px}.side{display:none}.mobile-note{display:block}.plan-name,.file,.brand span{display:none}.bar{padding:6px 8px;gap:6px}.group.end{margin-left:0}.welcome{right:14px}.welcome.first,.status .coords{display:none}}@page{size:A4 landscape;margin:10mm}@media print{body{background:#fff}#app{display:block;height:auto}.bar,.status,.tip,.empty,.side,.overlay{display:none}.desk{display:block;padding:0}.plan{height:auto;border:0;overflow:visible;background:none!important;box-shadow:none}.plan-svg,.plan-svg svg{height:auto}.plan-svg{width:var(--print-w)}.zoom,.welcome,.mobile-note{display:none!important}.cartouche{display:block;margin-top:4mm;padding-top:2mm;border-top:.4mm solid #23272b;width:var(--print-w)}.cartouche dl{display:flex;flex-wrap:wrap;gap:2mm 8mm;margin:0}.cartouche dt{font-size:8pt;color:#59616a}.cartouche dd{margin:0;font-size:10pt;font-weight:500;color:#23272b}}body.placing,body.placing *{cursor:copy!important}
