:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17231f;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{scroll-behavior:smooth}body{background:#f7f7f3;min-width:320px;margin:0;line-height:1.5}button,input[type=range],label{-webkit-tap-highlight-color:transparent}button,a,input,label{touch-action:manipulation}button{border:1px solid #0000;min-height:44px;line-height:1.2}a{color:#205a42}a:hover{color:#173d2d}:focus-visible{outline-offset:3px;outline:3px solid #176b99}main{max-width:1120px;margin-inline:auto;padding:24px}header{justify-content:space-between;align-items:center;gap:20px;display:flex}header nav{flex-wrap:wrap;gap:4px 16px;display:flex}header nav a{text-underline-offset:3px;align-items:center;min-height:44px;padding-inline:4px;font-size:14px;font-weight:650;display:inline-flex}.brand{min-height:44px;color:inherit;align-items:center;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.brand span,.eyebrow{color:#39775c}.eyebrow{letter-spacing:.1em;text-transform:uppercase;margin-block:0 6px;font-size:12px;font-weight:800;line-height:1.35}.hero{max-width:700px;padding-block:96px 64px}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-.07em;margin:12px 0 24px;font-size:clamp(44px,9vw,90px);line-height:.95}h2{line-height:1.15}h3{line-height:1.25}.lede{color:#46574f;max-width:62ch;font-size:20px;line-height:1.55}.upload{cursor:pointer;color:#17231f;background:#fff;border:2px dashed #788c81;border-radius:12px;gap:6px;min-height:124px;margin:32px 0 12px;padding:24px;display:grid}.upload:hover{background:#f9fcf9;border-color:#39775c}.upload:focus-within{outline-offset:3px;border-color:#176b99;outline:3px solid #176b99}.upload input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.upload strong{font-size:18px}.upload span,.quiet,.retention,.status{color:#46574f;font-size:14px}.primary,.result button,.feedback button,.contribute button{color:#fff;cursor:pointer;background:#173d2d;border-radius:8px;padding:12px 16px;font-weight:750}.primary:hover:not(:disabled),.result button:hover:not(:disabled),.feedback button:hover:not(:disabled),.contribute button:hover:not(:disabled){background:#0f3022}.primary:active:not(:disabled),.result button:active:not(:disabled),.feedback button:active:not(:disabled),.contribute button:active:not(:disabled){transform:translateY(1px)}.primary:disabled,.result button:disabled,.feedback button:disabled,.contribute button:disabled{cursor:not-allowed;color:#53625b;opacity:1;background:#dce3dd;border-color:#ccd5ce}.status{border-inline-start:3px solid #7a9084;max-width:65ch;min-height:1.5em;margin-block:16px 8px;padding-inline-start:12px;line-height:1.5}.status.uploading,.status.analysing{color:#174f72;border-color:#176b99}.status.complete{color:#205a42;border-color:#39775c}.status.error{color:#861d1d;border-color:#a22323;font-weight:650}.turnstile{margin-block:12px}.result{background:#fff;border:1px solid #cdd8cf;border-radius:16px;min-width:0;margin-block:36px;padding:24px}.result-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.result-head>*{min-width:0}.result h2{margin:4px 0}.downloads{flex-wrap:wrap;gap:8px;display:flex}.downloads button,.feedback button,.contribute button{color:#173d2d;background:#e9efe9;border-color:#b9c9bd}.downloads button:hover:not(:disabled),.feedback button:hover:not(:disabled),.contribute button:hover:not(:disabled){background:#dce8df;border-color:#7c9c85}.viewer{background:#f2f4f1;border:1px solid #d4dfd6;border-radius:10px;min-height:220px;max-height:min(680px,70vh);margin-top:24px;position:relative;overflow:auto}.viewer img{max-width:100%;margin:auto;display:block}.viewer .mask{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.viewer p{padding:16px}.opacity{flex-wrap:wrap;align-items:center;gap:12px;min-height:44px;margin-block:15px;font-weight:650;display:flex}.opacity input{accent-color:#205a42;flex:180px;min-height:32px}.corrections{border-top:1px solid #d8e1da;margin-top:28px;padding-top:24px}.corrections>:first-child{max-width:68ch}.corrections h3{margin:2px 0 8px;font-size:clamp(24px,3vw,34px)}.corrections>label{align-items:center;gap:8px;margin:14px 0;font-size:14px;font-weight:750;display:inline-flex}.corrections select,.correction-controls input{color:#17231f;background:#fff;border:1px solid #b9c9bd;border-radius:7px;min-height:42px;padding:8px 10px}.correction-workspace{grid-template-columns:minmax(248px,310px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.correction-canvas{background:#eef1ed;border:1px solid #c7d3ca;border-radius:10px;grid-column:2;min-height:420px;position:relative;overflow:auto}.correction-canvas img{width:100%;min-width:560px;height:auto;display:block}.correction-canvas svg{cursor:crosshair;width:100%;min-width:560px;height:100%;position:absolute;inset:0}.room polygon{cursor:pointer;stroke:oklch(45% .11 155/.8);stroke-width:2px;vector-effect:non-scaling-stroke;transition:fill .15s,stroke-width .15s}.room polygon:hover,.room.selected-room polygon{fill:oklch(63% .13 155/.28);stroke:oklch(39% .12 155);stroke-width:3px}.room polyline{cursor:copy;fill:none;stroke:oklch(47% .17 250);stroke-width:12px;stroke-opacity:.01;vector-effect:non-scaling-stroke}.room.selected-room polyline{stroke-opacity:.65;stroke-width:3px;stroke-dasharray:7 5}.room circle{cursor:grab;fill:oklch(98% .01 95);stroke:oklch(47% .17 250);stroke-width:2px;vector-effect:non-scaling-stroke}.room-label{pointer-events:none;fill:oklch(27% .03 155);text-anchor:middle;paint-order:stroke;stroke:oklch(98% .01 95/.82);stroke-width:4px;stroke-linejoin:round;font-size:15px;font-weight:800}.calibration-point{fill:oklch(55% .16 60);stroke:oklch(98% .01 95);stroke-width:2px;vector-effect:non-scaling-stroke}.correction-controls{background:#f8faf7;border:1px solid #cdd8cf;border-radius:10px;grid-area:1/1;padding:16px;position:sticky;top:16px}.correction-controls h4{margin:2px 0 10px;font-size:16px}.control-kicker{color:#39775c;letter-spacing:.1em;text-transform:uppercase;margin:0 0 2px;font-size:11px;font-weight:850}.correction-controls label{color:#34463c;gap:6px;margin-top:12px;font-size:13px;font-weight:750;display:grid}.correction-controls>button{width:100%;margin-top:10px}.correction-controls hr{border:0;border-top:1px solid #d8e1da;margin:18px 0}.room-schedule{border-top:1px solid #d8e1da;max-height:260px;overflow:auto}.correction-controls .room-row{color:#17231f;text-align:left;background:0 0;border:0;border-bottom:1px solid #e0e7e1;border-radius:0;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:42px;padding:8px 4px;font-size:12px;font-weight:650;display:grid}.correction-controls .room-row:hover,.correction-controls .room-row.selected{color:#173d2d;background:#e5efe7}.room-row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-row strong{color:#46574f;white-space:nowrap;font-size:11px}.room-swatch{border-radius:50%;width:10px;height:10px}.hint,.scale-readout,.correction-status{color:#52645a;font-size:13px;line-height:1.45}.measurement{color:#294536;background:#e5efe7;border-radius:8px;margin:16px 0 0;padding:12px;font-size:13px;font-weight:750}.measurement strong{color:#173d2d;letter-spacing:-.035em;margin-top:3px;font-size:22px;display:inline-block}.correction-status{min-height:1.5em;margin:12px 0 0}.diagnostics{border-top:1px solid #d8e1da;margin-top:16px;padding-top:14px}.diagnostics summary{cursor:pointer;color:#205a42;font-size:14px;font-weight:800}.diagnostics>p{color:#52645a;font-size:13px}.feedback,.contribute{border-top:1px solid #d8e1da;margin-top:18px;padding-top:18px}.feedback h3,.contribute h3{margin:0 0 8px}.feedback button,.contribute button{margin:4px}.feedback .selected{color:#fff;background:#39775c;border-color:#205a42}.failures{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;display:flex}.failures label{align-items:center;gap:8px;min-height:44px;padding-block:4px;font-size:14px;font-weight:600;display:inline-flex}.failures input{accent-color:#205a42;block-size:20px;inline-size:20px;margin:0}.danger{color:#8a1b1b!important}.danger:hover:not(:disabled){color:#751717!important;background:#f9e8e8!important;border-color:#d59a9a!important}.retention{max-width:65ch;line-height:1.55}.disclaimer{color:#5b4430;max-width:65ch;font-size:14px;font-weight:650}.link-button{color:#205a42;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;min-height:auto;padding:0;font-weight:650;text-decoration:underline}.secondary{color:#173d2d;cursor:pointer;background:#fff;border:1px solid #b9c9bd;border-radius:8px;padding:12px 16px;font-weight:750}.cookie-notice{z-index:5;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));background:#fff;border:1px solid #b9c9bd;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;max-width:900px;margin-inline:auto;padding:20px;display:flex;position:fixed;box-shadow:0 14px 40px #173d2d2e}.cookie-notice p{color:#46574f;max-width:62ch;margin:4px 0;font-size:14px}.cookie-actions,.dialog-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cookie-actions{justify-content:flex-end;min-width:270px}.dialog-backdrop{z-index:10;background:#0f201775;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:16px;width:min(100%,620px);padding:28px;position:relative;box-shadow:0 18px 60px #0000003d}.dialog h2{margin-top:4px}.dialog p{color:#46574f}.dialog-close{color:#173d2d;cursor:pointer;background:0 0;border:0;min-width:44px;padding:0;font-size:28px;position:absolute;top:12px;right:12px}.preference-row{background:#f7faf7;border:1px solid #cdd8cf;border-radius:10px;justify-content:space-between;gap:16px;margin-block:20px;padding:16px;display:flex}.preference-row p{margin-bottom:0;font-size:14px}.preference-row span{color:#205a42;flex:none;font-weight:750}.legal-page article{max-width:760px;padding-block:72px}.legal-page article>p:first-of-type{color:#46574f;font-size:19px}.legal-page article h2{margin-top:36px}.legal-page article p{color:#46574f;max-width:70ch}footer{color:#46574f;border-top:1px solid #cdd8cf;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-block:44px;display:grid}footer h2{color:#17231f}@media (width<=650px){main{padding:16px}header,.result-head{flex-direction:column;align-items:stretch}header{gap:4px}header nav{margin-inline:-4px}.hero{padding-block:64px 38px}h1{letter-spacing:-.065em;font-size:clamp(42px,15vw,64px)}.lede{font-size:18px}.upload,.result{padding:18px}.downloads,.downloads button{width:100%}.viewer{min-height:180px;max-height:58vh}.correction-workspace{grid-template-columns:1fr}.correction-canvas,.correction-controls{grid-area:auto}.correction-controls{order:2;position:static}.correction-canvas{min-height:300px}.correction-canvas img,.correction-canvas svg{min-width:480px}footer{grid-template-columns:1fr;gap:18px}.cookie-notice{display:block}.cookie-actions{justify-content:flex-start;min-width:0;margin-top:16px}.dialog{padding:22px}.preference-row{display:block}.preference-row span{margin-top:8px;display:inline-block}}@media (width<=380px){main{padding-inline:12px}.upload,.result{padding:16px}h1{font-size:42px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.upload,.result,.viewer,.primary,.result button,.feedback button,.contribute button{border:1px solid canvastext}.status{border-inline-start-color:canvastext}}.landing-shell{color:var(--ink);background:var(--paper)}.landing-shell .brand,.landing-shell a,.landing-shell .brand span,.landing-shell .eyebrow{color:var(--accent)}.landing-shell .lede,.landing-shell .upload span,.landing-shell .retention{color:var(--ink-muted)}.landing-shell .upload{border-radius:var(--radius);background:var(--paper);color:var(--ink);border-color:oklch(68% .06 250);transition:border-color .18s,background-color .18s,transform .18s}.landing-shell .upload:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);transform:translateY(-1px)}.landing-shell .upload:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}.landing-shell .disclaimer{color:oklch(44% .1 70)}main.app-shell{width:100%;max-width:none;min-height:100vh;margin:0;padding:0}.measured-workspace{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);grid-template-columns:13.5rem minmax(0,1fr) 21rem;min-height:calc(100vh - 5rem);margin:2rem -1.5rem 0;display:grid}.result-workspace{background:0 0;border:0;border-radius:0;max-width:none;padding:0}.result-workspace .result-head{max-width:74rem;margin:1.25rem auto 0;padding:0 1.5rem}.result-workspace .feedback,.result-workspace .contribute,.result-workspace .diagnostics{max-width:68rem;margin-left:auto;margin-right:auto}.workspace-rail{border-right:1px solid var(--line);background:oklch(96.5% .015 250);padding:1rem .8rem}.workspace-rail-heading{letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin:.25rem .35rem 1rem;font-size:.75rem;font-weight:750;display:flex}.sheet-card{border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;gap:.15rem;width:100%;margin-bottom:.6rem;padding:.65rem;display:grid}.sheet-card.active{border-color:var(--accent);background:var(--accent-soft)}.sheet-card small,.workspace-room-list p{color:var(--ink-muted);font-size:.72rem}.workspace-room-list{margin-top:1.35rem}.workspace-room-list p{letter-spacing:.06em;text-transform:uppercase;margin:0 0 .45rem;font-weight:700}.workspace-room{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:.5rem;width:100%;padding:.5rem;font-size:.8rem;display:flex}.workspace-room.active{background:var(--accent-soft);color:oklch(32% .11 250);font-weight:700}.workspace-room i{border-radius:50%;width:.55rem;height:.55rem}.workspace-drawing{background:oklch(93.5% .016 92);grid-template-rows:3.35rem minmax(28rem,1fr) 2.5rem;min-width:0;display:grid}.workspace-toolbar{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;display:flex}.workspace-toolbar>div:first-child{gap:0;display:grid}.workspace-toolbar span,.inspector-kicker{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:750}.workspace-toolbar strong{font-size:.84rem}.workspace-toolbar-actions{align-items:center;gap:.7rem;display:flex}.workspace-toolbar-actions button{cursor:pointer;background:0 0;border:1px solid #0000;min-height:2.3rem;padding:.35rem .65rem;font-size:.78rem}.workspace-toolbar-actions button.active{border-color:var(--accent);background:var(--accent-soft)}.workspace-toolbar-actions span{text-transform:none;letter-spacing:0;font-weight:500}.workspace-canvas{place-items:center;min-width:0;padding:2rem;display:grid;overflow:auto}.workspace-plan{border:1px solid var(--line);background:#fff;width:min(100%,70rem);line-height:0;position:relative;box-shadow:0 4px 8px oklch(50% .02 90/.15)}.workspace-plan img,.workspace-plan svg{width:100%;height:auto;display:block}.workspace-plan svg{position:absolute;inset:0}.workspace-polygon polygon{cursor:pointer;stroke:#293da3;stroke-width:2px;vector-effect:non-scaling-stroke}.workspace-polygon.selected polygon{stroke:oklch(34% .16 250);stroke-width:3px}.workspace-polygon text{pointer-events:none;fill:oklch(25% .04 250);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;font-size:14px;font-weight:750}.workspace-polygon polyline{fill:none;stroke:oklch(34% .16 250);stroke-width:5px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke;cursor:copy}.workspace-polygon circle{fill:var(--paper);stroke:var(--accent);stroke-width:3px;vector-effect:non-scaling-stroke;cursor:move}.workspace-footer{border-top:1px solid var(--line);background:var(--paper);color:var(--ink-muted);align-items:center;padding:0 1rem;font-size:.75rem;display:flex}.workspace-inspector{border-left:1px solid var(--line);background:var(--panel);padding:1.4rem 1rem;overflow:auto}.workspace-inspector h2{letter-spacing:-.03em;margin:.25rem 0 .8rem;font-size:1.25rem}.inspector-confidence{background:var(--accent-soft);color:oklch(35% .1 250);border:1px solid oklch(75% .07 250);padding:.6rem;font-size:.74rem}.workspace-inspector dl{border-top:1px solid var(--line);margin:1rem 0}.workspace-inspector dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:.7rem 0;display:flex}.workspace-inspector dt{color:var(--ink-muted);font-size:.78rem}.workspace-inspector dd{margin:0;font-size:.82rem;font-weight:700}.workspace-editor,.workspace-schedule{border-top:1px solid var(--line);padding-top:1rem}.workspace-inspector h3{letter-spacing:.08em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem}.workspace-editor label{color:var(--ink-muted);gap:.3rem;font-size:.75rem;font-weight:700;display:grid}.workspace-editor input{border:1px solid var(--line);background:var(--paper);min-width:0;padding:.5rem}.workspace-editor button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;width:100%;min-height:2.4rem;margin-top:.5rem;font-weight:700}.workspace-editor .workspace-delete{color:oklch(43% .13 25);background:0 0;border-color:oklch(68% .1 25)}.workspace-schedule{margin-top:1rem}.workspace-schedule button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;gap:.5rem;width:100%;padding:.55rem .35rem;display:flex}.workspace-schedule button.active{background:var(--accent-soft);color:oklch(32% .11 250);font-weight:700}.workspace-schedule small{color:var(--ink-muted)}.workspace-notice{min-height:1.2rem;color:var(--success);font-size:.72rem}@media (width<=900px){.measured-workspace{grid-template-columns:10rem minmax(0,1fr);margin-inline:-1rem}.workspace-inspector{border-top:1px solid var(--line);border-left:0;grid-column:1/-1}.workspace-canvas{padding:1rem}}@media (width<=620px){.measured-workspace{flex-direction:column;display:flex}.workspace-rail{border-right:0;border-bottom:1px solid var(--line);gap:.5rem;display:flex;overflow:auto}.workspace-rail-heading,.workspace-room-list{display:none}.sheet-card{flex:0 0 8rem;margin:0}.workspace-drawing{min-height:30rem}.workspace-toolbar-actions span{display:none}.workspace-canvas{padding:.55rem}.workspace-inspector{padding-bottom:5rem}}.workstation{background:var(--paper);grid-template-rows:3.75rem minmax(0,1fr)}.workstation-topbar{border-bottom:1px solid var(--line);background:oklch(98.8% .009 92);grid-column:1/-1;grid-template-columns:minmax(13.5rem,1fr) minmax(18rem,1.4fr) minmax(13rem,1fr);align-items:center;gap:1rem;padding:0 1.2rem;display:grid}.workstation-brand{align-items:center;gap:.55rem;display:flex}.workstation-brand b{color:#fff;background:#17231f;place-items:center;width:1.7rem;height:1.7rem;font-size:.9rem;display:grid}.workstation-brand span,.workstation-context small{color:var(--ink-muted);font-size:.72rem}.workstation-context{border-left:1px solid var(--line);gap:.08rem;padding-left:1rem;display:grid}.workstation-context strong{font-size:.78rem}.workstation-status{color:var(--ink-muted);justify-self:end;align-items:center;gap:.4rem;font-size:.72rem;display:flex}.workstation-status i{background:var(--success);border-radius:50%;width:.5rem;height:.5rem}.workstation .workspace-rail,.workstation .workspace-drawing,.workstation .workspace-inspector{grid-row:2}.review-strip{border-bottom:1px solid var(--line);color:oklch(28% .07 250);background:oklch(96% .025 250);align-items:center;gap:.75rem;padding:.55rem 1rem;font-size:.75rem;display:flex}.review-strip span{flex:1}.review-strip button,.workspace-footer button,.canvas-tools button,.inspector-tabs button{border:1px solid var(--line);background:var(--paper);cursor:pointer;padding:.35rem .55rem;font-size:.72rem}.canvas-tools{border:1px solid var(--line);background:var(--paper);display:flex;position:absolute;bottom:1rem;right:1rem;overflow:hidden;box-shadow:0 .25rem .8rem oklch(20% .02 250/.12)}.canvas-tools button{border:0;border-right:1px solid var(--line);min-width:2.2rem}.workspace-canvas{position:relative}.workspace-plan{transform-origin:50%;transition:transform .15s}.workspace-footer{gap:.75rem}.workspace-footer button{color:var(--accent);background:0 0;border:0;margin:-.25rem 0;font-weight:700}.workspace-footer kbd{border:1px solid var(--line);background:var(--paper);font:inherit;border-radius:.15rem;padding:.08rem .25rem}.inspector-tabs{border-bottom:1px solid var(--line);gap:.15rem;margin:-.65rem -1rem 1.2rem;padding:.65rem 1rem;display:flex}.inspector-tabs button{background:0 0;border:0}.inspector-tabs button.active{border-bottom:2px solid var(--accent);color:var(--accent);font-weight:750}@media (width<=900px){.workstation-topbar{grid-template-columns:1fr auto}.workstation-context{display:none}.workstation .workspace-rail,.workstation .workspace-drawing,.workstation .workspace-inspector{grid-row:auto}}@media (width<=620px){.workstation-topbar{min-height:3.5rem;display:flex}.workstation-brand span,.workstation-status span{display:none}.review-strip{flex-wrap:wrap}.review-strip span{flex:auto;width:100%}.workstation .workspace-rail,.workstation .workspace-drawing,.workstation .workspace-inspector{grid-row:auto}}:root{--paper:oklch(98.5% .012 92);--paper-deep:oklch(95% .018 92);--ink:oklch(24% .025 260);--ink-muted:oklch(48% .025 260);--line:oklch(87% .025 260);--panel:oklch(97% .01 260);--accent:oklch(53% .16 250);--accent-soft:oklch(92% .04 250);--warning:oklch(58% .14 70);--warning-soft:oklch(95% .045 84);--success:oklch(49% .12 158);--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--radius:.3rem;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;margin:0}body{font-kerning:normal;font-size:1rem;line-height:1.5}button,input{font:inherit}button{color:inherit}button:focus-visible,polygon:focus-visible,.file-picker-button:focus-within{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{grid-template-rows:4.25rem auto 1fr;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);background:oklch(99% .008 92);align-items:center;gap:2rem;padding:0 1.5rem;display:flex}.brand-lockup{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.65rem;font-weight:650;display:flex}.brand-glyph{border:1.5px solid var(--accent);width:1.35rem;height:1.35rem;color:var(--accent);place-items:center;font-size:.8rem;display:grid}.document-context{border-left:1px solid var(--line);gap:0;padding-left:2rem;font-size:.875rem;display:grid}.context-muted,.microcopy,.rail-note,.status-text{color:var(--ink-muted);font-size:.78rem}.top-actions{align-items:center;gap:.65rem;margin-left:auto;display:flex}.status-dot{background:var(--success);border-radius:50%;width:.45rem;height:.45rem}.button-spinner{border:2px solid oklch(99% .005 250/.42);border-top-color:currentColor;border-radius:50%;width:.85rem;height:.85rem;margin-right:.45rem;animation:.75s linear infinite spin}.button{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:var(--paper);justify-content:center;align-items:center;min-height:2.5rem;padding:.55rem .9rem;font-weight:600;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.file-picker-button{position:relative;overflow:hidden}.file-picker-input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.file-picker-label{pointer-events:none}.button:hover{background:var(--paper-deep);border-color:oklch(72% .04 260)}.button:active{transform:translateY(1px)}.button-primary{background:var(--accent);border-color:var(--accent);color:oklch(99% .005 250)}.button-primary:hover{background:oklch(46% .16 250);border-color:oklch(46% .16 250)}.button-small{min-height:2.25rem;padding:.4rem .7rem}.error-banner{background:var(--warning-soft);color:oklch(35% .05 70);border-bottom:1px solid oklch(80% .08 82);padding:.7rem 1.5rem;font-size:.875rem}.error-banner button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-left:.75rem;padding:0}.empty-state{text-align:center;width:min(38rem,100% - 3rem);margin:12vh auto}.empty-mark{border:1px solid var(--line);width:4rem;height:4rem;color:var(--accent);place-items:center;margin:0 auto 1.5rem;font-size:2rem;display:grid;transform:rotate(45deg)}.empty-mark:first-letter{transform:rotate(-45deg)}.eyebrow{color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.7rem;font-weight:700}.empty-state h1{letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:2rem}.empty-copy{max-width:45ch;color:var(--ink-muted);margin:.9rem auto 1.5rem}.microcopy{margin-top:1rem}.uploaded-drawing{background:oklch(93.5% .016 92);grid-template-rows:auto minmax(0,1fr);min-height:calc(100vh - 4.25rem);display:grid}.uploaded-drawing-header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:2rem;padding:1.25rem 1.5rem;display:flex}.uploaded-drawing-header h1{letter-spacing:-.025em;margin:0;font-size:1.35rem}.uploaded-drawing-header p:not(.eyebrow){color:var(--ink-muted);margin:.25rem 0 0;font-size:.85rem}.uploaded-actions{flex:none;align-items:center;gap:.6rem;display:flex}.sheet-confirmation{grid-template-columns:minmax(19rem,.85fr) minmax(0,1.55fr);gap:0;min-height:0;display:grid}.sheet-list{border-right:1px solid var(--line);background:var(--panel);min-height:0;padding:1.25rem;overflow:auto}.sheet-list-heading{margin:0 0 1rem}.sheet-list-heading h2{letter-spacing:-.02em;margin:0;font-size:1rem}.sheet-list-heading>p{color:var(--ink-muted);margin:.35rem 0 0;font-size:.78rem}.sheet-choice{border:1px solid var(--line);background:var(--paper);cursor:pointer;grid-template-columns:auto 4.3rem minmax(0,1fr) auto;align-items:center;gap:.65rem;margin:.45rem 0;padding:.5rem;display:grid}.sheet-choice:hover{border-color:oklch(68% .06 250)}.sheet-choice.is-selected{border-color:var(--accent);background:var(--accent-soft)}.sheet-choice input{width:1rem;height:1rem;accent-color:var(--accent)}.sheet-choice img{aspect-ratio:1.35;border:1px solid var(--line);object-fit:cover;background:var(--paper-deep);width:4.3rem}.sheet-choice-copy{gap:.08rem;min-width:0;display:grid}.sheet-choice-copy strong,.sheet-choice-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-choice-copy strong{font-size:.78rem}.sheet-choice-copy span,.sheet-choice-copy small{color:var(--ink-muted);font-size:.72rem}.sheet-state{color:var(--ink-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:700}.sheet-choice.is-selected .sheet-state{color:var(--accent)}.uploaded-preview{grid-template-rows:minmax(0,1fr) auto;gap:1rem;min-height:0;margin:0;padding:1.5rem;display:grid;overflow:hidden}.uploaded-preview-stage{place-items:center;min-height:0;display:grid;position:relative;overflow:auto}.uploaded-preview img{border:1px solid var(--line);object-fit:contain;background:oklch(99% .006 92);width:auto;max-width:100%;height:auto;max-height:100%;display:block;box-shadow:0 .8rem 2.5rem oklch(25% .02 260/.12)}.uploaded-preview-stage.is-processing img{filter:saturate(.78)contrast(.96)}.analysis-scan{pointer-events:none;color:oklch(33% .11 250);letter-spacing:.04em;text-transform:uppercase;align-content:end;justify-items:center;padding:1.25rem;font-size:.76rem;font-weight:700;display:grid;position:absolute;inset:0;overflow:hidden}.analysis-scan:before{content:"";background:oklch(60% .12 250/.08);border-top:1px solid oklch(53% .16 250/.76);border-bottom:1px solid oklch(53% .16 250/.32);height:28%;animation:2.4s cubic-bezier(.22,.61,.36,1) infinite scan-plan;position:absolute;top:-20%;left:0;right:0;box-shadow:0 .5rem 1.5rem oklch(53% .16 250/.12)}.analysis-scan span{background:oklch(99% .008 92/.88);border:1px solid oklch(63% .1 250/.4);padding:.4rem .65rem;position:relative}.processing-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:.2rem 0 0;padding:0;list-style:none;display:grid}.processing-steps li{border:1px solid var(--line);min-height:2.25rem;color:var(--ink-muted);background:var(--paper);align-items:center;gap:.35rem;padding:.35rem .45rem;font-size:.68rem;line-height:1.2;display:flex}.processing-steps li:before{content:"";border:1px solid;border-radius:50%;flex:none;width:.55rem;height:.55rem}.processing-steps li.is-complete{color:var(--success);border-color:oklch(76% .06 158)}.processing-steps li.is-complete:before{border-color:var(--success);background:var(--success)}.processing-steps li.is-active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.processing-steps li.is-active:before{border-color:var(--accent);border-right-color:#0000;animation:.8s linear infinite spin}.uploaded-preview-note{border:1px solid var(--line);width:min(100%,44rem);color:var(--ink-muted);text-align:center;background:oklch(99% .008 92/.94);margin:0 auto;padding:.55rem .75rem;font-size:.78rem}.workspace{grid-template-columns:13.5rem minmax(0,1fr) 20rem;min-height:calc(100vh - 4.25rem);display:grid}.page-rail,.inspector{background:var(--panel)}.page-rail{border-right:1px solid var(--line);padding:1.1rem .85rem}.rail-heading{letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0 .35rem 1rem;font-size:.8rem;font-weight:700;display:flex}.icon-button,.canvas-tools button{border:1px solid var(--line);background:var(--paper);cursor:pointer;place-items:center;display:grid}.icon-button{border-radius:var(--radius);width:2.75rem;height:2.75rem}.page-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;width:100%;padding:.4rem}.page-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.page-thumbnail{aspect-ratio:1.35;border:1px solid var(--line);object-fit:cover;background:oklch(99% .006 92);width:100%;padding:.1rem;display:block}.thumbnail-lines{background:oklch(96% .01 260);border:2px solid oklch(63% .02 260);width:100%;height:100%;display:block}.page-number{color:var(--accent);margin-top:.45rem;font-size:.75rem;font-weight:700;display:inline-block}.page-name{margin-left:.45rem;font-size:.78rem;display:inline-block}.rail-note{margin:1.25rem .35rem}.drawing-region{background:oklch(93.5% .016 92);grid-template-rows:3.25rem minmax(0,1fr) auto;min-width:0;display:grid}.drawing-toolbar{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:.35rem;padding:0 1rem;display:flex}.edit-action-bar{background:var(--accent-soft);border-bottom:1px solid oklch(75% .07 250);align-items:center;gap:.55rem;min-height:3.1rem;padding:.45rem 1rem;font-size:.76rem;display:flex}.edit-action-bar strong{color:oklch(33% .11 250)}.edit-action-bar>span:not(.toolbar-spacer){color:var(--ink-muted)}.edit-action-bar small{color:var(--ink-muted);white-space:nowrap}.toolbar-kicker{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;font-weight:750;display:block}.toolbar-title{font-size:.85rem;font-weight:650}.toolbar-spacer{flex:1}.tool-button{border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;min-height:2.75rem;padding:.35rem .65rem;font-size:.8rem}.tool-button:hover{background:var(--paper-deep)}.tool-button.is-active{border-color:var(--accent);background:var(--accent-soft);color:oklch(35% .11 250)}.tool-button:disabled{color:oklch(70% .02 260);cursor:not-allowed}.review-button{background:var(--warning-soft);border-color:oklch(70% .05 70)}.review-button:disabled{border-color:var(--line);background:0 0}.tool-menu{position:relative}.tool-menu summary{cursor:pointer;align-items:center;min-height:2.75rem;padding:.35rem .65rem;font-size:.8rem;list-style:none;display:grid}.tool-menu summary::-webkit-details-marker{display:none}.tool-menu summary:after{color:var(--ink-muted);content:"⌄";margin-left:.4rem}.tool-menu[open] summary{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft)}.tool-menu>button{border:0;border-bottom:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;width:max-content;min-width:12rem;padding:.6rem .7rem;font-size:.78rem;display:block}.tool-menu>button:hover{background:var(--paper-deep)}.tool-menu[open]>button{z-index:4;position:relative}.tool-menu[open]>button:first-of-type{border-top:1px solid var(--line);margin-top:.2rem}.drawing-canvas{place-items:center;min-height:26rem;padding:2rem;display:grid;position:relative;overflow:auto}.recovery-state{z-index:2;background:oklch(99% .008 92/.96);border:1px solid oklch(79% .08 80);gap:.35rem;width:min(20rem,100% - 2rem);padding:.75rem;font-size:.76rem;display:grid;position:absolute;top:1rem;right:1rem;box-shadow:0 .35rem 1rem oklch(28% .02 260/.08)}.recovery-state span{color:var(--ink-muted)}.recovery-state div{gap:.35rem;display:flex}.plan-svg{filter:drop-shadow(0 4px 7px oklch(60% .02 90/.16));width:min(100%,70rem);height:auto;max-height:calc(100vh - 12rem)}.traced-graph-view{gap:.7rem;width:min(100%,70rem);margin:0;display:grid}.traced-graph-view img{object-fit:contain;border:1px solid var(--line);background:oklch(99% .006 92);width:100%;max-height:calc(100vh - 15rem);display:block;box-shadow:0 4px 7px oklch(60% .02 90/.16)}.traced-graph-view figcaption{color:var(--ink-muted);text-align:center;font-size:.78rem}.source-only-view{gap:.7rem;width:min(100%,70rem);margin:0;display:grid}.source-only-view img{object-fit:contain;border:1px solid var(--line);background:oklch(99% .006 92);width:100%;max-height:calc(100vh - 15rem);display:block;box-shadow:0 4px 7px oklch(60% .02 90/.16)}.source-only-view figcaption{color:var(--ink-muted);text-align:center;gap:.2rem;font-size:.78rem;display:grid}.source-only-view strong{color:var(--ink)}.plan-paper{fill:oklch(99.5% .006 92);stroke:oklch(80% .025 260)}.plan-source{opacity:.88;pointer-events:none;filter:saturate(.78)contrast(1.03)}.room-polygon{fill:oklch(62% .13 250/.08);stroke:oklch(54% .15 250);stroke-width:.025px;cursor:pointer;vector-effect:non-scaling-stroke;transition:fill .18s}.room-polygon:hover,.room-polygon.is-selected{fill:oklch(62% .13 250/.2);stroke-width:.05px}.vertex-insert-edge{stroke:oklch(54% .15 250/.58);stroke-width:.085px;stroke-dasharray:.12 .12;cursor:copy;pointer-events:stroke;vector-effect:non-scaling-stroke}.vertex-insert-edge:hover{stroke:oklch(43% .16 250);stroke-width:.11px}.vertex-insert-edge:focus-visible{stroke:oklch(38% .19 250);stroke-width:.16px;filter:drop-shadow(0 0 .08rem oklch(52% .18 250));outline:none}.vertex-handle{fill:var(--paper);stroke:var(--accent);stroke-width:.035px;cursor:move;vector-effect:non-scaling-stroke}.vertex-handle:hover,.vertex-handle:focus-visible{fill:var(--accent)}.room-labels{pointer-events:none;fill:oklch(33% .11 250);text-anchor:middle;font-size:.18px;font-weight:650}.canvas-tools{border:1px solid var(--line);background:var(--paper);display:flex;position:absolute;bottom:1rem;left:1rem;box-shadow:0 2px 8px oklch(30% .02 260/.08)}.canvas-tools button{border-width:0 1px 0 0;width:2.75rem;height:2.75rem}.canvas-tools button:last-child{border-right:0}.shortcut-guide{border-top:1px solid var(--line);background:var(--paper);align-items:center;gap:.7rem;min-height:2.15rem;padding:.3rem 1rem;display:flex}.shortcut-guide p{color:var(--ink-muted);margin:0;font-size:.72rem}kbd{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-bottom-color:oklch(68% .025 260);border-radius:.18rem;padding:.08rem .25rem;font-family:inherit;font-size:.68rem}.no-rooms{text-align:center;color:var(--ink-muted);gap:.4rem;display:grid}.no-rooms strong{color:var(--ink)}.scale-strip{border-top:1px solid var(--line);background:var(--paper);align-items:center;gap:.7rem;min-height:3.3rem;padding:.65rem 1rem;font-size:.8rem;display:flex}.scale-strip.is-unresolved{background:var(--warning-soft)}.scale-key{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.67rem;font-weight:700}.scale-strip>span:last-child{color:var(--ink-muted)}.registration-note{width:100%;color:var(--ink-muted);font-size:.72rem}.calibration-form{background:var(--paper);border:1px solid oklch(72% .075 80);grid-template-columns:repeat(3,minmax(7rem,1fr)) auto;gap:.45rem;width:100%;padding:.6rem;display:grid}.calibration-form label{color:var(--ink-muted);gap:.2rem;font-size:.68rem;font-weight:700;display:grid}.calibration-form input{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:0;color:var(--ink);padding:.42rem .48rem}.calibration-form small{color:var(--ink-muted);grid-column:1/-1;font-size:.7rem;line-height:1.35}.source-calibration-svg{background:var(--paper);width:100%;max-height:70vh;display:block}.source-calibration-svg.is-calibrating{cursor:crosshair;outline-offset:3px;outline:2px solid oklch(67% .12 80)}.calibration-point{fill:oklch(58% .17 28);stroke:var(--paper);stroke-width:1.5px}.calibration-line{stroke:oklch(58% .17 28);stroke-width:2px;vector-effect:non-scaling-stroke}.audit-entry{border-bottom:1px solid var(--line);gap:.22rem;padding:.6rem 0;font-size:.75rem;display:grid}.audit-entry span,.audit-entry small{color:var(--ink-muted)}.geometry-warning{color:oklch(39% .11 28);background:oklch(96% .025 28);border:1px solid oklch(73% .09 28);margin:0 0 .85rem;padding:.55rem .65rem;font-size:.74rem;line-height:1.4}.compare-view{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.8rem;width:100%;display:grid}.compare-view figure{border:1px solid var(--line);background:var(--paper);min-width:0;margin:0}.compare-view img,.compare-view svg{object-fit:contain;background:var(--paper-deep);width:100%;max-height:64vh;display:block}.compare-view figcaption{border-top:1px solid var(--line);color:var(--ink-muted);padding:.55rem .65rem;font-size:.74rem}.inspector{border-left:1px solid var(--line);padding:0 1rem 1.5rem;overflow:auto}.review-card{background:var(--warning-soft);border:1px solid oklch(79% .08 80);margin:1rem 0 0;padding:.8rem}.review-card strong{font-size:.84rem;display:block}.review-card p:not(.eyebrow){color:oklch(40% .055 70);margin:.35rem 0 .7rem;font-size:.76rem}.review-card div{gap:.4rem;display:flex}.review-focus{align-content:start;gap:.9rem;min-height:100%;padding:1.4rem 0;display:grid}.review-focus h2{font-size:1.25rem}.review-focus>p:not(.eyebrow){color:var(--ink-muted);margin:0;font-size:.85rem}.review-focus-actions{gap:.45rem;display:grid}.review-focus-actions .button{justify-content:flex-start;width:100%}.review-decision-bar{border:1px solid var(--line);background:var(--paper-deep);gap:.45rem;margin:1rem 0 0;padding:.75rem;display:grid}.review-decision-bar span{color:var(--ink-muted);font-size:.72rem;line-height:1.35}.text-button{width:fit-content;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:.2rem 0;font-size:.78rem}.inspector-tabs{border-bottom:1px solid var(--line);gap:1.5rem;height:3.25rem;display:flex}.tab{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;font-size:.8rem;font-weight:650;position:relative}.tab.is-active{color:var(--ink)}.tab.is-active:after{background:var(--accent);content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.inspector-heading{align-items:center;gap:.7rem;padding:1.35rem 0 1.1rem;display:flex}.room-chip{border:2px solid var(--accent);background:var(--accent-soft);width:.75rem;height:.75rem}.inspector h2{letter-spacing:-.025em;margin:0;font-size:1.15rem}.measurement-list{border-top:1px solid var(--line);margin:0}.measurement-list div{border-bottom:1px solid var(--line);justify-content:space-between;padding:.75rem 0;display:flex}.measurement-list dt{color:var(--ink-muted);font-size:.8rem}.measurement-list dd{font-variant-numeric:tabular-nums;margin:0;font-weight:650}.measurement-list small{color:var(--ink-muted);font-size:.7rem;font-weight:500}.section-rule{height:1rem}.inspector-section{border-top:1px solid var(--line);padding:.85rem 0}.inspector h3{letter-spacing:.06em;text-transform:uppercase;margin:0 0 .7rem;font-size:.78rem}.room-name-edit{gap:.35rem;padding-bottom:.85rem;display:grid}.room-name-edit label{color:var(--ink-muted);font-size:.76rem;font-weight:650}.inline-control{gap:.35rem;display:flex}.inline-control input{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:0;color:var(--ink);flex:1;padding:.45rem .55rem}.inline-control input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.editor-actions{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.35rem;padding-bottom:.85rem;display:grid}.editor-actions select{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:0;height:2.25rem;color:var(--ink);padding:0 .45rem;font-size:.76rem}.editor-hint{color:var(--ink-muted);margin:0 0 .85rem;font-size:.76rem;line-height:1.45}.room-table{border-collapse:collapse;width:100%;font-size:.76rem}.room-table th,.room-table td{border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums;padding:.5rem .35rem}.room-table th:first-child,.room-table td:first-child{text-align:left}.room-table thead th{color:var(--ink-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.63rem}.room-table tbody tr.is-selected{background:var(--accent-soft);color:oklch(32% .11 250)}.room-table tbody th button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0}.room-table tbody th button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.provenance p{color:var(--ink-muted);margin:.45rem 0;font-size:.78rem}.warning-copy{color:oklch(44% .1 70)!important}.trust-summary{background:var(--accent-soft);border:1px solid oklch(75% .07 250);gap:.15rem;margin:0 0 1rem;padding:.65rem .7rem;display:grid}.trust-summary strong{font-size:.78rem}.trust-summary span{color:var(--ink-muted);font-size:.72rem}.evidence-panel{padding:1.35rem 0}.evidence-help{border:1px solid var(--line);background:var(--paper-deep);color:var(--ink-muted);margin:.8rem 0 0;padding:.65rem .7rem;font-size:.75rem;line-height:1.4}.evidence-list{border-top:1px solid var(--line);margin:1rem 0}.evidence-list div{border-bottom:1px solid var(--line);gap:.15rem;padding:.65rem 0;display:grid}.evidence-list dt{color:var(--ink-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:700}.evidence-list dd{margin:0;font-size:.8rem}.danger-button{color:oklch(43% .13 28);border-color:oklch(73% .09 28)}.inspector-empty{color:var(--ink-muted);padding:2rem 0;font-size:.85rem}.mobile-action-bar{display:none}@media (width<=1024px){.workspace{grid-template-columns:10rem minmax(0,1fr) 17rem}.topbar{gap:1rem;padding:0 1rem}.document-context{padding-left:1rem}}@media (width>=761px){.workspace.is-reviewing{grid-template-columns:minmax(0,1fr) 22rem}.workspace.is-reviewing .page-rail,.workspace.is-reviewing .drawing-toolbar>:not(:first-child){display:none}}@media (width<=760px){.app-shell{grid-template-rows:auto auto 1fr}.topbar{flex-wrap:wrap;min-height:4.25rem;padding:.7rem 1rem}.document-context{border-top:1px solid var(--line);border-left:0;order:3;width:100%;padding:.5rem 0 0}.top-actions{margin-left:auto}.status-text{display:none}.uploaded-drawing{min-height:auto}.uploaded-drawing-header{flex-direction:column;align-items:flex-start;gap:.8rem}.uploaded-actions{width:100%}.uploaded-actions>*{flex:1}.sheet-confirmation{flex-direction:column-reverse;display:flex}.sheet-list{border-top:1px solid var(--line);border-right:0;max-height:45vh}.uploaded-preview{min-height:25rem;padding:.9rem}.processing-steps{grid-template-columns:1fr 1fr}.workspace{padding-bottom:calc(4.25rem + env(safe-area-inset-bottom));flex-direction:column;display:flex}.page-rail{border-right:0;border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex;overflow-x:auto}.rail-heading{margin:0}.page-item{align-items:center;gap:.5rem;width:10rem;display:flex}.page-thumbnail{width:3rem;padding:.1rem}.page-name{margin-left:0}.rail-note{display:none}.drawing-toolbar{padding:.4rem .65rem;overflow-x:auto}.drawing-toolbar>div:first-child{min-width:8rem}.tool-button,.tool-menu summary{white-space:nowrap}.edit-action-bar{flex-wrap:wrap;align-items:center;padding:.55rem .75rem}.edit-action-bar>span:not(.toolbar-spacer),.edit-action-bar .toolbar-spacer,.edit-action-bar small{display:none}.edit-action-bar .button{flex:1}.shortcut-guide{padding:.3rem .75rem}.shortcut-guide p{display:none}.drawing-canvas{min-height:22rem;padding:.75rem}.plan-svg{max-height:none}.scale-strip{flex-wrap:wrap;align-items:flex-start}.calibration-form{grid-template-columns:1fr}.source-calibration-svg{max-height:55vh}.button-small,.tool-button,.tool-menu summary,.review-card .button,.scale-strip .button,.room-table tbody th button,.audit-entry .text-button{min-height:2.75rem}.room-table tbody th button,.audit-entry .text-button{align-items:center;display:inline-flex}.compare-view{grid-template-columns:1fr}.inspector{border-top:1px solid var(--line);border-left:0}.mobile-action-bar{z-index:8;padding:.45rem max(.45rem, env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.45rem, env(safe-area-inset-left));border-top:1px solid var(--line);background:oklch(99% .008 92/.98);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -.4rem 1.2rem oklch(28% .02 260/.08)}.mobile-action-bar button{background:var(--paper);min-height:2.75rem;color:var(--ink);border:0;font-size:.72rem;font-weight:700}.mobile-action-bar button:disabled{color:var(--ink-muted)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scan-plan{0%{transform:translateY(0)}to{transform:translateY(430%)}}
