@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff")}:root{font-synthesis:none}*{box-sizing:border-box}html,body,#root,.theme-root{width:100%;height:100%;margin:0}.theme-root{font-family:var(--font-family);font-size:var(--font-size);color:var(--color-text);background:var(--surface-app)}button,input,select{font:inherit}button{min-height:var(--control-height);padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--space-sm);background:var(--surface-drawing);color:var(--color-text);cursor:pointer}button:hover{background:var(--state-hover)}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.app-shell{flex-direction:column;height:100%;display:flex}.app-shell.immersive>header,.app-shell.immersive .tools,.app-shell.immersive .properties{display:none}.app-shell.immersive main{grid-template-columns:minmax(0,1fr)}.topbar{z-index:5;background:var(--surface-header);height:min(20vh,144px);min-height:52px;max-height:20vh;color:var(--color-inverse);flex:0 0 min(20vh,144px);grid-template-columns:minmax(0,112px) minmax(0,203px) minmax(0,231px) minmax(0,574px) minmax(0,137px) minmax(0,92px) minmax(0,74px);justify-content:center;gap:0;padding:0;display:grid;position:relative;overflow:hidden}.topbar-group-meta{z-index:1;align-items:baseline;gap:6px;max-width:calc(100% - 70px);display:flex;position:absolute;top:4px;right:8px;overflow:hidden}.app-version{color:#ffffff8c;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px;line-height:1.1}.app-build-stamp{color:#ffffffbf;white-space:nowrap;font-size:10px;font-style:italic;line-height:1.1}.topbar-group{white-space:normal;border-left:1px solid #ffffff5c;grid-template-rows:repeat(3,30px);align-content:center;align-items:center;gap:5px;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;padding:21px 8px 6px;display:grid;position:relative;overflow:hidden}.topbar-group:first-child{border-left:0}.topbar-group:before{content:attr(data-group);color:#ffffffad;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;max-width:calc(100% - 16px);font-size:9px;font-weight:700;line-height:1;position:absolute;top:4px;left:8px;overflow:hidden}.topbar button,.topbar select,.topbar input{border:1px solid var(--color-border);background:var(--surface-drawing);height:30px;min-height:30px;color:var(--color-text);border-radius:5px;padding:0 8px;font-size:12px}.topbar .icon-button{place-items:center;width:31px;min-width:31px;padding:0;font-size:17px;line-height:1;display:inline-grid;position:relative}.toolbar-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.topbar .project-export-actions .icon-button{letter-spacing:-.02em;font-size:8px;font-weight:850}.topbar button.active,.topbar .topbar-layer-menu[open]>summary{border-color:var(--color-focus);background:var(--state-active);color:var(--color-inverse)}.line-preview{border-top:3px solid;width:17px;display:block}.line-preview.veryThin{border-top-width:1px;transform:scaleY(.6)}.line-preview.extraThin{border-top-width:1px}.line-preview.thin{border-top-width:2px}.line-preview.thick{border-top-width:4px}.icon-with-level small{background:var(--surface-header);min-width:11px;height:11px;color:var(--color-inverse);text-align:center;border-radius:5px;padding:0 2px;font-size:8px;font-weight:800;line-height:11px;position:absolute;bottom:1px;right:2px}.layers-icon{border:1.5px solid;border-radius:2px;width:15px;height:11px;position:relative}.layers-icon:before,.layers-icon:after{content:"";background:inherit;border:1.5px solid;border-radius:2px;width:15px;height:11px;position:absolute}.layers-icon:before{top:3px;left:-4px}.layers-icon:after{top:-4px;left:2px}.legend-icon{align-items:center;gap:2px;display:flex}.layer-toggle-grid .legend-icon{filter:none;justify-content:center}.legend-icon i{background:var(--utility-electricity);border-radius:50%;width:5px;height:5px}.legend-icon i:nth-child(2){background:var(--utility-water)}.legend-icon i:nth-child(3){background:var(--utility-gas)}.project-actions{grid-template-rows:repeat(3,30px);grid-template-columns:auto auto;align-items:center;gap:3px 0;display:grid}.project-actions-row{grid-column:1;grid-template-columns:repeat(3,31px);align-items:center;gap:3px;display:grid}.project-export-actions{border-left:1px solid color-mix(in srgb, var(--color-inverse) 28%, transparent);grid-area:1/2/4;grid-template-rows:repeat(3,30px);grid-template-columns:repeat(2,31px);align-items:center;gap:3px;margin-left:7px;padding-left:7px;display:grid}.save-as-action>span{font-size:14px}.save-as-action>small{font-size:11px;font-weight:800;line-height:1;position:absolute;bottom:0;right:2px}.project-actions-row>.project-reset-action{grid-column:3}.project-file-actions{grid-row:1}.project-save-actions{grid-row:2}.project-history-actions{grid-row:3}.project-section,.tutorials-section{grid-template-rows:repeat(3,30px);gap:3px}.tutorials-section>button{white-space:normal;width:100%;min-width:0;padding:0 4px;font-size:10px;line-height:1.1;overflow:hidden}.project-section .topbar-group-meta{max-width:calc(100% - 56px)}.project-section .app-version{margin-top:1px;font-size:9px}.project-section .app-build-stamp{margin-top:0;font-size:9px}.project-section .project-actions{grid-row:1/4;align-self:center}.quick-settings{--zone-a-button:31px;--zone-a-gap:3px;gap:var(--zone-a-gap);grid-template-rows:repeat(3,30px);display:grid}.quick-settings .session-row{align-items:center;gap:3px;min-width:0;display:flex}.quick-settings .session-group{align-items:center;gap:var(--zone-a-gap);min-width:0;display:flex}.quick-settings .session-group:first-child{min-width:calc(3 * var(--zone-a-button) + 2 * var(--zone-a-gap))}.quick-settings .session-group+.session-group{border-left:1px solid color-mix(in srgb, var(--color-inverse) 28%, transparent);margin-left:7px;padding-left:7px}.quick-settings .session-view-actions{grid-row:1}.quick-settings .session-drawing-actions{grid-row:2}.quick-settings .session-survey-actions{grid-row:3}.quick-settings .icon-with-level .toolbar-icon,.quick-settings .positioning-guides-action .toolbar-icon{color:var(--color-focus);stroke-width:1.35px}.quick-settings label{white-space:nowrap;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px;font-size:12px;display:grid}.quick-settings select{border:1px solid var(--color-border);background:var(--surface-drawing);width:100%;min-width:0;color:var(--color-text);border-radius:5px;padding:0 4px}.layer-reference-actions .compact-control,.quick-settings .compact-control{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px;font-size:12px;display:grid}.layer-reference-actions select,.layer-reference-actions input{border:1px solid var(--color-border);background:var(--surface-drawing);height:30px;min-height:30px;color:var(--color-text);border-radius:5px;padding:0 4px;font-size:12px}.layer-reference-actions{grid-template-rows:repeat(3,30px);grid-template-columns:minmax(0,1fr) 31px auto;column-gap:6px}.layer-reference-actions>*{min-width:0;max-width:100%}.layer-reference-actions select{width:100%;min-width:0}.layer-family-controls{grid-area:1/3/4;grid-template-rows:repeat(3,30px);grid-template-columns:auto auto;gap:3px;min-width:0;display:grid}.layer-family-controls>.layer-family-row{grid-column:1/3;align-items:center;gap:2px;display:flex}.layer-family-controls>.layer-family-row:first-child{grid-row:1}.layer-family-controls>.layer-family-row:nth-child(2){grid-row:2}.layer-family-controls>.layer-family-row:nth-child(3){grid-row:3}.layer-family-controls button:not(.icon-button){width:52px;min-width:52px;padding:0 3px;font-size:10px}.layer-family-controls .layer-family-lock{width:25px;min-width:25px}.layer-toggle-grid{grid-area:1/1/4;grid-template-rows:repeat(3,30px);grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;min-width:0;display:grid}.layer-toggle-grid button{text-overflow:ellipsis;white-space:nowrap;border-radius:5px;justify-content:flex-start;align-items:center;gap:3px;width:100%;min-width:0;padding:0 2px;font-size:9px;display:flex;overflow:hidden}.layer-toggle-grid button .layer-icon{width:14px;color:inherit;text-align:center;filter:saturate(.72);flex:0 0 14px;font-family:Segoe UI Emoji,Noto Color Emoji,Apple Color Emoji,Segoe UI Symbol,sans-serif;font-size:13px;line-height:1;overflow:visible}.layer-toggle-grid .layer-legend-action{grid-column:span 2}.layer-toggle-grid .legend-label-short{display:none}@media (width<=1440px){.layer-toggle-grid .legend-label-long{display:none}.layer-toggle-grid .legend-label-short{display:inline}}.layer-toggle-grid button>span:not(.layer-icon){text-overflow:ellipsis;min-width:0;overflow:hidden}.field-notes-summary,.feedback-section{grid-template-rows:repeat(3,30px);grid-template-columns:31px}.feedback-section>button{grid-column:1;justify-self:start}.feedback-section>button:first-child{grid-row:1}.feedback-section>button:nth-child(2){grid-row:2}.field-notes-summary>button{grid-column:1;justify-self:start}.field-notes-summary>button:first-child{grid-row:1}.field-notes-summary>button:nth-child(2){grid-row:2}.field-notes-summary>button:nth-child(3){grid-row:3}.field-notes-summary .notes-comment-action{color:var(--color-focus)}.field-notes-summary .notes-photo-action{color:var(--color-photo-indicator)}.field-notes-summary .notes-audio-action{color:var(--color-voice-indicator)}.field-notes-summary .comment-indicator,.field-notes-summary .photo-indicator,.field-notes-summary .voice-indicator{filter:saturate(.78);font-family:Segoe UI Symbol,Segoe UI Emoji,sans-serif;font-size:16px}.topbar-layer-menu{color:var(--color-text);position:relative}.topbar-layer-menu>summary{border:1px solid var(--color-border);background:var(--surface-drawing);min-height:30px;color:var(--color-text);cursor:pointer;border-radius:5px;place-items:center;padding:0 8px;font-size:12px;list-style:none;display:grid}.topbar-layer-menu>summary::-webkit-details-marker{display:none}.topbar-layer-menu[open]>summary{background:var(--state-hover)}.topbar-layer-panel{z-index:20;border:1px solid var(--color-border);background:var(--surface-panel);width:min(760px,100vw - 20px);max-height:calc(80vh - 12px);box-shadow:0 12px 32px var(--surface-overlay);white-space:normal;border-radius:7px;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;padding:12px;display:grid;position:fixed;top:min(20vh,144px);left:10px;overflow:auto}.topbar-layer-panel .layers-actions{grid-column:1/-1}.topbar-layer-panel .layer-families{min-width:225px;margin:0;padding:0;list-style:none}.topbar-layer-panel .layer-families li{min-height:34px}.topbar-layer-panel .layer-families button{min-width:30px;padding:0 5px;font-size:11px}.layer-switches{grid-template-columns:repeat(2,minmax(150px,1fr));gap:3px 12px;font-size:12px;display:grid}.layer-switches label{align-items:center;gap:6px;min-height:27px;display:flex}.layer-switches input{width:15px;height:15px;min-height:0;margin:0}main{flex:1;grid-template-columns:138px minmax(300px,1fr) 280px;min-height:0;display:grid}.tools,.properties{padding:var(--space-md);background:var(--surface-panel);overflow:auto}.tools{border-right:1px solid var(--color-border);flex-direction:column;gap:4px;padding:8px;font-size:12px;display:flex}.tools button{text-align:left;border-radius:5px;height:30px;min-height:30px;padding:0 7px}.tools button.active{color:var(--color-inverse);background:var(--state-active);border-color:var(--state-active)}.tools p,.properties p{color:var(--color-muted);font-size:.9rem;line-height:1.45}.tools label{color:var(--color-muted);margin-top:4px;font-size:11px}.tools select,.tools input{border:1px solid var(--color-border);background:var(--surface-drawing);width:100%;min-width:0;height:30px;min-height:30px;color:var(--color-text);border-radius:5px;padding:0 5px}.tool-subtype-panel{gap:4px;display:grid}.tool-geometry-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;display:grid}.tools .tool-geometry-actions button{text-align:center;justify-content:center;align-items:center;gap:4px;min-width:0;padding:0 4px;font-size:10px;display:inline-flex}.tools .tool-geometry-actions button>span{font-size:15px}.properties{border-left:1px solid var(--color-border)}.properties.survey-properties-mode>h2,.properties.survey-properties-mode>.plan-properties-content{display:none}.properties.survey-properties-mode{padding:0}.properties h2{margin:0 0 var(--space-md);font-size:1.05rem}.properties dl{margin:0 0 var(--space-md)}.properties dt{color:var(--color-muted);margin-top:var(--space-sm);font-size:.8rem}.properties dd{margin:var(--space-xs) 0;overflow-wrap:anywhere}.properties label{margin-bottom:var(--space-sm);font-size:.88rem;display:block}.length-row{gap:var(--space-sm);grid-template-columns:1fr auto;display:grid}.length-row input{border:1px solid var(--color-border);border-radius:var(--space-sm);min-width:0;padding:var(--space-sm)}.danger{margin-top:var(--space-lg);color:var(--color-danger);border-color:var(--color-danger)}.drawing-area{background:var(--surface-frame);min-height:0;position:relative}.isometric-view{background:var(--surface-drawing);position:absolute;inset:0;overflow:hidden}.isometric-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.isometric-canvas.panning{cursor:grabbing}.isometric-surface{--isometric-fill-strength:16%;fill:var(--isometric-fill);fill-opacity:.16;stroke:var(--color-geometry);stroke-width:1.35px;stroke-linejoin:round;cursor:pointer}.isometric-floor{--isometric-fill-strength:42%;fill-opacity:.42;stroke:var(--color-grid)}.isometric-object,.isometric-aisle,.isometric-technical{--isometric-fill-strength:28%;fill-opacity:.28}.isometric-opening{--isometric-fill-strength:78%;fill-opacity:.78;stroke:var(--color-opening);stroke-width:1.8px}.isometric-clearance{--isometric-fill-strength:12%;fill-opacity:.12;stroke:var(--color-clearance);stroke-dasharray:6 4}.isometric-loading{--isometric-fill-strength:40%;fill-opacity:.4;stroke:var(--color-clearance);stroke-width:1.8px}.isometric-surface.selected,.isometric-technical-point.selected circle{--isometric-fill-strength:38%;stroke:var(--color-selection);stroke-width:3px;fill-opacity:.38}.isometric-canvas.opaque-surfaces .isometric-surface{fill:color-mix(in srgb, var(--isometric-fill) var(--isometric-fill-strength), var(--surface-drawing));fill-opacity:1}.isometric-canvas .isometric-surface.isometric-wall-band{--wall-band:color-mix(in srgb, var(--isometric-fill) 45%, var(--surface-drawing));fill:var(--wall-band);fill-opacity:1;stroke:var(--wall-band);stroke-width:1px}.isometric-canvas .isometric-surface.isometric-wall-band.selected{--wall-band:color-mix(in srgb, var(--isometric-fill) 60%, var(--surface-drawing));stroke:var(--color-selection);stroke-width:2px}.isometric-network{stroke:var(--isometric-network);stroke-width:3px;stroke-linecap:round;fill:none}.isometric-technical-point{stroke:var(--isometric-network);stroke-width:2px;fill:var(--surface-drawing);cursor:pointer}.isometric-origin{stroke:var(--color-origin);stroke-width:1.5px;fill:var(--color-origin)}.isometric-dimension{stroke:var(--color-supplementary-dimension);stroke-width:1px;stroke-dasharray:5 4;fill:var(--color-text);text-anchor:middle}.isometric-dimension text{stroke:var(--surface-drawing);paint-order:stroke fill}.isometric-control-dimension{stroke:var(--color-control-dimension-measured)}.isometric-aisle-dimension{stroke:var(--color-aisle)}.isometric-controls{z-index:4;flex-wrap:wrap;align-items:center;gap:5px;max-width:calc(100% - 110px);display:flex;position:absolute;top:10px;left:10px}.isometric-controls strong{text-align:center;min-width:92px;font-size:12px}.isometric-controls button{min-height:30px;box-shadow:0 2px 8px var(--surface-overlay);border-radius:5px;padding:0 8px;font-size:12px}.isometric-controls .isometric-icon-button{width:32px;min-width:32px;padding:0;position:relative}.wall-command-icon,.transparency-command-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;width:19px;height:19px}.transparency-command-icon{fill:var(--surface-drawing)}.transparency-command-icon .transparency-command-back{fill:currentColor;fill-opacity:.3}.transparency-toggle.active{border-color:var(--color-focus);background:var(--state-active);color:var(--color-inverse)}.wall-command-icon .wall-command-accent{stroke-width:2.2px}.wall-hide-mode-toggle.inactive .wall-hide-state,.wall-hide-mode-toggle.active .wall-hide-state{border:1px solid var(--surface-drawing);background:var(--color-muted);border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:3px}.wall-hide-mode-toggle.active{border-color:var(--color-focus);background:var(--state-active);color:var(--color-inverse);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-focus) 30%, transparent)}.wall-hide-mode-toggle.active .wall-hide-state{background:var(--color-focus)}.isometric-properties-panel{gap:var(--space-md);display:grid}.isometric-selected-target{padding:var(--space-sm);border-radius:var(--space-sm);background:var(--state-status);margin:0;font-weight:700}.wall-height-properties h3{margin:0 0 var(--space-sm);font-size:.9rem}.isometric-properties-colors>div{flex-wrap:wrap;gap:5px;display:flex}.isometric-properties-colors button{border-radius:5px;min-height:32px}.isometric-properties-colors button i{background:var(--presentation-swatch);border-radius:3px;width:16px;height:16px;display:block}.isometric-properties-colors button.active{outline:2px solid var(--color-focus)}.wall-quick-value.proposed strong{opacity:.6}.wall-far-faces{pointer-events:none}.wall-far-face{stroke:var(--color-geometry);stroke-width:1px;vector-effect:non-scaling-stroke}.wall-far-face.proposed{stroke-dasharray:4 3;opacity:.7}.wall-height-properties{padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.wall-height-properties>small{margin-bottom:var(--space-sm);display:block}.wall-height-properties.active{border-color:var(--color-focus)}.wall-height-input{grid-template-columns:1fr auto;align-items:center;gap:5px;margin-top:4px;display:grid}.wall-height-input input{min-width:0}.isometric-hint{color:var(--color-muted);pointer-events:none;margin:0;font-size:11px;position:absolute;bottom:8px;right:12px}.plan.isometric-hidden{display:none}.plan-view-actions{z-index:3;pointer-events:none;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex;position:absolute;top:10px;left:10px;right:10px}.plan-view-actions>*{pointer-events:auto}.plan-view-actions button{min-height:30px;box-shadow:0 2px 8px var(--surface-overlay);border-radius:5px;padding:0 9px;font-size:12px}.plan-view-actions .recompute-shape-action{font-weight:600}.plan-view-actions button.active{border-color:var(--color-focus);background:var(--state-active);color:var(--color-inverse)}.plan-view-actions .selection-remove-quick-action,.plan-view-actions .selection-duplicate-quick-action{width:31px;min-width:31px;padding:0;font-size:17px}.plan-view-actions .selection-remove-quick-action{border-color:var(--color-danger);color:var(--color-danger)}.plan-view-actions.isometric-actions>:not(.drawing-mode-toggle):not(.zoom-all-action):not(.immersive-toggle){display:none}.angle-quick-controls{align-items:center;gap:5px;display:flex}.angle-quick-value{background:var(--surface-drawing);min-height:30px;box-shadow:0 2px 8px var(--surface-overlay);border:1px solid;border-radius:5px;grid-template-columns:auto auto;align-items:baseline;gap:5px;padding:5px 8px;font-size:12px;display:grid}.angle-quick-value small{font-size:10px;font-weight:700}.angle-quick-value strong{font-size:13px}.angle-quick-controls.estimated .angle-quick-value{color:var(--color-origin)}.angle-quick-controls.confirmed .angle-quick-value{color:var(--color-control-dimension-measured)}.angle-quick-controls.modified .angle-quick-value{color:var(--color-control-dimension-warning)}.angle-quick-controls.inconsistent .angle-quick-value{color:var(--color-danger)}.angle-quick-controls .angle-manual-row.compact{grid-template-columns:70px 31px;gap:3px}.angle-quick-controls .angle-manual-row.compact input{border:1px solid var(--color-border);background:var(--surface-drawing);width:70px;min-height:30px;color:var(--color-text);box-shadow:0 2px 8px var(--surface-overlay);border-radius:5px;padding:0 6px;font-size:12px}.angle-quick-controls .angle-manual-row.compact button,.angle-quick-controls .angle-lock-quick-action,.angle-quick-controls .angle-right-quick-action{width:31px;min-width:31px;padding:0;font-size:17px}.wall-quick-controls{align-items:center;gap:5px;display:flex}.wall-quick-value{background:var(--surface-drawing);min-height:30px;box-shadow:0 2px 8px var(--surface-overlay);border:1px solid;border-radius:5px;grid-template-columns:auto auto;align-items:baseline;gap:5px;padding:5px 8px;font-size:12px;display:grid}.wall-quick-value small{font-size:10px;font-weight:700}.wall-quick-value strong{font-size:13px}.wall-quick-controls.calculated .wall-quick-value{color:var(--color-origin)}.wall-quick-controls.validated .wall-quick-value{color:var(--color-control-dimension-measured)}.wall-quick-controls.modified .wall-quick-value{color:var(--color-control-dimension-warning)}.wall-quick-controls.inconsistent .wall-quick-value{color:var(--color-danger)}.wall-manual-row{grid-template-columns:70px 31px;gap:3px;display:grid}.wall-manual-row input{border:1px solid var(--color-border);background:var(--surface-drawing);width:70px;min-height:30px;color:var(--color-text);box-shadow:0 2px 8px var(--surface-overlay);border-radius:5px;padding:0 6px;font-size:12px}.wall-manual-row button,.wall-quick-controls .wall-lock-quick-action{width:31px;min-width:31px;padding:0;font-size:17px}.control-dimension-quick-controls{align-items:center;gap:5px;display:flex}.control-dimension-quick-value{background:var(--surface-drawing);min-height:30px;box-shadow:0 2px 8px var(--surface-overlay);border:1px solid;border-radius:5px;grid-template-columns:auto auto;align-items:baseline;gap:5px;padding:5px 8px;font-size:12px;display:grid}.control-dimension-quick-controls.proposed{color:var(--color-unmeasured-geometry)}.control-dimension-quick-controls.validated{color:var(--color-control-dimension-measured)}.control-dimension-quick-controls.modified{color:var(--color-control-dimension-warning)}.control-dimension-quick-controls.inconsistent{color:var(--color-danger)}.control-dimension-quick-value small{font-size:10px;font-weight:800}.control-dimension-quick-value strong{font-size:13px}.control-dimension-quick-status,.control-dimension-plr-state{background:var(--surface-drawing);min-height:30px;box-shadow:0 2px 8px var(--surface-overlay);white-space:nowrap;border:1px solid;border-radius:5px;padding:7px 8px;font-size:10px;font-weight:750}.control-dimension-manual-row{grid-template-columns:70px 31px;gap:3px;display:grid}.control-dimension-manual-row input{border:1px solid var(--color-border);background:var(--surface-drawing);width:70px;min-height:30px;color:var(--color-text);box-shadow:0 2px 8px var(--surface-overlay);border-radius:5px;padding:0 6px;font-size:12px}.control-dimension-manual-row button,.control-dimension-lock-quick-action,.control-dimension-dismiss-quick-action{width:31px;min-width:31px;padding:0;font-size:17px}.control-dimension-dismiss-quick-action{border-color:var(--color-control-dimension-proposed);color:var(--color-control-dimension-proposed)}.control-dimension-plr-state{color:var(--color-muted)}.control-dimension-plr-state.locked{color:var(--color-control-dimension-warning)}.aisle-contour-quick-controls{align-items:center;gap:5px;display:flex}.aisle-contour-quick-controls button{border:1px solid var(--color-border);background:var(--surface-drawing);min-height:30px;color:var(--color-text);box-shadow:0 2px 8px var(--surface-overlay);border-radius:5px;padding:0 9px;font-size:12px}.aisle-contour-quick-controls button:first-of-type{border-color:var(--color-aisle);color:var(--color-aisle)}.opening-quick-controls{align-items:center;gap:5px;display:flex}.opening-quick-value{border:1px solid var(--color-origin);background:var(--surface-drawing);min-height:30px;color:var(--color-origin);box-shadow:0 2px 8px var(--surface-overlay);white-space:nowrap;border-radius:5px;gap:1px;padding:3px 7px;display:grid}.opening-quick-controls.measured .opening-quick-value{border-color:var(--color-control-dimension-measured);color:var(--color-control-dimension-measured)}.opening-quick-value small{font-size:9px;line-height:10px}.opening-quick-value strong{font-size:11px;line-height:12px}.opening-manual-row{align-items:center;gap:3px;display:flex}.opening-manual-row label{align-items:center;gap:2px;min-width:0;font-size:9px;font-weight:800;display:flex}.opening-manual-row input{border:1px solid var(--color-border);background:var(--surface-drawing);width:58px;min-height:30px;color:var(--color-text);box-shadow:0 2px 8px var(--surface-overlay);border-radius:5px;padding:0 4px;font-size:11px}.opening-manual-row button,.opening-quick-controls .opening-lock-quick-action{width:31px;min-width:31px;padding:0;font-size:17px}.equipment-quick-actions{align-items:center;gap:5px;display:flex}.equipment-quick-actions button{width:31px;min-width:31px;padding:0;font-size:17px}.normal-diagonal-panel{z-index:4;border:2px solid var(--color-focus);background:color-mix(in srgb, var(--surface-panel) 96%, transparent);width:min(390px,100% - 20px);box-shadow:0 8px 24px var(--surface-overlay);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px;display:grid;position:absolute;top:50px;right:10px}.normal-diagonal-panel strong,.normal-diagonal-panel small{grid-column:1}.normal-diagonal-panel .floating-panel-drag-handle{grid-column:1/-1}.normal-diagonal-panel button{grid-area:1/2/4}.normal-diagonal-picker{color:var(--color-focus)}.normal-diagonal-candidate{fill:none;stroke:currentColor;opacity:.32;pointer-events:none}.normal-diagonal-point{cursor:crosshair}.normal-diagonal-point-hit{fill:#0000;pointer-events:all}.normal-diagonal-point-marker{fill:var(--surface-drawing);stroke:currentColor}.normal-diagonal-point.selected .normal-diagonal-point-marker{fill:currentColor;filter:drop-shadow(0 0 4px)}.normal-diagonal-point text{fill:currentColor;stroke:var(--surface-drawing);paint-order:stroke;text-anchor:middle;pointer-events:none;font-weight:900}.guided-survey-panel{z-index:4;border:1px solid var(--color-focus);background:color-mix(in srgb, var(--surface-panel) 96%, transparent);width:min(350px,100% - 20px);max-height:calc(100% - 62px);box-shadow:0 8px 24px var(--surface-overlay);border-radius:8px;gap:9px;padding:12px;display:grid;position:absolute;top:50px;right:10px;overflow:auto}.guided-survey-panel.survey-guide-panel{width:min(380px,100% - 20px)}.survey-guide-panel>header{align-items:center;gap:7px;display:flex}.survey-guide-print-action{height:28px;min-height:28px;margin-left:auto;padding:0 10px;font-size:12px}.survey-guide-panel .survey-guide-print-action+.window-close-button{margin-left:0}.survey-guide{font-size:13px;line-height:1.4}.survey-guide p,.survey-guide ul,.survey-guide ol{margin:0}.survey-guide .survey-guide-principle{border-left:3px solid var(--color-focus);background:color-mix(in srgb, var(--color-focus) 10%, transparent);border-radius:4px;padding:8px 10px}.survey-guide .survey-guide-phases{gap:12px;margin-top:12px;padding:0;list-style:none;display:grid}.survey-guide-phase{gap:4px;padding-left:32px;display:grid;position:relative}.survey-guide-phase:not(:last-child):before{content:"";border-left:2px solid color-mix(in srgb, var(--color-focus) 40%, transparent);position:absolute;top:24px;bottom:-12px;left:11px}.survey-guide-phase h3{align-items:center;min-height:24px;margin:0;font-size:14px;display:flex}.survey-guide-number{background:var(--color-focus);width:24px;height:24px;color:var(--color-inverse);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;top:0;left:0}.survey-guide-phase ul,.survey-guide-phase ol{gap:3px;padding-left:18px;display:grid}.survey-guide .survey-guide-warning{background:color-mix(in srgb, var(--color-control-dimension-warning) 14%, transparent);border-radius:4px;padding:4px 8px;display:block}.survey-guide .survey-guide-done{color:var(--color-snap);font-weight:600}.survey-guide kbd{border:1px solid var(--color-border);background:var(--surface-drawing);vertical-align:middle;border-radius:4px;place-items:center;min-width:20px;height:20px;padding:0 3px;font-family:inherit;font-size:12px;line-height:1;display:inline-grid}.survey-guide-icon .toolbar-icon{width:14px;height:14px}.survey-guide-print{display:none}.guided-survey-panel.triangulated-survey-panel{box-sizing:border-box;width:280px;max-height:100%;box-shadow:none;border-radius:0;top:0;right:-280px;transform:none}.triangulated-survey-panel .floating-panel-drag-handle{cursor:default}.triangulated-survey-panel .floating-panel-drag-handle:before{content:none}.compass-measurement-program{z-index:4;border:1px solid var(--color-border);background:color-mix(in srgb, var(--surface-drawing) 94%, transparent);width:130px;box-shadow:0 3px 10px var(--surface-overlay);color:var(--color-text);border-radius:6px;gap:5px;padding:7px;font-size:10px;display:grid;position:absolute;top:215px;left:7px}.compass-measurement-program>strong{font-size:11px}.compass-next-measurement{color:var(--color-focus);font-weight:800}.compass-measurement-program .triangulation-measurement-program{gap:3px;display:grid}.compass-measurement-program .triangulation-measurement-program span{border-radius:4px;padding:3px 5px}.compass-measurement-program .triangulation-measurement-program .done{background:color-mix(in srgb, var(--color-control-dimension-measured) 18%, var(--surface-drawing));color:var(--color-control-dimension-measured);font-weight:750}.compass-measurement-program .triangulation-measurement-program .pending{background:var(--state-status);color:var(--color-inverse)}.survey-workflow-panel.survey-process-step{background:0 0;border:none;margin-bottom:8px}.survey-workflow-panel.survey-process-step.done{background:var(--color-control-dimension-measured);border-radius:0;margin-bottom:0;padding:6px 11px}.survey-process-step.done .survey-step-number,.survey-process-step.done .survey-workflow-header h3{color:var(--color-inverse)}.survey-process-step p{color:var(--color-text);font-size:12px;line-height:1.4}.survey-process-step footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.survey-process-step footer button{min-height:30px;padding:0 8px;font-size:11px}.survey-process-step footer button.active{border-color:var(--color-focus);background:var(--state-active);color:var(--color-inverse)}.survey-process-step footer button.primary{border-color:var(--color-focus);background:var(--state-active);color:var(--color-inverse);grid-column:1/-1;font-weight:800}.survey-workflow-panel.fixed-survey-validation-properties{box-sizing:border-box;border-radius:0}.survey-workflow-panel{border:1px solid var(--color-focus);background:color-mix(in srgb, var(--surface-panel) 96%, transparent);border-radius:7px;gap:9px;padding:11px;display:grid}.survey-workflow-header.survey-step-done h3{color:var(--color-muted);font-size:12px}.survey-workflow-header{gap:2px;display:grid}.survey-workflow-header h3,.survey-workflow-panel p{margin:0}.survey-workflow-header h3{color:var(--color-text);font-size:14px;line-height:1.2}.survey-workflow-panel .survey-step-number{color:var(--color-focus);letter-spacing:.055em;text-transform:uppercase;font-size:10px;font-weight:850}.survey-workflow-panel small{color:var(--color-muted);font-size:11px}.survey-final-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.fixed-survey-validation-properties .survey-final-actions button{width:100%;min-height:36px;padding:4px 6px;font-size:11px;font-weight:750}.fixed-survey-validation-properties .survey-final-actions .primary{border-color:var(--color-control-dimension-measured);background:var(--color-control-dimension-measured);color:var(--color-inverse);font-weight:800}.survey-measurement-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}.survey-measurement-items button{box-sizing:border-box;height:18px;min-height:18px;font:inherit;text-align:left;border:1px solid #0000;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:750;line-height:1}.survey-measurement-items .done{background:color-mix(in srgb, var(--color-control-dimension-measured) 18%, var(--surface-drawing));color:var(--color-control-dimension-measured)}.survey-measurement-items .pending{background:var(--state-status);color:var(--color-inverse)}.survey-measurement-items button{cursor:pointer;width:100%}.survey-measurement-items button:hover,.survey-measurement-items button.active{border-color:currentColor}.survey-measurement-items button.active{background:color-mix(in srgb, var(--color-focus) 24%, var(--surface-drawing));color:var(--color-text);border-color:var(--color-focus);box-shadow:inset 3px 0 0 var(--color-focus), 0 0 0 1px color-mix(in srgb, var(--color-focus) 55%, transparent);font-weight:850}.shoulder-review-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.shoulder-review-item{box-sizing:border-box;background:color-mix(in srgb, var(--color-focus) 10%, var(--surface-drawing));color:var(--color-text);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:4px;justify-items:center;gap:2px;padding:4px 2px;font-size:9px;font-weight:750;line-height:1;display:grid}.shoulder-review-item:hover{border-color:var(--color-focus)}.shoulder-review-item.reflex{background:color-mix(in srgb, var(--state-status) 22%, var(--surface-drawing));border-color:var(--state-status)}.shoulder-glyph-interior{fill:color-mix(in srgb, var(--color-focus) 34%, transparent)}.shoulder-review-item.reflex .shoulder-glyph-interior{fill:color-mix(in srgb, var(--state-status) 48%, transparent)}.shoulder-glyph-walls{fill:none;stroke:var(--color-text);stroke-width:2px;stroke-linecap:square}.shoulder-marker{cursor:pointer}.shoulder-markers.read-only .shoulder-marker{cursor:default;pointer-events:none}.shoulder-marker circle{fill:color-mix(in srgb, var(--color-focus) 34%, var(--surface-drawing));stroke:var(--color-focus)}.shoulder-marker.reflex circle{fill:color-mix(in srgb, var(--state-status) 48%, var(--surface-drawing));stroke:var(--state-status)}.shoulder-marker.highlighted circle{stroke-width:3px}.shoulder-marker text{fill:var(--color-text);paint-order:stroke;stroke:var(--surface-drawing);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-weight:850}.shoulder-review-item.highlighted{border-color:var(--color-focus);box-shadow:inset 3px 0 0 var(--color-focus)}.survey-method-choices{gap:5px;display:grid}.survey-method-choice{box-sizing:border-box;border:1px solid var(--color-focus);background:color-mix(in srgb, var(--color-focus) 8%, var(--surface-drawing));color:var(--color-text);font:inherit;text-align:left;cursor:pointer;border-radius:5px;gap:2px;padding:7px 9px;display:grid}.survey-method-choice strong{font-size:12px;font-weight:800}.survey-method-choice small{color:var(--color-muted);font-size:10px;line-height:1.35}.survey-method-choice.active{background:color-mix(in srgb, var(--color-focus) 26%, var(--surface-drawing));box-shadow:inset 3px 0 0 var(--color-focus)}.draggable-panel{transform:translate(var(--panel-drag-x,0), var(--panel-drag-y,0))}.floating-panel-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;min-width:0;display:flex}.floating-panel-drag-handle:active{cursor:grabbing}.floating-panel-drag-handle:before{content:"⠿";color:var(--color-muted);margin-right:7px;font-size:14px;line-height:1}.draggable-panel .window-close-button,.guided-tour-bubble .window-close-button{border-color:color-mix(in srgb, var(--color-border) 76%, transparent);background:color-mix(in srgb, var(--surface-drawing) 86%, transparent);width:28px;min-width:28px;height:28px;min-height:28px;color:var(--color-muted);flex:0 0 28px;margin-left:auto;padding:0;font-size:19px;line-height:1}.draggable-panel .window-close-button:hover,.guided-tour-bubble .window-close-button:hover{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 12%, var(--surface-drawing));color:var(--color-danger)}.draggable-panel .window-close-button>span,.guided-tour-bubble .window-close-button>span{color:inherit;font-size:19px;line-height:1}.guided-survey-panel header,.guided-survey-panel footer{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.guided-survey-panel header{justify-content:space-between}.guided-survey-panel header span,.guided-survey-panel small{color:var(--color-muted);font-size:11px}.guided-survey-panel p{color:var(--color-text);margin:0;font-size:12px;line-height:1.4}.guided-survey-panel button{min-height:30px;padding:0 8px;font-size:11px}.guided-survey-panel button.active{border-color:var(--color-focus);background:var(--state-active);color:var(--color-inverse)}.guided-survey-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.guided-survey-progress span{background:var(--state-hover);color:var(--color-muted);text-align:center;border-radius:5px;padding:5px 6px;font-size:10px}.triangulated-survey-panel{width:min(390px,100% - 20px)}.triangulation-preparation-panel>section{background:0 0;border:0;gap:7px;padding:0;display:grid}.triangulation-quality{font-weight:800;display:block}.triangulation-quality.good{color:var(--color-control-dimension-measured)}.triangulation-quality.warning{color:var(--color-control-dimension-warning)}.guided-survey-panel.triangulation-preparation-panel footer{border-top:0;justify-content:flex-start;padding:0}.guided-survey-panel button.primary{border-color:var(--color-focus);background:var(--state-active);color:var(--color-inverse);font-weight:800}.triangulation-fixed-next{border:1px solid var(--color-focus);background:color-mix(in srgb, var(--color-focus) 10%, transparent);border-radius:6px;gap:5px;padding:9px;display:grid}.triangulation-measurement-program{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.triangulation-measurement-program span{background:var(--state-hover);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:5px 6px;font-size:10px;overflow:hidden}.triangulation-measurement-program .done{color:var(--color-control-dimension-measured);font-weight:800}.triangulation-suggestions{border:1px solid color-mix(in srgb, var(--color-focus) 55%, var(--color-border));background:color-mix(in srgb, var(--color-focus) 8%, transparent);border-radius:6px;gap:6px;padding:8px;display:grid}.triangulation-suggestions>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.guided-survey-panel .triangulation-suggestions button{text-align:left;grid-template-columns:auto minmax(0,1fr);gap:1px 7px;min-width:0;padding:6px 8px;display:grid}.triangulation-suggestions button span{text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.triangulation-suggestions button small{grid-column:1/-1}.triangulation-suggestions.confirmation{border-color:var(--color-border);background:var(--state-hover)}.triangulation-complete{border:1px solid var(--color-control-dimension-measured);background:color-mix(in srgb, var(--color-control-dimension-measured) 13%, transparent);border-radius:6px;padding:9px;font-weight:700;color:var(--color-control-dimension-measured)!important}.triangulation-vertex-legend{flex-wrap:wrap;gap:6px;font-size:11px;font-weight:800;display:flex}.triangulation-vertex-legend span{background:var(--state-hover);border-radius:999px;padding:4px 7px}.triangulation-vertex-legend .confirmed{color:var(--color-measured-geometry)}.triangulation-vertex-legend .pending{color:var(--color-unmeasured-geometry)}.guided-survey-panel .triangulation-pivot-help{border-left:3px solid var(--color-control-dimension-warning);background:color-mix(in srgb, var(--color-control-dimension-warning) 10%, transparent);color:var(--color-control-dimension-warning);padding:7px 8px;font-weight:700}.guided-survey-panel .measurement-manual-row{margin:0}.guided-survey-panel .guided-warning{color:var(--color-danger);font-weight:600}.guided-survey-panel footer{border-top:1px solid var(--color-border);justify-content:flex-end;padding-top:4px}.plan{background-color:var(--surface-drawing);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.triangulation-plan-overlay{--triangulation-plan-color:var(--color-unmeasured-geometry);pointer-events:none}.triangulation-overlay{--triangulation-confirmed:var(--color-measured-geometry);pointer-events:none}.triangulation-plan-triangle{fill:color-mix(in srgb, var(--triangulation-plan-color) 7%, transparent);stroke:color-mix(in srgb, var(--triangulation-plan-color) 58%, transparent)}.triangulation-plan-diagonal{color:var(--triangulation-plan-color)}.triangulation-plan-diagonal>line:not(.triangulation-plan-diagonal-hit){stroke:currentColor}.triangulation-plan-diagonal text{fill:currentColor;stroke:var(--surface-drawing);paint-order:stroke;text-anchor:middle;pointer-events:none;font-weight:900}.triangulation-plan-overlay.proposal .triangulation-plan-diagonal{pointer-events:all;cursor:context-menu}.triangulation-plan-diagonal-hit{stroke:#0000;pointer-events:stroke}.triangulation-plan-choice{cursor:crosshair;pointer-events:all}.triangulation-plan-choice circle{fill:var(--surface-drawing);stroke:var(--color-focus)}.triangulation-plan-choice:hover circle,.triangulation-plan-choice.selected circle{fill:var(--color-focus);stroke:var(--color-inverse)}.triangulation-rigid-triangle{fill:color-mix(in srgb, var(--triangulation-confirmed) 10%, transparent);stroke:var(--triangulation-confirmed)}.triangulation-vertex.confirmed>circle{fill:var(--triangulation-confirmed);stroke:var(--surface-drawing)}.triangulation-vertex.pending{cursor:grab;pointer-events:all}.triangulation-vertex.pending:active{cursor:grabbing}.triangulation-vertex.pending>circle:first-of-type{fill:var(--surface-drawing);stroke:var(--color-unmeasured-geometry)}.triangulation-vertex.pending:hover>circle:first-of-type{filter:drop-shadow(0 0 4px var(--color-unmeasured-geometry))}.triangulation-vertex.pending .triangulation-vertex-center{fill:var(--color-unmeasured-geometry);stroke:none}.triangulation-next-diagonal{color:var(--color-unmeasured-geometry)}.triangulation-next-diagonal line{stroke:currentColor}.triangulation-next-diagonal.confirmation line:not(.triangulation-next-diagonal-hit){stroke-dasharray:6 5}.triangulation-next-diagonal .triangulation-next-diagonal-hit{stroke:#0000;pointer-events:stroke}.triangulation-next-diagonal circle{fill:var(--surface-drawing);stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.triangulation-next-diagonal text{fill:currentColor;stroke:var(--surface-drawing);paint-order:stroke;text-anchor:middle;font-weight:900}.plan.placement-tool,.plan.placement-tool *{cursor:crosshair!important}.plan.select{cursor:grab}.plan.select:active{cursor:grabbing}.primitive{cursor:pointer}.primitive-line{fill:none;stroke:var(--color-unmeasured-geometry);stroke-linecap:round}.primitive.measured .primitive-line{stroke:var(--color-measured-geometry)}.primitive.modified .primitive-line{stroke:var(--color-control-dimension-warning)}.primitive.inconsistent .primitive-line{stroke:var(--color-danger)}.primitive.selected .primitive-line{stroke:var(--color-selection)}.open-endpoint{fill:var(--surface-drawing);stroke:var(--color-danger);pointer-events:none}.primitive-hit{fill:none;stroke:#0000}.primitive text,.draft text{fill:var(--color-text);paint-order:stroke;stroke:var(--surface-drawing);stroke-linejoin:round;text-anchor:middle;pointer-events:none}.primitive.measurement-locked .primitive-line,.control-dimension.measurement-locked .control-dimension-line,.angle-constraint.measurement-locked .angle-constraint-marker{filter:drop-shadow(0 0 2px var(--color-control-dimension-measured))}.draft line{stroke:var(--color-selection);pointer-events:none}.snap{fill:var(--state-snap-fill);stroke:var(--color-snap);pointer-events:none}.selection-box{fill:var(--state-selection-fill);stroke:var(--color-selection-box);pointer-events:none}.handle{fill:var(--color-handle-fill);stroke:var(--color-handle-stroke);stroke-width:3px;cursor:grab}.handle:active{cursor:grabbing;fill:var(--color-active-handle)}.curvature-guide{stroke:var(--color-selection);pointer-events:none}.curvature-hit{fill:#0000;pointer-events:all;cursor:move}.curvature-handle{fill:var(--surface-drawing);stroke:var(--color-selection);pointer-events:none}.curvature-handle.circular{fill:var(--state-snap-fill);stroke:var(--color-snap)}.curve-mode-label{fill:var(--color-muted)}.draft-line{stroke:var(--color-selection);stroke-dasharray:8 5;pointer-events:none}.network-visible{stroke:var(--network-color);stroke-linecap:round;fill:none;pointer-events:none}.network-segment[data-network-type=electricity] .network-visible,.network-segment[data-network-type=network] .network-visible{stroke-dasharray:10 6}.network-segment.selected .network-visible{filter:drop-shadow(0 0 2px var(--color-selection))}.network-hit{stroke:#0000;cursor:grab}.network-handle{fill:var(--color-handle-fill);stroke:var(--color-handle-stroke);stroke-width:2px}.network-draft{stroke:var(--network-color);stroke-dasharray:8 5;pointer-events:none}.measurement-summary{grid-template-rows:repeat(3,30px);grid-template-columns:31px minmax(0,1fr);align-items:center;gap:5px;font-size:12px;display:grid}.measurement-summary.calculation-drop-active{outline:2px dashed var(--color-focus);outline-offset:-4px;cursor:copy;background:#ffffff14}.dimension-sum-cursor{z-index:50;border:1px solid var(--color-focus);background:var(--surface-drawing);max-width:min(360px,100vw - 28px);color:var(--color-text);box-shadow:0 4px 14px var(--surface-overlay);pointer-events:none;border-radius:6px;gap:2px;padding:6px 9px;font-size:11px;line-height:1.25;display:grid;position:fixed}.dimension-sum-cursor strong{color:var(--color-selection);font-size:13px}.measurement-summary .plr-state{grid-area:2/1;justify-self:center}.measurement-summary>button.plr-connect-action{grid-area:3/1;justify-self:center}.measurement-summary>button.field-report-action{grid-area:1/1;justify-self:center}.measurement-summary>button.icon-button .toolbar-icon{color:#4b7fc1;stroke-width:1.45px}.measurement-summary>select{grid-area:3/1/auto/3;max-width:100%}.measurement-summary output{text-align:right;min-width:0;font-size:13px;font-weight:700}.plr-state{align-items:center;gap:4px;display:inline-flex}.plr-state i{background:var(--color-danger);border-radius:50%;width:15px;height:15px}.plr-state.connected i,.plr-state.measurement i{background:var(--color-snap)}.plr-state.off-bridge i{background:color-mix(in srgb, var(--color-inverse) 30%, transparent)}.measurement-manual-row{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.measurement-entry-input{transition:border-color .15s,background-color .15s,box-shadow .15s}.measurement-entry-input:focus,.equipment-measurement-field.active .measurement-entry-input{border-color:var(--color-focus);background:color-mix(in srgb, var(--color-focus) 12%, var(--surface-drawing));box-shadow:0 0 0 2px color-mix(in srgb, var(--color-focus) 22%, transparent), 0 2px 8px var(--surface-overlay)}.measurement-history{color:#ffffffc7;grid-area:1/2/4;grid-template-rows:minmax(0,1fr);align-self:stretch;gap:3px;min-width:0;height:100%;min-height:0;max-height:100%;font-size:10px;display:grid;overflow:hidden}.measurement-history>div{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:#ffffffa6 #ffffff1f;scrollbar-width:thin;flex-direction:column;gap:3px;min-height:0;padding-right:3px;display:flex;overflow-y:scroll}.measurement-history>div::-webkit-scrollbar{width:8px}.measurement-history>div::-webkit-scrollbar-thumb{background:#ffffffa6;border-radius:4px}.measurement-history>div::-webkit-scrollbar-track{background:#ffffff1f}.measurement-history button{text-align:right;flex:0 0 22px;width:100%;height:22px;min-height:20px;padding:0 5px;font-size:10px}.measurement-history button[draggable=true]{cursor:grab}.measurement-history button[draggable=true]:active{cursor:grabbing}.building-reliability{align-items:center;min-height:30px;padding-right:7px;font-size:12px;font-weight:700}.building-reliability.reliable{color:var(--color-control-dimension-measured)}.building-reliability.ambiguous,.building-reliability.determinedControlRequired,.building-reliability.controlToReview,.building-reliability.inconsistent{color:var(--color-control-dimension-warning)}.control-dimension{cursor:pointer;color:var(--color-unmeasured-geometry)}.control-dimension.validated{color:var(--color-control-dimension-measured)}.control-dimension.modified{color:var(--color-control-dimension-warning)}.control-dimension.inconsistent{color:var(--color-danger)}.control-dimension.selected{color:var(--color-selection)}.control-dimension-line{fill:none;stroke:currentColor;pointer-events:none}.control-dimension-hit{fill:none;stroke:#0000}.control-dimension-handle{pointer-events:none}.control-dimension text{fill:currentColor;stroke:var(--surface-drawing);paint-order:stroke;text-anchor:middle;pointer-events:none;font-weight:800}.supplementary-dimension{cursor:pointer}.supplementary-dimension-line,.supplementary-dimension-draft>line{fill:none;stroke:var(--color-supplementary-dimension);pointer-events:none}.supplementary-dimension-hit{fill:none;stroke:#0000}.supplementary-dimension text,.supplementary-dimension-draft text{fill:var(--color-supplementary-dimension);stroke:var(--surface-drawing);paint-order:stroke;stroke-linejoin:round;text-anchor:middle;pointer-events:none;font-weight:700}.supplementary-dimension-draft{pointer-events:none}.supplementary-dimension-contact{stroke-linecap:square;stroke:var(--color-snap)!important}.building-dimension-label{fill:var(--color-text);stroke:var(--surface-drawing);paint-order:stroke;stroke-linejoin:round;text-anchor:middle;pointer-events:none}.column-position-dimension{pointer-events:none;color:var(--color-control-dimension-measured)}.column-position-dimension.modified{color:var(--color-unmeasured-geometry)}.column-position-dimension.inconsistent{color:var(--color-danger)}.column-position-dimension-line{fill:none;stroke:currentColor}.column-position-dimension .building-dimension-label{fill:currentColor}.angle-constraint{cursor:pointer;color:var(--color-unmeasured-geometry)}.angle-constraint.confirmed{color:var(--color-control-dimension-measured)}.angle-constraint.modified{color:var(--color-control-dimension-warning)}.angle-constraint.inconsistent{color:var(--color-danger)}.angle-constraint-marker{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.angle-constraint-hit{fill:#0000}.angle-constraint text{fill:currentColor;stroke:var(--surface-drawing);paint-order:stroke;text-anchor:middle;dominant-baseline:central;pointer-events:none;font-weight:800}.angle-constraint.selected .angle-constraint-marker,.angle-constraint.selected text{filter:drop-shadow(0 0 3px var(--color-selection))}.building-object{cursor:grab}.building-object:not(.equipment):not(.technical-point):not(.light-measurement):not(.zone-label)>:not(.object-hit):not(.building-dimension-label),.building-object.column>:not(.object-hit):not(.building-dimension-label){fill:var(--surface-drawing);stroke:var(--color-building)}.building-object.equipment .equipment-body{fill:var(--surface-drawing);stroke:var(--color-object)}.building-object.equipment.handling .equipment-body{stroke:var(--color-handling)}.building-object.selected:not(.equipment):not(.technical-point):not(.light-measurement):not(.zone-label)>:not(.object-hit){stroke:var(--color-selection)}.building-object.equipment.selected .equipment-body{stroke:var(--color-object)}.equipment-selection-outline{fill:none;stroke:var(--color-selection);stroke-width:4px;vector-effect:non-scaling-stroke;pointer-events:none}.building-object .opening-gap{stroke:var(--surface-drawing)}.building-object .door-swing{fill:none}.object-hit{fill:#0000;stroke:#0000;pointer-events:all}.equipment-label{fill:var(--color-equipment-label-text);stroke:none;text-anchor:middle;pointer-events:none;font-weight:600}.equipment-label-background{fill:var(--color-equipment-label-background);stroke:none;pointer-events:none}.equipment-dimension-label{fill:var(--color-text);stroke:var(--surface-drawing);stroke-width:4px;paint-order:stroke;stroke-linejoin:round;text-anchor:middle;pointer-events:none;font-weight:500}.equipment-draft{fill:var(--state-selection-fill);stroke:var(--color-selection);stroke-dasharray:8 5;pointer-events:none}.rotation-guide{stroke:var(--color-rotation-handle);stroke-width:3px;stroke-dasharray:6 4;pointer-events:none}.rotation-hit{fill:#0000;stroke:#0000;cursor:crosshair}.rotation-handle{fill:var(--color-rotation-handle);stroke:var(--color-handle-stroke);stroke-width:3px;pointer-events:none}.rotation-hit:active+.rotation-handle{fill:var(--color-active-handle)}.rotation-symbol{fill:var(--color-inverse);stroke:none;text-anchor:middle;pointer-events:none;font-weight:800}.equipment-clearance{fill:var(--color-clearance-fill);stroke:var(--color-clearance-stroke);stroke-width:2px;stroke-dasharray:10 6;pointer-events:none}.front-face{stroke:var(--color-loading-face-stroke);stroke-linecap:square;pointer-events:none}.equipment-operator{color:var(--color-loading-face-stroke);pointer-events:none}.equipment-operator-head{fill:var(--surface-drawing);stroke:currentColor}.equipment-operator-body{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.utility-dot circle{fill:var(--utility-dot-color);stroke:none;pointer-events:none}.utility-point{fill:var(--color-utility);stroke:var(--surface-drawing);pointer-events:none}.technical-point-ring{fill:var(--point-color);stroke:var(--color-technical-point-border);stroke-width:1.5px}.technical-point .technical-point-center{fill:var(--color-technical-point-center);stroke:var(--color-technical-point-border);stroke-width:.75px}.technical-point-glyph{stroke:var(--color-technical-point-center);stroke-width:1px;pointer-events:none}.technical-area-surface{fill:color-mix(in srgb, var(--point-color) 13%, transparent);stroke:var(--point-color);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.technical-area.cleanRoom .technical-area-surface{fill:color-mix(in srgb, var(--point-color) 10%, transparent)}.technical-area.paintZone .technical-area-surface{fill:color-mix(in srgb, var(--point-color) 16%, transparent)}.technical-area-selection-outline{fill:none;stroke:var(--color-selection);stroke-width:4px;vector-effect:non-scaling-stroke;pointer-events:none}.technical-area-label,.technical-area-dimensions{fill:var(--color-text);stroke:var(--surface-drawing);stroke-width:4px;paint-order:stroke;text-anchor:middle;pointer-events:none}.technical-area-label{font-weight:700}.technical-area-dimensions{fill:var(--color-muted);font-weight:600}.technical-area-draft polygon,.technical-area-draft line{fill:color-mix(in srgb, var(--color-focus) 12%, transparent);stroke:var(--color-focus);stroke-dasharray:8 5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.technical-area-draft .technical-area-draft-vertex{fill:var(--surface-drawing);stroke:var(--color-focus);pointer-events:none}.technical-area-draft .technical-area-first-vertex{fill:color-mix(in srgb, var(--color-focus) 35%, var(--surface-drawing))}.technical-area-vertex{fill:var(--surface-drawing);stroke:var(--point-color);cursor:move}.aisle-surface{fill:color-mix(in srgb, var(--color-aisle) 34%, transparent);stroke:var(--color-aisle);stroke-linejoin:round;pointer-events:none}.aisle-selection-outline{fill:none;stroke:var(--color-selection);stroke-width:4px;vector-effect:non-scaling-stroke;pointer-events:none}.aisle-area-label{fill:var(--color-text);stroke:var(--surface-drawing);stroke-width:4px;paint-order:stroke;text-anchor:middle;pointer-events:none;font-weight:650}.aisle-vertex-handle,.aisle-review-vertex{fill:var(--color-aisle);cursor:move}.aisle-dimension{pointer-events:none;color:var(--color-unmeasured-geometry)}.aisle-dimension line{fill:none;stroke:currentColor}.aisle-dimension .building-dimension-label{fill:currentColor}.aisle-contour-draft polygon,.aisle-contour-draft line,.aisle-contour-review polygon{fill:color-mix(in srgb, var(--color-aisle) 24%, transparent);stroke:var(--color-aisle);stroke-linejoin:round;pointer-events:none}.aisle-draft-vertex{fill:var(--surface-drawing);stroke:var(--color-aisle);pointer-events:none}.aisle-review-vertex{stroke:var(--surface-drawing);stroke-width:2px;vector-effect:non-scaling-stroke}.positioning-guides{pointer-events:none}.positioning-guides line{stroke:var(--color-focus)}.positioning-guides text{fill:var(--color-focus);stroke:var(--surface-drawing);stroke-width:4px;paint-order:stroke;dominant-baseline:middle;font-weight:700}.point-selection-outline{fill:none;stroke:var(--color-selection);stroke-width:4px;pointer-events:none}.point-label{fill:var(--color-text);stroke:var(--surface-drawing);stroke-width:4px;paint-order:stroke;text-anchor:middle;pointer-events:none;font-weight:600}.lux-marker{fill:var(--utility-specialLight);stroke:var(--color-technical-point-border);stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.attachment-marker{pointer-events:none}.attachment-indicator{text-anchor:middle;dominant-baseline:middle;stroke:none;paint-order:normal;font-family:Segoe UI Symbol,Arial Unicode MS,sans-serif;font-weight:700}.photo-indicator{fill:var(--color-photo-indicator);color:var(--color-photo-indicator)}.comment-indicator{fill:var(--color-focus);color:var(--color-focus)}.voice-indicator{fill:var(--color-voice-indicator);color:var(--color-voice-indicator)}.properties textarea{border:1px solid var(--color-border);border-radius:var(--space-sm);width:100%;min-height:76px;padding:var(--space-sm);background:var(--surface-drawing);color:var(--color-text)}.properties details{margin-bottom:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--space-sm);padding:var(--space-sm)}.properties summary{cursor:pointer;font-weight:600}.properties fieldset{margin:var(--space-sm) 0;border:1px solid var(--color-border)}.north-indicator>:not(.north-hit){fill:var(--surface-drawing);stroke:var(--color-building);stroke-width:2px}.north-indicator text{fill:var(--color-building);stroke:none;text-anchor:middle;pointer-events:none;font-weight:700}.north-hit{fill:#0000;stroke:#0000;cursor:grab}.north-handle{fill:var(--color-building);stroke:var(--color-building);pointer-events:none}.north-indicator .north-grid-background{fill:color-mix(in srgb, var(--surface-drawing) 92%, transparent);stroke:var(--color-border);stroke-width:1px;pointer-events:none}.north-indicator .north-grid-label{fill:var(--color-building);stroke:none;text-anchor:middle;pointer-events:none;font-weight:600}.north-indicator .north-selection-area-background{fill:color-mix(in srgb, var(--color-selection) 12%, var(--surface-drawing));stroke:var(--color-selection)}.north-indicator .north-selection-area-label{fill:var(--color-selection);font-weight:700}.check-row{align-items:center;gap:var(--space-sm);min-height:var(--control-height);display:flex!important}.freehand-stroke polyline,.freehand-active{fill:none;stroke:var(--color-sketch);stroke-linecap:round;stroke-linejoin:round}.freehand-stroke{cursor:pointer}.freehand-stroke .simplified{stroke:var(--color-snap);pointer-events:none}.vertex{fill:var(--surface-drawing);stroke:var(--color-snap);cursor:pointer}.vertex.selected{fill:var(--color-snap);stroke:var(--surface-drawing)}.properties>input{width:100%;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--space-sm);padding:var(--space-sm);margin-bottom:var(--space-sm)}.properties>button:not(.danger){width:100%;margin-top:var(--space-sm)}.status{left:var(--space-md);bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--space-sm);background:var(--state-status);color:var(--color-inverse);pointer-events:none;font-size:.85rem;position:absolute}.save-state{right:var(--space-md);bottom:var(--space-md);align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:var(--space-sm);background:var(--surface-panel);color:var(--color-muted);pointer-events:none;font-size:.78rem;line-height:1.2;display:inline-flex;position:absolute}.save-state-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.save-state[data-state=pending]{color:var(--color-text)}.save-state[data-state=saving]{color:var(--color-accent)}.save-state[data-state=failed]{border-color:var(--color-danger);color:var(--color-danger)}.single-tab-notice{min-height:100vh;padding:var(--space-lg);background:var(--surface-app);place-items:center;display:grid}.single-tab-notice-panel{gap:var(--space-sm);max-width:34rem;padding:var(--space-lg);border-left:4px solid var(--color-attention);background:var(--surface-panel);display:grid}.single-tab-notice-title{font-size:1.05rem}.single-tab-notice-detail,.single-tab-notice-hint{margin:0;font-size:.9rem}.single-tab-notice-hint{opacity:.75}.recovery-banner{z-index:6;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-attention);color:var(--color-inverse);flex-wrap:wrap;display:flex}.recovery-banner-text{gap:2px;min-width:0;display:grid}.recovery-banner-title{font-size:.95rem}.recovery-banner-detail{opacity:.92;font-size:.82rem}.recovery-banner-action{border-color:#0000}.recovery-banner-actions{gap:var(--space-sm);display:flex}.modal-backdrop{z-index:10;padding:var(--space-lg);background:var(--surface-overlay);place-items:center;display:grid;position:fixed;inset:0}.modal{width:min(440px,100%);padding:var(--space-lg);border-radius:var(--space-md);background:var(--surface-drawing);box-shadow:0 20px 50px var(--surface-overlay)}.modal h2{margin:0;font-size:1.15rem}.modal>header{margin-bottom:var(--space-md)}.archive-name-field{gap:4px;margin:10px 0 4px;display:grid}.archive-name-field span{opacity:.8;font-size:12px}.archive-name-field input{font:inherit;padding:6px 8px}.migration-report{width:min(560px,100%);max-height:calc(100vh - 2 * var(--space-lg));overflow-y:auto}.migration-report h3{margin:var(--space-md) 0 4px;font-size:.95rem}.migration-report ul{margin:0;padding-left:18px;line-height:1.4}.migration-report li.to-review{font-weight:500}.migration-report-tag{border:1px solid var(--color-control-dimension-warning);color:var(--color-control-dimension-warning);white-space:nowrap;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}.migration-report-conversions{margin-top:var(--space-md);color:var(--color-muted)}.migration-report-note{margin-top:var(--space-md);color:var(--color-muted);font-size:12px}.feedback-dialog{width:min(480px,100%);max-height:calc(100vh - 2 * var(--space-lg));overflow-y:auto}.feedback-kinds{gap:var(--space-md);margin:0 0 var(--space-sm);border:0;padding:0;display:flex}.feedback-kinds legend{opacity:.8;margin-bottom:4px;font-size:12px}.feedback-field{margin:var(--space-sm) 0;gap:4px;display:grid}.feedback-field>span{opacity:.8;font-size:12px}.feedback-field textarea{font:inherit;resize:vertical;padding:6px 8px}.feedback-option{align-items:center;gap:6px;margin:4px 0;font-size:13px;display:flex}.feedback-context pre{max-height:160px;padding:var(--space-sm);background:var(--surface-panel);white-space:pre-wrap;border-radius:4px;font-size:11px;overflow:auto}.feedback-note{margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:12px}.modal-actions{justify-content:flex-end;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);display:flex}.modal-actions>button{margin:0}.guided-tour{z-index:40;position:fixed;inset:0}.guided-tour-shade{background:var(--surface-overlay);position:absolute;inset:0}.guided-tour-spotlight{border:2px solid var(--color-focus);border-radius:var(--space-sm);box-shadow:0 0 0 100vmax var(--surface-overlay);pointer-events:none;position:absolute}.guided-tour:after{content:"";position:absolute;inset:0}.guided-tour-bubble{z-index:1;width:min(340px,100vw - 16px);position:absolute}.guided-tour-bubble.centered{top:50%;left:50%;transform:translate(-50%,-50%)}.guided-tour-bubble>header{align-items:center;gap:var(--space-sm);display:flex}.guided-tour-progress{color:var(--color-muted);white-space:nowrap;font-size:12px}.guided-tour-bubble>p{margin:0;line-height:1.45}.pdf-preview-backdrop{z-index:20;background:#0e1e2cc2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.pdf-preview-dialog{border:1px solid var(--color-border);background:var(--surface-panel);border-radius:10px;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);height:min(860px,100%);min-height:0;display:grid;overflow:hidden;box-shadow:0 24px 70px #050f1873}.pdf-preview-toolbar{border-bottom:1px solid var(--color-border);background:var(--surface-drawing);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 14px 10px 18px;display:flex}.pdf-preview-toolbar h2,.pdf-preview-toolbar p{margin:0}.pdf-preview-toolbar h2{font-size:1rem}.pdf-preview-toolbar p{color:var(--color-muted);margin-top:3px;font-size:.76rem}.pdf-preview-actions{align-items:center;gap:8px;display:flex}.pdf-preview-actions>button:first-child{color:#fff;background:#176b93;border-color:#176b93;align-items:center;gap:7px;font-weight:750;display:inline-flex}.pdf-preview-actions>button:first-child:hover{background:#12597b}.pdf-preview-canvas{background:#d9e1e6;min-height:0;padding:24px;overflow:auto}.pdf-sheet{aspect-ratio:297/210;color:#17324d;background:#fff;grid-template-rows:18.5% minmax(0,1fr);width:100%;max-width:1120px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 8px 30px #0f23323d}.pdf-document-header{border-bottom:1px solid #d7e0e6;grid-template-columns:23% minmax(0,1fr);gap:0;padding:2.6% 3.4% 2.1%;display:grid}.pdf-document-brand{border-right:1px solid #d7e0e6;align-items:center;gap:10px;min-width:0;padding-right:14px;display:flex}.pdf-document-brand-mark{color:#fff;letter-spacing:.04em;background:#17324d;border-radius:7px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:850;display:grid}.pdf-document-brand strong,.pdf-document-brand small{white-space:nowrap;display:block}.pdf-document-brand strong{letter-spacing:-.02em;font-size:clamp(12px,1.35vw,18px)}.pdf-document-brand small{color:#627382;letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:clamp(7px,.67vw,10px)}.pdf-document-details{align-content:space-between;min-width:0;padding-left:2.5%;display:grid}.pdf-document-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;display:grid}.pdf-document-title-row small,.pdf-project-characteristics dt{color:#70808d;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(6px,.58vw,9px);font-weight:750}.pdf-document-title-row h1{text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:clamp(11px,1.15vw,17px);line-height:1.15;overflow:hidden}.pdf-document-date{text-align:right;min-width:115px}.pdf-document-date time{white-space:nowrap;margin-top:2px;font-size:clamp(8px,.75vw,11px);font-weight:700;display:block}.pdf-project-characteristics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:9px 0 0;display:grid}.pdf-project-characteristics div{min-width:0}.pdf-project-characteristics dt,.pdf-project-characteristics dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.pdf-project-characteristics dd{color:#263f54;margin-top:2px;font-size:clamp(7px,.72vw,11px);font-weight:720}.pdf-plan-frame{background:#fff;border:1px solid #cbd4da;min-width:0;min-height:0;margin:2.1% 3.4% 3.1%;overflow:hidden}.pdf-plan-svg.plan,.pdf-plan-svg.isometric-canvas{pointer-events:none;background-color:#fff;width:100%;height:100%}@media (width<=700px){.pdf-preview-backdrop{padding:0}.pdf-preview-dialog{border:0;border-radius:0;width:100%;height:100%}.pdf-preview-toolbar p{display:none}.pdf-preview-canvas{padding:12px}}@media print{@page{size:A4 landscape;margin:0}html,body,#root,.theme-root,.app-shell{background:#fff;width:297mm;height:210mm;overflow:hidden}.app-shell>:not(.pdf-preview-backdrop){display:none!important}.pdf-preview-backdrop{background:#fff;width:297mm;height:210mm;padding:0;display:block;position:static}.pdf-preview-dialog{width:297mm;height:210mm;box-shadow:none;border:0;border-radius:0;display:block;overflow:visible}.pdf-preview-toolbar{display:none}.pdf-preview-canvas{background:#fff;width:297mm;height:210mm;padding:0;overflow:visible}.pdf-sheet{width:297mm;max-width:none;height:210mm;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0}:root[data-print=report],:root[data-print=report] body,:root[data-print=report] #root,:root[data-print=report] .theme-root,:root[data-print=report] .app-shell{width:auto;height:auto;overflow:visible}:root[data-print=report] .app-shell>.report-preview-backdrop{background:#fff;padding:0;position:static;display:block!important}:root[data-print=report] .report-preview-dialog{width:auto;height:auto;box-shadow:none;border:0;display:block;overflow:visible}:root[data-print=report] .report-preview-dialog .pdf-preview-toolbar{display:none}:root[data-print=report] .report-preview-canvas{background:#fff;padding:0;overflow:visible}:root[data-print=report] .project-report{page:report;width:auto;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:0}:root[data-print=report] .report-page+.report-page{break-before:page;border-top:0;margin-top:0;padding-top:0}:root[data-print=survey-guide],:root[data-print=survey-guide] body,:root[data-print=survey-guide] #root,:root[data-print=survey-guide] .theme-root,:root[data-print=survey-guide] .app-shell{width:auto;height:auto;overflow:visible}:root[data-print=survey-guide] .app-shell>.survey-guide-print{page:survey-guide;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:block!important}.survey-guide-print>h2{margin:0 0 4mm;font-size:18pt}.survey-guide-print .survey-guide{font-size:9.5pt;line-height:1.3}.survey-guide-print .survey-guide .survey-guide-phases{gap:7px;margin-top:8px}.survey-guide-print .survey-guide-phase{break-inside:avoid;gap:2px}.survey-guide-print .survey-guide-phase ul,.survey-guide-print .survey-guide-phase ol{gap:1px}}@page survey-guide{size:A4 portrait;margin:10mm 12mm}@page report{size:A4 portrait;margin:12mm 12mm 14mm;@bottom-right{content:"Relevé d’Atelier · page " counter(page) " / " counter(pages);font:8pt sans-serif;color:#667}}.report-preview-backdrop{z-index:20;background:#0e1e2cc2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.report-preview-canvas{background:#d9e0e5;min-height:0;padding:18px;overflow:auto}.project-report{color:#17222b;background:#fff;width:210mm;max-width:100%;margin:0 auto;padding:14mm 12mm;font-size:10pt;line-height:1.35;box-shadow:0 8px 26px #050f1838}.report-plan-defs{width:0;height:0;position:absolute;overflow:hidden}.report-page+.report-page{border-top:1px dashed #c7d0d6;margin-top:10mm;padding-top:8mm}.project-report h1{margin:0 0 6mm;font-size:22pt}.project-report h2{color:#1d4f72;margin:0 0 4mm;font-size:14pt}.project-report h3{margin:5mm 0 2mm;font-size:11pt}.report-kicker{color:#1d4f72;letter-spacing:.08em;text-transform:uppercase;margin:0 0 2mm;font-size:10pt;font-weight:700}.report-facts{grid-template-columns:max-content 1fr;gap:1mm 4mm;margin:0;display:grid}.report-facts>div{display:contents}.report-facts dt{color:#5b6b77}.report-facts dd{margin:0}.report-key-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:2mm 6mm;margin:0;display:grid}.report-key-figures>div{border-bottom:1px solid #e3e8ec;justify-content:space-between;gap:4mm;padding:1.5mm 0;display:flex}.report-key-figures dt{color:#5b6b77}.report-key-figures dd{margin:0;font-weight:700}.report-checks li{color:#9a5b00}.report-plan-svg{background:#fff;width:100%;display:block}.report-plan-overview{border:1px solid #d5dde2;height:150mm;margin-top:8mm}.report-plan-full{border:1px solid #d5dde2;height:120mm}.report-isometric{border:1px solid #d5dde2;height:110mm}.report-isometric .isometric-view{width:100%;height:100%;position:relative}.report-isometric .isometric-controls,.report-isometric .isometric-hint{display:none}.report-isometric svg{width:100%;height:100%}.report-comment{white-space:pre-wrap}.report-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3mm;display:grid}.report-photo-grid figure{break-inside:avoid;margin:0}.report-photo-grid img{object-fit:cover;border-radius:2px;width:100%;height:42mm;display:block}.report-photo-grid figcaption{color:#5b6b77;font-size:8pt}.report-photo-missing{color:#5b6b77;text-align:center;background:#f1f4f6;place-items:center;height:100%;min-height:20mm;padding:2mm;font-size:8pt;display:grid}.report-table{border-collapse:collapse;width:100%;margin:0 0 5mm;font-size:9pt}.report-table caption{text-align:left;margin-bottom:1.5mm;font-weight:700}.report-table th,.report-table td{text-align:left;border-bottom:1px solid #e3e8ec;padding:1.2mm 2mm}.report-table th{color:#34495a;background:#eef3f6;font-weight:700}.report-table tr{break-inside:avoid}.report-item{break-inside:avoid;border-bottom:1px solid #e3e8ec;grid-template-columns:46mm minmax(0,1fr);gap:5mm;padding:3mm 0;display:grid}.report-thumb{background:#fff;border:1px solid #d5dde2;border-radius:2px;height:34mm;overflow:hidden}.report-thumb img,.report-thumb .report-plan-svg{object-fit:cover;width:100%;height:100%;display:block}.report-highlight{fill:#e08a002e;stroke:#e08a00;stroke-width:2px}.report-item-body h3{margin:0 0 1.5mm}.report-item-body h3 small{color:#5b6b77;font-weight:400}.report-item-photos{gap:2mm;margin-top:2mm;display:flex}.report-item-photos img,.report-item-photos .report-photo-missing{object-fit:cover;width:24mm;height:18mm;min-height:0}.utility-legend ul{gap:var(--space-sm) var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.utility-legend li{align-items:center;gap:var(--space-sm);display:flex}.legend-dot{background:var(--legend-color);border:2px solid var(--color-handle-stroke);border-radius:50%;flex:none;width:16px;height:16px}.layers-panel ul{max-height:55vh;padding:0;list-style:none;overflow:auto}.layers-panel li label{align-items:center;gap:var(--space-sm);min-height:38px;display:flex}.layer-families li{align-items:center;gap:var(--space-sm);grid-template-columns:1fr auto auto;display:grid}.layer-families button{min-width:var(--control-height)}.layer-lock{align-items:center;gap:var(--space-xs);border-width:2px;grid-template-columns:auto auto;font-weight:700;display:inline-grid}.layer-lock.locked{color:var(--color-layer-locked);border-color:var(--color-layer-locked);background:var(--state-selection-fill);opacity:1}.layer-lock.unlocked{color:var(--color-layer-unlocked);opacity:.58;background:0 0;border-color:#0000;font-weight:500}.layer-lock-icon{font-size:1.2rem;line-height:1}.layer-lock-state{font-size:.72rem}.origin-indicator{color:var(--color-origin);pointer-events:none}.origin-indicator line{stroke:currentColor}.origin-indicator circle{fill:currentColor}.origin-indicator text{fill:currentColor;font-family:var(--font-family);font-weight:700}.drawing-grid{pointer-events:none}.drawing-grid-line{fill:none;stroke:var(--color-grid);opacity:.58;shape-rendering:geometricprecision;vector-effect:non-scaling-stroke}.drawing-grid-major-line{fill:none;stroke:var(--color-grid);opacity:.84;shape-rendering:geometricprecision;vector-effect:non-scaling-stroke}.spatial-reference-group{color:var(--color-origin)}.layers-actions{gap:var(--space-sm);display:flex}.properties{padding:var(--zone-d-padding);font-size:var(--zone-d-control-font)}.properties h2{font-size:var(--zone-d-title);margin-bottom:8px;font-weight:600}.properties h3,.properties summary{font-size:var(--zone-d-section-title);font-weight:600}.properties label,.properties dt{font-size:var(--zone-d-label);margin-top:4px;margin-bottom:3px}.properties dd{margin:2px 0}.properties dl,.properties details,.properties fieldset,.properties section{margin-bottom:7px}.properties input,.properties select,.properties button{min-height:var(--zone-d-control-height);font-size:var(--zone-d-control-font);border-radius:5px;padding:0 7px}.properties input:not([type=checkbox]):not([type=radio]),.properties select,.properties textarea{border:1px solid var(--color-border);background:var(--surface-drawing);color:var(--color-text)}.properties input::placeholder,.properties textarea::placeholder{color:var(--color-muted);opacity:.72}.properties select option{background:var(--surface-panel);color:var(--color-text)}.properties textarea{min-height:58px;font-size:var(--zone-d-control-font);border-radius:5px;padding:6px}.properties details{border-radius:5px;padding:6px}.properties .danger{margin-top:8px}.properties .check-row{min-height:var(--zone-d-control-height)}.properties-technical-geometry{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:6px;display:grid}.properties .properties-technical-geometry button{justify-content:center;align-items:center;gap:5px;display:inline-flex}.properties .properties-technical-geometry button.active{border-color:var(--color-focus);background:color-mix(in srgb, var(--color-focus) 18%, var(--surface-drawing))}.technical-point-properties-compact .properties-technical-geometry{margin:0}.technical-area-summary{min-width:0;color:var(--color-text);justify-content:space-between;align-items:baseline;gap:5px;display:flex}.technical-area-summary span{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.network-properties-compact strong,.light-measurement-properties-compact strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.network-compact-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;display:grid}.network-compact-actions button{text-overflow:ellipsis;white-space:nowrap;min-width:0;height:28px;min-height:28px;padding:0 5px;font-size:10px;overflow:hidden}.light-measurement-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.light-measurement-input input{width:100%;min-width:0;height:28px;min-height:28px}.light-measurement-input small{color:var(--color-muted);font-weight:700}.technical-area-properties{border:1px solid var(--color-border);border-radius:5px;grid-template-columns:auto minmax(0,1fr);gap:4px;padding:4px 6px;display:grid}.properties .technical-area-properties dt{color:var(--color-muted);font-weight:600}.properties .technical-area-properties dd{text-align:right;font-weight:700}.equipment-properties-compact{border:1px solid var(--color-border);border-radius:5px;gap:3px;padding:4px;display:grid}.properties .equipment-compact-row{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:4px;min-width:0;margin:0;display:grid}.equipment-row-label{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.properties .equipment-section-divider{border-top:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);margin-top:3px;padding-top:5px}.equipment-compact-row>input,.equipment-compact-row>select{width:100%;min-width:0;height:28px;min-height:28px}.equipment-group-control{grid-template-columns:28px minmax(0,1fr);gap:3px;display:grid}.equipment-group-control button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;font-size:16px;font-weight:700}.equipment-group-control input,.equipment-group-control select{width:100%;min-width:0;height:28px;min-height:28px}.equipment-dimension-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;display:grid}.equipment-measurement-field{min-width:0}.properties .equipment-measurement-field label,.properties .equipment-rotation-actions>label:first-child{grid-template-columns:13px minmax(0,1fr);align-items:center;gap:2px;margin:0;font-size:10px;font-weight:700;display:grid}.equipment-measurement-field input{width:100%;min-width:0;height:28px;min-height:28px;padding:0 4px}.equipment-rotation-actions{grid-template-columns:minmax(0,86px) auto;align-items:center;gap:5px;display:grid}.equipment-rotation-actions input{width:100%;min-width:0;height:28px;min-height:28px}.properties .equipment-compact-check{white-space:nowrap;align-items:center;gap:3px;min-height:28px;margin:0;font-size:10px;display:inline-flex}.equipment-compact-check input{width:14px;height:14px;min-height:0;margin:0}.equipment-face-clearance-grid{gap:3px;min-width:0;display:grid}.equipment-face-clearance{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:4px;min-width:0;display:grid}.equipment-face-clearance button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;font-size:16px}.equipment-face-clearance button.active,.equipment-utility-actions button.active{border-color:var(--color-focus);background:color-mix(in srgb, var(--color-focus) 18%, var(--surface-drawing))}.equipment-face-clearance input{width:100%;min-width:0;height:28px;min-height:28px;padding:0 4px}.equipment-utility-actions{flex-wrap:wrap;gap:2px;display:flex}.equipment-utility-actions button{place-items:center;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;display:grid}.equipment-utility-actions button>span{border:2px solid color-mix(in srgb, var(--utility-dot-color) 72%, var(--color-text));background:var(--utility-dot-color);opacity:.48;border-radius:50%;width:10px;height:10px}.equipment-utility-actions button.active>span{opacity:1;box-shadow:0 0 0 2px color-mix(in srgb, var(--utility-dot-color) 24%, transparent)}.equipment-noise-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.equipment-noise-row button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;font-size:16px}.equipment-noise-row input{width:100%;min-width:0;height:28px;min-height:28px}.equipment-noise-row>span{font-size:var(--zone-d-label);color:var(--color-muted)}.terrain-information{gap:4px;display:grid}.terrain-information summary{margin-bottom:2px}.terrain-information-actions{gap:4px;display:flex}.terrain-information-actions button{width:32px;min-width:32px;padding:0;font-size:16px}.terrain-information-actions button.active{border-color:var(--color-focus);background:color-mix(in srgb, var(--color-focus) 18%, var(--surface-drawing))}.terrain-information textarea{min-height:48px}.attachment-file-input{display:none}.terrain-camera-backdrop{z-index:30;background:var(--surface-overlay);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.terrain-camera-capture{border:1px solid var(--color-border);background:var(--surface-panel);width:min(560px,100%);box-shadow:0 10px 32px var(--surface-overlay);border-radius:7px;gap:8px;padding:10px;display:grid}.terrain-camera-capture video{object-fit:contain;background:#000;border-radius:5px;width:100%;max-height:min(70vh,520px);display:block}.terrain-camera-capture>div{justify-content:flex-end;gap:5px;display:flex}.project-field-notes{max-height:calc(100vh - 32px);overflow:auto}.attachment-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px;display:grid}.attachment-row.voice{grid-template-columns:minmax(0,1fr) auto auto}.attachment-thumbnail{object-fit:cover;border:1px solid var(--color-border);border-radius:5px;width:48px;height:48px;display:block}.attachment-thumbnail-button{cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0;display:block}.terrain-photo-view>header{justify-content:flex-end;display:flex}.terrain-photo-view img{object-fit:contain;background:var(--surface-drawing);border-radius:5px;width:100%;max-height:min(78vh,720px);display:block}.attachment-row audio{width:100%;min-width:0;height:32px}@media (width<=850px){main{grid-template-rows:1fr auto;grid-template-columns:120px minmax(220px,1fr)}.properties{border-left:0;border-top:1px solid var(--color-border);grid-column:1/-1;max-height:230px}.guided-survey-panel.triangulated-survey-panel{width:min(280px,100% - 12px);right:0}.topbar{padding:0}.quick-settings{flex-wrap:wrap}.topbar-layer-panel{grid-template-columns:1fr;width:calc(100vw - 12px);left:6px}.topbar-layer-panel .layers-actions{grid-column:1}}.adjustment-readout{border-left:3px solid var(--color-control-dimension-measured);background:var(--surface-app);border-radius:0 4px 4px 0;margin:0 0 6px;padding:6px 8px;font-size:11px;line-height:1.35}.adjustment-readout.adjustment-clean{border-left-color:var(--color-control-dimension-measured)}.adjustment-readout.adjustment-attention{border-left-color:var(--color-control-dimension-warning)}.adjustment-readout.adjustment-alert{border-left-color:var(--color-danger)}.adjustment-headline{margin:0;font-weight:750}.adjustment-clean .adjustment-headline{color:var(--color-control-dimension-measured)}.adjustment-attention .adjustment-headline{color:var(--color-control-dimension-warning)}.adjustment-alert .adjustment-headline{color:var(--color-danger)}.adjustment-notices{gap:3px;margin:6px 0 0;padding-left:14px;display:grid}.adjustment-notices strong{font-weight:600}.adjustment-unverified,.adjustment-quality{color:var(--color-muted);margin:6px 0 0;font-size:10px}.validated-shape-mark circle{fill:var(--color-control-dimension-measured);stroke:var(--surface-panel)}.validated-shape-mark text{fill:var(--surface-panel);stroke:none;text-anchor:middle;dominant-baseline:central;font-weight:700}.validated-shape-mark.altered circle{fill:var(--color-control-dimension-warning)}.validated-shape-mark.complete circle{fill:var(--color-shape-complete)}.validated-shapes-action{color:var(--color-control-dimension-measured)}.validated-shapes-action.altered{color:var(--color-control-dimension-warning)}.topbar .validated-shapes-action.complete{background:var(--color-shape-complete);border-color:var(--color-shape-complete);color:var(--color-shape-complete-ink)}.topbar .validated-shapes-action.pending{background:var(--color-shape-pending);border-color:var(--color-shape-pending);color:var(--color-shape-complete-ink)}.topbar .validated-shapes-action.pending:disabled{opacity:1}.validated-shapes-panel .validated-shape-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.validated-shape-row{border-left:3px solid var(--color-control-dimension-measured);background:var(--surface-app);border-radius:0 4px 4px 0;gap:4px;padding:6px 8px;display:grid}.validated-shape-row.altered{border-left-color:var(--color-control-dimension-warning)}.validated-shape-row.active{outline:1px solid var(--color-focus)}.validated-shape-title{align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:flex}.validated-shape-dot{color:var(--color-control-dimension-measured);font-weight:700}.validated-shape-row.altered .validated-shape-dot{color:var(--color-control-dimension-warning)}.validated-shape-note{color:var(--color-muted);margin:0;font-size:11px;line-height:1.35}.validated-shape-review{gap:4px;display:grid}.validated-shape-review ul{margin:0;padding-left:16px;font-size:11px;line-height:1.35}.validated-shape-review button{justify-self:start;padding:3px 8px;font-size:11px}.validated-shape-actions{flex-wrap:wrap;gap:6px;display:flex}.validated-shape-actions button{padding:3px 8px;font-size:11px}.survey-panel-collapse{gap:0;padding:4px 6px}.survey-panel-collapse button{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.zone-label-text{fill:var(--color-zone-label-ink);stroke:var(--color-zone-label-halo);stroke-width:3px;vector-effect:non-scaling-stroke;paint-order:stroke;text-anchor:middle;letter-spacing:.02em;pointer-events:none;font-weight:800}.zone-label-selection{fill:none;stroke:var(--color-selection);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.isometric-zone-label{fill:var(--color-zone-label-ink);stroke:var(--color-zone-label-halo);stroke-width:3px;vector-effect:non-scaling-stroke;paint-order:stroke;pointer-events:none;font-weight:800}.isometric-wall-trace{fill:none;stroke:var(--color-building);stroke-width:1.25px;stroke-opacity:.45;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.partition-placement-controls{align-items:center;gap:8px;display:flex}.wall-manual-row.partition-placement-row{grid-template-columns:auto 31px 70px 31px;align-items:center}.interior-wall-list{gap:4px;margin:8px 0;padding:0;list-style:none;display:grid}.interior-wall-item{text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:100%;display:grid}.interior-wall-item span{opacity:.85;font-size:11px}.interior-wall-item.active{border-color:var(--color-focus);background:var(--state-active);color:var(--color-inverse)}.interior-wall-check{color:var(--color-control-dimension-measured);font-weight:800}.interior-wall-item.active .interior-wall-check{color:inherit}.validated-shape-mark.pending circle{fill:var(--color-muted)}.landing{--landing-ink:#17324d;--landing-ink-soft:#33516b;--landing-muted:#4a6072;--landing-accent:#176b93;--landing-plan:#175a8a;--landing-laser:#c8641e;--landing-water:#2c8fc0;--landing-paper:#f6f8f7;--landing-surface:#fff;--landing-border:#d5e0e6;--landing-rule:#e3ebef;--landing-field:#a9bcc8;--landing-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--landing-display:"Space Grotesk", var(--font-family);background:var(--landing-paper);height:100%;color:var(--landing-ink);line-height:1.4;position:relative;overflow:hidden auto}.landing-plan{pointer-events:none;width:100%;height:940px;position:absolute;top:0;left:0;-webkit-mask-image:linear-gradient(90deg,#000 19%,#0000 26% 74%,#000 81%);mask-image:linear-gradient(90deg,#000 19%,#0000 26% 74%,#000 81%)}.landing-plan-grid{fill:none;stroke:var(--landing-ink);stroke-opacity:.07}.landing-plan-lines{fill:none;stroke:var(--landing-plan);stroke-width:1.3px;opacity:.62}.landing-plan-wall{stroke-width:3.5px}.landing-plan-gap{fill:var(--landing-paper)}.landing-plan-face{stroke:var(--landing-laser);stroke-width:3px}.landing-plan-laser{stroke:var(--landing-laser)}.landing-plan-water{stroke:var(--landing-water)}.landing-plan-solid{fill:var(--landing-plan);stroke:none}.landing-plan-text{fill:var(--landing-plan);font-family:var(--landing-mono);text-anchor:middle;opacity:.8;font-size:13px}.landing-plan-text-laser{fill:var(--landing-laser)}.landing-header,.landing-main{position:relative}.landing-header{justify-content:flex-end;padding:20px 32px;display:flex}.landing-version{background:var(--landing-paper);color:var(--landing-ink-soft);font-family:var(--landing-mono);border-radius:6px;padding:4px 8px;font-size:13px}.landing-main{flex-direction:column;align-items:center;gap:40px;padding:28px 16px 56px;display:flex}.landing-intro{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:900px;display:flex}.landing-title{font-family:var(--landing-display);letter-spacing:-.03em;margin:0;font-size:clamp(48px,7vw,100px);font-weight:600;line-height:1}.landing-motto{color:var(--landing-ink-soft);margin:0;font-size:clamp(18px,2vw,23px);line-height:1.35}.landing-card{border:1px solid var(--landing-border);background:var(--landing-surface);border-radius:14px;flex-direction:column;gap:18px;width:100%;max-width:404px;padding:32px;display:flex;box-shadow:0 18px 50px #17324d1a}.landing-card-title,.landing-tutorial-title{font-family:var(--landing-display);margin:0;font-weight:600}.landing-card-title{font-size:22px}.landing-field{flex-direction:column;gap:6px;display:flex}.landing-field label{font-size:14px;font-weight:500}.landing-field-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.landing-field input{border:1px solid var(--landing-field);background:var(--landing-surface);width:100%;height:46px;color:var(--landing-ink);border-radius:8px;padding:0 12px;font-size:16px}.landing-field input::placeholder{color:#5d7180}.landing-field input:focus,.landing-submit:focus-visible,.landing-link:focus-visible,.landing-anchor:focus-visible{outline:2px solid var(--landing-accent);outline-offset:1px}.landing-submit,.landing-submit:hover{background:var(--landing-ink);min-height:48px;color:var(--landing-surface);border:0;border-radius:8px;font-size:16px;font-weight:600}.landing-link,.landing-link:hover{min-height:0;color:var(--landing-accent);background:0 0;border:0;border-radius:0;padding:0;font-size:13px;text-decoration:underline}.landing-link:hover,.landing-anchor:hover{color:var(--landing-ink)}.landing-link-strong{font-size:14px;font-weight:500}.landing-signup,.landing-notice,.landing-privacy{margin:0}.landing-signup{color:var(--landing-ink-soft);text-align:center;font-size:14px}.landing-notice{color:var(--landing-ink);text-align:center;font-size:13px;font-weight:500}.landing-card-title{order:-2}.landing-notice-sent{text-align:left;white-space:pre-line;order:-1;font-size:15px;font-weight:400;line-height:1.5}.landing-notice-error{white-space:pre-line;color:#8c2424;text-align:left;background:#fbecec;border-radius:8px;padding:10px 12px;line-height:1.4}.landing-hint{color:var(--landing-muted);font-size:13px}.landing-submit[aria-busy=true]{opacity:.7}.app-opening{text-align:center;padding-top:40vh;font-size:16px}.landing-notice:empty{position:absolute}.landing-privacy{border-top:1px solid var(--landing-rule);color:var(--landing-muted);padding-top:14px;font-size:13px;line-height:1.45}.landing-features{color:var(--landing-ink-soft);flex-wrap:wrap;justify-content:center;gap:8px 28px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.landing-anchor{color:var(--landing-accent);font-weight:500}.landing-tutorial{border-top:1px solid var(--landing-border);background:var(--landing-surface);flex-direction:column;align-items:center;gap:24px;padding:56px 16px 64px;display:flex;position:relative}.landing-tutorial-title{letter-spacing:-.01em;text-align:center;font-size:28px}.landing-video{aspect-ratio:16/9;background:var(--landing-ink);color:#dbe7ee;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;max-width:860px;font-size:14px;display:flex}.landing-video svg{fill:#dbe7ee}.landing-footer{border-top:1px solid var(--landing-rule);background:var(--landing-surface);justify-content:center;padding:18px 24px;font-size:13px;display:flex;position:relative}@media (width<=640px){.landing-plan-lines,.landing-plan-text{display:none}.landing-header{padding:14px 16px}.landing-card{padding:24px}.landing-tutorial{padding:40px 16px 48px}}
