:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#253d39;background:#f4f4ef;font-synthesis:none;font-size:13px;--line:#dfe2da;--muted:#7c8981;--accent:#315b4d}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button,a,input,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #6c9b82;outline-offset:4px}button{color:inherit}header.header{height:78px;background:#fbfcf8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:relative;z-index:4}.brand{display:flex;align-items:center;gap:15px}.brand-icon{display:grid;place-items:center;border:1px solid #687e70;background:#e7ece4;width:37px;height:42px;font-size:25px;font-weight:500;clip-path:polygon(0 0,75% 0,100% 24%,100% 100%,0 100%)}.brand strong{display:block;font-size:17px;font-weight:600;letter-spacing:-.4px}.divider{font-weight:300;color:#bcc4b9;margin:0 14px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:6px;letter-spacing:.4px}.header-subtitle{font-weight:450}.revision{font-size:12px;display:flex;align-items:center;gap:10px;color:#657669}.revision i,footer i{width:6px;height:6px;border-radius:50%;background:#6c8b60;display:inline-block}.revision>span{margin:0 4px;color:#b5bdb1}.mobile-toggle{display:none}main{display:flex;height:calc(100dvh - 112px)}aside{width:274px;flex-shrink:0;background:#fbfcf8;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;z-index:3;padding:25px 22px 16px}.sidebar-heading{display:flex;justify-content:space-between;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:650;color:#8b968c}.tiny{font-size:10px;color:#a4aea2}h2{font-size:13px;margin:0 0 13px;font-weight:650}section{padding-bottom:19px;margin-bottom:18px;border-bottom:1px solid var(--line)}.switch-row{display:flex;position:relative;align-items:center;min-height:33px;justify-content:space-between;gap:10px;cursor:pointer;font-size:12px;color:#55635a}.switch-row input{position:absolute;right:0;opacity:0;width:32px;height:20px;margin:0;cursor:pointer}.switch{width:29px;height:16px;flex-shrink:0;border-radius:20px;background:#dce0d8;pointer-events:none;transition:.2s}.switch:after{content:"";display:block;width:12px;height:12px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:.2s}.switch-row input:checked+.switch{background:#587a63}.switch-row input:checked+.switch:after{transform:translate(13px)}.switch-row input:focus-visible+.switch{outline:2px solid #587a63;outline-offset:3px}.cut-controls{background:#f0f2eb;border-radius:8px;margin-top:9px;padding:12px 11px 8px;transition:.2s}.cut-controls.disabled{opacity:.4}.range-caption{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#7a877b}.range-caption output{font-size:12px;color:#315b4d;font-variant-numeric:tabular-nums;font-weight:600}input[type=range]{width:100%;margin:11px 0 4px;height:3px;accent-color:#577b60;cursor:pointer}.range-limits{display:flex;justify-content:space-between;font-size:9px;color:#9aa494}.section-heading{display:flex;align-items:baseline;justify-content:space-between}.count{font-size:10px;color:#8c988b}.search{width:100%;border:1px solid var(--line);border-radius:6px;background:transparent;padding:9px 10px;font-size:11px;color:#435d4d;margin-bottom:11px}.search::placeholder{color:#96a191}.rooms-section{min-height:200px;flex:1;display:flex;flex-direction:column;margin-bottom:14px;padding-bottom:10px}.rooms{overflow-y:auto;min-height:100px;scrollbar-width:thin;scrollbar-color:#d2d9cd transparent}.room-row{border:none;background:transparent;display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-size:11px;padding:9px 7px;border-radius:5px;margin-bottom:2px}.room-row .room-name{display:flex;align-items:center;gap:8px}.room-row i{width:5px;height:5px;flex-shrink:0;border-radius:50%}.room-row small{color:#939e90;white-space:nowrap;font-size:10px;font-variant-numeric:tabular-nums}.room-row:hover{background:#f0f3eb}.room-row.selected{background:#e3eddf;color:#315b4d}.room-row.selected small{color:#5e7c62}.model-note{font-size:10px;color:#8a9688;line-height:1.6}.model-note summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between}.model-note p{margin:12px 0}.model-note a{color:#4f7059}.model-note[open]{flex-shrink:0}#viewport{flex:1;position:relative;min-width:0;overflow:hidden;background:#f0f1ec}#viewport canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none}.view-toolbar{position:absolute;top:24px;right:26px;z-index:2;display:flex;padding:4px;border:1px solid #dce0d5;border-radius:9px;background:#fbfcf5e8;box-shadow:0 3px 12px #324b3910}.view-toolbar button{border:0;background:transparent;border-radius:6px;font-size:14px;padding:9px 12px;color:#879281}.view-toolbar button span{font-size:11px;margin-left:5px}.view-toolbar button.active{background:#e4eade;color:#3b5c41}.model-caption{position:absolute;top:30px;left:31px;z-index:1;pointer-events:none}.model-caption h1{font-size:21px;font-weight:450;letter-spacing:-.7px;margin:9px 0 8px}.model-caption p{font-size:11px;color:#8b9888;margin:0}.zoom-controls{position:absolute;right:26px;bottom:132px;z-index:2;display:flex;flex-direction:column;gap:2px;padding:3px;border:1px solid #d9dfd0;border-radius:8px;background:#fbfcf5e8}.zoom-controls button{border:none;background:transparent;width:33px;height:33px;font-size:20px;border-radius:5px}.zoom-controls button:hover{background:#e4eade}.orientation{position:absolute;bottom:53px;right:24px;text-align:center;color:#83917e;font-size:9px;pointer-events:none}.orientation div{border:1px solid #ccd4c4;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:25px;font-weight:300;margin-bottom:6px}.gesture-hint{position:absolute;bottom:18px;left:30px;right:30px;display:flex;justify-content:center;gap:23px;font-size:10px;color:#99a38f;pointer-events:none}.legend{position:absolute;bottom:56px;left:30px;display:flex;gap:18px;font-size:10px;color:#7b8975;pointer-events:none}.legend span{display:flex;align-items:center;gap:6px}.legend i{height:7px;width:7px;border-radius:2px}.rest{background:#c9bba3}.work{background:#acc3c6}.sanitary{background:#9fbcad}.service{background:#b8b0bf}.selection{position:absolute;right:26px;top:86px;width:246px;padding:20px;background:#fbfcf8f5;z-index:2;border:1px solid #d9dfd1;border-radius:10px;box-shadow:0 8px 26px #324b3910}.selection h2{font-weight:500;font-size:17px;margin:10px 0}.selection p{font-size:11px;color:#86927f;line-height:1.7}.close{position:absolute;right:9px;top:6px;border:0;background:none;color:#8c9983;font-size:21px}.primary{border:0;border-radius:5px;background:#3b604b;color:#fff;width:100%;padding:10px 12px;font-size:11px;display:flex;justify-content:space-between}.primary:hover{background:#2b4e3b}#loading{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#f0f1ec;color:#5e765b}#loading[hidden]{display:none}.labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.room-label{font-size:10px;line-height:1.4;text-align:center;white-space:nowrap;color:#405440;background:#fafcf2e8;border:1px solid #bfcbb6;border-radius:4px;padding:4px 6px;box-shadow:0 2px 5px #0001}.dimension-label{font-size:10px;letter-spacing:.7px;color:#85917d;background:#f0f1ecd9;padding:2px 5px}footer{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 27px;border-top:1px solid var(--line);font-size:9px;color:#8d9987;letter-spacing:.3px;background:#fbfcf8}footer>span:first-child{display:flex;gap:8px;align-items:center}footer b{font-weight:400;color:#c4ccbc;margin:0 8px}footer>span:last-child{font-size:9px;letter-spacing:1px}.no-results{font-size:11px;color:#8b9785;padding:10px}@media(min-height:1000px){aside{padding-top:32px}section{padding-bottom:24px;margin-bottom:22px}}@media(max-width:1100px){.model-caption h1{font-size:18px}.view-toolbar{top:102px;left:28px;right:auto}.selection{top:165px}.legend{gap:10px;left:22px}.gesture-hint{gap:12px;font-size:9px}}@media(max-width:700px){header.header{height:65px;padding:0 16px}.brand-icon{width:28px;height:33px;font-size:20px}.brand strong{font-size:15px}.header-subtitle,.divider,.revision{display:none}.brand small{font-size:9px}.mobile-toggle{display:block;border:1px solid #d5ddcd;border-radius:5px;background:transparent;padding:7px 10px}main{height:calc(100dvh - 96px)}aside{position:absolute;top:65px;bottom:31px;left:0;width:265px;transform:translate(-100%);transition:transform .2s;box-shadow:10px 0 25px #3b503518}aside.open{transform:translate(0)}.model-caption{left:20px;top:24px}.view-toolbar{left:19px;top:97px}.view-toolbar button{padding:8px 10px}.selection{right:16px;top:151px;width:215px;padding:16px}.zoom-controls{right:15px;bottom:108px}.orientation{right:15px;bottom:35px}.legend{left:20px;bottom:62px;max-width:230px;flex-wrap:wrap;gap:8px 16px}.gesture-hint{bottom:15px;left:20px;justify-content:flex-start;font-size:0}.gesture-hint:after{content:"Один палец — вращать · два — масштаб и сдвиг";font-size:9px}footer{height:31px;padding:0 15px}footer>span:nth-child(2){display:none}.room-label{font-size:9px}}@media(min-width:701px)and (max-height:850px){aside{padding:19px 20px 12px}.sidebar-heading{margin-bottom:17px}section{padding-bottom:12px;margin-bottom:13px;flex-shrink:0}h2{margin-bottom:8px}.switch-row{min-height:28px}.cut-controls{padding:9px 10px 7px;margin-top:6px}.rooms-section{min-height:100px;flex-shrink:1}.rooms{min-height:50px}.search{padding:7px 9px;margin-bottom:5px}.room-row{padding:7px 5px}.model-note{flex-shrink:0}}#viewport{isolation:isolate}.labels{z-index:1}.model-caption,.legend,.gesture-hint,.orientation{z-index:2}:root{color-scheme:dark;color:#e4eaf0;background:#0c1118;--line:#ffffff0e;--muted:#80909f;--accent:#7adfc6;scrollbar-color:#344451 #111923}::selection{background:#6bd8bd45;color:#fff}button,input,a,summary{transition:background .18s,color .18s,border-color .18s,box-shadow .18s}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline-color:#7adfc6}header.header{background:linear-gradient(100deg,#121b26,#111821 65%,#141e29);border-bottom-color:#ffffff0b;box-shadow:0 8px 24px #00000018;padding:0 27px}.brand-icon{color:#8fe5d2;border-color:#5cc5ad65;background:linear-gradient(135deg,#2a4a46,#182c2d);font-weight:400;clip-path:none;border-radius:11px;width:40px;height:40px;box-shadow:inset 0 1px #a8ffe320,0 3px 16px #0003}.brand strong{font-weight:650;letter-spacing:-.25px}.header-subtitle{font-weight:400;color:#c2ced7}.brand small{color:#728797;letter-spacing:.3px}.divider{color:#3b4c59}.revision{color:#9cafbc;background:#ffffff03;border:1px solid #ffffff0c;padding:9px 12px;border-radius:7px;font-size:10px}.revision i,footer i{background:#7adfc6;box-shadow:0 0 9px #7adfc64d}.revision>span{color:#465b6a}aside{background:linear-gradient(160deg,#151e29,#101822 75%);border-right-color:#ffffff0c;width:274px;scrollbar-width:thin}.sidebar-heading{align-items:center}.eyebrow{color:#7b94a5;font-size:9px;letter-spacing:1.9px}.tiny{border:1px solid #ffffff12;border-radius:4px;padding:2px 5px;color:#658493;font-family:monospace}h2{color:#d7e3eb;font-weight:550;font-size:12px;letter-spacing:.1px}.switch-row{color:#a5b5c1;font-size:11px}.switch-row:hover{color:#e5f3f4}.switch{background:#2a3845;box-shadow:inset 0 1px 3px #0004;width:30px;height:17px}.switch:after{width:11px;height:11px;margin:3px;background:#8193a2;box-shadow:0 1px 3px #0005}.switch-row input:checked+.switch{background:#42695f;box-shadow:inset 0 0 0 1px #78c2ac33}.switch-row input:checked+.switch:after{background:#a1f0d9;transform:translate(13px);box-shadow:0 0 8px #7adebe35}.switch-row input:focus-visible+.switch{outline-color:#7adfc6}.cut-controls{background:linear-gradient(120deg,#24382f70,#1b293365);border:1px solid #74d2b71a;border-radius:8px}.range-caption{color:#8ba49e;font-size:9px}.range-caption output{color:#9ae9cf;font-family:ui-monospace,monospace;font-size:12px;font-weight:500}.range-limits{color:#68847e;font-family:ui-monospace,monospace;font-size:8px}input[type=range]{accent-color:#8bdfc5;height:3px}.cut-controls.disabled{opacity:.35}.count{color:#718b9a;font-family:ui-monospace,monospace;font-size:9px}.search{background:#0a121c66;border-color:#ffffff0c;border-radius:6px;color:#d9e6ed;font-size:10px}.search::placeholder{color:#667e8e}.search:hover{border-color:#ffffff23}.search:focus{border-color:#7adfc670;box-shadow:0 0 0 3px #7adfc610;outline:none}.rooms{scrollbar-color:#2a3f4c transparent}.room-row{color:#9fb3c0;font-size:10px;border:1px solid transparent}.room-row small{color:#698493;font-size:9px}.room-row i{width:5px;height:5px;box-shadow:0 0 6px currentColor}.room-row:hover{background:#ffffff06;color:#f0f5f5;border-color:#ffffff08}.room-row.selected{background:#6fdfbd10;color:#a3ecd6;border-color:#6fdfbd25}.room-row.selected small{color:#83cbb8}.model-note{color:#6e8796;font-size:10px}.model-note summary:hover{color:#aac8d2}.model-note p{color:#93a6b1}.model-note a{color:#8cdbc7}#viewport{background:#111923}#viewport:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;box-shadow:inset 0 0 110px #080d1445}.model-caption{top:29px;left:32px}.model-caption .eyebrow{color:#688c9e;display:flex;align-items:center;gap:8px}.model-caption .eyebrow:before{content:"";width:16px;height:1px;background:#74b9b0}.model-caption h1{font-size:26px;font-weight:420;letter-spacing:-.95px;color:#e6edf3;margin:11px 0 9px;text-shadow:0 2px 16px #0004}.model-caption p{color:#7996a6;font-size:10px;letter-spacing:.15px}.view-toolbar{border-color:#b5d5ea16;background:#192532dd;border-radius:9px;box-shadow:0 8px 30px #0003,inset 0 1px #ffffff05;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);top:25px;padding:4px}.view-toolbar button{color:#869eae;font-size:15px;display:flex;align-items:center;gap:6px;padding:9px 12px}.view-toolbar button span{margin:0;font-size:10px}.view-toolbar button:hover{color:#cde8e7;background:#ffffff07}.view-toolbar button.active{color:#b5efde;background:linear-gradient(135deg,#3a665752,#25474050);box-shadow:inset 0 0 0 1px #8cd5be24,0 2px 8px #0002}.zoom-controls{background:#192531d9;border-color:#b5d5ea17;box-shadow:0 8px 25px #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:9px}.zoom-controls button{color:#b1c8d4;font-size:21px;font-weight:300}.zoom-controls button:hover{color:#b8f5df;background:#74d8bc17}.zoom-controls button:last-child{border-top:1px solid #ffffff09;border-radius:0 0 5px 5px;font-size:18px}.orientation{color:#6e8f9f;font-size:8px}.orientation div{border-color:#8db6c626;background:#19273480;color:#a4cfc9;font-weight:250;box-shadow:0 4px 12px #0002}.gesture-hint{color:#607f90;font-size:9px;letter-spacing:.15px}.gesture-hint span{background:#121e294d;padding:4px 0}.legend{color:#9ab3c1;font-size:9px;gap:17px;bottom:55px;background:#15222dbb;padding:10px 13px;border:1px solid #afcbdd0d;border-radius:7px;box-shadow:0 5px 20px #0001;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.legend i{width:6px;height:6px;border-radius:50%}.rest{background:#b99870}.work{background:#86a7b4}.sanitary{background:#6aa697}.service{background:#9c95aa}.selection{background:linear-gradient(145deg,#1e2e3bf5,#15212df5);border-color:#87c5bd30;box-shadow:0 18px 50px #0005,inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:11px}.selection h2{color:#eff5f7;font-size:19px;letter-spacing:-.3px}.selection p{color:#95acb9;font-size:11px}.selection .eyebrow{color:#77baa8}.close{color:#73939e}.close:hover{color:#d3f5e7}.primary{background:linear-gradient(110deg,#91d9bb,#71bca7);color:#13352c;font-weight:600;border-radius:6px;padding:12px;box-shadow:0 3px 14px #5cc2a01a}.primary:hover{background:#a2e3c9;box-shadow:0 4px 20px #5cc2a02d}.room-label{color:#d2e6df;background:#182e35e8;border-color:#86c3b135;border-radius:5px;box-shadow:0 4px 10px #0005;padding:4px 6px;font-size:9px}.dimension-label{color:#7197a6;background:#101c27a6;letter-spacing:1px;font-family:ui-monospace,monospace;font-size:9px;padding:4px 6px;border-radius:3px}#loading{background:radial-gradient(ellipse at center,#1c3440,#0e1721 70%);color:#90d8c3;font-size:12px;letter-spacing:.4px}footer{background:#0e1620;border-top-color:#ffffff08;color:#607d8e;font-size:9px}footer b{color:#3c5462}footer>span:first-child{color:#82a497}footer>span:last-child{color:#668796;letter-spacing:1.4px}.no-results{color:#7795a5}.mobile-toggle{color:#9ed9ca;background:#1c3037;border-color:#70bfa22b}@media(max-width:1100px){.model-caption h1{font-size:23px}.view-toolbar{top:108px}.selection{top:166px}}@media(max-width:700px){header.header{padding:0 16px}.brand-icon{width:31px;height:33px;border-radius:8px;font-size:21px}.brand strong{font-size:15px}.model-caption{left:21px;top:24px}.model-caption h1{font-size:23px}.model-caption p{font-size:9px}.view-toolbar{top:105px;left:20px}.view-toolbar button{padding:8px 10px}.legend{left:20px;bottom:59px;gap:9px 14px;padding:9px 11px;max-width:238px}.gesture-hint{font-size:0;gap:0}.gesture-hint span{display:none}.gesture-hint:after{font-size:8px}.selection{top:159px}.mobile-toggle{background:#1c3037;border-color:#70bfa22b}.brand small{font-size:8px}aside{width:265px;background:#141f2bf8;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:20px 0 50px #0005}.room-label,.dimension-label{font-size:8px}}@media(max-height:520px){.model-caption{top:16px}.model-caption h1{font-size:19px}.model-caption p{display:none}.view-toolbar{top:77px}.legend{bottom:36px;padding:5px 9px}.gesture-hint{bottom:6px}.orientation{bottom:22px}.zoom-controls{bottom:90px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
