@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Architects Daughter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/architects-daughter-latin-400-normal-DOGE_9Aw.woff2)format("woff2"),url(/assets/architects-daughter-latin-400-normal-Ze4cbGW2.woff)format("woff")}:root{--bg:#f5f7fb;--panel:#fff;--line:#dde3ee;--text:#101a33;--text-2:#3b4660;--muted:#56607a;--accent:#2453e0;--accent-soft:#e7edff;--brand:#2453e0;--brand-ink:#101a33;--danger:#d9443b;--ok:#1f9d55;--ok-soft:#e3f6ea;--tape:#f5b301;--tape-soft:#fff4d6;--tape-ink:#3a2a00;--brand-dark:#1a3fb3;--display:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", "Figtree Variable", system-ui, sans-serif;--body:"Figtree Variable", "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, Menlo, monospace;font-family:var(--body);color:var(--text);font-size:13px}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}input,select{font:inherit;color:inherit}.app{flex-direction:column;height:100%;display:flex}.main{flex:1;min-height:0;display:flex}.center{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.brand{white-space:nowrap;align-items:center;gap:.4em;line-height:1;display:inline-flex}.brand .dino-tile{flex-shrink:0;display:block}.brand-word{letter-spacing:-.035em;color:var(--brand-ink);font-weight:800}.brand-sub{color:var(--muted);letter-spacing:0;margin-left:2px;font-size:.8em;font-weight:400}.project-name{background:0 0;border:1px solid #0000;border-radius:6px;min-width:140px;max-width:280px;padding:5px 8px;font-weight:600}.project-name:hover,.project-name:focus{border-color:var(--line);background:#fff;outline:none}.group{align-items:center;gap:4px;display:flex}.spacer{flex:1}select{border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 6px}.btn{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:7px;align-items:center;gap:6px;padding:6px 11px;display:inline-flex}.btn:hover:not(:disabled){background:#f8f9fb;border-color:#c9cfda}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:#f0f2f6}.btn.icon{padding:4px 9px;font-size:16px;line-height:1}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark)}.btn.danger{color:var(--danger)}.link{color:var(--accent);background:0 0;border:none;padding:0 4px;text-decoration:underline}.toolbar{background:var(--panel);border-right:1px solid var(--line);z-index:5;flex-direction:column;align-items:center;gap:4px;width:68px;padding:8px 0;display:flex;position:relative}.tool{width:58px;height:52px;color:var(--text-2);background:0 0;border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.tool span{font-size:10.5px;line-height:1}.tool:hover{background:#f0f2f6}.tool.active{background:var(--accent-soft);color:var(--accent)}.tool-opts{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:4px;padding:8px;display:flex;position:absolute;top:8px;left:74px;box-shadow:0 4px 16px #101a3314}.tool-opts-title{color:var(--muted);white-space:nowrap;margin-right:4px}.tool-opts input{border:1px solid var(--line);border-radius:6px;width:52px;padding:4px 6px}.tool-opts-unit{color:var(--muted)}.chip{border:1px solid var(--line);background:#fff;border-radius:6px;padding:3px 7px}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.library{border:1px solid var(--line);background:#fff;border-radius:12px;width:340px;max-height:calc(100vh - 90px);padding:10px 12px;position:absolute;top:8px;left:74px;overflow-y:auto;box-shadow:0 8px 28px #101a331f}.library-title{margin-bottom:6px;font-weight:600}.library-group{margin-bottom:6px}.library-cat{color:var(--muted);text-transform:capitalize;margin:4px 0 3px;font-size:11px}.library-item{border:1px solid var(--line);background:#fff;border-radius:6px;margin:0 4px 4px 0;padding:4px 8px}.library-item:hover,.library-item.active{border-color:var(--accent);color:var(--accent)}.library-note{color:var(--muted);margin-top:6px;font-size:11px}.editor{flex:1;min-height:0;position:relative;overflow:hidden}.editor-svg{-webkit-user-select:none;user-select:none;will-change:transform;transform-origin:0 0;display:block;overflow:visible}.editor.gesturing>:is(.actionbar,.measure-btn,.measure-edit,.note-pop,.room-warn-tip,.measure-layer,.rot-badge,.typed){opacity:0;pointer-events:none}.editor{-webkit-touch-callout:none}.editor.touch-ui .node-handle{opacity:.9}.editor.touch-ui .hit [data-hit^=wall\:]{stroke-width:20px}.editor.touch-ui .hit line[data-hit]{stroke-width:24px}.editor.touch-ui .handle-edge{stroke-width:26px}.main,.topbar,.demo-bar{touch-action:pan-x pan-y}.node-handle{fill:#fff;stroke:#2453e0;opacity:0}.hit:hover .node-handle,.node-handle:hover{opacity:1}.editor-svg .measure{fill:#2453e0;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:12px;font-weight:600}.typed{background:var(--text);color:#fff;pointer-events:none;font-variant-numeric:tabular-nums;border-radius:6px;padding:4px 8px;font-weight:600;position:absolute}.typed-hint{opacity:.6;font-weight:400}.typed.bad{background:#5b4300}.typed.bad .typed-hint{opacity:.9}.hint{color:#fff;pointer-events:none;white-space:nowrap;background:#101a33d9;border-radius:8px;padding:6px 12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.zoom-ctrl{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:2px;padding:2px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-ctrl button{background:0 0;border:none;border-radius:6px;width:28px;height:26px;font-size:15px}.zoom-ctrl button:hover{background:#f0f2f6}.zoom-ctrl span{text-align:center;min-width:44px;color:var(--muted);font-variant-numeric:tabular-nums}.floortabs{background:var(--panel);border-top:1px solid var(--line);align-items:center;gap:4px;padding:6px 10px;display:flex;overflow-x:auto}.floortab{border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:7px;align-items:center;gap:4px;padding:5px 10px;display:flex}.floortab.active{background:var(--text);color:#fff;border-color:var(--text)}.floortab.add{color:var(--muted);border-style:dashed}.floortab .x{color:inherit;opacity:.6;background:0 0;border:none;padding:0 2px;font-size:14px}.check{cursor:pointer;align-items:center;gap:6px;margin:3px 0;display:flex}.check.small{color:var(--muted);white-space:nowrap;margin:0 6px}.panel{background:var(--panel);border-left:1px solid var(--line);width:290px;padding:14px;overflow-y:auto}.panel h3{margin:0 0 10px;font-size:15px}.panel h4,.modal h4{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:18px 0 8px;font-size:12px}.row{justify-content:space-between;align-items:center;gap:8px;margin:6px 0;display:flex}.row-label{color:var(--muted)}.row-value{justify-content:flex-end;align-items:center;display:flex}.numfield{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:6px;align-items:stretch;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.numfield:hover{border-color:#c9cfda}.numfield:focus-within,.textfield:focus{border-color:var(--accent);outline:none}.numfield:focus-within{box-shadow:0 0 0 2px var(--accent-soft)}.numfield input{text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;flex:56px;width:56px;min-width:0;padding:5px 3px 5px 6px}.numfield input::selection{background:var(--accent-soft)}.numfield .unit{min-width:20px;color:var(--muted);flex:none;align-self:center;padding:0 3px 0 1px;font-size:12px}.num-spin{border-left:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;flex:0 0 24px;display:flex}.num-spin button{color:#7a84a0;cursor:pointer;background:#fafbfd;border:none;border-radius:0;flex:1 1 0;place-items:center;min-height:0;padding:0;display:grid}.num-spin button+button{border-top:1px solid var(--line)}.num-spin button:hover{background:var(--accent-soft);color:var(--accent)}.num-spin button:active{background:var(--accent);color:#fff}.numfield.shake,.typed.bad{animation:.32s ease-out num-shake}.numfield.shake{box-shadow:0 0 0 2px var(--tape-soft);border-color:#e0a100}@keyframes num-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}60%{transform:translate(2px)}}@media (prefers-reduced-motion:reduce){.numfield.shake,.typed.bad{animation:none}}@media (pointer:coarse){.num-spin{flex-basis:34px}.numfield{min-height:40px}.actionbar button{min-width:40px;min-height:40px}}.textfield{border:1px solid var(--line);border-radius:6px;width:160px;padding:5px 8px}.textfield.textarea{resize:none;font:inherit;line-height:1.35}.textfield.mono,.mono{font-family:var(--mono);font-size:11px}.seg{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.seg button{border:none;border-right:1px solid var(--line);background:#fff;padding:5px 9px}.seg button:last-child{border-right:none}.seg button.active{background:var(--accent);color:#fff}.btns{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.muted{color:var(--muted)}.small{font-size:11.5px;line-height:1.45}.inline{align-items:center;gap:6px;display:inline-flex}.color{border:1px solid var(--line);background:#fff;border-radius:6px;width:34px;height:26px;padding:1px}table.rooms{border-collapse:collapse;width:100%}table.rooms td{cursor:pointer;border-bottom:1px solid #f0f2f5;padding:5px 4px}table.rooms tr:hover td{background:#f7f9fc}table.rooms td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.rooms tr.total td{cursor:default;border-bottom:none;font-weight:600}.help{color:var(--muted);margin-top:18px;font-size:11.5px;line-height:1.7}kbd{border:1px solid var(--line);color:var(--text);background:#fff;border-bottom-width:2px;border-radius:4px;padding:0 4px;font-family:inherit;font-size:10.5px}.modal-bg{z-index:50;background:#141a2659;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;width:min(520px,100%);max-height:calc(100vh - 32px);display:flex;box-shadow:0 20px 60px #0a142840}.modal.wide{width:min(1100px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-head h2{margin:0;font-size:16px}.modal-body{padding:4px 16px 16px;overflow-y:auto}.export{align-items:flex-start;gap:16px;display:flex}.export-preview{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;min-width:0;margin-top:12px;position:sticky;top:12px}.export-preview-busy{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.export-preview img{object-fit:contain;width:100%;height:auto;max-height:70vh;display:block}.export-opts{flex-shrink:0;width:330px}.export-what{margin:14px 0 0}.export-what h3{margin:0 0 10px;font-size:16px}.export-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.export-tile{border:1.5px solid var(--line);min-height:96px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;display:flex}.export-tile:hover{background:#f8f9fb;border-color:#b9c3d6}.export-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.export-tile.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.export-tile-icon{color:var(--muted);margin-bottom:3px}.export-tile.active .export-tile-icon{color:var(--accent)}.export-tile b{align-items:center;gap:5px;font-size:14px;display:inline-flex}.export-tile span{color:var(--muted);font-size:12.5px;line-height:1.35}.export-tile-lock{color:var(--muted)}.export-main .export-opts{padding-top:12px}.export-go{border-radius:9px;justify-content:center;gap:8px;width:100%;margin:14px 0 2px;padding:11px 14px;font-size:15px;font-weight:600;display:flex}.export-more{border-top:1px solid var(--line);margin-top:12px;padding-top:6px}.export-more summary{cursor:pointer;color:var(--text-2);align-items:center;gap:4px;padding:4px 0;font-size:13px;font-weight:600;list-style:none;display:inline-flex}.export-more summary::-webkit-details-marker{display:none}.export-more-chev{transition:transform .15s}.export-more[open] .export-more-chev{transform:rotate(90deg)}.export-more-body{padding:2px 0 0 19px}.export-note{color:var(--muted);margin:2px 0 8px;font-size:13px;line-height:1.45}.export-locked{color:var(--muted);align-items:center;gap:6px;margin:6px 0 0;font-size:12.5px;display:flex}.export-photo{border-top:1px solid var(--line);color:var(--muted);margin:18px 0 0;padding-top:10px;font-size:12.5px;line-height:1.5}.export-photo svg{vertical-align:-2px;margin-right:2px}.export-photo .link{padding:0}@media (width<=900px){.export-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.export-tile{min-height:0}.export-main .export-opts{order:-1}.export-main .export-preview{position:static}.export-main .export-preview img{max-height:50vh}}.style-opts{max-height:calc(100vh - 140px);padding-right:4px;overflow-y:auto}.colors-grid{grid-template-columns:1fr 1fr;gap:4px 10px;display:grid}.color-row{align-items:center;gap:6px;display:flex}.sides{gap:10px;margin-left:22px;display:flex}.btns.sticky{background:#fff;padding:10px 0 2px;position:sticky;bottom:0}.style-dlg .modal-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.sd-main{flex:1;align-items:stretch;min-height:0;padding:0 0 0 16px}.sd-main .export-preview{align-self:flex-start}.style-dlg .style-opts{flex-direction:column;gap:12px;width:404px;max-height:none;padding:12px 16px 16px 4px;display:flex;overflow-y:auto}.sd-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.sd-card h3{margin:0 0 2px;font-size:14px}.sd-card p{margin:0}.sd-card .row{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:12px;min-height:30px;margin:0;display:grid}.sd-card .row-label{line-height:1.25}.sd-card .row-value{justify-content:flex-start;min-width:0}.sd-card .row-value select,.sd-card .nen-grid select{box-sizing:border-box;width:196px;max-width:100%;height:30px;padding:4px 6px;font-size:13px}.sd-card .numfield{box-sizing:border-box;width:95px;height:30px}.sd-card .numfield input{flex:auto;width:auto;min-width:0}.sd-card .color{box-sizing:border-box;width:34px;height:30px}.sd-card .seg button{height:28px;padding:0 10px}.sd-card .inline{gap:6px}.sd-checks{flex-direction:column;gap:0;padding-top:2px;display:flex}.sd-checks .check{gap:8px;margin:0;padding:4px 0}.sd-checks .check input{flex-shrink:0;margin:0}.sd-card .row+.sd-checks{border-top:1px solid #f0f2f5;margin-top:4px;padding-top:6px}.sd-checks+.row{border-top:1px solid #f0f2f5;margin-top:2px;padding-top:8px}.sd-checks .sides{grid-template-columns:repeat(4,auto);justify-content:start;gap:0 14px;margin:0 0 2px 24px;display:grid}.sd-card .colors-grid{gap:6px 12px}.sd-card .color-row{gap:8px;min-height:30px}.sd-card .nen-grid{gap:6px}.sd-card .nen-grid label{font-size:inherit;grid-template-columns:140px minmax(0,1fr);gap:12px;display:grid}.sd-card .nen-grid label>span{color:var(--muted)}.sd-indent{padding-left:152px}.sd-indent .link{padding:0}.sd-file{width:196px;max-width:100%;font-size:12px}.sd-foot{border-top:1px solid var(--line);background:#fff;border-radius:0 0 12px 12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.sd-foot-left{flex:1;min-width:0}.sd-foot-right{flex-shrink:0;gap:8px;display:flex}.sd-foot-right .btn{justify-content:center;height:34px;padding:0 14px}.sd-delete{color:var(--danger);padding:0;text-decoration:none}.sd-delete:hover{text-decoration:underline}@media (width<=900px){.sd-main{padding:0 16px;overflow-y:auto}.style-dlg .style-opts{width:100%;padding:12px 0 16px;overflow:visible}.sd-foot{flex-wrap:wrap}}.demo-bar{background:var(--accent-soft);border-bottom:1px solid var(--accent);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;font-size:14px;display:flex}.demo-bar b{color:var(--accent)}.demo-bar>span{flex:1;min-width:220px}.demo-coach{z-index:6;border:1px solid var(--line);background:#fff;border-radius:12px;width:340px;max-width:calc(100% - 28px);padding:14px 16px 16px;font-size:14px;position:absolute;bottom:56px;right:14px;box-shadow:0 10px 30px #101a3329}.demo-coach b{margin:0 26px 8px 0;font-size:15px;display:block}.demo-coach p{color:var(--text-2);margin:0 0 12px}.demo-coach-step{background:var(--accent);color:#fff;font-variant-numeric:tabular-nums;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:-10px;left:16px}.demo-coach-x{width:26px;height:26px;color:var(--muted);background:0 0;border:none;border-radius:6px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.demo-coach-x:hover{background:#f0f2f6}.demo-coach-row{align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.demo-coach-row label{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.demo-coach-row input{border:1px solid var(--line);width:86px;height:34px;font:inherit;font-variant-numeric:tabular-nums;border-radius:8px;padding:0 10px;font-size:15px}.demo-coach-row input:focus{outline:2px solid var(--accent);outline-offset:-1px}.demo-coach-by,.demo-coach-unit{color:var(--muted);padding-bottom:8px}.demo-coach .btn.primary{align-items:center;gap:6px;display:inline-flex}.demo-coach-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}@media (width<=699px){.demo-coach{display:none}}.toast{background:var(--text);color:#fff;z-index:60;pointer-events:none;border-radius:8px;max-width:80vw;padding:9px 14px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0003}@media (width<=900px){.panel{width:240px}.brand-sub,.project-name{display:none}.export{flex-direction:column}.export-opts{width:100%}}.iconbtn{width:34px;height:34px;color:var(--text-2);background:0 0;border:none;border-radius:8px;place-items:center;display:inline-grid}.iconbtn:hover:not(:disabled){background:#f0f2f6}.iconbtn:disabled{opacity:.3;cursor:default}.iconbtn.active{background:var(--accent-soft);color:var(--accent)}.iconbtn.small{width:24px;height:24px}.home{padding:5px 8px 5px 4px}.style-pick{gap:6px}.floortab.add{align-items:center;gap:4px;display:inline-flex}.floortab .x{place-items:center;display:inline-grid}.keys{border:1px solid var(--line);z-index:40;background:#fff;border-radius:12px;width:300px;padding:12px 14px;position:absolute;top:54px;right:12px;box-shadow:0 12px 36px #101a3329}.keys-head{align-items:center;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.keys-head button{margin-left:auto}.keys-grid{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.keys-row{align-items:center;gap:7px;display:flex}.keys-row kbd{text-align:center;min-width:22px}.keys-sub{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:12px 0 6px;font-size:11px}.keys-list>div{align-items:center;gap:4px;margin:4px 0;display:flex}.keys-list span{color:var(--text-2);margin-left:4px}kbd{padding:1px 6px;font-size:11px}.measure-btn{color:var(--accent);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #b6c6f5;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:600;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #14285a1f}.measure-btn:hover{background:var(--accent);color:#fff}.measure-edit{z-index:5;align-items:center;gap:3px;display:flex;position:absolute;transform:translate(-50%,-50%)}.measure-end{width:22px;height:22px;color:var(--accent);cursor:pointer;background:#fff;border:1px solid #b6c6f5;border-radius:6px;place-items:center;padding:0;display:grid}.measure-end:hover{background:var(--accent);color:#fff}.measure-end.both{margin-left:3px}.measure-end.on{background:var(--accent);color:#fff;border-color:var(--accent)}.measure-edit .measure-input{position:static;transform:none}.measure-input{border:2px solid var(--accent);text-align:center;border-radius:6px;outline:none;width:80px;padding:3px 6px;font-weight:600;position:absolute;transform:translate(-50%,-50%)}.numfield-canvas{border:2px solid var(--accent);height:28px;box-shadow:0 1px 6px #14285a2e}.numfield-canvas:hover{border-color:var(--accent)}.numfield-canvas .measure-input{text-align:right;border:none;border-radius:0;flex:0 0 60px;width:60px;padding:0 2px 0 6px}.numfield-canvas .num-spin{flex-basis:20px}.dash{flex:1;padding:28px 32px 48px;overflow-y:auto}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.dash-head h1{margin:0 0 4px;font-size:26px}.dash-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:flex}.search input{background:0 0;border:none;outline:none;width:220px;padding:8px 0}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.card{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:14px;padding:0;transition:box-shadow .15s,transform .15s;position:relative;overflow:hidden}.card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #101a331f}.card-thumb{aspect-ratio:4/3;background:#fafbfc;border-bottom:1px solid #eef0f4;place-items:center;display:grid}.card-thumb img{object-fit:contain;width:100%;height:100%}.card-empty{color:#b3b9c6;flex-direction:column;align-items:center;gap:6px;display:flex}.card-body{padding:10px 12px 12px}.card-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.card-meta{color:var(--muted);align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.chip-meta{background:#f2f4f7;border-radius:5px;align-items:center;gap:3px;padding:1px 6px;display:inline-flex}.card-tools{opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.card:hover .card-tools{opacity:1}.card-tools button{border:1px solid var(--line);width:30px;height:30px;color:var(--text-2);background:#fff;border-radius:8px;place-items:center;display:grid}.card-tools button:hover{border-color:var(--accent);color:var(--accent)}.card-tools button.danger:hover{border-color:var(--danger);color:var(--danger)}.card-new{min-height:230px;color:var(--muted);background:0 0;border:2px dashed #cfd5df;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex}.card-new:hover{border-color:var(--accent);color:var(--accent)}.card-new:has(>.card-sizer){place-items:center;display:grid}.card-new>.card-sizer,.card-new>.card-new-in{grid-area:1/1}.card-sizer{visibility:hidden;width:100%;display:block}.card-sizer:before{content:"";aspect-ratio:4/3;display:block}.card-sizer:after{content:"";height:72px;display:block}.card-new-in{flex-direction:column;align-items:center;gap:8px;display:flex}.dash-empty{margin-top:24px}@media (hover:none){.card-tools{opacity:1}}.library-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.library .library-item{color:var(--text-2);border-radius:8px;flex-direction:column;align-items:center;gap:4px;margin:0;padding:6px 2px;display:flex}.library .library-item span{text-align:center;font-size:10px;line-height:1.1}.library-cat{color:var(--text-2);text-transform:none;margin:8px 0 5px;font-size:11.5px;font-weight:600}.variants{grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0;display:grid}.variant{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:4px 2px 6px;display:flex}.variant span{color:var(--muted);font-size:10px}.variant.active{border-color:var(--accent);background:var(--accent-soft)}.variant.active span{color:var(--accent)}.newproj{padding-top:12px}.field{flex-direction:column;gap:4px;display:flex}.field span{color:var(--muted);font-size:12px}.field input{border:1px solid var(--line);border-radius:8px;outline:none;padding:9px 10px;font-size:14px}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-sub{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:18px 0 8px;font-size:12px}.addr{grid-template-columns:3fr 1fr;gap:10px;margin-bottom:10px;display:grid}.addr .pc{grid-column:auto}.addr{grid-template-columns:1fr 1fr;grid-template-areas:"street num""pc city"}.addr .street{grid-area:street}.addr .num{grid-area:num}.addr .pc{grid-area:pc}.addr .city{grid-area:city}@media (width>=520px){.addr{grid-template-columns:2fr 1fr 1.2fr 2fr;grid-template-areas:"street street num num""pc pc city city"}}.btns.right{justify-content:flex-end;margin-top:18px}.card-addr{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12px;overflow:hidden}.handle{fill:#fff;stroke:#2453e0;stroke-width:1.6px;vector-effect:non-scaling-stroke;cursor:pointer}.handle.bend{fill:#2453e0;stroke:#fff;cursor:grab}.handle:hover{fill:#2453e0}.handle.rot{cursor:grab}.handle-edge{fill:none;stroke:#0000;stroke-width:14px;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:move}.handle-edge:hover{stroke:#2453e038}.room-nav{align-items:center;gap:6px;margin-bottom:10px;display:flex}.room-nav-title{flex-direction:column;flex:1;align-items:center;min-width:0;line-height:1.3;display:flex}.room-nav-title b{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:15px;overflow:hidden}.panel .textfield{width:100%}.type-grid{grid-template-columns:1fr 1fr;gap:4px;margin:10px 0 6px;display:grid}.type-chip{border:1px solid var(--line);text-align:left;white-space:nowrap;background:#fff;border-radius:7px;align-items:center;gap:7px;padding:6px 8px;font-size:12px;display:flex;overflow:hidden}.type-chip i{border-radius:3px;flex-shrink:0;width:12px;height:12px;box-shadow:inset 0 0 0 1px #0000001f}.type-chip:hover{border-color:#c9cfda}.type-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.type-chip.type-more{color:var(--muted);border-style:dashed;justify-content:center}.empty-start{text-align:center;pointer-events:none;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.empty-title{color:var(--text-2);margin-bottom:14px;font-size:18px;font-weight:600}.empty-btns{pointer-events:auto;justify-content:center;gap:12px;display:flex}.empty-btns button{border:1px solid var(--line);width:120px;color:var(--text-2);background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:18px 10px 12px;font-weight:600;display:flex;box-shadow:0 6px 20px #101a3314}.empty-btns button:hover{border-color:var(--accent);color:var(--accent)}.empty-hint{color:var(--muted);margin-top:14px;font-size:12px}:root{--shadow:0 4px 18px #101a331a;--shadow-lg:0 10px 34px #101a3329}.topbar{height:54px;box-shadow:0 1px 0 var(--line);z-index:10;border-bottom:none;flex-wrap:nowrap;gap:8px;padding:0 12px;position:relative}.project-name{font-size:14px}.saved{color:var(--ok);background:var(--ok-soft);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;display:inline-flex}.saved.busy{color:var(--muted);background:#f1f3f6}.saved.warn{color:var(--tape-ink);background:var(--tape-soft)}.saved.error{color:#b42318;background:#fde8e6}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.leftpanel{background:var(--panel);border-right:1px solid var(--line);z-index:5;flex-direction:column;flex-shrink:0;width:236px;min-height:0;display:flex}.lp-tabs{grid-template-columns:1fr 1fr;gap:4px;padding:10px 10px 0;display:grid}.lp-tabs button{color:var(--muted);background:#f1f3f6;border:none;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:8px;font-weight:600;display:inline-flex}.lp-tabs button.active{background:var(--text);color:#fff}.lp-body{flex:1;padding:6px 10px 16px;overflow:hidden auto}.lp-section{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:16px 2px 7px;font-size:11px;font-weight:700}.tiles{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.lp-section+.tiles{margin-top:0}.lp-section.with-icon{align-items:center;gap:5px;display:flex}.tile{border:1px solid var(--line);min-height:70px;color:var(--text-2);background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 4px 7px;transition:border-color .12s,background .12s,transform 80ms;display:flex;position:relative}.tile span{text-align:center;font-size:10.5px;line-height:1.15}.tile kbd{color:var(--muted);border-bottom-width:1px;padding:0 4px;font-size:9px;position:absolute;top:4px;right:4px}.tile:hover{background:var(--accent-soft);border-color:#b6c6f5}.tile:active{transform:scale(.97)}.tile.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.thick{color:var(--muted);background:#f6f7f9;border-radius:9px;flex-direction:column;align-items:stretch;gap:5px;margin-top:8px;padding:7px 8px;font-size:11.5px;display:flex}.thick .chips{gap:3px;display:flex}.thick .chips .chip{flex:1;justify-content:center;display:inline-flex}.panel .chips{flex-wrap:wrap;gap:3px;display:flex}.panel .chips .chip{padding:2px 6px;font-size:11px}.thick-sel{color:var(--accent);font-weight:600}.thick .chip{padding:2px 6px;font-size:11px}.lp-search{margin:8px 0 0}.lp-search input{width:100%}.lp-note{color:var(--muted);margin-top:14px;font-size:11px;line-height:1.45}.center{position:relative}.floortabs{border:1px solid var(--line);max-width:calc(100% - 175px);box-shadow:var(--shadow);border-top:1px solid var(--line);z-index:4;background:#fff;border-radius:12px;gap:4px;padding:5px;position:absolute;bottom:12px;left:12px}.floortab{background:0 0;border:none;border-radius:8px;padding:6px 11px;font-weight:500}.floortab:hover{background:#f1f3f6}.floortab.active{background:var(--text);color:#fff}.floortab.add{color:var(--muted);border:none}.ft-div{background:var(--line);align-self:stretch;width:1px;margin:2px}.zoom-ctrl{box-shadow:var(--shadow);border-radius:12px;padding:4px}.toolhint{color:#fff;box-shadow:var(--shadow-lg);z-index:4;background:#101a33eb;border-radius:12px;align-items:center;gap:8px;max-width:calc(100% - 40px);padding:6px 6px 6px 12px;font-size:12.5px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.toolhint span{opacity:.8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.toolhint button{color:#fff;background:#ffffff29;border:none;border-radius:8px;margin-left:4px;padding:4px 10px;font-weight:600}.toolhint button:hover{background:#ffffff47}.hint{display:none}.actionbar{border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:6;background:#fff;border-radius:11px;gap:2px;padding:3px;display:flex;position:absolute;transform:translate(-50%,-100%)}.actionbar button{width:32px;height:32px;color:var(--text-2);background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.actionbar button:hover{background:var(--accent-soft);color:var(--accent)}.actionbar button.danger:hover{color:var(--danger);background:#fdecea}.hit [data-hit^=wall\:]:hover{fill:#2453e038}.hit [data-hit^=room\:]:hover{fill:#2453e00f}.hit [data-hit^=fixture\:]:hover,.hit [data-hit^=item\:]:hover,.hit [data-hit^=opening\:]:hover,.hit [data-hit^=label\:]:hover{fill:#2453e024}.hit [data-hit^=dimension\:]:hover{stroke:#2453e059}.hit [data-hit]{cursor:pointer}.hit [data-hit^=room\:]{cursor:move}.panel{--val-w:142px;box-sizing:border-box;scrollbar-gutter:stable;width:284px;padding:0 16px 20px;overflow:hidden auto}.panel-top{z-index:3;border-bottom:1px solid var(--line);background:#fff;margin:0 -16px 8px;position:sticky;top:0}.panel-head{box-sizing:border-box;align-items:center;gap:6px;height:54px;padding:0 12px 0 16px;display:flex}.panel-title{flex-direction:column;flex:auto;min-width:0;margin-left:3px;line-height:1.25;display:flex}.panel-title h3{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;overflow:hidden}.panel-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.panel-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:8px;flex:0 0 30px;place-items:center;display:grid;overflow:hidden}.panel-icon svg{max-width:24px;max-height:24px}.panel-swatch{border-radius:8px;width:100%;height:100%;display:block;box-shadow:inset 0 0 0 1px #0000001a}.panel-info{color:#8a93ab;cursor:help;flex:none;place-items:center;width:24px;height:24px;display:grid}.panel-info:hover{color:var(--accent)}.panel-actions{box-sizing:border-box;align-items:center;gap:2px;height:38px;padding:0 10px 4px;display:flex}.iconbtn.act{width:32px;height:32px}.iconbtn.act-danger{color:var(--danger);margin-left:auto}.iconbtn.act-danger:hover:not(:disabled){background:#fdecea}.panel-empty{margin:6px 0}.panel .row{grid-template-columns:minmax(0, 1fr) var(--val-w);box-sizing:border-box;align-items:center;gap:8px;min-height:36px;margin:0;padding:2px 0;display:grid}.panel .row.stack{grid-template-columns:minmax(0,1fr);gap:4px}.panel .row-label{min-width:0;line-height:1.25}.panel .row-value{justify-content:flex-start;align-items:center;min-width:0;display:flex}.panel .row-value>b,.panel .row-value>.row-text{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.row-text{color:var(--text-2);font-size:12px}.panel .row-value>select,.panel .row-value>.textfield,.panel .row-value>.numfield,.panel .row-value>.client-field,.panel .row-value>.seg{box-sizing:border-box;width:100%}.panel .row-value>select,.panel .row-value>.textfield,.panel .row-value>.numfield,.panel .row-value>.inline>.numfield{height:32px}.panel .row-value>.inline{width:100%;min-width:0}.panel .row-value>.inline>.numfield{box-sizing:border-box;flex:auto}.panel .row-value>.inline>.muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.panel .seg button{flex:1 1 0;min-width:0;padding:5px 2px;font-size:12px}.panel .seg button svg{margin:0 auto;display:block}.panel .fold{margin-top:10px}.panel .btns .btn{flex:1;justify-content:center}.panel h4{margin-top:16px}.panel>.textfield,.panel>.textfield.textarea{box-sizing:border-box;width:100%;height:32px;margin:0 0 4px;display:block}.panel>.textfield.textarea{height:auto}.panel .variants{grid-template-columns:repeat(4,1fr);gap:4px;margin:0 0 6px}.panel .variant{padding:2px}.panel .variant svg{width:100%;height:auto;display:block}.panel .variant-btns{flex-wrap:wrap;gap:3px;margin:2px 0 6px;display:flex}.size-link{position:relative}.size-link .lockbtn{right:calc(var(--val-w) + 6px);border-radius:7px;width:26px;height:26px;position:absolute;top:50%;transform:translateY(-50%)}.quickname.room-door{margin:0 0 8px}.dlg-bg{z-index:80}.dlg{width:min(400px,100%);box-shadow:var(--shadow-lg);text-align:center;background:#fff;border-radius:14px;padding:22px 22px 18px;animation:.14s ease-out pop}.dlg h2{margin:6px 0;font-size:16px}.dlg p{color:var(--muted);margin:0 0 4px;line-height:1.45}.dlg-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:50%;place-items:center;display:inline-grid}.dlg-icon.danger{color:var(--danger);background:#fdecea}.dlg-input{border:1px solid var(--line);border-radius:9px;outline:none;width:100%;margin-top:12px;padding:10px 12px;font-size:14px}.dlg-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dlg-btns{gap:8px;margin-top:18px;display:flex}.dlg-btns .btn{flex:1;justify-content:center;padding:9px}.dlg-btns.stack{flex-direction:column-reverse}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger-solid:hover:not(:disabled){color:#fff;background:#b42318;border-color:#b42318}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.color{border:1px solid var(--line);cursor:pointer;border-radius:7px;width:34px;height:26px;padding:0;box-shadow:inset 0 0 0 2px #fff}.cpick{z-index:90;border:1px solid var(--line);width:224px;box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;padding:10px;position:fixed}.cp-sv{cursor:crosshair;touch-action:none;border-radius:8px;height:120px;position:relative}.cp-sv i{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d}.cp-hue{cursor:pointer;touch-action:none;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:6px;height:12px;margin:10px 0;position:relative}.cp-hue i{pointer-events:none;background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d}.cp-swatches{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.cp-swatches button{aspect-ratio:1;cursor:pointer;border:1px solid #0000001f;border-radius:5px;padding:0}.cp-swatches button.on{outline:2px solid var(--accent);outline-offset:1px}.cp-hex{align-items:center;gap:6px;margin-top:10px;display:flex}.cp-hex span{border:1px solid var(--line);border-radius:6px;flex-shrink:0;width:26px;height:26px}.cp-hex input{border:1px solid var(--line);min-width:0;font-family:var(--mono);border-radius:7px;flex:1;padding:5px 7px;font-size:12px}.cp-hex .btn{padding:5px 10px}.floorstack{border:1px solid var(--line);width:220px;box-shadow:var(--shadow);z-index:4;background:#fff;border-radius:12px;padding:6px;position:absolute;bottom:12px;left:12px}.fs-head{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);align-items:center;gap:6px;padding:2px 4px 6px 6px;font-size:11px;font-weight:700;display:flex}.fs-row{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 8px;display:flex}.fs-row:hover{background:#f1f3f6}.fs-row.active{background:var(--text);color:#fff}.fs-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.fs-row input{border:1px solid var(--accent);min-width:0;font:inherit;color:var(--text);border-radius:6px;outline:none;flex:1;padding:3px 6px}.fs-acts{gap:2px;display:flex}.fs-acts button{width:24px;height:24px;color:inherit;opacity:.75;background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.fs-acts button:hover{opacity:1;background:#ffffff2e}.fs-add-wrap{margin-top:4px;position:relative}.fs-add{width:100%;color:var(--muted);background:0 0;border:1px dashed #cfd5df;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:6px;display:flex}.fs-add:hover{border-color:var(--accent);color:var(--accent)}.fs-menu{border:1px solid var(--line);width:290px;box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;padding:5px;position:absolute;bottom:calc(100% + 6px);left:0}.fs-menu button{text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 9px;display:flex}.fs-menu button:hover{background:var(--accent-soft);color:var(--accent)}.size-row{align-items:flex-end;gap:6px;margin:6px 0;display:flex}.size-row label{color:var(--muted);flex-direction:column;flex:1;gap:3px;font-size:11.5px;display:flex}.size-row .numfield input{width:100%}.lockbtn{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:#fff;border-radius:8px;flex-shrink:0;place-items:center;margin-bottom:0;display:grid}.lockbtn.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.quickname{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:9px;margin:4px 0 10px;padding:9px 10px;display:flex}.quickname.on{border-color:var(--accent);background:var(--accent-soft)}.quickname input{margin-top:2px}.quickname span{flex-direction:column;gap:2px;display:flex}.quickname small{color:var(--muted);font-size:11px;line-height:1.4}.quickname.room-door.warn{background:#fff7e6;border-color:#f59e0b}.adv{border:1px solid var(--line);border-radius:10px;margin-top:12px;padding:10px 12px}.adv summary{cursor:pointer;font-weight:600}.adv[open] summary{margin-bottom:6px}.leftnav{z-index:5;flex-shrink:0;min-height:0;display:flex}.rail{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:2px;width:74px;padding:8px 0;display:flex}.rail-btn{width:64px;color:var(--text-2);background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:9px 2px 7px;display:flex}.rail-btn span{text-align:center;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:anywhere;max-width:100%;font-size:10.5px;line-height:1.1}.rail-btn:hover{background:#f1f3f6}.rail-btn.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.leftnav .leftpanel{width:232px}@media (width<=1100px){.main{position:relative}.main>.panel{z-index:20;box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;right:0}}@media (width<=900px){.leftnav{position:relative}.leftnav .leftpanel{box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;left:100%}.leftnav .leftpanel.wide{width:min(440px,100vw - 140px)}}.lp-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:13px 10px 10px 14px;display:flex}.lp-head b{font-size:14px}.lp-tabs{display:none}@keyframes slidein{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.floorstack.embedded{width:auto;box-shadow:none;border:none;padding:6px 0 0;position:static}.floorstack.embedded .fs-menu{width:100%;top:calc(100% + 6px);bottom:auto}.floorstack.embedded .fs-row{padding:9px 10px}.floorstack.embedded .fs-head{order:10;margin-top:10px}.floorstack.embedded{flex-direction:column;display:flex}.floorstack.embedded .fs-add-wrap{order:9}.panel-strip{background:var(--panel);border-left:1px solid var(--line);justify-content:center;width:46px;padding-top:10px;display:flex}body.dragging-item,body.dragging-item *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.tile{touch-action:pan-y}.dashwrap{flex:1;min-height:0;display:flex}.dash-side{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:232px;padding:18px 12px 14px;display:flex}.dash-brand{margin-top:-5px;padding:0 8px 20px 29px;font-size:16px}.dash-side nav{flex-direction:column;gap:2px;display:flex}.dash-nav{color:var(--text-2);text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.dash-nav:hover{background:#f1f3f6}.dash-nav.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.profile-card{border:1px solid var(--line);text-align:left;background:#fafbfc;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.profile-card:hover{border-color:#c9cfda}.avatar{background:var(--text);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.pc-text{flex-direction:column;min-width:0;display:flex}.pc-text b,.pc-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pc-text small{color:var(--muted)}.pc-text .plan-chip{vertical-align:1px;margin-left:2px;padding:1px 6px;font-size:9.5px}.lang-switch{letter-spacing:.4px;justify-content:center;align-items:center;gap:6px;padding:6px 0 10px;font-size:11.5px;display:flex}.lang-switch button{color:var(--muted);background:0 0;border:none;border-radius:5px;padding:2px 4px;font-weight:500}.lang-switch button:hover{color:var(--text-2);background:#f1f3f6}.lang-switch button.active{color:var(--brand);font-weight:700}.lang-switch i{color:var(--line);font-style:normal}.side-btn{justify-content:center;width:100%;margin-top:8px;font-size:13px}.login{flex-direction:column;gap:12px;min-width:300px;display:flex}.login p{margin:0}.login .btns{margin-top:4px}.login-err{color:var(--danger);font-size:12.5px}.login-sent{text-align:center;min-width:300px;color:var(--text-2);flex-direction:column;align-items:center;gap:10px;padding:10px 6px 4px;display:flex}.login-sent>svg{color:var(--brand)}.login-code{text-align:left;flex-direction:column;gap:4px;width:100%;max-width:320px;margin-top:4px;display:flex}.login-code label{color:var(--muted);font-size:12px}.login-code-row{gap:8px;display:flex}.login-code-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-code-row input{border:1px solid var(--line);letter-spacing:3px;font-variant-numeric:tabular-nums;border-radius:8px;outline:none;flex:1;min-width:0;padding:8px 10px;font-size:18px}.login-sent p{max-width:320px;margin:0}.dash-main{flex:1;min-width:0;overflow-y:auto}.dash-main .dash{overflow:visible}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:14px 16px;display:grid}.stat svg{color:var(--accent);background:var(--accent-soft);box-sizing:border-box;border-radius:10px;grid-row:span 2;width:36px;height:36px;padding:8px}.stat b{font-size:20px}.stat span{color:var(--muted);font-size:12px}.swatches{gap:3px;display:inline-flex}.swatches i{border-radius:4px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.chip-meta.accent{background:var(--accent-soft);color:var(--accent)}.learn{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.learn-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px 18px 8px}.learn-card h3{margin:12px 0 8px;font-size:15px}.learn-card ol{color:var(--text-2);margin:0;padding-left:20px;line-height:1.6}.learn-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:10px;place-items:center;display:grid;position:relative}.learn-num{background:var(--accent);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}.settings-grid{flex-direction:column;gap:14px;max-width:780px;display:flex}.set-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.set-card h3{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.set-card h3 svg{color:var(--muted)}.set-card select{border-radius:8px;padding:9px 10px;font-size:14px}.set-card p{margin:0}.set-card .btns{margin-top:0}.set-fields{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.set-fields.three{grid-template-columns:2fr 1fr 1fr}.set-fields .field input,.set-fields .field select{box-sizing:border-box;width:100%;min-width:0}.set-fields .numfield{border-radius:8px;width:100%}.set-fields .numfield:focus-within{box-shadow:0 0 0 3px var(--accent-soft)}.set-fields .field .numfield input{width:auto;box-shadow:none;border:none;flex:1;padding:9px 4px 9px 10px;font-size:14px}.set-fields .numfield .unit{padding-right:10px;font-size:13px}.set-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.set-inline{grid-template-columns:1fr auto;align-items:center;gap:4px 16px;display:grid}.set-inline>.btn{grid-area:1/2/span 2}@media (width<=640px){.set-fields,.set-fields.three{grid-template-columns:1fr}.set-foot{flex-direction:column;align-items:stretch}.set-inline{grid-template-columns:1fr}.set-inline>.btn{grid-area:auto/1;justify-self:start}}.card-meta{flex-wrap:wrap;row-gap:4px}.hit [data-hit^=autodim\:]:hover{stroke:#2453e059}.switch-row{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:9px 10px;display:flex}.switch-row.on{border-color:var(--accent);background:var(--accent-soft)}.btn.full{justify-content:center;width:100%;margin-top:8px}.crash{flex:1;place-items:center;padding:20px;display:grid}.crash-card{border:1px solid var(--line);max-width:520px;box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:24px}.crash-card h2{margin:0 0 8px}.crash-card .dlg-btns{flex-wrap:wrap}.crash-card pre{white-space:pre-wrap;background:#f6f7f9;border-radius:8px;max-height:200px;padding:8px;font-size:11px;overflow:auto}.ab-count{color:var(--accent);white-space:nowrap;align-items:center;padding:0 8px 0 10px;font-size:12px;font-weight:600;display:flex}.hit .rl-hit{cursor:move}.hit .rl-hit:hover{fill:#2453e01f}.rail .spacer{flex:1}.rail-sep{background:var(--line);flex:none;width:40px;height:1px;margin:6px 0}.floor-pill{z-index:4;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;align-items:center;gap:7px;padding:7px 14px;font-weight:600;display:inline-flex;position:absolute;bottom:12px;left:12px}.floor-pill:hover{border-color:var(--accent);color:var(--accent)}.floorstack .fs-head .iconbtn.small{width:22px;height:22px}.rotzone{fill:#0000;cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M20 12a8 8 0 1 1-2.3-5.6' fill='none' stroke='white' stroke-width='4' stroke-linecap='round'/><path d='M20 12a8 8 0 1 1-2.3-5.6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/><path d='M20 3v5h-5' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/><path d='M20 3v5h-5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") 12 12,crosshair}.rot-badge{color:#fff;pointer-events:none;z-index:6;background:#101a33e0;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.rot-badge.snapped{background:#e0457b}.viewseg button{align-items:center;gap:5px;padding:5px 12px;font-weight:600;display:inline-flex}.view3d{background:#e8ecf1;flex:1;min-height:0;position:relative;overflow:hidden}.view3d canvas{touch-action:none;display:block}.beta-badge{letter-spacing:.4px;color:#9a6400;background:#fff1d6;border-radius:4px;margin-left:2px;padding:1px 4px;font-size:9px;font-weight:700}.v3d-beta{z-index:3;box-shadow:var(--shadow);color:#9a6400;background:#ffffffeb;border:1px solid #f0d9a8;border-radius:8px;align-items:center;gap:7px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:12px;left:12px}.v3d-beta span{color:var(--text-2);font-weight:500}.v3d-tools{z-index:3;gap:6px;display:flex;position:absolute;top:12px;right:12px}.v3d-align{z-index:3;background:var(--tape-soft);color:var(--tape-ink);box-shadow:var(--shadow);border:1px solid #f0d9a8;border-radius:10px;align-items:center;gap:9px;max-width:calc(100% - 24px);padding:7px 10px 7px 12px;font-size:12.5px;display:inline-flex;position:absolute;top:58px;left:50%;transform:translate(-50%)}.v3d-align svg{flex-shrink:0}.v3d-align button{border:1px solid var(--tape-ink);color:var(--tape-ink);cursor:pointer;background:#fff;border-radius:7px;padding:4px 10px;font-weight:600}.v3d-align button:hover{background:var(--tape-ink);color:#fff}.v3d-tools button{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:7px 11px;font-weight:500;display:inline-flex}.v3d-tools button:hover{border-color:var(--accent);color:var(--accent)}.v3d-tools button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.v3d-hint{color:#fff;white-space:nowrap;pointer-events:none;z-index:3;background:#101a33d1;border-radius:9px;padding:6px 12px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.view3d.v3d-transparent{background-color:#fff;background-image:linear-gradient(45deg,#e9ecf0 25%,#0000 25% 75%,#e9ecf0 75%),linear-gradient(45deg,#e9ecf0 25%,#0000 25% 75%,#e9ecf0 75%);background-position:0 0,10px 10px;background-size:20px 20px}.view3d.walking canvas{cursor:grab}.view3d.walking canvas:active{cursor:grabbing}.v3d-tools{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 24px)}.tier-badge{letter-spacing:.03em;text-transform:uppercase;color:var(--tape-ink);background:var(--tape-soft);border:1px solid var(--tape);border-radius:6px;padding:0 5px;font-size:9.5px;font-weight:700;line-height:15px}.v3d-scenery{z-index:3;border:1px solid var(--line);width:252px;box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:absolute;top:56px;right:12px}.v3d-materials{width:272px;max-height:calc(100vh - 80px);overflow:auto}.v3d-materials h5{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:8px 0 4px;font-size:11px}.v3d-materials .pp-grid.mat-grid{grid-template-columns:repeat(4,1fr)}.v3d-materials .mat-none{border:1px solid var(--line);background:#f4f2ee;border-radius:6px;width:34px;height:34px;display:block}.vm-pick{align-items:center;gap:6px;min-height:26px;display:flex}.vm-pick small{color:var(--muted)}.vm-pick .iconbtn{margin-left:auto}.vs-row{align-items:center;gap:8px;min-height:30px;display:flex}.vs-row>svg{color:var(--muted);flex:none}.vs-row.off{opacity:.45}.vs-row input[type=range]{flex:1;min-width:0}.vs-time{font-variant-numeric:tabular-nums;text-align:right;width:36px;color:var(--muted);font-size:12px}.vs-label{color:var(--muted);flex:1;font-size:12px}.vs-seg{background:#f6f7f9;border-radius:9px;gap:2px;padding:2px;display:flex}.vs-seg button{width:32px;height:28px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;display:grid}.vs-seg button:hover:not(:disabled){color:var(--accent)}.vs-seg button.active{color:var(--accent);border-color:var(--line);background:#fff;box-shadow:0 1px 2px #0000000f}.vs-seg button:disabled{cursor:default}.vs-row.vs-wrap{flex-wrap:wrap}.vs-seg.vs-grid{grid-template-columns:repeat(3,32px);display:grid}.vs-seg.vs-text button{width:auto;padding:0 9px;font-size:12px;font-weight:600}.v3d-tools button.v3d-caret{margin-left:-3px;padding-left:3px;padding-right:3px}.vs-seg.vs-roof{justify-content:space-between}.vs-seg.vs-roof button{flex:1;width:auto}.vs-primary{background:var(--accent);color:#fff;border:none;border-radius:9px;justify-content:center;align-items:center;gap:6px;margin-top:2px;padding:8px 12px;font-weight:600;display:inline-flex}.vs-primary:disabled{opacity:.6}.sharebox{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;display:flex}.sharebox-head{align-items:center;gap:6px;display:flex}.sharebox-head .muted{margin-left:auto}.sharebox p{margin:0}.sharebox-row{align-items:center;gap:4px;display:flex}.sharebox-row input{border:1px solid var(--line);min-width:0;font-size:11.5px;font-family:var(--mono);background:#f7f8fa;border-radius:7px;flex:1;padding:5px 7px}.vs-action{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.vs-action:hover:not(:disabled){border-color:var(--accent)}.vs-action svg{color:var(--accent);flex:none}.vs-action span{flex-direction:column;gap:1px;display:flex}.vs-action small{color:var(--muted);font-size:11px}.v3d-busy{z-index:4;pointer-events:all;background:#ffffff59;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.view3d.recording{background:var(--text)}.v3d-rec{z-index:4;color:#fff;font-variant-numeric:tabular-nums;background:#101a33e0;border-radius:10px;align-items:center;gap:10px;padding:6px 6px 6px 12px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.v3d-rec button{color:var(--text);background:#fff;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-weight:600;display:inline-flex}.v3d-bar{background:#ffffff40;border-radius:3px;width:160px;height:6px;overflow:hidden}.v3d-bar i{background:#fff;border-radius:3px;height:100%;transition:width .2s;display:block}.v3d-rec-dot{background:#e5484d;border-radius:50%;width:10px;height:10px;animation:1s infinite v3d-blink}@keyframes v3d-blink{50%{opacity:.3}}.v3d-joy{z-index:3;touch-action:none;background:#101a3347;border:2px solid #ffffffb3;border-radius:50%;place-items:center;width:120px;height:120px;display:grid;position:absolute;bottom:56px;left:24px}.v3d-joy-knob{width:48px;height:48px;box-shadow:var(--shadow);pointer-events:none;background:#ffffffeb;border-radius:50%}.v3d-loading{color:var(--muted);flex:1;place-items:center;display:grid}.backdrop-box,.backdrop-box .btn.full+.btn.full{margin-top:6px}.bd-row{background:#f6f7f9;border-radius:10px;justify-content:space-between;gap:2px;padding:3px;display:flex}.bd-opacity{color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:11.5px;display:flex}.bd-opacity input{flex:1}.north-angle{margin-left:auto}.north-angle .numfield input{flex:0 0 36px;width:36px}.switch-row svg{color:var(--muted)}.bg-hit{cursor:move}.measure-layer{pointer-events:none;z-index:2;position:absolute;inset:0}.tiles .tile kbd:empty{display:none}.transform-row{background:#f6f7f9;border-radius:10px;align-items:center;gap:2px;margin:10px 0 0;padding:4px 4px 4px 8px;display:flex}.transform-row span{flex:1}.card-client{color:var(--accent);background:var(--accent-soft);cursor:pointer;border-radius:6px;align-items:center;gap:4px;margin-top:4px;padding:1px 7px;font-size:11.5px;display:inline-flex}.card.trashed .card-thumb{filter:grayscale()}.btn.active-btn{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.dash-actions select{border-radius:8px;padding:8px 10px}.report-chart{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-end;gap:8px;height:200px;margin-bottom:16px;padding:16px 16px 8px;display:flex}.rc-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.rc-bar{background:var(--accent);border-radius:6px 6px 2px 2px;width:70%;max-width:46px;min-height:2px}.rc-val{color:var(--text);font-size:12px;font-weight:600}.rc-lbl{color:var(--muted);white-space:nowrap;font-size:11px}.report-example{opacity:.85;position:relative}.report-example .report-chart,.report-example .report-table-wrap{border-style:dashed}.report-example-tag{background:var(--tape,#f5b301);color:#1b1b1b;letter-spacing:.04em;text-transform:uppercase;z-index:1;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:-10px;right:12px}.report-example p{margin-top:12px}.report-table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:13px}.report-table th,.report-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #f0f2f5;padding:9px 10px}.report-table th{color:var(--muted);font-size:11.5px;font-weight:600}.report-table td.num,.report-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.pp-grid{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.pp-sw{aspect-ratio:1;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;place-items:center;padding:0;display:grid;overflow:hidden}.pp-sw svg{width:100%;height:100%;display:block}.pp-sw.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.pp-opts{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px;display:grid}.pp-opts label{color:var(--muted);flex-direction:column;gap:3px;font-size:11px;display:flex}.pp-opts .numfield input{width:100%}.vm-wrap{position:relative}.viewmenu{border:1px solid var(--line);width:290px;box-shadow:var(--shadow-lg);z-index:40;background:#fff;border-radius:12px;padding:12px 14px;position:absolute;top:40px;right:0}.vm-head{align-items:baseline;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.vm-seg{margin-bottom:8px;display:flex}.vm-seg button{flex:1}.vm-group{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:10px 0 2px;font-size:11px;font-weight:600}.vm-group:first-of-type{margin-top:4px}.fold{border-top:1px solid var(--line);margin-top:16px}.fold-head{width:100%;font:inherit;cursor:pointer;text-align:left;color:inherit;background:0 0;border:none;align-items:center;gap:8px;padding:10px 0;font-weight:600;display:flex}.fold-head>span:first-child{flex:none}.fold-head>.muted{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:400;overflow:hidden}.fold-head svg{color:var(--muted);margin-left:auto;transition:transform .15s}.fold.open .fold-head svg{transform:rotate(180deg)}.fold-body h4:first-child{margin-top:4px}.lib-color{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:6px 2px 8px;font-size:12.5px;display:flex}.vm-row{cursor:pointer;border-bottom:1px solid #f3f4f7;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.vm-scale{align-items:center;gap:6px;display:inline-flex}.vm-scale input{width:110px}.vm-scale b{text-align:right;min-width:36px;font-size:12px}.vm-foot{margin-top:10px}.vm-btns{gap:6px;margin-top:8px;display:flex}.vm-btns .btn{flex:1;justify-content:center}input.switch{appearance:none;cursor:pointer;background:#d6dbe3;border-radius:20px;flex-shrink:0;width:34px;height:20px;transition:background .15s;position:relative}input.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}input.switch:checked{background:var(--accent)}input.switch:checked:after{left:16px}.viewseg{flex-shrink:0}.viewseg button{white-space:nowrap}.style-pick select{max-width:170px}.bg-handle{fill:#fff;stroke:#e0457b}.bg-handle:hover{fill:#e0457b}.billing-bar{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:0 0 18px;padding:12px 16px;display:flex}.billing-label{font-weight:600}.billing button{padding:8px 14px;font-weight:600}.plan-alt{text-align:left;margin-top:4px;padding:0;font-size:12px}.billing .save{background:var(--ok-soft);color:var(--ok);border-radius:10px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:600}.billing button.active .save{color:#fff;background:#ffffff40}.current-plan{background:var(--accent-soft);color:var(--accent);border-radius:12px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 16px;display:flex}.plans{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:16px;display:grid}.plan{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;padding:20px;display:flex;position:relative}.plan.highlight{border:2px solid var(--accent);box-shadow:0 12px 34px #2453e029}.plan-badge{background:var(--accent);color:#fff;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:700;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.plan-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.plan h3{margin:12px 0 2px;font-size:18px}.plan-price{flex-direction:column;margin:16px 0 12px;display:flex}.plan-price b{letter-spacing:-.5px;font-size:30px}.plan-price span{color:var(--muted);font-size:12px}.plan ul{flex-direction:column;flex:1;gap:7px;margin:0 0 18px;padding:0;list-style:none;display:flex}.plan li{align-items:flex-start;gap:7px;font-size:13px;display:flex}.plan li svg{color:var(--ok);flex-shrink:0;margin-top:2px}.plan-cta{justify-content:center;width:100%;padding:10px}.plan .plan-direct{margin-top:6px}.vs-fp{background:var(--tape-soft);color:var(--tape-ink);border:1px solid #f3dc9a;border-radius:12px;align-items:flex-start;gap:12px;margin:18px 0;padding:14px 16px;display:flex}.sec-title{margin:26px 0 10px;font-size:17px}.report-table.compare td:first-child{font-weight:500}.report-table.compare td.num,.report-table.compare th{text-align:center}.report-table.compare th:first-child{text-align:left}.compare .yes{color:var(--ok)}.compare .no{color:#c4c9d2}.faq details{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:8px;padding:12px 16px}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--text-2);margin:8px 0 2px;line-height:1.5}.plan-chip{color:var(--ok);background:var(--ok-soft);white-space:nowrap;border-radius:10px;margin-left:auto;padding:2px 7px;font-size:10.5px;font-weight:700}.board{flex-direction:column;gap:8px;display:flex}.board-drop{border:2px dashed var(--line);background:#fafbfc;border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;min-height:84px;padding:10px;transition:border-color .12s,background .12s;display:grid}.board-drop.empty{text-align:center;justify-content:center;align-items:center;display:flex}.board-drop.over{border-color:var(--accent);background:var(--accent-soft)}.board-item{border:1px solid var(--line);text-align:center;color:#333;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 6px;font-size:11.5px;display:flex}.board-item>span:nth-child(2){line-height:1.2}.board-tools{align-items:center;gap:4px;display:flex}.board-tools .icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:2px;display:grid}.board-tools .icon-btn:hover{color:var(--danger);background:#fdecea}.board-search{margin:0}.board-lib{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.board-lib-item{border:1px solid var(--line);color:#444;cursor:grab;background:#fff;border-radius:9px;flex-direction:column;flex:none;align-items:center;gap:3px;width:74px;padding:6px 4px;font-size:10.5px;line-height:1.15;display:flex}.board-lib-item:hover{border-color:var(--accent)}.mat-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.client-field{flex:1;min-width:0;position:relative}.client-field .textfield{width:100%}.client-sug{border:1px solid var(--line);z-index:30;background:#fff;border-radius:8px;max-height:180px;margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 8px 24px #101a3324}.client-sug li{cursor:pointer;padding:5px 10px;font-size:12.5px}.client-sug li.active{background:var(--accent-soft);color:var(--accent)}.client-near{color:var(--text-2);margin-top:4px;font-size:12px}.client-note{margin:-2px 0 8px;line-height:1.3}.wall-colors{flex-wrap:wrap;gap:6px;margin:2px 0 8px;display:flex}.wall-chip{border:1px solid var(--line);cursor:pointer;border-radius:50%;width:26px;height:26px;padding:0;box-shadow:inset 0 0 0 1px #0000000f}.wall-chip.none{color:var(--muted);background:#fff;place-items:center;display:grid}.wall-chip.active{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent)}.pp-sw.mat-sw{color:#444;flex-direction:column;align-items:center;gap:3px;height:auto;padding:5px 3px;font-size:10.5px;line-height:1.15;display:flex}.pp-sw.mat-sw svg{border-radius:6px}.mat-grid .pp-sw:not(.mat-sw) svg{width:20px;height:20px}.vm-dims{cursor:default}.vm-dims .seg button{padding:3px 9px;font-size:12px}.field-presets{width:var(--val-w,150px);box-sizing:border-box;justify-content:space-between;margin:-2px 0 4px auto;display:flex}.field-presets button{font:11px var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:1px 4px}.field-presets button:hover:not(:disabled){color:var(--text);background:#f1f3f6}.field-presets button.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.field-presets button:disabled{opacity:.3;cursor:default}.stair-facts{margin:-2px 0 6px}.soft-warn{background:var(--tape-soft);color:var(--tape-ink);border-radius:7px;align-items:center;gap:5px;margin:0 0 8px;padding:5px 8px;font-size:11.5px;display:flex}.soft-warn.floor-align{align-items:flex-start;margin:8px 0;line-height:1.4}.soft-warn.floor-align svg{flex-shrink:0;margin-top:2px}.soft-warn.floor-align .link{color:inherit;font-weight:600;text-decoration:underline}.soft-warn.floor-align.ok{color:var(--muted);background:0 0;margin-top:0;padding-left:0}.floor-offset .numfield input{width:58px}.brand-word,h1,h2,h3,.dash-head h1,.plan h3,.sec-title,.empty-title,.lp-head b{font-family:var(--display)}.editor-svg .measure,.typed,.measure-btn,.numfield input,.rc-val,.vs-time,.amount b{font-family:var(--mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}.small-screen{z-index:1000;background:var(--bg);text-align:center;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.small-screen .ss-box{justify-items:center;gap:14px;max-width:360px;display:grid}.small-screen h1{font-size:22px;font-family:var(--display);margin:0}.small-screen p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.small-screen .btn{padding:10px 16px;font-size:14px}.small-screen a.btn{text-decoration:none}.zoom-ctrl button.active{background:var(--accent-soft);color:var(--accent)}.zoom-ctrl button svg{display:block}.login-screen{z-index:50;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.login-card{background:var(--panel);border:1px solid var(--line);width:min(400px,100%);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:14px;padding:28px 28px 24px;display:flex}.login-card .login,.login-card .login-sent{min-width:0}.login-title{font-family:var(--display);letter-spacing:-.02em;margin:4px 0 0;font-size:22px}.login-card .login .btns{flex-wrap:wrap;gap:8px;display:flex}.login-card .login .btn.primary{flex:1;justify-content:center;padding:10px 14px;font-size:14px}.login-lang{justify-content:center}.current-plan>span{flex:1}.current-plan .btn{flex-shrink:0}.dash-tabs{background:#eceff5;border-radius:10px;gap:2px;margin:-6px 0 18px;padding:3px;display:inline-flex}.dash-tabs button{color:var(--text-2);background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.dash-tabs button:hover{color:var(--text)}.dash-tabs button.active{color:var(--text);background:#fff;font-weight:600;box-shadow:0 1px 3px #101a331f}.tab-count{text-align:center;font-variant-numeric:tabular-nums;background:#101a3312;border-radius:10px;min-width:20px;padding:0 6px;font-size:11.5px;line-height:18px}.dash-tabs button.active .tab-count{background:var(--accent-soft);color:var(--accent)}.dash-body{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:22px;display:grid}.dash-body>.dash-grid:only-child{grid-column:1/-1}.folders{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:2px;max-height:calc(100vh - 24px);padding:8px;display:flex;position:sticky;top:12px;overflow-y:auto}.folder{width:100%;color:var(--text-2);text-align:left;background:0 0;border:1px dashed #0000;border-radius:9px;align-items:center;gap:9px;padding:7px 9px;font-size:13px;transition:background .12s,border-color .12s;display:flex}.folder svg{color:var(--muted);flex-shrink:0}.folder:hover{background:#f3f5f9}.folder.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.folder.active svg{color:var(--accent)}.folder-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.folder-count{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11.5px}.folder.active .folder-count{color:var(--accent)}.folders.dragging .folder.drop-ok{border-color:#c5d0ea}.folder.drop-over{background:var(--accent-soft);color:var(--accent);border-style:solid;border-color:var(--accent)!important}.folders-hint{border-top:1px solid #eef0f4;margin-top:4px;padding:8px 9px 2px;line-height:1.35}.card.menu-open .card-tools{opacity:1}.dash-body{grid-template-columns:minmax(0,1fr);gap:14px}.folders{background:0 0;border:none;flex-flow:wrap;align-items:center;gap:6px;max-height:none;padding:0;position:static;overflow:visible}.folder{border:1px solid var(--line);background:#fff;border-radius:999px;width:auto;max-width:240px;padding:5px 11px}.folder.active{border-color:var(--accent)}.folders.dragging .folder.drop-ok{border-style:dashed;border-color:var(--accent)}.folders-hint{border:none;margin:0;padding:0 4px}.menu-backdrop{z-index:40;position:fixed;inset:0}.move-menu{z-index:41;border:1px solid var(--line);width:230px;box-shadow:var(--shadow-lg);background:#fff;border-radius:11px;flex-direction:column;padding:5px;display:flex;position:fixed;overflow-y:auto}.move-menu-title{color:var(--muted);padding:6px 9px 5px;font-size:11.5px;font-weight:600}.move-menu button{text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:7px 9px;font-size:13px;display:flex}.move-menu button svg{color:var(--muted);flex-shrink:0}.move-menu button:hover{background:var(--accent-soft);color:var(--accent)}.move-menu button:hover svg{color:var(--accent)}.move-menu button.current{font-weight:600}.move-menu button.current svg:last-child{color:var(--accent)}.move-menu-sep{background:#eef0f4;height:1px;margin:4px 2px}.trash-note{border:1px solid var(--line);color:var(--text-2);background:#fff;border-radius:10px;align-items:center;gap:8px;margin:-4px 0 16px;padding:9px 12px;font-size:13px;display:flex}.trash-note svg{color:var(--accent);flex-shrink:0}.card.trashed{opacity:1}.card.trashed .card-thumb{filter:none;position:relative}.card.trashed .card-thumb>img,.card.trashed .card-thumb>.card-empty{filter:grayscale();opacity:.6}.restore-overlay{opacity:0;background:#f5f7fb8c;place-items:center;transition:opacity .15s;display:grid;position:absolute;inset:0}.card.trashed:hover .restore-overlay,.card.trashed:focus-within .restore-overlay{opacity:1}.restore-overlay .btn{box-shadow:0 6px 18px #2453e047}@media (hover:none){.restore-overlay{opacity:1;background:0 0;place-items:end center;padding-bottom:10px}}.empty-state{text-align:center;border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:10px;max-width:420px;margin:32px auto 0;padding:36px 28px;display:flex}.empty-state .empty-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:16px;place-items:center;display:grid}.empty-state h3{margin:4px 0 0;font-size:17px}.empty-state p{margin:0 0 6px;line-height:1.45}.np-row{grid-template-columns:1fr 1fr;align-items:start;gap:12px;margin-top:12px;display:grid}.np-row .field>span{align-items:center;gap:4px;display:inline-flex}.np-row select{border:1px solid var(--line);border-radius:8px;outline:none;width:100%;padding:9px 8px;font-size:14px}.np-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.client-field input.np-input{width:100%}.np-hint{color:var(--accent);font-size:11.5px}.np-note{margin-top:6px}@media (width<=480px){.np-row{grid-template-columns:1fr}}.card-client{max-width:100%}.card-client span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.ftile{min-width:0;display:flex;position:relative}.ftile>.tile{flex:1;min-width:0}.tile-more{height:20px;color:var(--muted);background:#f2f4f7;border:1px solid #0000;border-radius:10px;align-items:center;gap:2px;padding:0 4px 0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:3px;right:3px}.tile-more:hover,.ftile.open .tile-more{color:var(--accent);background:var(--accent-soft);border-color:#b6c6f5}.variant-pop{z-index:900;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px;position:fixed;box-shadow:0 12px 32px #101a332e}.variant-pop-head{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 2px 6px;font-size:11px;font-weight:700}.variant-pop-grid{gap:4px;display:grid}.variant-pop .tile{touch-action:none;gap:3px;min-height:62px;padding:6px 3px 5px}.variant-pop .tile span{font-size:9.5px}.variant-row .variant-btns{flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}.variant-btn{border:1px solid var(--line);width:32px;height:32px;color:var(--text-2);background:#fff;border-radius:7px;place-items:center;padding:0;display:grid}.variant-btn:hover{background:var(--accent-soft);border-color:#b6c6f5}.variant-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.unlock-card{border:1px solid var(--accent);background:var(--accent-soft);border-radius:12px;margin:4px 0 10px;padding:12px 14px}.unlock-card .unlock-text{flex-direction:column;gap:4px;font-size:12.5px;line-height:1.45;display:flex}.unlock-card .unlock-text b{color:var(--accent);align-items:center;gap:6px;font-size:13px;display:inline-flex}.unlock-card .btns{margin-top:10px}.unlock-card .btn.primary{align-items:center;gap:6px;display:inline-flex}.team-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.team-list li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:5px 2px;font-size:13.5px;display:flex}.team-list li:last-child{border-bottom:0}.team-list .team-who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.team-list .team-owner{color:var(--accent)}.team-list .team-invited .team-who{color:#5b6475}.team-invite{gap:8px;display:flex}.team-invite input{border:1px solid var(--line);border-radius:8px;flex:1;min-width:0;padding:9px 10px;font-size:14px}.team-invite .btn,.invite-banner .btn{align-items:center;gap:6px;display:inline-flex}.team-warn{color:#8a4b00;background:#fff4e5;border-radius:8px;margin:0;padding:8px 10px}.invite-banners{flex-direction:column;gap:8px;padding:16px 32px 0;display:flex}.invite-banner{border:1px solid var(--accent);background:var(--accent-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.invite-banner>svg{color:var(--accent);flex:none}.invite-banner>span{flex:1;min-width:200px}.tier-badge{align-items:center;gap:2px;display:inline-flex}.folders .folder-new{color:var(--accent);background:0 0;border-style:dashed;border-color:#c5d0ea}.folders .folder-new svg{color:var(--accent)}.card.folder-empty{text-align:center;cursor:default;color:var(--text-2);border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:22px;display:flex}.card.folder-empty svg{color:var(--muted)}.card.folder-empty .btn{align-items:center;gap:6px;margin-top:6px;display:inline-flex}.cards .card[draggable=true]{cursor:grab}.cards .card[draggable=true]:active{cursor:grabbing}.card.dragging{outline:2px dashed var(--accent);outline-offset:-2px;box-shadow:none;transform:scale(.98)}.card.dragging .card-thumb,.card.dragging .card-body{opacity:.55}.drag-ghost{background:var(--accent);color:#fff;max-width:260px;font:600 13px/1.2 var(--font,system-ui), sans-serif;white-space:nowrap;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E");background-position:12px;background-repeat:no-repeat;border-radius:999px;align-items:center;gap:8px;padding:9px 14px 9px 34px;display:inline-flex;position:fixed;top:-100px;left:-100px;overflow:hidden;box-shadow:0 8px 22px #2453e059}.folders.dragging{z-index:6;background:var(--bg,#f5f7fb);padding:10px 0;position:sticky;top:0}.folders.dragging .folder.drop-ok{border:1px dashed var(--accent);color:var(--accent);background:#fff;animation:1.2s ease-in-out infinite drop-pulse}.folders.dragging .folder.drop-ok svg{color:var(--accent)}.folder.drop-over{transform:scale(1.07);box-shadow:0 6px 16px #2453e04d;background:var(--accent)!important;color:#fff!important;border-style:solid!important;border-color:var(--accent)!important;animation:none!important}.folder.drop-over svg,.folder.drop-over .folder-count{color:#fff!important}.folder{transition:background .12s,border-color .12s,transform .12s,box-shadow .12s}.folders-hint{color:var(--accent);font-size:12.5px;font-weight:600}@keyframes drop-pulse{0%,to{box-shadow:0 0 #2453e000}50%{box-shadow:0 0 0 4px #2453e024}}@media (prefers-reduced-motion:reduce){.folders.dragging .folder.drop-ok{animation:none}}.card.card-start{gap:6px}.card.card-start small{max-width:220px;font-size:12px;line-height:1.4}.plan-note{text-align:center;margin:8px 0 0;font-size:11.5px}.nen summary{align-items:center;gap:6px;display:flex}.nen summary .nen-info{color:var(--muted);margin-left:auto}.nen summary .nen-info.on{color:var(--accent)}.nen .nen-note-box p{margin:4px 0}.nen table.rooms{margin-top:6px}.nen table.rooms th{text-align:right;color:var(--muted);padding:2px 4px;font-size:11px;font-weight:500}.nen table.rooms tr.static td{cursor:default}.nen table.rooms tr.static:hover td{background:0 0}.nen table.rooms tr.has-note td{border-bottom:none}.nen table.rooms tr.nen-note td{cursor:default;padding:0 4px 6px}.nen table.rooms tr.nen-note:hover td{background:0 0}.nen h5{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:12px 0 2px;font-size:11px;font-weight:600}.nen-select{max-width:92px;padding:2px 3px;font-size:11px}.nen table.nen-rooms tr:not(.nen-note) td:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:74px;overflow:hidden}.nen table.nen-rooms td{padding:3px 2px}.nen-disclaimer{margin:8px 0 0}.nen-grid{grid-template-columns:1fr;gap:4px 10px;display:grid}.nen-grid label{justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.nen-grid select{max-width:150px;padding:3px 4px;font-size:11.5px}.sk-busy{align-items:center;gap:8px;display:flex}.sk-wrap{grid-template-columns:minmax(0,1fr) 300px;gap:16px;height:min(760px,100vh - 110px);display:grid}.sk-canvas{border:1px solid var(--line);background:#f6f7f9;border-radius:10px;place-items:center;min-height:0;display:grid;overflow:hidden}.sk-canvas svg{width:100%;height:100%;display:block}.sk-wall{cursor:pointer}.sk-wall .sk-hit{stroke:#0000;stroke-linecap:round}.sk-wall .sk-line{stroke:#1f9d55;stroke-linecap:round}.sk-wall:hover .sk-line,.sk-wall.on .sk-line{stroke:var(--accent)}.sk-win{stroke:#e0483e;stroke-linecap:round;opacity:.85;pointer-events:none}.sk-door{stroke:#e8912d;stroke-linecap:round;opacity:.9;pointer-events:none}.sk-furn{cursor:pointer}.sk-furn rect{fill:#7c5cd61a;stroke:#7c5cd6}.sk-furn text{fill:#5b3fb8;pointer-events:none;font-weight:600}.sk-furn:hover rect{fill:#7c5cd638}.sk-furn.on rect{fill:#7c5cd64d;stroke-width:3px}.sk-furn.off rect{fill:none;stroke:#9aa0aa;stroke-dasharray:4 3}.sk-hint{min-height:2.8em}.login-terms{margin-top:12px}.sk-roomname{fill:#0f7a52;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;font-weight:700}.sk-chips{flex-wrap:wrap;gap:4px;display:flex}.sk-chips .chip{cursor:pointer;font-size:12.5px}.sk-chips .chip.danger:not(.active){color:var(--danger)}.sk-chips .chip.danger.active{background:var(--danger);border-color:var(--danger)}.sk-dim rect{fill:#fff;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.sk-dim text{fill:var(--accent);font-family:inherit;font-weight:700}.sk-dim.bad rect{stroke:var(--danger)}.sk-dim.bad text{fill:var(--danger)}.sk-dim{cursor:pointer}.sk-dim.on rect{fill:var(--accent)}.sk-dim.on text{fill:#fff}.sk-open{cursor:pointer}.sk-open .sk-hit{stroke:#0000;stroke-linecap:round}.sk-open.on .sk-win,.sk-open.on .sk-door{stroke:var(--accent);opacity:1}.sk-snap{fill:#fff;stroke:var(--accent);pointer-events:none}.sk-snap.on{fill:var(--accent)}.sk-canvas.placing{cursor:crosshair}.sk-side{flex-direction:column;gap:12px;min-width:0;min-height:0;padding-right:2px;font-size:13px;display:flex;overflow:hidden auto}.sk-take{flex-direction:column;gap:4px;display:flex}.pdf-furn select{flex:1;min-width:0}.pdf-furn .link{align-self:flex-start}.sk-steps{color:var(--text-2);flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.sk-input{background:var(--accent-soft);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.sk-input label{align-items:center;gap:6px;font-weight:600;display:flex}.sk-row{align-items:center;gap:6px;display:flex}.sk-row input{border:1px solid var(--line);border-radius:7px;flex:1;min-width:0;padding:7px 9px;font-size:15px}.btn.danger-text{color:var(--danger);background:0 0;border-color:#0000;justify-content:flex-start;padding-left:2px}.btn.danger-text:hover:not(:disabled){background:#fdecea;border-color:#0000}.sk-list{flex-direction:column;gap:4px;display:flex}.sk-item{font-variant-numeric:tabular-nums;background:#f6f7f9;border-radius:6px;justify-content:space-between;align-items:center;padding:3px 6px;display:flex}.sk-item.bad{color:var(--danger);background:#fdecea}.sk-warn{color:var(--danger);font-size:12px}.sk-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sk-fields label{color:var(--text-2);flex-direction:column;gap:3px;font-size:12px;display:flex}.sk-fields label:first-child{grid-column:1/-1}.sk-fields input{border:1px solid var(--line);box-sizing:border-box;border-radius:7px;width:100%;min-width:0;padding:6px 8px;font-size:13px}.sk-actions{gap:8px;display:flex}.sk-actions .btn.primary{flex:1;justify-content:center}@media (width<=820px){.sk-wrap{grid-template-columns:1fr;height:auto}.sk-canvas{height:60vh}}.sk-canvas.drawing svg{cursor:crosshair}.sk-canvas.drawing .sk-wall{pointer-events:none}.sk-drag{stroke:var(--accent);stroke-dasharray:6 4;stroke-linecap:round}.sk-wall.double .sk-line{stroke:#157a43}.sk-tools{flex-wrap:wrap;gap:6px;display:flex}.sk-tools .btn{white-space:nowrap;flex:none}.sk-tools .btn:first-child{flex:1 0 auto;justify-content:center}.np-starts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 4px;display:grid}.np-start{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.np-start svg{color:var(--accent);margin-bottom:2px}.np-start b{font-size:13px}.np-start small{color:var(--muted);font-size:11.5px}.np-start:hover{border-color:var(--accent);background:var(--accent-soft)}.np-or{color:var(--muted);align-items:center;gap:10px;margin:10px 0 2px;font-size:12px;display:flex}.np-or:before,.np-or:after{content:"";background:var(--line);flex:1;height:1px}.sk-span{stroke:var(--accent);stroke-linecap:round;opacity:.9;pointer-events:none}.sk-span.hover{opacity:.35}.sk-seg{display:flex}.sk-seg button{flex:1}.wall-th{gap:12px;display:flex}.wall-th label{flex-direction:column;flex:1;gap:2px;display:flex}.wall-th label>span{align-items:center;gap:6px;display:flex}.wall-th label input{width:100%;min-width:0}.billing-note{display:grid}.billing-note>span{grid-area:1/1}.billing-note>.off{visibility:hidden}.card-title-edit{font:inherit;border:1px solid var(--accent);width:100%;box-shadow:0 0 0 3px var(--accent-soft);border-radius:6px;outline:none;padding:2px 6px;font-weight:600}.color.changed{outline:2px solid var(--accent);outline-offset:1px;position:relative}.color-reset{background:var(--accent-soft);width:22px;height:22px;color:var(--accent);cursor:pointer;vertical-align:middle;border:0;border-radius:6px;place-items:center;margin-left:4px;display:inline-grid}.color-reset:hover{background:var(--accent);color:#fff}.fs-row[draggable=true]{cursor:grab}.fs-row.dragging{opacity:.45}.fs-row.drop-above{box-shadow:inset 0 2px 0 var(--accent)}.fs-row.drop-below{box-shadow:inset 0 -2px 0 var(--accent)}.typed.typed-empty{opacity:.85}.typed.typed-empty .typed-hint{margin-left:0}.drag-ghost{z-index:9999;pointer-events:none;border:1px solid var(--accent);opacity:.92;background:#fff;border-radius:8px;padding:4px;position:fixed;top:0;left:0;box-shadow:0 6px 18px #101a332e}.drag-ghost svg,.drag-ghost img{width:40px;height:auto;display:block}.news-card{border:1px solid var(--line);text-align:left;color:var(--accent);background:#fff;border-radius:10px;align-items:center;gap:9px;margin-bottom:8px;padding:8px 10px;display:flex;position:relative}.news-card:hover{background:var(--accent-soft);border-color:#b6c6f5}.news-card span{flex-direction:column;line-height:1.25;display:flex}.news-card b{color:var(--text);font-size:12px}.news-card small{color:var(--muted);font-size:11px}.news-dot{background:#e2533b;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.news-modal{width:min(880px,100%)}.news-hl{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.news-hl:focus{outline:none}.news-hl-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.news-hl-card .news-demo{max-width:none;margin:0 0 4px}.news-hl-card b{color:var(--text);font-size:13.5px}.news-hl-card p{color:var(--text-2);margin:0;font-size:12.5px;line-height:1.4}.news-hl-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.news-hl-meta small{color:var(--muted);font-size:11px}.news-hl-meta .news-asked{margin-left:0}.news-days{margin-top:18px}.news-days h4{border-bottom:1px solid var(--line);text-transform:none;letter-spacing:0;color:var(--muted);margin:14px 0 6px;padding-bottom:6px;font-size:12px}.news-days ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.news-days li{grid-template-columns:74px 1fr;align-items:baseline;gap:8px;font-size:13px;line-height:1.4;display:grid}.news-days li .news-tag{justify-self:start;margin:0}.news-row b{color:var(--text);font-weight:600}.news-row span{color:var(--text-2)}.news-more{margin-top:12px}.news-tag{letter-spacing:.02em;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-block}.news-tag.nieuw{color:#1f7a35;background:#e3f4e6}.news-tag.beter{background:var(--accent-soft);color:var(--accent)}.news-tag.opgelost{color:#a05a00;background:#fff1e0}.news-demo{background:#fafbfd;border-radius:8px;width:100%;height:auto;display:block}.news-asked{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;margin-left:6px;padding:0 6px;font-size:10.5px;font-style:normal}.suggest-text{box-sizing:border-box;border:1px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:8px;margin-top:6px;padding:9px 10px}.suggest-text:focus{border-color:var(--accent);outline:none}.tb-suggest{color:var(--muted);background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:100%;padding:6px 2px;font-size:10px;display:flex}.tb-suggest:hover{color:var(--accent);background:var(--accent-soft)}.note-colors{gap:6px;margin:8px 2px;display:flex}.note-colors button{width:20px;height:20px;box-shadow:0 0 0 1px var(--line);border:2px solid #fff;border-radius:50%;padding:0}.note-colors button.on{box-shadow:0 0 0 2px var(--accent)}.note-opacity{color:var(--text-2);align-items:center;gap:8px;margin:6px 2px;font-size:12px;display:flex}.note-opacity input{flex:1;width:100%;min-width:0;margin:0 6px 0 0}.tiles.locked .tile{opacity:.5}.hit.note-erase polyline,.hit.note-erase rect{cursor:pointer}.room-warn-tip{z-index:7;border:1px solid var(--line);width:280px;color:var(--text);pointer-events:none;background:#fff;border-left:3px solid #f59e0b;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex;position:absolute;box-shadow:0 10px 30px #0a14282e}.room-warn-tip b{font-size:13px}.room-warn-tip .muted{color:var(--muted);font-size:11px}.note-pop{z-index:6;border:1px solid var(--line);background:#fff;border-radius:12px 12px 12px 4px;flex-direction:column;gap:6px;width:240px;padding:8px;display:flex;position:absolute;box-shadow:0 10px 30px #0a14282e}.note-pop .textfield.textarea{box-sizing:border-box;border-color:#0000;width:100%;min-height:56px;padding:4px 6px}.note-pop .textfield.textarea:focus{border-color:var(--line)}.note-pop-bar{align-items:center;gap:5px;display:flex}.note-pop-bar .spacer{flex:1}.note-dot{width:14px;height:14px;box-shadow:0 0 0 1px var(--line);border:2px solid #fff;border-radius:50%;padding:0}.note-dot.on{box-shadow:0 0 0 2px var(--accent)}.note-trash{color:var(--muted);background:0 0;border:none;border-radius:6px;place-items:center;padding:3px;display:grid}.note-trash:hover{color:#c0392b;background:#fdecea}.note-who{color:var(--muted);padding:0 6px;font-size:11px}.export-check{background:#fff7e6;border:1px solid #f59e0b;border-radius:10px;flex-direction:column;gap:4px;margin:0 0 10px;padding:9px 11px;font-size:12.5px;display:flex}.export-check b{color:#9a5b00;align-items:center;gap:6px;display:flex}.export-check ul{margin:2px 0 0;padding-left:18px}.export-check small{color:var(--muted)}.dims-restore{align-items:center;gap:10px;margin:6px 0 2px;display:flex}.pdf-wait{color:var(--text-2);justify-content:center;align-items:center;gap:10px;padding:40px 10px;display:flex}.pdf-pages{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-content:start;gap:12px;min-height:0;padding:2px;display:grid;overflow-y:auto}.pdf-page{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;place-items:center;padding:6px;display:grid;position:relative}.pdf-page img{border-radius:4px;width:100%;height:auto;display:block}.pdf-page.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pdf-page.off{opacity:.4;cursor:default}.pdf-page-n{background:var(--text);color:#fff;border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:12px;font-weight:700;display:grid;position:absolute;top:6px;left:6px}.pdf-page.on .pdf-page-n{background:var(--accent)}.pdf-page-check{color:var(--accent);position:absolute;top:8px;right:8px}.pdf-page-p{color:var(--text-2);background:#ffffffd9;border-radius:4px;padding:0 4px;font-size:11px;position:absolute;bottom:6px;right:8px}.pdf-page-n:empty{border:2px solid var(--line);background:#fff;min-width:18px;height:18px;padding:0}.pdf-wait{flex-direction:column}.pdf-wait-row{align-items:center;gap:10px;display:flex}.pdf-bar{background:var(--accent-soft);border-radius:3px;width:min(360px,80%);height:6px;overflow:hidden}.pdf-bar span{background:var(--accent);border-radius:3px;height:100%;transition:width .3s;display:block}.pdf-summary{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:4px;padding:10px;display:flex}.pdf-summary-head{color:var(--accent);align-items:center;gap:6px;display:flex}.pdf-summary.bad{border-color:var(--tape);background:var(--tape-soft)}.pdf-summary.bad .pdf-summary-head{color:var(--tape-ink)}.pdf-summary .btn{align-self:flex-start;margin-top:4px}.pdf-noplan{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.pdf-noplan>svg{color:var(--tape);flex-shrink:0;margin-top:2px}.pdf-noplan p{margin:6px 0 0}.dc-wrap{outline-offset:4px;border-radius:12px;outline:2px dashed #0000;flex-direction:column;gap:10px;display:flex}.dc-wrap.over{outline-color:var(--accent)}.dc-opt{text-align:left;border:1px solid var(--line);cursor:pointer;color:var(--text);font:inherit;background:#fff;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.dc-opt>svg{color:var(--accent);flex-shrink:0;margin-top:2px}.dc-opt:hover{border-color:var(--accent);background:var(--accent-soft)}.dc-best{border:2px solid var(--accent);box-shadow:0 0 0 3px var(--accent-soft);padding:18px 16px}.dc-text{flex-direction:column;gap:4px;min-width:0;display:flex}.dc-title{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.dc-best .dc-title{font-size:16px}.dc-badge{color:#fff;background:var(--accent);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.dc-sub{color:var(--text);font-size:13px}.dc-note{color:var(--muted);font-size:12px}.dc-after{color:var(--muted);padding:2px 4px 0;font-size:12.5px}.dc-after b{color:var(--text);font-size:13px}.dc-after ul{flex-direction:column;gap:3px;margin:4px 0 0;padding-left:18px;display:flex}.dc-drop{align-items:center;gap:6px;padding:0 4px;display:flex}.claude-steps{flex-direction:column;gap:6px;margin:6px 0 10px;padding-left:20px;font-size:13px;display:flex}.claude-steps code{background:var(--bg);border:1px solid var(--line);-webkit-user-select:all;user-select:all;border-radius:6px;padding:1px 6px;font-size:12px}.ai-modal{width:min(760px,100%)}.ai-modal .modal-head h2{font-family:var(--display);color:var(--brand-ink);align-items:center;gap:8px;display:flex}.ai-modal .modal-head h2 svg{color:var(--tape)}.ai-modal .modal-body{padding:4px 18px 18px}.ai-lead{color:var(--text);margin:12px 0 14px;font-size:14px;line-height:1.5}.ai-note{margin:12px 0 10px;font-size:12.5px}.ai-btns{flex-wrap:wrap;gap:8px;display:flex}.ai-btns .btn{padding:9px 16px;font-size:13.5px;text-decoration:none}.ai-url{background:var(--bg);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;padding:8px 8px 8px 12px;display:flex}.ai-url code{min-width:0;font-family:var(--mono);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;flex:1;font-size:13px}.ai-examples{flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:13px;display:flex}.ai-examples li::marker{color:var(--tape)}.ai-demo{background:var(--brand-ink);border-radius:14px;grid-template-columns:minmax(0,1fr) 270px;gap:14px;padding:14px;display:grid}.ai-chat{background:#fff;border-radius:10px;flex-direction:column;min-height:330px;display:flex;overflow:hidden}.ai-chat-head{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:9px 12px;font-size:12.5px;font-weight:600;display:flex}.ai-dot{background:#d97757;border-radius:50%;width:9px;height:9px}.ai-msgs{flex-direction:column;flex:1;justify-content:flex-end;gap:8px;padding:10px 12px;display:flex;overflow:hidden}.ai-msg{border-radius:12px;max-width:92%;padding:8px 11px;font-size:12.5px;line-height:1.45;animation:.35s ease-out ai-in}.ai-msg.me{background:var(--accent-soft);color:var(--brand-ink);border-bottom-right-radius:4px;align-self:flex-end}.ai-msg.bot{background:var(--bg);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.ai-msg.typing{gap:4px;padding:11px 12px;display:flex}.ai-msg.typing i{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite ai-bounce}.ai-msg.typing i:nth-child(2){animation-delay:.15s}.ai-msg.typing i:nth-child(3){animation-delay:.3s}.ai-input{border:1px solid var(--line);border-radius:10px;align-items:flex-end;gap:8px;min-height:38px;margin:0 10px 10px;padding:8px 10px;font-size:12.5px;line-height:1.45;display:flex}.ai-input span{flex:1;min-width:0}.ai-input span.ph{color:var(--muted)}.ai-input svg{color:var(--muted);flex-shrink:0;margin-bottom:2px}.ai-caret{vertical-align:-2px;background:var(--accent);width:1.5px;height:1.05em;margin-left:1px;animation:.9s step-end infinite ai-blink;display:inline-block}.ai-plan{width:100%;height:auto;font-family:var(--body);background:#fff;border-radius:10px;align-self:center;padding:10px 8px 6px}.ai-plan .mp-floor{fill:var(--muted);letter-spacing:.3px;font-size:9px;font-weight:700}.ai-plan .mp-name{fill:#1b2333;font-size:8.5px;font-weight:700}.ai-plan .mp-area{fill:#4a5168;font-size:7px}.ai-plan .mp-old,.ai-plan .mp-fill-old{opacity:1;transition:opacity .5s}.ai-plan .mp-new,.ai-plan .mp-fill-new{opacity:0;transition:opacity .5s}.ai-plan .mp-rename.on .mp-old,.ai-plan .mp-rename.on .mp-fill-old{opacity:0}.ai-plan .mp-rename.on .mp-new,.ai-plan .mp-rename.on .mp-fill-new{opacity:1}.ai-plan .mp-glow{fill:var(--tape);opacity:0;pointer-events:none}.ai-plan .on .mp-glow{animation:1.6s ease-out ai-glow}.ai-plan .mp-add{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .6s,transform .6s cubic-bezier(.2,.9,.3,1.2);transform:scale(.82)}.ai-plan .mp-add.on{opacity:1;transform:none}@keyframes ai-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ai-bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes ai-blink{50%{opacity:0}}@keyframes ai-glow{0%{opacity:0}25%{opacity:.55}to{opacity:0}}@media (prefers-reduced-motion:reduce){.ai-demo *,.ai-plan *{transition:none!important;animation:none!important}}@media (width<=640px){.ai-demo{grid-template-columns:1fr;padding:10px}.ai-chat{min-height:280px}.ai-plan{justify-self:center;max-width:260px}.ai-btns .btn{flex:1;justify-content:center}}.tour-spot{box-shadow:0 0 0 9999px #1118274d, 0 0 0 2px var(--accent);pointer-events:none;z-index:45;border-radius:12px;transition:left .25s,top .25s,width .25s,height .25s;position:fixed}.tour-dim{pointer-events:none;z-index:45;background:#1118274d;position:fixed;inset:0}.tour-card{z-index:46;background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px 10px;transition:left .25s,top .25s;display:flex;position:fixed;box-shadow:0 18px 50px #0a142847}.tour-top{align-items:center;gap:8px;display:flex}.tour-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:9px;place-items:center;transition:background .2s,color .2s;display:grid}.tour-card.done .tour-icon{color:#1f7a35;background:#e3f4e6}.tour-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:1;font-size:11.5px}.tour-title{margin-top:2px;font-size:15px}.tour-text{color:var(--text-2);margin:0;font-size:13px;line-height:1.45}.tour-hint{color:var(--accent);align-items:center;gap:6px;font-size:11.5px;display:flex}.tour-hint:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite tour-pulse}@keyframes tour-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.tour-btns{align-items:center;gap:6px;margin-top:4px;display:flex}.tour-btns .btn{align-items:center;gap:6px;display:inline-flex}.tour-dots{justify-content:center;gap:4px;margin-top:2px;display:flex}.tour-dots i{background:var(--line);border-radius:50%;width:5px;height:5px}.tour-dots i.past{background:#b6c6f5}.tour-dots i.on{background:var(--accent);border-radius:3px;width:14px}@media (prefers-reduced-motion:reduce){.tour-spot,.tour-card{transition:none}.tour-hint:before{animation:none}}.learn-hero{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:28px;margin-bottom:28px;padding:26px 30px;display:flex}.learn-hero-text{flex-direction:column;flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.learn-hero-tag{color:var(--accent);background:var(--accent-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.learn-hero h2{letter-spacing:-.2px;margin:4px 0 0;font-size:22px}.learn-hero p{color:var(--text-2);max-width:460px;margin:0 0 8px;line-height:1.5}.learn-start{border-radius:10px;align-items:center;gap:8px;padding:11px 18px;font-size:14.5px;display:inline-flex}.learn-hero-art{flex:none;width:240px}.learn-ask{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:14px;margin:-12px 0 28px;padding:14px 18px;display:flex}.learn-ask-icon{color:var(--accent);flex:none}.learn-ask-text{min-width:0;color:var(--text-2);flex-direction:column;flex:1;gap:2px;font-size:14px;display:flex}.learn-ask-text b{color:var(--text)}.learn-sub{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 12px;font-size:12px}@media (width<=820px){.learn-hero-art{display:none}}.sk-trace{align-items:center;gap:10px;margin:10px 0;display:flex}.sk-trace span{flex:1}.keys{max-height:calc(100vh - 70px);overflow-y:auto}@media (width<=1250px){.v3d-beta span{display:none}}.project-name{field-sizing:content}.logo-preview{border:1px solid var(--line,#e1e6f3);background:repeating-conic-gradient(#f0f2f7 0 25%, #fff 0 50%) 0 0 / 16px 16px;border-radius:10px;justify-content:flex-end;margin:10px 0 2px;padding:12px;display:flex}.logo-preview img{object-fit:contain;max-width:60%;max-height:72px}.parcel-search{gap:6px;display:flex}.parcel-search input{border:1px solid var(--line);border-radius:8px;outline:none;flex:1;min-width:0;padding:9px 10px;font-size:14px}.parcel-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.parcel-error{margin:10px 0 0;font-size:13px}.parcel-found{flex-direction:column;gap:2px;margin:12px 0 8px;font-size:14px;display:flex}.parcel-preview{border:1px solid var(--line);background:#fff;border-radius:10px;height:300px;position:relative}.parcel-preview svg{width:100%;height:100%;display:block}.pp-parcel{fill:none;stroke:#2f3b52;stroke-width:2px;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.pp-pand{fill:#2453e01a;stroke:#2453e0;stroke-width:1.5px;vector-effect:non-scaling-stroke}.pp-wall{stroke:#101a33;stroke-width:2.5px;vector-effect:non-scaling-stroke}.parcel-north{color:var(--muted);display:flex;position:absolute;top:8px;left:8px}.parcel-turn{position:absolute;top:6px;right:6px}.parcel-opts{flex-wrap:wrap;gap:6px 16px;margin:10px 0 6px;font-size:13px;display:flex}.parcel-opts label{align-items:center;gap:6px;display:flex}.annex-hit{fill:#0000;stroke:#0000;stroke-width:12px;vector-effect:non-scaling-stroke;pointer-events:all;cursor:move}.annex-hit:hover{fill:#2453e012}.export-choice{margin:0 0 4px}.export-choice h3{margin:0 0 10px;font-size:16px}.choice-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.choice-card{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;font-size:12.5px;line-height:1.45;display:flex}.choice-card b{color:inherit;align-items:center;gap:6px;font-size:13px;display:inline-flex}.choice-card .btn{justify-content:center;align-items:center;gap:6px;width:100%;display:inline-flex}.choice-card.choice-free{background:0 0;border-style:dashed}.choice-card.choice-best{border-color:var(--accent);background:var(--accent-soft);color:inherit}.export-choice>.link{margin-top:8px}@media (width<=720px){.choice-cards{grid-template-columns:1fr}}.first-task{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:20px;padding:16px 18px 14px;position:relative}.first-task h2{font-family:var(--display);color:var(--text);margin:0 32px 12px 0;font-size:16px;font-weight:700}.ft-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:5px;display:flex;position:absolute;top:10px;right:10px}.ft-close:hover{color:var(--text);background:#eceff5}.ft-starts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.ft-start{border:1px solid var(--line);text-align:left;cursor:pointer;font:inherit;color:var(--text);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;display:flex}.ft-start svg{color:var(--accent);flex:none}.ft-start b{font-size:13.5px;font-weight:600}.ft-start:hover{border-color:var(--accent);background:var(--accent-soft)}.ft-steps{color:var(--text-2);flex-wrap:wrap;gap:8px 22px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.ft-steps li{align-items:center;gap:8px;display:flex}.ft-steps li.done{color:var(--muted)}.ft-box{box-sizing:border-box;background:#fff;border:1.5px solid #b9c2d6;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.ft-steps li.done .ft-box{border-color:var(--ok);background:var(--ok);color:#fff}@media (width<=700px){.ft-starts{grid-template-columns:1fr}}.modal.intro-q,.modal.ask-sam{width:min(460px,100%)}.iq-label{margin:10px 0 6px;font-weight:600}.iq-chips{flex-wrap:wrap;gap:6px;display:flex}.iq-chips .chip{cursor:pointer;font:inherit;border-radius:999px;padding:6px 11px}.iq-chips .chip:not(.active):hover{border-color:var(--accent)}.iq-tips{color:var(--muted);margin-top:14px}.ask-text{box-sizing:border-box;resize:vertical;border:1px solid var(--line);width:100%;min-height:110px;font:inherit;border-radius:8px;padding:9px 10px}.ask-text:focus{border-color:var(--accent);outline:none}.ask-note{margin:6px 0 10px}.lib-missing{justify-items:start;gap:8px;display:grid}.handle.chosen{fill:#2453e0}.lp-searchrow{align-items:flex-end;gap:6px;display:flex}.lp-searchrow .lp-search{flex:1;min-width:0}.lib-wide{flex-shrink:0;margin-bottom:1px}.lib-rooms{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;margin-top:10px;display:grid}.lib-room{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:6px 0 5px;display:flex}.lib-room span{letter-spacing:-.15px;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;line-height:1.1;overflow:hidden}.lib-room:hover{background:var(--hover,#f1f4fa);color:var(--ink,#101a33)}.lib-room.active{color:#2453e0;background:#eaf0ff;border-color:#c9d8ff;font-weight:600}.leftpanel.wide,.leftnav .leftpanel.wide{width:440px}.leftpanel.wide .lib-rooms{grid-template-columns:repeat(11,minmax(0,1fr))}.lib-jump{flex-wrap:wrap;gap:3px;margin-top:8px;display:flex}.lib-jump button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:2px 7px;font-size:10px;line-height:1.35}.lib-jump button:hover{color:var(--text);background:var(--accent-soft);border-color:#b6c6f5}.lib-group{scroll-margin-top:4px}.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.leftpanel.wide .tiles{grid-template-columns:repeat(6,minmax(0,1fr))}.tile{min-width:0}.tile span{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.tile{padding-left:2px;padding-right:2px}.v3d-tools{gap:8px}.v3d-tools .v3d-group{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;align-items:stretch;display:inline-flex;overflow:hidden}.v3d-tools .v3d-group button{box-shadow:none;background:0 0;border:none;border-radius:0;padding:7px 10px}.v3d-tools .v3d-group button+button{border-left:1px solid var(--line)}.v3d-tools .v3d-group button:hover{border-color:var(--line);background:var(--accent-soft)}.v3d-tools .v3d-group button.active{background:var(--accent-soft);border-color:var(--line)}.v3d-tools .v3d-group button.v3d-icon{padding-left:9px;padding-right:9px}.v3d-tools .v3d-group button.v3d-caret{border-left-color:#0000;margin-left:0;padding-left:4px;padding-right:4px}.export-wrap{flex:none;display:flex;position:relative}.export-wrap.hinting>.btn.primary{box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 4px #2453e059}.dl-hint{border:1px solid var(--line);box-shadow:var(--shadow);white-space:nowrap;z-index:30;background:#fff;border-radius:999px;align-items:stretch;animation:.18s ease-out pop;display:flex;position:absolute;top:calc(100% + 12px);right:0}.dl-hint:before{content:"";border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff;width:10px;height:10px;position:absolute;top:-6px;right:40px;transform:rotate(45deg)}.dl-hint button{cursor:pointer;color:var(--text-2);background:0 0;border:none;align-items:center;display:inline-flex}.dl-hint-go{border-radius:999px 0 0 999px;gap:7px;padding:7px 4px 7px 13px;font-size:13px;font-weight:600;color:var(--accent)!important}.dl-hint-go:hover{text-decoration:underline}.dl-hint-x{border-radius:0 999px 999px 0;padding:7px 10px 7px 8px;color:var(--muted)!important}.dl-hint-x:hover{color:var(--text)!important}.dlg-note{color:var(--muted);margin:-2px 0 2px;font-size:12px;line-height:1.4}.login-reassure{align-items:center;gap:6px;margin:-2px 0 0;display:flex}.login-reassure svg{color:var(--ok);flex:none}.login-demo{justify-content:center;width:100%;margin-top:2px}.login-or{color:var(--muted);align-items:center;gap:10px;margin:4px 0 0;font-size:12px;display:flex}.login-or:before,.login-or:after{content:"";background:var(--line);flex:1;height:1px}.iq-sub{color:var(--muted);margin:4px 0 12px;font-size:13px}.iq-chips.big{grid-template-columns:1fr 1fr;gap:8px;display:grid}.iq-chips.big .chip{text-align:center;border-radius:12px;justify-content:center;padding:13px 12px;font-size:14px;font-weight:600}.iq-skip{justify-content:center;margin-top:14px;display:flex}.topbar:has(.dl-hint){z-index:25}.dl-hint.shifted:before{display:none}.pdf-trace-pages{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));max-height:320px;margin-bottom:14px}.pdf-trace-pages .pdf-page{min-height:90px}.pdf-trace-actions{flex-direction:column;gap:8px;display:flex}.pdf-trace-actions>.btn.primary{justify-content:center}.pdf-trace-actions .sk-actions{justify-content:flex-end}.size-link .lock-note{color:var(--muted);text-align:right;margin:-4px 0 8px;font-size:11.5px}.size-link .lock-note.on{color:var(--accent)}.size-link .lockbtn{top:calc(50% - 10px)}.unnamed-room .name-chip{cursor:pointer}.saved:not(.busy):not(.warn):not(.error),.billing .save,.plan-chip{color:#137a40}#root,.app{overflow-x:clip}.app>.main,.main>.center,.topbar>*{min-width:0}@media (width<=1100px){.topbar .home .brand-word,.topbar .home .brand-sub{display:none}.topbar .saved{gap:0;padding:4px 6px;font-size:0}.topbar .style-pick select{max-width:104px}}@media (width<=900px){.topbar .viewseg .beta-badge{display:none}.topbar .style-pick select{max-width:84px}}@media (width<=640px){.topbar{flex-wrap:wrap;row-gap:6px;height:auto;min-height:54px;padding:6px 10px}.topbar .spacer{display:none}.topbar .export-wrap{margin-left:auto}}@media (orientation:portrait) and (width<=1000px){.main:has(.leftnav .leftpanel)>.panel{display:none}}@media (width<=640px){.v3d-hint{white-space:normal;text-align:center;width:max-content;max-width:calc(100% - 24px);bottom:60px}}.hg-section{margin:0 0 26px}.hg-section h2{font-family:var(--display);margin:0 0 2px;font-size:18px;font-weight:700}.hg-section>p{margin:0 0 14px;font-size:13px}.hg-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px;display:grid}.hg-tile{border:1px solid var(--line);text-align:left;cursor:pointer;font:inherit;color:var(--text);background:#fff;border-radius:12px;flex-direction:column;padding:0;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;overflow:hidden}.hg-tile:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 22px #101a331f}.hg-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hg-tile:disabled{cursor:progress}.hg-tile.marked{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.hg-thumb{aspect-ratio:4/3;background:#f3f5f9;display:block;position:relative}.hg-thumb img{object-fit:cover;width:100%;height:100%;display:block}.hg-noimg{color:#b3b9c6;place-items:center;width:100%;height:100%;display:grid}.hg-busy{color:var(--accent);background:#fff9;place-items:center;display:grid;position:absolute;inset:0}.hg-body{flex-direction:column;flex:1;gap:2px;min-width:0;padding:9px 11px 11px;display:flex}.hg-body b{font-size:14px;font-weight:600}.hg-body small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.hg-meta{color:var(--muted);gap:6px;margin-top:auto;padding-top:6px;font-size:11.5px;display:flex}.hg-meta>span{background:#f2f4f7;border-radius:5px;align-items:center;gap:3px;padding:1px 6px;display:inline-flex}.hg-modal .modal-body{overflow-y:auto}.hg-note{margin:0 0 12px;font-size:13px}.hg-wait{min-height:200px;color:var(--accent);place-items:center;display:grid}.np-start.np-homes{flex-direction:row;grid-column:1/-1;align-items:center;gap:12px;padding:8px 12px 8px 8px}.np-homes-pics{flex:none;display:flex}.np-homes-pics img{object-fit:cover;border:2px solid #fff;border-radius:6px;width:52px;height:39px;box-shadow:0 1px 3px #101a332e}.np-homes-pics img+img{margin-left:-14px}.np-homes-txt{flex-direction:column;gap:2px;min-width:0;display:flex}@media (width<=700px){.hg-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}}.iw .modal-body{flex-direction:column;gap:12px;padding-top:14px;display:flex}.iw-drop{min-height:190px;color:var(--text);text-align:center;cursor:pointer;background:#f7f9fd;border:2px dashed #b9c4dc;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:22px 16px;transition:border-color .12s,background .12s;display:flex}.iw-drop>svg{color:var(--accent)}.iw-drop b{font-family:var(--display);font-size:16px}.iw-drop:hover,.iw-drop:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:none}.iw-drop:focus-visible{box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 5px var(--accent)}.iw-drop.over{border-style:solid;border-color:var(--accent);background:var(--accent-soft);transform:scale(1.01)}.iw-or{color:var(--accent);text-underline-offset:3px;font-weight:600;text-decoration:underline}.iw-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.iw-chip{color:var(--text-2);background:#f1f3f8;border-radius:20px;padding:3px 10px;font-size:11.5px}.iw-wait{min-height:80px;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.iw-found{align-items:center;gap:12px;display:flex}.iw-found>svg{color:var(--accent);flex-shrink:0}.iw-found b{font-size:14px}.iw-found.bad{align-items:flex-start}.iw-found.bad>svg{color:var(--tape);margin-top:2px}.iw-found.bad b{font-weight:600;line-height:1.45}.iw-thumb{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:6px;flex-shrink:0;width:64px;height:48px}.iw-name{text-overflow:ellipsis;white-space:nowrap;max-width:380px;overflow:hidden}.iw-ways{flex-direction:column;gap:8px;display:flex}.iw-way{text-align:left;border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.iw-way>svg{color:var(--accent);flex-shrink:0;margin-top:1px}.iw-way>span{flex-direction:column;gap:3px;min-width:0;display:flex}.iw-way b{font-size:14px}.iw-way small{color:var(--muted);font-size:12.5px}.iw-way:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.iw-way:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.iw-way.best{border:2px solid var(--accent);box-shadow:0 0 0 3px var(--accent-soft);padding:15px}.iw-way.best b{font-size:15px}.iw-way:disabled{cursor:progress;opacity:.7}.iw-where{background:#f6f8fc;border-radius:10px;flex-direction:column;gap:6px;padding:9px 11px 10px;display:flex}.iw-where-l{color:var(--muted);font-size:12px;font-weight:600}.iw-where-opts{flex-wrap:wrap;gap:6px;display:flex}.iw-where-opts .chip{cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:12.5px;display:inline-flex}.iw-where-opts .chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sk-side .iw-where{margin:4px 0}.iw .sk-actions{flex-wrap:wrap}.iw-left{margin-top:10px}.iw-left .btn.full:first-child{margin-top:0}@media (width<=700px){.iw-drop{min-height:150px}.iw-name{max-width:220px}}
