/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--brand:#2b6472;--brand-hover:#3d7c89;--brand-dark:#1d4c57;--ink:#22262b;--muted:#667085;--surface:#fff;--background:#f6f7f8;--tint:#eaf4f5;--line:#e4e7ec;--canvas:#22262b}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--background);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}button,input,select{font:inherit}button{color:inherit}.app-shell{flex-direction:column;height:100dvh;min-height:100vh;display:flex;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:5;grid-template-columns:260px 1fr auto;align-items:center;gap:20px;height:64px;padding:0 18px;display:grid;position:relative}.brand{color:var(--brand);letter-spacing:.05em;align-items:center;gap:9px;font-size:19px;font-weight:800;display:flex}.brand-logo{background:#fff;flex:0 0 31px;width:31px;height:31px;display:block;position:relative;overflow:hidden}.brand-logo img{width:48.5px;max-width:none;height:48.5px;display:block;position:absolute;top:-8.7px;left:-8.7px}.version{background:var(--tint);color:var(--brand);letter-spacing:.1em;border-radius:999px;padding:4px 7px;font-size:9px}.project-name{justify-self:center;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:700;display:flex}.status-dot{background:#21a366;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #e8f6ee}.saved{color:var(--muted);font-weight:400}.header-actions{gap:7px;display:flex}.header-actions .button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.header-actions .button span{font-size:11px}.header-actions .button b{font-size:inherit}.button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;min-height:36px;padding:0 14px;font-size:12px;font-weight:700;transition:all .18s}.button:hover:not(:disabled){background:#f9fbfb;border-color:#bac9cd;transform:translateY(-1px)}.button.primary{border-color:var(--brand);background:var(--brand);color:#fff}.button.primary:hover:not(:disabled){background:var(--brand-hover)}.button.ghost{background:0 0}.button.danger{color:#a83a2f;background:#fff4f2;border-color:#f2c6c1}.button.wide{width:100%}.button:disabled{cursor:not-allowed;opacity:.45}.project-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101b1f8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.project-modal{background:#fff;border:1px solid #d6e0e2;border-radius:18px;width:min(560px,100%);max-height:min(760px,100dvh - 36px);padding:20px;overflow:auto;box-shadow:0 26px 90px #0b191e52}.project-modal>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.project-modal h2{color:var(--ink);margin:4px 0 0;font-size:20px}.modal-close{width:36px;height:36px;color:var(--brand-dark);cursor:pointer;background:#eef3f4;border:0;border-radius:50%;flex:0 0 36px;font-size:24px;line-height:1}.current-project-card{background:var(--tint);border:1px solid #c9dadd;border-radius:12px;margin-top:18px;padding:15px}.current-project-card label{color:var(--brand-dark);text-transform:uppercase;letter-spacing:.05em;gap:6px;font-size:10px;font-weight:800;display:grid}.current-project-card .two-buttons{margin-top:10px}.current-project-card p{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.45}.project-modal-actions{margin:14px 0}.stored-project-list{gap:8px;display:grid}.stored-project-list article{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1fr 38px;align-items:stretch;display:grid;overflow:hidden}.stored-project-main{cursor:pointer;text-align:left;background:0 0;border:0;gap:4px;padding:12px 13px;display:grid}.stored-project-main:hover{background:#f7fafb}.stored-project-main strong{font-size:12px}.stored-project-main span{color:var(--muted);font-size:9px}.stored-project-delete{border:0;border-left:1px solid var(--line);color:#b14a40;cursor:pointer;background:snow;font-size:18px}.empty-projects{color:var(--muted);text-align:center;border:1px dashed #cfd8db;border-radius:10px;gap:5px;padding:24px 14px;display:grid}.empty-projects strong{color:#49535a;font-size:12px}.empty-projects span{font-size:10px}.workspace{flex:1;grid-template-columns:220px minmax(480px,1fr) 310px;min-height:0;display:grid}.steps-panel{border-right:1px solid var(--line);background:#fbfcfc;flex-direction:column;padding:20px 14px 14px;display:flex}.steps-heading{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding:0 8px 13px;font-size:10px;font-weight:800;display:flex}.steps-panel nav{gap:4px;display:grid}.phase{color:#535b64;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;padding:10px 9px;font-size:12px;font-weight:700;display:flex}.phase:hover{background:#f0f4f5}.phase.active{background:var(--tint);color:var(--brand-dark)}.phase-number{color:#7c858e;background:#fff;border:1px solid #d6dde0;border-radius:8px;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:9px;display:grid}.phase.active .phase-number{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 3px 9px #2b64723b}.phase.done .phase-number{color:#187a4d;background:#edf9f3;border-color:#a6d4c0}.help-card{border:1px solid var(--line);background:#fff;border-radius:11px;gap:10px;margin-top:auto;padding:13px 11px;display:flex}.help-icon{background:var(--tint);width:22px;height:22px;color:var(--brand);border-radius:50%;flex:0 0 22px;place-items:center;font-size:11px;font-weight:800;display:grid}.help-card strong{font-size:11px}.help-card p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.45}.editor{background:var(--canvas);flex-direction:column;min-width:0;display:flex}.toolstrip{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:9px;height:52px;padding:7px 11px;display:flex}.tool-group{gap:3px;display:flex}.tool{color:#4d555d;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;min-height:36px;padding:0 9px;font-size:10px;font-weight:700;display:flex}.tool span{color:var(--brand);font-size:15px}.selection-count{background:var(--brand);color:#fff;border-radius:999px;place-items:center;min-width:17px;height:17px;font-size:8px;display:grid}.tool:hover{background:#f4f7f8}.tool.active{background:var(--tint);color:var(--brand-dark);border-color:#c6d9dd}.tool:disabled{opacity:.35;cursor:not-allowed}.tool kbd{color:var(--muted);background:#fff;border:1px solid #cad1d4;border-radius:4px;padding:2px 4px;font-size:8px}.divider{background:var(--line);width:1px;height:24px}.zoom-tools{background:#f3f6f7;border-radius:7px;align-items:center;gap:2px;padding:3px;display:flex}.zoom-tools button{color:#4f5961;cursor:pointer;background:0 0;border:0;border-radius:5px;min-width:28px;height:28px;font-size:13px;font-weight:700}.zoom-tools button:hover{color:var(--brand);background:#fff}.zoom-tools .pan-button.active{background:var(--brand);color:#fff}.zoom-tools .zoom-value{min-width:47px;font-size:9px}.zoom-tools .fit-button{padding:0 7px;font-size:9px}.tool-spacer{flex:1}.view-select{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:9px;font-weight:700;display:flex}.view-select select{border:1px solid var(--line);min-width:130px;color:var(--ink);text-transform:none;background:#fff;border-radius:7px;padding:7px 9px;font-size:10px}.canvas-wrap{background:#20252a;flex:1;min-height:0;position:relative;overflow:hidden}.canvas-grid{opacity:.2;background-image:linear-gradient(#65717a 1px,#0000 1px),linear-gradient(90deg,#65717a 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.canvas-wrap.dragging{box-shadow:inset 0 0 0 3px #65aebe}.upload-zone{color:#fff;cursor:pointer;background:#22282de0;border:1px dashed #6d7a82;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:min(390px,100% - 50px);min-height:230px;display:flex;position:absolute;top:48%;left:50%;translate:-50% -50%;box-shadow:0 24px 80px #00000038}.upload-zone:hover{background:#293138;border-color:#8bc2ce}.upload-icon{background:var(--brand);border-radius:14px;place-items:center;width:47px;height:47px;font-size:24px;display:grid}.upload-zone strong{margin-top:4px;font-size:16px}.upload-zone>span:not(.upload-icon){color:#c2c9cd;font-size:12px}.upload-zone small{color:#89949a;margin-top:12px;font-size:9px}.drawing-stage{place-items:center;display:grid;position:absolute;inset:34px;overflow:hidden}.svg-stage{touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;width:100%;height:100%;display:block;box-shadow:0 18px 70px #00000047}.svg-stage:not(.tool-select){cursor:crosshair}.svg-stage.tool-select,.svg-stage.tool-lineMode{cursor:default}.svg-stage.tool-pan{cursor:grab}.svg-stage.tool-pan:active{cursor:grabbing}.svg-label{fill:#2b6472;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:11px;font-weight:700}.svg-label.red{fill:#bb2d2a}.dimension line{stroke:#2b6472;stroke-width:1.5px;stroke-dasharray:4 3}.dimension circle{fill:#fff;stroke:#2b6472;stroke-width:2px}.dimension text{fill:#2b6472;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:13px;font-weight:700}.triangulation line{stroke:#7d4bc4;stroke-width:1.5px;stroke-dasharray:7 4}.triangulation circle{fill:#fff;stroke:#7d4bc4;stroke-width:2px}.triangulation text{fill:#6a3cad;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:12px;font-weight:700}.triangulation.selected-entity line,.triangulation.selected-entity circle{stroke:#f28a00}.edge-line{stroke:#2b9a5f;stroke-width:2.2px;stroke-dasharray:8 4}.edge-line.selected{stroke:#f28a00;stroke-width:4px}.linear-segment-selections{pointer-events:none}.linear-segment-selections line{stroke:#f28a00;stroke-width:5px;stroke-dasharray:10 4;vector-effect:non-scaling-stroke}.constraint-symbols{pointer-events:none}.constraint-symbol circle{fill:#fff;fill-opacity:.94;stroke:#f28a00;stroke-width:2px;vector-effect:non-scaling-stroke}.constraint-symbol text{fill:#b65c00;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:2px;font-family:Arial,sans-serif;font-size:12px;font-weight:800}.constraint-symbol.corner circle,.constraint-symbol.join circle{stroke:#2b6472}.constraint-symbol.corner text,.constraint-symbol.join text{fill:#2b6472}.dimension-lines{pointer-events:none}.dimension-lines line{stroke:#155f7a;stroke-width:1.5px;fill:none;vector-effect:non-scaling-stroke;opacity:.88}.dimension-lines line.edge{stroke:#2b9a5f;stroke-dasharray:7 4}.dimension-lines line.element{stroke:#313d49}.dimension-lines line.hover{stroke:#ff8a00;stroke-width:5px;opacity:1}.dimension-methods{grid-template-columns:repeat(3,minmax(0,1fr))}.singular-element{fill:#087ec229;stroke:#087ec2;stroke-width:2.2px;vector-effect:non-scaling-stroke}.singular-element.selected{fill:#f28a0033;stroke:#f28a00;stroke-width:4px}.singular-element.open{fill:none}.face-target{stroke:#f28a00;stroke-width:5px;stroke-dasharray:9 5;vector-effect:non-scaling-stroke}.annotation{fill:#2b6472;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;font-family:Arial,sans-serif;font-size:17px}.annotation.room{font-weight:700}.annotation.area,.annotation.level{font-size:14px}.level-symbol{fill:none;stroke:#2b6472;stroke-width:1.5px}.area-shape{fill:#2b647214;stroke:#2b6472;stroke-width:1.5px;stroke-dasharray:5 4}.draft-line{fill:none;stroke:#f39a30;stroke-width:2px;stroke-dasharray:6 4}.draft-point{fill:#fff;stroke:#f39a30;stroke-width:2px}.selection-halo{stroke:#ffb11f;stroke-opacity:.5}.wall-type-layer line{stroke-linecap:square;stroke-opacity:.42}.wall-geometry{fill:#ffffff0a;stroke:#315964;stroke-width:1.8px;vector-effect:non-scaling-stroke}.wall-type-legend{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:7px;display:grid}.wall-type-legend span{color:var(--muted);align-items:center;gap:4px;font-size:8px;display:flex}.wall-type-legend i{border-radius:3px;width:9px;height:9px}.constraint-list{gap:5px;margin-top:10px;display:grid}.constraint-row{border:1px solid var(--line);min-height:32px;color:var(--muted);background:#fafcfc;border-radius:7px;grid-template-columns:25px 1fr 28px;align-items:center;padding-left:8px;font-size:9px;display:grid}.constraint-row b{color:var(--brand);font-size:14px}.constraint-row button{border:0;border-left:1px solid var(--line);color:#a83a2f;cursor:pointer;background:#fff7f5;height:100%}.selected-centerline{stroke:#f28a00;stroke-width:2.5px;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.selected-entity .dimension,.dimension.selected-entity,.dimension.selected-entity line,.dimension.selected-entity circle{stroke:#f28a00}.dimension.selected-entity text,.selected-entity .annotation{fill:#e17800}.reference-point{pointer-events:none}.reference-point circle{fill:#fff;stroke:#2b6472;stroke-width:1.5px;vector-effect:non-scaling-stroke}.reference-point text{fill:#26343a;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:10px;font-weight:700}.reference-point.midpoint circle{fill:#eaf4f5}.reference-point.intersection circle{fill:#f39a30;stroke:#fff}.reference-point.manual circle{fill:#7d4bc4;stroke:#fff}.reference-point.selected-entity circle{fill:#ffd34f;stroke:#f28a00;stroke-width:3px}.snap-preview{pointer-events:none}.snap-preview rect{fill:none;stroke:#f28a00;stroke-width:2px;vector-effect:non-scaling-stroke}.snap-preview text{fill:#8d4c00;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:11px;font-weight:800}.selection-window{vector-effect:non-scaling-stroke;stroke-width:1.5px}.selection-window.capture{fill:#2e70b821;stroke:#2e70b8}.selection-window.crossing{fill:#22915d21;stroke:#22915d;stroke-dasharray:6 4}.axis{pointer-events:none;opacity:.75;position:absolute}.axis span{color:#fff;font-size:9px;font-weight:800;position:absolute}.x-axis{border-top:2px solid #d54c4c;width:68px;bottom:37px;left:36px}.x-axis span{color:#ef7474;top:-7px;right:-10px}.y-axis{border-left:2px solid #54a76b;height:68px;bottom:37px;left:36px}.y-axis span{color:#76c98d;top:-14px;left:-3px}.canvas-status{pointer-events:none;color:#c7d0d4;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:10px;left:12px;right:12px}.inspector{border-left:1px solid var(--line);overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;flex-direction:column;min-height:0;max-height:100%;padding:21px 18px 28px;display:flex;overflow-y:auto}.inspector::-webkit-scrollbar{width:9px}.inspector::-webkit-scrollbar-thumb{background:#c8d3d6;border:2px solid #fff;border-radius:999px}.inspector-title{border-bottom:1px solid var(--line);padding-bottom:18px}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.inspector h1{letter-spacing:-.025em;margin:0;font-size:20px;line-height:1.15}.inspector-title p{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.6}.panel-stack{gap:10px;margin-top:16px;display:grid}.panel-card{border:1px solid var(--line);background:#fff;border-radius:11px;padding:14px}.muted-card{background:#fafcfc}.card-heading{align-items:center;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.card-number{background:var(--tint);width:21px;height:21px;color:var(--brand);border-radius:6px;place-items:center;font-size:9px;font-weight:800;display:grid}.panel-card p{color:var(--muted);margin:0 0 12px;font-size:10px;line-height:1.5}.field-label,.inline-form label{color:#4c5660;letter-spacing:.04em;text-transform:uppercase;margin:9px 0 5px;font-size:9px;font-weight:800;display:block}.input{width:100%;height:36px;color:var(--ink);background:#fff;border:1px solid #d8dfe2;border-radius:7px;outline:none;margin-bottom:9px;padding:0 10px;font-size:12px}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2b64721a}.inline-form{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.metric-note{color:#7b858e!important;margin:9px 0 0!important;font-size:9px!important}.selection-readout{background:#fff4e8;border-radius:7px;padding:7px 9px;font-weight:800;color:#a55200!important;margin:8px 0 0!important;font-size:9px!important}.selected-button{box-shadow:0 0 0 3px #2b64721f}.segmented{background:#eef2f3;border-radius:8px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin-bottom:10px;padding:3px;display:grid}.segmented button{min-height:29px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:9px;font-weight:700}.segmented button.active{color:var(--brand);background:#fff;box-shadow:0 2px 8px #1c2d3217}.mini-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mini-stats span{color:var(--muted);background:#f5f8f8;border-radius:9px;flex-direction:column;padding:10px;font-size:9px;display:flex}.mini-stats strong{color:var(--ink);margin-bottom:2px;font-size:17px}.dimension-list{border:1px solid var(--line);border-radius:10px;margin-top:2px;overflow:hidden}.dimension-list>strong{color:var(--muted);letter-spacing:.06em;background:#f5f7f8;padding:9px 10px;font-size:8px;display:block}.dimension-list>div{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:1fr 1fr auto;gap:8px;padding:8px 10px;font-size:10px;display:grid}.dimension-list>div:hover,.dimension-list>div.selected-row{background:var(--tint)}.dimension-list b{text-align:right}.dimension-list em{color:#1b8555;font-size:8px;font-style:normal}.dimension-list p{margin:0;padding:14px 10px}.ocr-panel{border-top:1px solid var(--line);gap:6px;margin-top:10px;padding-top:10px;display:grid}.ocr-panel>p{margin:0 0 3px}.ocr-result{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;font-size:10px;display:flex}.ocr-result em{color:var(--muted);font-size:8px;font-style:normal}.ocr-result:hover,.ocr-result.active{border-color:var(--brand);background:var(--tint);color:var(--brand-dark)}.reconstruction-ok{background:#eff9f4;border:1px solid #bfe0d0;border-radius:10px;gap:10px;padding:13px;display:flex}.reconstruction-ok>span{color:#fff;background:#208558;border-radius:50%;flex:0 0 23px;place-items:center;width:23px;height:23px;font-weight:800;display:grid}.reconstruction-ok strong{font-size:11px}.reconstruction-ok p{color:#547065;margin:4px 0 0;font-size:9px;line-height:1.45}.summary-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.summary-grid span{border:1px solid var(--line);color:var(--muted);border-radius:9px;flex-direction:column;gap:2px;padding:12px;font-size:9px;display:flex}.summary-grid strong{color:var(--ink);font-size:18px}.secondary-action{margin-top:7px}.selected-card{background:#f4fafb;border-color:#9fc2ca}.two-buttons{grid-template-columns:1fr 1fr;gap:7px;display:grid}.two-buttons .button{padding:0 8px;font-size:10px}.compact-fields{grid-template-columns:.75fr 1.25fr;gap:7px;display:grid}.compact-fields label>span{color:#4c5660;letter-spacing:.04em;text-transform:uppercase;margin:0 0 5px;font-size:8px;font-weight:800;display:block}.icon-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.icon-grid button{border:1px solid var(--line);min-height:47px;color:var(--brand);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:16px;font-weight:700;display:flex}.icon-grid button span{color:#5f6870;font-size:8px;font-weight:700}.icon-grid button:hover,.icon-grid button.active{background:var(--tint);border-color:#9fc2ca}.element-grid{grid-template-columns:repeat(2,1fr)}.file-pill{background:var(--tint);text-overflow:ellipsis;white-space:nowrap;border-radius:7px;padding:7px 9px;overflow:hidden;color:var(--brand-dark)!important;margin:9px 0 0!important}.empty-tool-card{text-align:center;background:#fafcfc;flex-direction:column;justify-content:center;align-items:center;min-height:170px;margin-top:16px;display:flex}.empty-tool-icon{color:var(--brand);margin-bottom:9px;font-size:25px}.empty-tool-card strong{font-size:12px}.empty-tool-card p{max-width:220px;margin:7px 0 0}.inspector-footer{margin-top:auto;padding-top:18px}.inspector-footer>span{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:9px;font-weight:700;display:block}.mobile-panel-toggle,.mobile-panel-close,.mobile-panel-backdrop,.touch-canvas-help,.mobile-quickbar{display:none}@media (pointer:coarse){.button,.tool,.icon-grid button{min-height:44px}.input{height:44px;font-size:16px}.segmented button,.zoom-tools button{min-height:40px}.button:hover:not(:disabled){transform:none}}@media (width<=1050px){.workspace{grid-template-columns:184px minmax(420px,1fr) 270px}.topbar{grid-template-columns:220px 1fr auto}.tool{padding:0 7px}}@media (width<=820px){.app-shell{height:auto;min-height:100vh;overflow:visible}.topbar{z-index:20;grid-template-columns:1fr auto;height:auto;min-height:62px;position:sticky;top:0}.project-name{display:none}.workspace{grid-template-columns:64px 1fr;min-height:calc(100vh - 62px)}.steps-panel{padding:12px 8px}.steps-heading,.phase>span:last-child,.help-card{display:none}.phase{justify-content:center;padding:7px 0}.phase-number{margin:0}.editor{min-height:calc(100dvh - 62px)}.toolstrip{display:none}.mobile-quickbar{z-index:4;border-bottom:1px solid var(--line);touch-action:manipulation;background:#fff;flex:none;gap:3px;padding:5px 6px;display:grid;position:relative;box-shadow:0 3px 12px #182a3014}.mobile-quick-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.mobile-quick-row button{color:#59636a;background:#fff;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:46px;padding:2px;display:flex}.mobile-quick-row button b{color:var(--brand);font-size:16px;line-height:1}.mobile-quick-row button span{text-overflow:ellipsis;color:#59636a;white-space:nowrap;max-width:100%;font-size:7px;font-weight:800;overflow:hidden}.mobile-quick-row button.active{background:var(--tint);color:var(--brand-dark);border-color:#b8d1d6}.mobile-quick-row button:disabled{opacity:.3}.drawing-stage{inset:18px 14px 30px}.canvas-status{bottom:7px;right:88px}.canvas-status>span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:62%;overflow:hidden}.desktop-canvas-help{display:none}.touch-canvas-help{white-space:nowrap;display:inline}.mobile-panel-backdrop{z-index:29;opacity:0;pointer-events:none;background:#0f171b61;border:0;transition:opacity .2s;position:fixed;inset:0}.mobile-panel-backdrop.visible{opacity:1;pointer-events:auto;display:block}.mobile-panel-toggle{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));z-index:32;background:var(--brand);color:#fff;border:0;border-radius:999px;align-items:center;gap:8px;min-height:46px;padding:0 17px;font-size:11px;font-weight:800;display:flex;position:fixed;box-shadow:0 10px 28px #14343c52}.mobile-panel-toggle span{font-size:18px;line-height:1}.mobile-panel-toggle.open{background:var(--ink)}.mobile-panel-close{z-index:2;width:38px;height:38px;color:var(--brand-dark);background:#edf3f4;border:0;border-radius:50%;place-items:center;margin:-7px -5px -30px auto;font-size:22px;display:grid;position:sticky;top:0}.inspector{left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));z-index:31;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;opacity:0;pointer-events:none;border:1px solid #d6e0e2;border-radius:18px;width:auto;min-height:0;max-height:min(76dvh,720px);padding:20px 18px 76px;transition:transform .24s,opacity .2s;position:fixed;overflow-y:auto;transform:translateY(calc(100% + 28px));box-shadow:0 24px 80px #0f1f2457}.inspector.mobile-open{opacity:1;pointer-events:auto;transform:translateY(0)}.inspector-title{padding-right:34px}.inspector-footer{padding-bottom:8px}}@media (width>=760px) and (width<=820px){.mobile-quickbar{grid-template-columns:1fr 1fr}}@media (width<=560px){.brand .version{display:none}.topbar{padding:0 10px}.brand{font-size:16px}.brand-logo{flex-basis:28px;width:28px;height:28px}.brand-logo img{width:43.8px;height:43.8px;top:-7.9px;left:-7.9px}.header-actions{gap:4px}.header-actions .button{min-width:38px;min-height:40px;padding:0 9px;font-size:10px}.header-actions .button b{display:none}.header-actions .export-button{min-width:46px}.project-modal-backdrop{align-items:end;padding:8px}.project-modal{border-radius:18px 18px 12px 12px;max-height:88dvh;padding:17px}.workspace{flex-direction:column;min-height:0;display:flex}.steps-panel{z-index:18;border-right:0;border-bottom:1px solid var(--line);flex:none;padding:5px 7px;position:sticky;top:62px}.steps-panel nav{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.phase{min-height:44px;padding:4px 0}.phase-number{flex-basis:32px;width:32px;height:32px}.editor{height:calc(100dvh - 116px);min-height:520px}.drawing-stage{inset:10px 8px 30px}.mobile-quickbar{padding-inline:4px}.mobile-quick-row{gap:2px}.mobile-quick-row button{min-height:44px}.canvas-status{left:8px;right:82px}.canvas-status>span:first-child{max-width:100%}.touch-canvas-help{display:none}.axis{transform-origin:0 100%;transform:scale(.8)}.inspector{max-height:82dvh;padding-inline:14px}.panel-card{padding:13px}.icon-grid button{min-height:54px}.view-select select{min-width:108px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
