*{box-sizing:border-box} :root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#243047;background:#fff;font-size:16px;--blue:#284ce6;--muted:#758196;--line:#e3e8ef}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.32}button,input,select{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue)}button{border:0;background:none;color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}button svg{width:19px;height:19px;flex:none}.topbar{height:86px;display:flex;align-items:center;gap:42px;padding:0 28px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;flex-shrink:0}.brand>svg{width:31px;height:31px;stroke:var(--blue);stroke-width:2.6}.brand>span:first-of-type{font-size:29px;font-weight:750;letter-spacing:-1.6px}.brand-dot{color:var(--blue)}.brand-detail{font-size:11px;letter-spacing:1.6px;font-weight:650;margin:7px 0 0 9px;color:var(--muted)}.document-name{display:flex;flex-direction:column;gap:5px;margin-right:auto}.document-name input{border:0;max-width:270px;width:100%;font-size:15px;font-weight:600;color:#25314a;background:transparent}.document-name>span{font-size:12px;color:var(--muted);padding-left:2px}.file-actions{display:flex;gap:14px;align-items:center}.quiet{padding:10px 12px;font-size:14px;border-radius:7px}.quiet:hover{background:#f0f3f8}.primary{background:var(--blue);color:white;border-radius:7px;padding:11px 17px;display:inline-flex;gap:9px;align-items:center;justify-content:center;font-size:14px;font-weight:600}.primary:hover{background:#193cca}.workspace{display:grid;grid-template-columns:222px minmax(0,1fr) 260px;height:calc(100dvh - 86px);min-height:540px}.sidebar{padding:28px 18px 16px;display:flex;flex-direction:column;overflow-y:auto;border-right:1px solid var(--line)}.section-heading{font-size:11px;font-weight:650;letter-spacing:1.6px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading>span{font-size:11px;color:#a2abba;letter-spacing:0}.tools{display:flex;flex-direction:column;gap:5px;margin-bottom:31px}.tool{display:flex;align-items:center;gap:11px;padding:12px 10px;font-size:14px;border-radius:7px;text-align:left;min-height:44px}.tool kbd{margin-left:auto;font:11px "Segoe UI",sans-serif;color:#9ba4b4}.tool:hover{background:#f3f5f9}.tool.active{background:#edf1ff;color:var(--blue);font-weight:600}.tool.active kbd{color:#7b8edb}.tool.active svg{stroke-width:1.9}.field-row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:14px;margin-bottom:18px}.field-row select{width:86px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:8px 3px;font-size:14px;color:#344057}.check-row{display:flex;gap:7px;align-items:center;font-size:13px;margin:0 0 15px;line-height:1.5}.check-row input{accent-color:var(--blue);width:15px;height:15px;flex:none}.inspector{margin-top:16px;padding-top:22px;border-top:1px solid var(--line)}.inspector:empty{display:none}.inspector h2{font-size:14px;margin:0 0 16px}.inspector label{display:block;font-size:13px;color:#657187;margin-bottom:14px}.inspector input,.inspector select{display:block;width:100%;padding:9px 10px;border:1px solid #dce2ed;border-radius:6px;background:#fff;margin-top:7px;font-size:14px;color:#26324a}.inspector .property{font-size:13px;line-height:1.65;margin:0 0 14px;color:#657187}.inspector .delete{color:#b73d45;font-size:13px;width:100%;border:1px solid #eedadd;border-radius:6px;padding:9px}.inspector .quiet{border:1px solid var(--line);width:100%;margin-bottom:10px;font-size:13px}.sidebar-bottom{display:flex;gap:10px;margin-top:auto;padding:23px 2px 0;color:var(--muted)}.tip-icon{font-size:11px;width:16px;height:16px;flex:none;border:1px solid #9faabd;border-radius:50%;text-align:center;margin-top:2px}.sidebar-bottom p{font-size:12px;line-height:1.65;margin:0}.drawing-area{display:flex;flex-direction:column;min-width:0;position:relative;background:#f9fbfe}.canvas-toolbar{height:58px;flex-shrink:0;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px}.view-label{display:flex;gap:11px;align-items:center;white-space:nowrap;font-size:13px;color:#3e4c62}.view-label>span:last-child{color:var(--muted)}.view-square{width:10px;height:10px;border:1.6px solid #7a879c}.separator{color:#c8cfdb}.history{display:flex;align-items:center;gap:6px}.icon-button{width:32px;height:32px;display:grid;place-items:center;border-radius:5px}.icon-button:hover{background:#f0f3f9}.icon-button svg{width:17px;height:17px}.toolbar-divider{height:18px;width:1px;background:var(--line);margin:0 7px}.small{font-size:12px;white-space:nowrap;padding:8px}#canvas-container{position:relative;flex:1;min-height:350px;overflow:hidden}#canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;outline-offset:-3px}#canvas[data-tool="room"],#canvas[data-tool="wall"]{cursor:crosshair}#canvas[data-tool="door"],#canvas[data-tool="window"]{cursor:copy}#canvas[data-tool="pan"]{cursor:grab}#canvas.dragging{cursor:grabbing}#canvas text{font-family:Inter,"Segoe UI",Arial,sans-serif;stroke:none;paint-order:stroke;user-select:none}.zoom-controls{position:absolute;right:20px;bottom:22px;background:#fff;border:1px solid var(--line);box-shadow:0 3px 14px #24304709;border-radius:8px;display:flex;align-items:center;height:39px}.zoom-controls button{width:36px;height:36px;font-size:20px;display:grid;place-items:center}.zoom-controls button:hover{background:#f0f3f9}.zoom-controls>span:first-of-type{font-size:12px;color:#536179;min-width:49px;text-align:center}.zoom-controls>span:nth-of-type(2){height:18px;width:1px;background:var(--line);margin:0 3px}.zoom-controls svg{width:17px;height:17px}.statusbar{height:35px;flex-shrink:0;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);background:#fff;padding:0 18px;font-size:11px;color:var(--muted)}#status-message{margin-right:auto}.summary{padding:29px 23px;border-left:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column}.total-card{padding:20px 18px;background:#f0f3ff;border:1px solid #e5eafd;border-radius:9px;color:#263e9b;margin-bottom:28px}.total-card>span{font-size:13px}.total-card>div{margin:11px 0 8px;white-space:nowrap}.total-card strong{font-size:36px;font-weight:600;letter-spacing:-1.8px}.total-card>div>span{font-size:17px;color:#6d7faf}.total-card small{font-size:11px;color:#6d7faf}.rooms-list{display:flex;flex-direction:column;gap:8px}.room-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 6px;border-radius:6px}.room-item:hover,.room-item.selected{background:#f5f7fb}.room-swatch{width:10px;height:10px;border-radius:2px;flex:none}.room-item div{min-width:0}.room-item strong{display:block;font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:145px}.room-item small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.room-item>span:last-child{color:#a0aab9;margin-left:auto}.area-note{font-size:11px;line-height:1.7;color:#8a95a7;border-top:1px solid var(--line);padding-top:19px;margin-top:23px}.plan-key{display:flex;flex-direction:column;gap:14px;margin:20px 0 28px;font-size:12px;color:#758196}.plan-key span{display:flex;align-items:center;gap:10px}.plan-key i{width:19px;display:block}.key-wall{height:4px;background:#455777}.key-door{height:2px;background:#788294}.key-window{height:5px;border-top:2px solid #568bad;border-bottom:2px solid #568bad}.example-link{border-top:1px solid var(--line);margin-top:auto;padding:20px 0 0;font-size:12px;display:flex;justify-content:space-between;color:#758196}.example-link:hover{color:var(--blue)}#empty-hint{position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);text-align:center;width:min(380px,85%);pointer-events:none}#empty-hint button{pointer-events:auto}.empty-symbol{font-size:55px;color:#bac6e0;font-weight:200}#empty-hint h1{font-size:23px;font-weight:550;letter-spacing:-.6px}#empty-hint p{font-size:14px;line-height:1.8;color:#8390a4;margin:0 0 23px}.drawing-hint{position:absolute;top:16px;left:50%;transform:translateX(-50%);background:#253553;color:white;border-radius:6px;padding:9px 15px;font-size:12px;pointer-events:none;white-space:nowrap}#toast{position:fixed;bottom:55px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#253553;color:white;border-radius:8px;font-size:14px;box-shadow:0 6px 26px #172a4f26;z-index:10;max-width:90vw}dialog{border:1px solid var(--line);padding:26px;border-radius:12px;max-width:420px;width:90%;box-shadow:0 20px 100px #172a4f30;color:#26324a}dialog::backdrop{background:#19274060}dialog h2{font-size:21px;letter-spacing:-.4px;margin:0 0 14px}dialog p{font-size:14px;color:#657187;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}[hidden]{display:none!important}
@media(min-width:1600px){.workspace{grid-template-columns:245px minmax(0,1fr) 285px}.sidebar{padding-left:25px;padding-right:25px}.summary{padding-left:28px;padding-right:28px}}
@media(max-width:1100px){.workspace{grid-template-columns:195px minmax(0,1fr) 220px}.topbar{padding:0 20px;gap:26px}.brand-detail{display:none}.sidebar{padding-left:12px;padding-right:12px}.summary{padding:25px 16px}.canvas-toolbar{padding:0 13px}.view-label>span:last-child,.separator{display:none}#coordinates{display:none}.file-actions{gap:5px}.room-item strong{max-width:120px}.tool kbd{display:none}}
@media(max-width:800px){.topbar{height:76px;gap:14px;padding:0 15px}.brand>span:first-of-type{font-size:25px}.brand>svg{width:26px}.document-name{min-width:0}.document-name input{font-size:13px;width:140px}.document-name>span{font-size:10px}.file-actions .quiet{padding:9px 6px;font-size:12px}.file-actions .primary{font-size:12px;padding:10px}.file-actions svg{display:none}.workspace{height:calc(100dvh - 76px);min-height:600px;grid-template-columns:173px minmax(0,1fr);grid-template-rows:minmax(450px,1fr) auto}.summary{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:16px 20px;display:block;max-height:220px}.summary>.section-heading,.summary>.area-note,.summary>.plan-key,.example-link{display:none}.total-card{float:left;padding:12px 17px;margin:0 20px 0 0;min-width:180px}.total-card strong{font-size:28px}.total-card>div{margin:6px 0}.rooms-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0}.room-item{width:165px;padding:10px}.sidebar{padding-top:22px}.tools{margin-bottom:22px}.tool{gap:8px;padding:10px 8px}.field-row{font-size:12px}.field-row select{width:77px;font-size:12px}.check-row{font-size:12px}.sidebar-bottom{display:none}.statusbar{font-size:10px;padding:0 10px}#scale-label{display:none}.view-label{font-size:12px;gap:6px}.view-square{display:none}.canvas-toolbar{height:50px;padding:0 8px}.history{gap:0}.toolbar-divider{margin:0 3px}.small{font-size:11px;padding:7px}.inspector{padding-top:16px}}
@media(max-width:540px){.topbar{flex-wrap:wrap;height:112px;gap:4px 12px;padding:10px 12px}.brand{width:100px}.document-name{flex:1;margin:0}.document-name input{width:100%;max-width:none}.file-actions{margin-left:auto;gap:10px}.file-actions .quiet{padding:7px 12px}.file-actions .primary{padding:8px 14px}.workspace{height:calc(100dvh - 112px);grid-template-columns:64px minmax(0,1fr);min-height:580px}.sidebar{padding:15px 6px}.sidebar>.section-heading,.tool>span,.sidebar>.field-row,.sidebar>.check-row{display:none}.tools{gap:9px;margin:0}.tool{justify-content:center;padding:12px 5px}.tool svg{width:22px;height:22px}.inspector{position:fixed;z-index:4;left:76px;top:171px;width:190px;background:white;padding:16px;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 22px #172a4f16;max-height:50vh;overflow:auto}.inspector h2{margin-bottom:12px}.inspector label{margin-bottom:10px}.canvas-toolbar{padding:0 6px}.view-label{font-size:11px}.history .icon-button{width:29px}.summary{padding:12px}.total-card{min-width:150px;margin-right:10px;padding:10px 12px}.total-card strong{font-size:25px}.total-card small{font-size:10px}.room-item{width:144px;padding:7px 4px}.room-item strong{font-size:12px}.room-item small{font-size:11px}.drawing-hint{font-size:11px;white-space:normal;width:90%;text-align:center}.zoom-controls{right:10px;bottom:13px}#empty-hint h1{font-size:19px}#empty-hint p{font-size:13px}.statusbar{height:31px}}
/* Furniture catalogue and non-structural guides. */
.tools{margin-bottom:24px}.tool[data-tool="guide"]{gap:8px}.tool[data-tool="guide"] kbd{display:none}.key-guide{height:0;border-top:3px dotted #9570a9}
#canvas[data-tool="guide"]{cursor:crosshair}#canvas[data-tool="furniture"]{cursor:copy}
#furniture-dialog{width:min(760px,94vw);max-width:none;max-height:88dvh;padding:0;overflow:auto}
.catalog-header{position:sticky;top:0;z-index:1;display:flex;gap:24px;justify-content:space-between;padding:24px 26px 18px;background:#fff;border-bottom:1px solid var(--line)}
.catalog-header h2{margin-bottom:8px}.catalog-header p{margin:0;max-width:530px}.catalog-header>.icon-button{font-size:25px;flex-shrink:0}
#furniture-catalog{padding:4px 26px 24px}#furniture-catalog h3{font-size:15px;font-weight:600;margin:24px 0 12px;color:#566880}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.catalog-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;text-align:center;border:1px solid #dfe6ef;border-radius:8px;padding:14px 8px;background:#fafcff}
.catalog-item:hover{border-color:#284ce6;background:#edf2ff}.catalog-item>svg{width:100%;height:83px;margin:0 0 4px}.catalog-item>strong{font-size:14px;line-height:1.45;font-weight:550}.catalog-item>span{font-size:12px;color:#758196;margin-top:auto}
.catalog-footer{border-top:1px solid var(--line);padding:15px 26px;font-size:12px;color:#758196;background:#f8faff}
@media(max-width:800px){.tool[data-tool="guide"]>span{font-size:12px}.tools{gap:3px}.catalog-header{padding:20px}.catalog-grid{gap:9px}#furniture-catalog{padding:0 20px 20px}}
@media(max-width:540px){.tools{gap:2px}.tool{min-height:42px;padding-top:9px;padding-bottom:9px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-header{gap:10px;padding:17px}.catalog-header h2{font-size:20px}.catalog-header p{font-size:13px}#furniture-catalog{padding:0 15px 18px}.catalog-item>svg{height:70px}.catalog-footer{padding:14px 17px}.inspector{max-height:55dvh}}
.catalog-filter{display:flex;align-items:center;gap:12px;margin-top:15px;color:#657187;font-size:14px}.catalog-filter select{font:inherit;background:#fff;border:1px solid #dce2ed;border-radius:6px;padding:8px 10px;max-width:100%;color:#26324a}.tool[data-tool="glass-door"]{gap:8px}.inspector input,.inspector select{min-height:37px}
#canvas[data-tool="contour"]{cursor:crosshair}.inspector>.primary{width:100%;font-size:13px;margin-bottom:10px}.tool[data-tool="contour"]{gap:8px}
.wall-settings{margin:9px 0 0;padding-top:15px;border-top:1px solid var(--line);font-size:13px;color:#536179}.wall-settings>summary{cursor:pointer;font-weight:600;line-height:1.5}.wall-settings[open]>summary{margin-bottom:14px}.wall-settings .check-row{font-size:12px;align-items:flex-start;margin-bottom:11px}.wall-settings p{font-size:11px;line-height:1.6;color:#758196;margin:2px 0 0}.wall-settings input{margin-top:2px}.wall-settings[open]{padding-bottom:5px}
@media(max-width:540px){.wall-settings{font-size:10px;overflow-wrap:anywhere;padding-top:10px}.wall-settings>summary{list-style:none;text-align:center}.wall-settings .check-row{font-size:9px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;line-height:1.3}.wall-settings p{display:none}.wall-settings input{width:19px;height:19px;margin:0}.wall-settings[open]>summary{margin-bottom:10px}}
#canvas[data-tool="contour"],#canvas[data-tool="wall"],#canvas[data-tool="room"],#canvas[data-tool="guide"],#canvas[data-tool="door"],#canvas[data-tool="window"],#canvas[data-tool="glass-door"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 3V11M16 21V29M3 16H11M21 16H29' fill='none' stroke='white' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M16 3V11M16 21V29M3 16H11M21 16H29' fill='none' stroke='%23101827' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='16' cy='16' r='3.5' fill='%23101827' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 16 16,crosshair}
@media(max-width:540px){.catalog-filter{font-size:13px;gap:8px}.catalog-filter select{max-width:200px}.tool[data-tool="glass-door"]{padding-left:5px;padding-right:5px}}
