:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--page);color-scheme:light;--page: #f4f4f2;font-synthesis:none;--surface: #fff;--surface-muted: #eeeeea;--border: #81817a;--text-muted: #666660;--ink: #20201e;--danger: #8a2d28;--accent: #2268d8;--accent-strong: #174f9d;--radius: .75rem;--shadow-floating: 0 .5rem 1.5rem color-mix(in srgb, var(--ink) 18%, transparent)}:root[data-theme=dark]{color-scheme:dark;--page: #161719;--surface: #222326;--surface-muted: #2c2d31;--border: #777a80;--text-muted: #b9babd;--ink: #f0f0ed;--danger: #ffaaa4;--accent: #82b3ff;--accent-strong: #a8cbff;--shadow-floating: 0 .5rem 1.5rem #0008}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:20rem;min-height:100%}button,input,select,textarea{font:inherit}button{min-height:2.4rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:.45rem;color:var(--ink);background:var(--surface);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:2px}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.45rem,3vw,2rem)}h2{margin-bottom:.55rem;font-size:1.15rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:.55rem;height:100dvh;min-height:0;overflow:hidden;padding:.7rem}.app-header,.project-toolbar,.notice-row,.stage-navigator,.workspace{width:100%;margin-inline:auto}.app-header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:1rem}.project-title-block{min-width:10rem;flex:1 1 24rem}.project-title-field{display:block}.project-title-field input{width:min(100%,32rem);padding:.15rem .25rem;border:1px solid transparent;border-radius:.35rem;color:var(--ink);background:transparent;font-size:clamp(1.35rem,3vw,2rem);font-weight:750;line-height:1.2}.project-title-field input:hover,.project-title-field input:focus{border-color:var(--border);background:var(--surface)}.header-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:.45rem}.project-toolbar{display:flex;min-width:0;gap:.4rem;overflow-x:auto;padding:.1rem 0 .25rem;scrollbar-width:thin}.project-toolbar button{flex:0 0 auto;min-height:2.45rem;padding-block:.42rem}.header-project-menu{position:relative}.header-project-menu summary{display:grid;min-height:2.65rem;cursor:pointer;place-items:center;padding:.55rem .75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);list-style:none}.header-project-menu summary::-webkit-details-marker{display:none}.header-project-menu__content{position:absolute;z-index:40;top:calc(100% + .35rem);right:0;display:grid;width:min(19rem,calc(100vw - 1rem));gap:.35rem;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-floating)}.header-project-menu[open] .header-project-menu__content{animation:menu-reveal .16s ease-out;transform-origin:top right}.app-version-panel{display:grid;gap:.4rem;margin-top:.15rem;padding-top:.5rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.78rem;line-height:1.4}.app-version-panel strong{color:var(--ink)}.app-version-panel .secondary-button{width:100%}.eyebrow{margin-bottom:.2rem;color:var(--text-muted);font-size:.7rem;font-weight:750;letter-spacing:.12em}.muted{color:var(--text-muted);line-height:1.45}.notice-row{display:flex;min-width:0;min-height:2.35rem;align-items:center;justify-content:space-between;gap:1rem;overflow:hidden;padding:.45rem .7rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:.86rem}.notice-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-status{color:var(--text-muted);text-align:right}.stage-navigator{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.stage-step{display:flex;min-height:2.55rem;align-items:center;gap:.55rem;padding:.4rem .65rem;border:1px solid var(--border);border-radius:.55rem;color:var(--text-muted);background:var(--surface)}.stage-step span{display:grid;width:1.65rem;height:1.65rem;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:50%;font-size:.78rem}.stage-step small{margin-left:auto;font-size:.68rem;font-variant-numeric:tabular-nums}.stage-step--active{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 -3px 0 var(--ink)}.stage-step--active span{color:var(--surface);background:var(--ink)}.stage-step--complete span{color:var(--surface);background:var(--text-muted)}.workspace{position:relative;display:grid;grid-template-columns:minmax(0,19rem) minmax(20rem,1fr);gap:.55rem;min-width:0;min-height:0;overflow:hidden}.left-panel,.right-panel,.canvas-panel{min-width:0;min-height:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.left-panel{display:flex;flex-direction:column;overflow-y:auto}.right-panel{overflow-y:auto;padding:.75rem}.compact-panel-heading,.compact-panel-triggers,.compact-panel-close{display:none}.panel-section{min-width:0;padding:.85rem;border-bottom:1px solid var(--border)}.room-plan-section{display:grid;gap:.55rem}.tool-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;padding:.2rem;border-radius:.55rem;background:var(--surface-muted)}.tool-tabs button{min-height:2.55rem;padding:.4rem;border:1px solid transparent;border-radius:.42rem;color:var(--text-muted);background:transparent}.tool-tabs button[aria-pressed=true]{border-color:var(--border);color:var(--ink);background:var(--surface);box-shadow:0 .12rem .3rem color-mix(in srgb,var(--ink) 9%,transparent)}.accordion-stack{display:grid;gap:.4rem}.editor-disclosure{overflow:hidden;border:1px solid var(--border);border-radius:.55rem;background:var(--surface)}.editor-disclosure__trigger{display:flex;width:100%;min-height:2.7rem;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border:0;color:var(--ink);background:var(--surface);text-align:left;font-weight:700}.editor-disclosure__trigger span:last-child{transition:transform .18s ease}.editor-disclosure--open .editor-disclosure__trigger span:last-child{transform:rotate(180deg)}.accordion-body{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-.25rem);transition:grid-template-rows .18s ease,opacity .15s ease,transform .18s ease}.editor-disclosure--open .accordion-body{grid-template-rows:1fr;opacity:1;transform:translateY(0)}.accordion-content{min-height:0;overflow:hidden;padding:0 .65rem}.editor-disclosure--open .accordion-content{padding-bottom:.65rem}.compact-copy{margin-bottom:.55rem;font-size:.78rem}.toggle-list{display:grid;gap:.35rem}.toggle-list label{display:flex;min-height:2.35rem;align-items:center;gap:.55rem}.wall-selector{display:grid;gap:.35rem}.wall-selector__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.wall-selector button{display:grid;gap:.12rem;min-height:3.4rem;padding:.45rem;border:0;color:var(--ink);background:var(--surface);text-align:left}.wall-selector button[aria-pressed=true]{border-color:var(--ink);background:var(--surface-muted)}.wall-visibility-toggle{display:grid;min-width:5.4rem;cursor:pointer;place-content:center;gap:.1rem;padding:.35rem;border-left:1px solid var(--border);color:var(--text-muted);background:var(--surface);font-size:.7rem;text-align:center}.wall-visibility-toggle input{margin-inline:auto}.wall-selector small,.subsection-heading small,.compact-list small{color:var(--text-muted)}.subsection-heading{display:grid;gap:.12rem;margin:.8rem 0 .55rem;font-size:.82rem}.select-field{display:grid;grid-template-columns:minmax(0,1fr) 8.5rem;align-items:center;gap:.5rem;margin:.55rem 0;color:var(--text-muted);font-size:.82rem}.select-field select{min-height:2.55rem;padding:.4rem;border:1px solid var(--border);border-radius:.45rem;color:var(--ink);background:var(--surface)}.compact-fields{gap:.35rem}.compact-list{display:grid;gap:.3rem;margin:.65rem 0 0;padding:0;list-style:none}.compact-list li{display:flex;align-items:center;gap:.35rem;padding:.35rem;border:1px solid var(--border);border-radius:.45rem}.compact-list li>span,.list-select-button{display:grid;min-width:0;flex:1;gap:.08rem;text-align:left}.compact-list li>button:last-child{width:2.35rem;min-width:2.35rem;height:2.35rem;border:1px solid var(--border);border-radius:50%;color:var(--danger);background:var(--surface)}.list-select-button{padding:.2rem;border:0;color:var(--ink);background:transparent}.catalog-section{display:flex;flex:1;flex-direction:column;border-bottom:0}.catalog-disclosure{border-top:1px solid var(--border)}.catalog-disclosure summary{display:flex;min-height:3rem;cursor:pointer;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;font-weight:750}.catalog-disclosure summary small{color:var(--text-muted);font-weight:500}.catalog-disclosure__content{display:grid;gap:.65rem;padding:0 .85rem .85rem}.section-heading,.canvas-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.field-grid{display:grid;gap:.55rem;margin-bottom:.7rem}.number-field{display:grid;grid-template-columns:minmax(0,1fr) 6rem;align-items:center;gap:.5rem;font-size:.86rem}.number-field input{width:100%;min-height:2.65rem;padding:.5rem;border:1px solid var(--border);border-radius:.45rem}.text-field{display:grid;gap:.35rem;margin-bottom:.7rem;color:var(--text-muted);font-size:.86rem}.text-field input{width:100%;min-height:2.65rem;padding:.5rem;border:1px solid var(--border);border-radius:.45rem;color:var(--ink);background:var(--surface)}.model-list{display:grid;gap:.45rem;margin:0 0 .75rem;padding:0;list-style:none}.model-card{display:flex;min-height:3.4rem;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem;border:1px solid var(--border);border-radius:.55rem}.model-card div{display:grid;gap:.15rem}.model-card small{color:var(--text-muted)}.model-card button{min-width:4.2rem;min-height:2.6rem;border:1px solid var(--ink);border-radius:.45rem;color:var(--surface);background:var(--ink)}.obstacle-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.obstacle-palette__button{display:grid;min-width:0;min-height:5.4rem;cursor:grab;place-items:center;align-content:center;gap:.18rem;padding:.5rem .3rem;border:1px solid var(--border);border-radius:.55rem;color:var(--ink);background:var(--surface);text-align:center}.obstacle-palette__button:active{cursor:grabbing}.obstacle-palette__button[aria-pressed=true]{border-color:var(--ink);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--ink)}.obstacle-palette__button strong{font-size:.78rem}.obstacle-palette__button small{overflow:hidden;max-width:100%;color:var(--text-muted);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.obstacle-palette__shape{display:block;width:1.6rem;height:1.6rem;border:2px solid currentColor;background:color-mix(in srgb,var(--ink) 8%,transparent)}.obstacle-palette__shape--pillar{width:.72rem;height:1.8rem}.obstacle-palette__shape--circle{border-radius:50%}.segmented{display:flex;border:1px solid var(--ink);border-radius:.5rem;overflow:hidden}.segmented button{min-width:3.2rem;min-height:2.6rem;border:0;color:var(--ink);background:var(--surface)}.segmented button[aria-pressed=true]{color:var(--surface);background:var(--ink)}.secondary-button,.download-button,.danger-button{min-height:2.65rem;padding:.55rem .75rem;border-radius:.5rem}.secondary-button{border:1px solid var(--border);color:var(--ink);background:var(--surface)}.download-button{border:1px solid var(--ink);color:var(--surface);background:var(--ink)}.danger-button{margin-top:.55rem;border:1px solid var(--danger);color:var(--danger);background:var(--surface)}.full-width{width:100%}.canvas-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.canvas-heading{min-width:0;padding:.7rem .85rem;border-bottom:1px solid var(--border)}.canvas-heading h2{margin-bottom:0}.measurement-readout{display:block;margin:0;padding:.35rem .55rem;border-bottom:1px solid var(--border);color:var(--ink);background:var(--surface-muted);overflow-wrap:anywhere}.canvas-heading>div:first-child{display:grid;flex:0 0 auto;gap:.2rem}.canvas-view-switch button{min-width:3rem;min-height:2.4rem}.canvas-view-switch button[aria-pressed=true]{color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 14%,var(--surface));box-shadow:inset 0 -3px 0 var(--accent)}.canvas-tools{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.collision-badge,.collision-warning{color:var(--danger);font-weight:700}.collision-badge{padding:.35rem .55rem;border:1px solid var(--danger);border-radius:999px;font-size:.78rem}.collision-warning{padding:.65rem;border:1px solid var(--danger);border-radius:.5rem;background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.angle-field,.snap-point-field{display:grid;grid-template-columns:minmax(0,1fr) 8.5rem;align-items:center;gap:.5rem;margin:.75rem 0;color:var(--text-muted);font-size:.86rem}.angle-field select,.snap-point-field select,.dimension-mode-field select,.distance-reference-field select{min-height:2.65rem;padding:.45rem;border:1px solid var(--border);border-radius:.45rem;color:var(--ink);background:var(--surface)}.snap-point-field select{width:100%}.dimension-mode-field{display:flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.78rem}.dimension-mode-field select{min-height:2.4rem}.snap-toggle{min-height:2.4rem;padding-block:.35rem;font-size:.78rem}.snap-toggle[aria-pressed=true]{border-color:var(--ink);background:var(--surface-muted)}.distance-reference-field{display:flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.78rem}.distance-reference-field select{min-height:2.4rem;max-width:10.5rem}.editor-canvas{position:relative;width:100%;height:100%;min-height:0;touch-action:none}.editor-canvas--2d canvas{cursor:default}.editor-canvas--drawing canvas{cursor:crosshair}.outline-drawing-toolbar{position:absolute;z-index:5;right:.75rem;bottom:.75rem;left:.75rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;padding:.5rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface);box-shadow:var(--shadow-floating)}.outline-drawing-toolbar span{margin-right:auto;font-weight:700}.editor-canvas--drop-ready{box-shadow:inset 0 0 0 3px var(--accent)}.editor-canvas--drop-ready canvas{cursor:copy}.editor-canvas--3d canvas{cursor:grab}.editor-canvas--3d canvas:active{cursor:grabbing}.editor-canvas--technical canvas{filter:contrast(1.08)}.view-only-badge{padding:.35rem .55rem;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);background:var(--surface-muted);font-size:.75rem}.stage-panel-content{display:grid;gap:.75rem}.surface-toggles{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.2rem}.context-toolbar{position:absolute;z-index:20;right:1rem;bottom:1rem;left:1rem;width:min(46rem,calc(100% - 2rem));max-height:min(25rem,calc(100% - 2rem));margin-inline:auto;overflow:auto;padding:.7rem;border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:.8rem;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.context-toolbar__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.context-toolbar__actions{display:flex;align-items:end;justify-content:center;gap:.65rem;flex-wrap:wrap}.context-toolbar .direction-control{margin:0}.context-toolbar .direction-pad{grid-template-columns:repeat(3,2.25rem);grid-template-rows:repeat(2,2.25rem)}.context-edit-details{min-width:min(18rem,100%)}.context-edit-details summary{min-height:2.65rem;cursor:pointer;padding:.65rem .75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface)}.context-edit-details__content{display:grid;gap:.55rem;margin-top:.5rem;padding:.65rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface)}.context-toolbar .danger-button{margin-top:0}.context-toolbar--inspection{display:flex;width:min(34rem,calc(100% - 2rem));align-items:center;justify-content:space-between;gap:1rem}.context-toolbar--inspection .context-toolbar__heading{flex:1}.context-toolbar--inspection p{margin-bottom:0}.ui-icon{display:block;width:1.2rem;height:1.2rem;pointer-events:none}.stage-step__icon .ui-icon{width:1rem;height:1rem}.tool-icon-button{display:grid;width:2.75rem;min-width:2.75rem;height:2.75rem;cursor:pointer;place-items:center;padding:0;border:1px solid var(--border);border-radius:50%;color:var(--ink);background:color-mix(in srgb,var(--surface) 92%,transparent)}.tool-icon-button:hover,.tool-icon-button[aria-pressed=true]{border-color:var(--ink);background:var(--surface-muted)}.tool-icon-button--primary{color:var(--surface);background:var(--ink)}.tool-icon-button--danger{color:var(--danger)}.context-toolbar--compact{right:.8rem;bottom:.8rem;left:auto;display:flex;width:auto;max-width:calc(100% - 1.6rem);max-height:none;align-items:center;gap:.3rem;margin:0;overflow:visible;padding:.3rem;border-radius:999px}.context-toolbar--compact.context-toolbar--inspection{width:auto;align-items:center;flex-direction:row}.context-toolbar__name{max-width:12rem;overflow:hidden;padding:0 .45rem;font-size:.78rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.collision-dot{display:grid;width:1.65rem;height:1.65rem;place-items:center;border:1px solid var(--danger);border-radius:50%;color:var(--danger);font-weight:800}.context-mini-panel,.context-properties-panel{position:absolute;z-index:19;right:.8rem;bottom:4.35rem;padding:.7rem;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:.75rem;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.context-mini-panel .direction-control{margin:0}.context-properties-panel{top:4.5rem;bottom:4.35rem;width:min(20rem,calc(100% - 1.6rem));overflow:auto}.context-properties-panel .context-edit-details__content{margin-top:.65rem;padding:0;border:0}.derived-value{display:grid;gap:.15rem;margin:0;padding:.55rem;border:1px solid var(--border);border-radius:.45rem;color:var(--text-muted);background:var(--surface-muted);font-size:.78rem}.derived-value strong{color:var(--ink);font-size:.95rem}.derived-value small{line-height:1.3}.module-dimension-label{display:block;padding:.28rem .45rem;border:1px solid var(--ink);border-radius:.35rem;color:var(--ink);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-floating);font-size:.74rem;font-weight:750;white-space:nowrap;pointer-events:none}.module-dimension-label--technical{border-color:#111;color:#111;background:#fff;box-shadow:none}.plan-solid-dimensions{display:grid;width:max-content;max-width:min(18rem,55vw);gap:.15rem;padding:.35rem .45rem;border:1px solid color-mix(in srgb,var(--ink) 72%,transparent);border-radius:.25rem;color:var(--ink);background:var(--surface);font-size:.72rem;line-height:1.3;text-align:center;white-space:normal;pointer-events:none}.plan-solid-dimensions strong{font-size:inherit}.plan-solid-dimensions small{color:var(--text-muted);font-size:.68rem}.plan-solid-dimensions--technical{border-color:#111;color:#111;background:color-mix(in srgb,#fff 86%,transparent)}.plan-solid-dimensions--technical small{color:#333}.plan-dimension-summary{position:absolute;z-index:8;left:.65rem;bottom:.65rem;display:grid;gap:.1rem;padding:.42rem .55rem;border:1px solid var(--ink);border-radius:.4rem;color:var(--ink);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-floating);font-size:.72rem;line-height:1.2;pointer-events:none}.plan-dimension-summary--technical{border-color:#111;color:#111;background:#fff;box-shadow:none}.technical-collision-label{display:block;padding:.18rem .35rem;border:2px dashed #111;color:#111;background:#fff;font-size:.68rem;font-weight:850;letter-spacing:.08em;white-space:nowrap}.view-option-toggle[aria-pressed=true]{border-color:var(--ink);color:var(--surface);background:var(--ink)}.drag-distance-guide{display:grid;gap:.12rem;min-width:8.5rem;padding:.4rem .5rem;border:1px solid var(--ink);border-radius:.45rem;color:var(--ink);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-floating);font-size:.72rem;font-weight:700;white-space:nowrap;pointer-events:none}.direction-control{display:grid;gap:.35rem;margin:.75rem 0;color:var(--text-muted);font-size:.82rem}.direction-pad{display:grid;grid-template-columns:repeat(3,2.7rem);grid-template-rows:repeat(2,2.7rem);place-content:center;gap:.25rem}.direction-pad button{border:1px solid var(--border);border-radius:.45rem;color:var(--ink);background:var(--surface);font-size:1.2rem}.direction-pad button:nth-child(1){grid-column:2}.direction-pad button:nth-child(2){grid-column:1;grid-row:2}.direction-pad button:nth-child(3){grid-column:3;grid-row:2}.direction-pad button:nth-child(4){grid-column:2;grid-row:2}.property-actions{display:grid;gap:.65rem;margin-top:.75rem}.color-field{display:grid;grid-template-columns:minmax(0,1fr) 8.5rem;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.86rem}.color-field select{min-height:2.65rem;padding:.45rem;border:1px solid var(--border);border-radius:.45rem;color:var(--ink);background:var(--surface)}.empty-state{margin-top:1rem;padding:1rem;border:1px dashed var(--border);border-radius:.55rem;color:var(--text-muted);line-height:1.5}.metadata-disclosure{margin-top:.75rem;border-top:1px solid var(--border)}.metadata-disclosure summary{min-height:2.65rem;cursor:pointer;padding:.75rem .1rem .45rem;color:var(--text-muted);font-size:.82rem;font-weight:700}.details-list{display:grid;gap:.5rem;margin:.25rem 0 0;font-size:.78rem}.details-list div{display:grid;grid-template-columns:1fr 1.2fr;gap:.5rem}.details-list dt{color:var(--text-muted)}.details-list dd{margin:0;overflow-wrap:anywhere}.app-dialog{width:min(42rem,calc(100% - 1.5rem));max-height:calc(100dvh - 1.5rem);overflow:auto;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);background:var(--surface)}.app-dialog::backdrop{background:color-mix(in srgb,var(--ink) 55%,transparent)}.layout-dialog{width:min(58rem,calc(100% - 1.5rem))}.layout-options{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(12rem,.7fr);gap:.75rem;margin-block:1rem}.layout-suggestion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.layout-suggestion-card{display:grid;align-content:start;gap:.35rem;padding:.65rem;border:1px solid var(--border);border-radius:.65rem;color:var(--ink);background:var(--surface);text-align:left}.layout-suggestion-card[aria-pressed=true]{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:1px}.layout-suggestion-card:hover{background:var(--surface-muted)}.layout-suggestion-card small{color:var(--text-muted)}.layout-preview{display:block;width:100%;max-height:10rem;aspect-ratio:1.5;border:1px solid var(--border);border-radius:.4rem;background:var(--surface-muted)}.layout-preview__room{fill:var(--surface);stroke:var(--ink);stroke-width:.025}.layout-preview__partition{stroke:var(--text-muted);stroke-dasharray:.08 .04}.layout-preview__existing{fill:var(--text-muted);fill-opacity:.65;stroke:var(--ink);stroke-width:.02}.layout-preview__obstacle{fill:var(--surface-muted);stroke:var(--ink);stroke-width:.035}.layout-preview__suggested{fill:var(--accent);fill-opacity:.62;stroke:var(--ink);stroke-width:.02}.layout-dialog-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--border)}.wall-editor-dialog{width:min(64rem,calc(100% - 1.5rem))}.wall-elevation{height:clamp(15rem,34vh,24rem);overflow:hidden;margin:.5rem 0 1rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-muted)}.wall-elevation>svg{display:block;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none}.wall-elevation--zoomed>svg{cursor:grab}.wall-elevation--panning>svg{cursor:grabbing}.wall-elevation-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.75rem}.wall-elevation-tools button{min-height:2.75rem;font-size:.8rem}.wall-elevation-tools .wall-zoom-button{min-width:2.75rem;font-size:1.25rem;padding:.2rem}.wall-elevation-tools output{min-width:4.5ch;text-align:center;font-size:.8rem;font-variant-numeric:tabular-nums}.wall-elevation-help{display:block;margin-top:.35rem;color:var(--text-muted);font-size:.72rem}.wall-elevation__surface{fill:var(--surface);stroke:var(--border);stroke-width:1}.wall-dimension-line{stroke:var(--text-muted);stroke-width:.8;marker-start:url(#wall-arrow);marker-end:url(#wall-arrow)}.wall-dimension-text,.wall-feature__label,.wall-feature__dimension{fill:var(--ink);font-family:inherit;font-size:14px;font-weight:650}.wall-feature__dimension{fill:var(--text-muted);font-size:10px;font-weight:600}.wall-feature{stroke:var(--ink);stroke-width:2}.wall-feature--window{fill:#8fb6c4;fill-opacity:.68}.wall-feature--glazing{fill:#a9d5df;fill-opacity:.48}.wall-feature--door{fill:#9a7658;fill-opacity:.76}.wall-feature--radiator{fill:#d7d4ca}.wall-feature--sill{fill:#b9aa92}.wall-feature--camera{fill:#35383d}.wall-feature--fan{fill:#d8ddd9}.wall-feature--socket{fill:#f2f0e9}.wall-feature--baseboard{fill:#b59d7b}.wall-feature-group{cursor:grab;outline:none}.wall-feature-group:active{cursor:grabbing}.wall-feature-group:focus .wall-feature,.wall-feature-group--selected .wall-feature{stroke:var(--accent);stroke-width:4}.wall-feature-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(4.75rem,100%),1fr));gap:.45rem;margin:.75rem 0}.wall-feature-tools button{display:grid;min-width:0;overflow-wrap:anywhere;min-height:4.6rem;cursor:pointer;place-items:center;align-content:center;gap:.35rem;padding:.45rem .3rem;border:1px solid var(--border);border-radius:.55rem;color:var(--ink);background:var(--surface);font-size:.68rem;line-height:1.15;text-align:center}.wall-feature-tools button:hover{border-color:var(--ink);background:var(--surface-muted)}.wall-feature-tools .ui-icon{width:1.5rem;height:1.5rem}.wall-resize-handle{cursor:nwse-resize;outline:none}.wall-resize-handle__target{fill:#fff;fill-opacity:.001;pointer-events:all}.wall-resize-handle path{fill:none;stroke:var(--accent-strong);stroke-width:1.1;stroke-linecap:round;pointer-events:none}.wall-resize-handle:focus-visible path{stroke:var(--ink);stroke-width:1.5}.wall-resize-handle__focus{fill:none;stroke:transparent;pointer-events:none}.wall-resize-handle:focus-visible .wall-resize-handle__focus{stroke:var(--accent);stroke-width:1;stroke-dasharray:2 2}.wall-drag-dimensions{pointer-events:none}.wall-drag-dimensions line{stroke:var(--accent);stroke-width:1.1;marker-start:url(#wall-arrow);marker-end:url(#wall-arrow)}.wall-drag-dimensions text{fill:var(--accent-strong);paint-order:stroke;stroke:var(--surface);stroke-width:3px;font-family:inherit;font-size:15px;font-weight:750}.wall-selected-editor{margin-bottom:.8rem;padding:.75rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface-muted)}.wall-selected-editor .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:.65rem 0 0}.wall-editor-form{display:grid;grid-template-columns:minmax(13rem,.7fr) minmax(18rem,1.3fr) minmax(10rem,.6fr);align-items:end;gap:.75rem}.wall-editor-form .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.wall-editor-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--border)}.finish-fields{display:grid;gap:.55rem;padding:.65rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface-muted)}.finish-fields .color-field{display:grid;grid-template-columns:minmax(0,1fr) 3.25rem;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.82rem}.finish-fields input[type=color]{width:3.25rem;height:2.55rem;padding:.18rem;border:1px solid var(--border);border-radius:.45rem;background:var(--surface)}.partition-list{margin-top:.55rem}.partition-list .list-select-button{display:grid;flex:1;gap:.12rem;min-height:2.75rem;text-align:left}.partition-list .list-select-button[aria-pressed=true]{color:var(--accent-strong)}.partition-editor-fields{display:grid;gap:.55rem;margin-top:.65rem}.drawing-point-label{display:block;padding:.24rem .4rem;border:1px solid var(--accent);border-radius:.35rem;color:var(--accent-strong);background:var(--surface);box-shadow:var(--shadow-floating);font-size:.68rem;font-weight:800;white-space:nowrap}.alignment-guide-label{display:block;padding:.18rem .35rem;border:1px solid var(--accent);border-radius:999px;color:var(--accent-strong);background:color-mix(in srgb,var(--surface) 92%,transparent);font-size:.62rem;font-weight:800;white-space:nowrap}.scene-context-menu{position:fixed;z-index:80;display:grid;min-width:13rem;gap:.2rem;padding:.35rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface);box-shadow:var(--shadow-floating)}.scene-context-menu button{min-height:2.5rem;padding:.45rem .65rem;border:0;border-radius:.4rem;color:var(--ink);background:transparent;text-align:left}.scene-context-menu button:hover,.scene-context-menu button:focus-visible{background:var(--surface-muted)}.scene-context-menu button.danger{color:var(--danger)}.drawing-pencil{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--ink);border-radius:50%;color:var(--surface);background:var(--ink);box-shadow:var(--shadow-floating);transform:translate(.85rem,-.85rem)}.obstacle-drop-hint{position:absolute;z-index:18;top:.75rem;left:50%;padding:.45rem .65rem;border:1px solid var(--accent);border-radius:999px;color:var(--accent-strong);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-floating);font-size:.75rem;font-weight:750;pointer-events:none;transform:translate(-50%)}.wall-feature-list{max-height:9rem;overflow:auto}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.icon-button{width:2.75rem;min-width:2.75rem;height:2.75rem;border:1px solid var(--border);border-radius:50%;color:var(--ink);background:var(--surface);font-size:1.5rem;line-height:1}.save-as-form,.share-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;margin:1rem 0}.share-form{grid-template-columns:minmax(0,1fr) 10rem auto}.save-as-form label,.share-form label,.share-result label,.access-card label{display:grid;gap:.35rem;color:var(--text-muted);font-size:.86rem}.save-as-form input,.share-form input,.share-form select,.share-result textarea,.access-card input{width:100%;min-height:2.75rem;padding:.55rem .65rem;border:1px solid var(--border);border-radius:.45rem;color:var(--ink);background:var(--surface)}.save-as-form button,.share-form button,.access-card button{min-height:2.75rem;padding:.55rem .8rem;border:1px solid var(--ink);border-radius:.5rem;color:var(--surface);background:var(--ink)}.project-library{display:grid;gap:.5rem;max-height:22rem;overflow:auto}.project-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem;border:1px solid var(--border);border-radius:.55rem}.project-row div{display:grid;gap:.2rem}.project-row small{color:var(--text-muted)}.share-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem}.share-result textarea{resize:vertical;overflow-wrap:anywhere}.dialog-status{margin:.8rem 0 0;font-weight:650}.form-error{margin:.75rem 0;color:var(--danger);font-weight:650}.security-note{margin:1rem 0 0;padding:.75rem;border:1px solid var(--border);border-radius:.55rem;color:var(--text-muted);background:var(--surface-muted);font-size:.82rem;line-height:1.45}.access-shell{display:grid;height:100dvh;overflow:auto;place-items:start center;padding:1rem}.access-card{width:min(100%,31rem);margin-block:auto;padding:clamp(1.2rem,4vw,2rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.access-card p{line-height:1.5}.access-card form{display:grid;gap:.75rem;margin-top:1.25rem}.shared-view-shell{display:grid;grid-template-rows:auto minmax(12rem,1fr) auto;height:100dvh;overflow:auto;padding:.85rem;gap:.65rem}.shared-view-header,.shared-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.access-expiry{padding:.5rem .7rem;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.86rem}.shared-canvas{min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.shared-canvas .editor-canvas{height:100%;min-height:0}@keyframes menu-reveal{0%{opacity:0;transform:translateY(-.25rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:75rem){.workspace{grid-template-columns:minmax(0,15rem) minmax(20rem,1fr)}.panel-section,.right-panel{padding:.65rem}.canvas-tools{flex:1 1 0;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.canvas-tools>*{flex:0 0 auto}}@media(max-width:48rem){.app-shell{gap:.4rem;padding:.45rem}.app-header{flex-wrap:wrap;gap:.35rem}.project-title-block{flex-basis:100%}.project-title-field input{width:100%}.header-actions{display:grid;width:auto;min-width:0;max-width:100%;flex:1 1 100%;grid-template-columns:minmax(0,6.5rem) repeat(2,minmax(0,1fr))}.header-actions>.secondary-button,.header-project-menu,.header-project-menu summary{width:100%}.notice-row{min-height:2rem;padding-block:.3rem}.notice-row>span:first-child:empty{display:none}.download-status{flex:1;text-align:left}.workspace{grid-template-columns:minmax(0,1fr)}.canvas-panel{grid-column:1;grid-row:1}.left-panel,.right-panel{position:absolute;z-index:30;inset:0;display:none;width:100%;height:100%;border-radius:var(--radius);box-shadow:var(--shadow-floating)}.left-panel.compact-panel--open{display:flex}.room-primary-action{position:fixed;z-index:2;right:.85rem;bottom:.45rem;left:.85rem;width:auto;padding-block:.45rem;border-radius:.5rem;background:var(--ink);box-shadow:0 -.35rem .55rem color-mix(in srgb,var(--surface) 88%,transparent)}.room-plan-section:has(.room-primary-action){padding-bottom:3.5rem}.right-panel.compact-panel--open{display:block}.compact-panel-heading{display:flex;align-items:center;justify-content:space-between;padding:.55rem .65rem;border-bottom:1px solid var(--border)}.compact-panel-triggers{display:flex;gap:.35rem}.compact-panel-close{display:block}.canvas-heading{align-items:flex-start;flex-wrap:wrap;padding:.5rem .6rem}.canvas-heading>div:first-child{display:grid}.canvas-heading>div:first-child .eyebrow{margin-bottom:0}.canvas-tools{flex:1 1 100%;width:100%;gap:.35rem}.dimension-mode-field span,.distance-reference-field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.distance-reference-field select{max-width:8rem}.save-as-form,.share-form,.share-result{grid-template-columns:1fr}.project-row,.shared-view-header,.shared-summary{align-items:stretch;flex-direction:column}.app-dialog{width:calc(100% - .75rem);max-height:calc(100dvh - .75rem);padding:.8rem}.layout-options,.layout-suggestion-grid{grid-template-columns:1fr}.layout-suggestion-grid{max-height:min(42dvh,24rem);overflow:auto}.layout-suggestion-card{grid-template-columns:minmax(5rem,.75fr) minmax(0,1fr);align-items:center}.layout-suggestion-card .layout-preview{grid-row:span 3}.layout-dialog-actions{flex-direction:column-reverse}.stage-step{justify-content:center;flex-direction:column;gap:.3rem;padding-inline:.3rem;min-height:44px}.stage-step strong{overflow-wrap:anywhere;text-align:center}.stage-step small{display:none}.context-toolbar{right:.45rem;bottom:.45rem;left:.45rem;width:calc(100% - .9rem)}.context-toolbar--compact{right:.45rem;left:auto;width:auto;max-width:calc(100% - .9rem)}.context-toolbar__name{max-width:7rem}.context-properties-panel{top:auto;right:.45rem;bottom:4.15rem;left:.45rem;width:auto;max-height:min(65%,26rem)}.context-mini-panel{right:.45rem;bottom:4.15rem}.wall-editor-form,.wall-selected-editor .field-grid{grid-template-columns:1fr}.wall-editor-actions{align-items:stretch;flex-direction:column}.shared-view-shell{padding:.55rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.notice-row{flex-wrap:wrap;overflow:visible;gap:.35rem .75rem}.notice-row>span{white-space:normal;overflow:visible;overflow-wrap:anywhere}.number-field>.form-error{grid-column:1 / -1}@media(max-height:32rem){.app-header{flex-wrap:nowrap}.project-title-block{flex-basis:auto;min-width:0}.header-actions{display:flex;flex:0 0 auto}.canvas-heading{flex-wrap:nowrap;align-items:center;gap:.35rem;padding-block:.35rem}.canvas-heading>div:first-child .eyebrow{display:none}.canvas-tools{flex:1 1 0;width:auto;flex-wrap:nowrap;overflow-x:auto}.canvas-tools>*{flex:0 0 auto}}.import-preview{display:grid;gap:.35rem;margin-block:.75rem;overflow-wrap:anywhere}.import-preview p,.import-preview h3{margin-block:0}.import-preview details{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius)}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.missing-model-label{display:block;width:max-content;max-width:14rem;overflow-wrap:anywhere;padding:.3rem;color:var(--danger);background:var(--surface);border:1px solid var(--danger);border-radius:var(--radius);font-size:.75rem}.missing-model-notice{color:var(--danger)}.stage-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.help-button{flex:0 0 auto;min-width:2.5rem;min-height:2.5rem;border-radius:50%;font-weight:700;padding:.35rem}.help-dialog{text-align:left;font-size:1rem}.help-content{line-height:1.55;overflow-wrap:anywhere}.help-content li+li{margin-top:.6rem}.help-content ol{padding-left:1.4rem}.left-panel[role=dialog]{outline:none}.dialog-heading-actions{display:flex;align-items:center;gap:.35rem}.library-search{margin-block:.85rem}.project-row>div{min-width:0}.project-row strong,.project-row small{overflow-wrap:anywhere}.room-template-picker{min-width:0;margin:0 0 .65rem;padding:0;border:0}.room-template-picker legend{margin-bottom:.5rem;color:var(--ink);font-size:.85rem;font-weight:700}.room-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.room-template-grid button{display:grid;min-width:0;gap:.2rem;padding:.45rem;border:1px solid var(--border);border-radius:.55rem;color:var(--ink);background:var(--surface);text-align:left}.room-template-grid button[aria-pressed=true]{border:2px solid var(--accent);padding:calc(.45rem - 1px);background:var(--surface-muted)}.room-template-grid svg{width:100%;height:2.4rem}.room-template-grid polygon{fill:var(--surface-muted);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.room-template-grid small{color:var(--text-muted);font-size:.7rem}.guided-layout-panel,.project-review{display:grid;gap:.65rem}.guided-layout-list{display:grid;gap:.5rem}.guided-layout-list button{min-width:0;padding:.55rem;border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);background:var(--surface);text-align:left}.guided-layout-list button[aria-pressed=true]{border-color:var(--accent);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--accent)}.layout-replace-option{display:flex;align-items:start;gap:.5rem;font-size:.85rem;line-height:1.4}.project-facts{display:grid;gap:.5rem;margin:0}.project-facts>div{display:flex;justify-content:space-between;gap:.5rem}.project-facts dt{color:var(--text-muted)}.project-facts dd{margin:0;text-align:right}.review-module-list{margin:0;padding-left:1.2rem;font-size:.85rem;line-height:1.5}.room-template-grid small{display:none}.room-template-grid strong{font-size:.78rem}.room-template-grid button{text-align:center}.room-plan-section[hidden]{display:none}.room-dimensions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-bottom:0}.room-dimensions .number-field{grid-template-columns:minmax(0,1fr);gap:.3rem;font-size:.74rem;align-content:start}.room-dimensions .number-field input{min-width:0}.room-template-picker{margin-bottom:0}.guided-layout-list .layout-suggestion-card{grid-template-columns:5.5rem minmax(0,1fr);align-items:center;gap:.5rem}.guided-layout-list .layout-preview{height:2.6rem;max-height:2.6rem}.guided-layout-list .layout-suggestion-card>span{display:grid;gap:.3rem}.guided-layout-list .layout-suggestion-card strong{font-size:.82rem}.guided-layout-list .layout-suggestion-card small{font-size:.74rem}.guided-layout-panel .text-field select{width:100%;min-height:2.5rem;padding:.4rem;border:1px solid var(--border);border-radius:.45rem;color:var(--ink);background:var(--surface)}.guided-layout-panel{gap:.45rem}:root[data-compact-text] .workspace{grid-template-columns:minmax(0,1fr)}:root[data-compact-text] .canvas-panel{grid-column:1;grid-row:1}:root[data-compact-text] .left-panel{position:absolute;z-index:30;inset:0;display:none;width:100%;height:100%;box-shadow:var(--shadow-floating)}:root[data-compact-text] .left-panel.compact-panel--open{display:flex}:root[data-compact-text] .compact-panel-heading{display:flex;justify-content:space-between;align-items:center;padding:.35rem .65rem;border-bottom:1px solid var(--border)}:root[data-compact-text] .compact-panel-triggers{display:flex;gap:.35rem}:root[data-compact-text] .canvas-heading{flex-wrap:nowrap;overflow-x:auto;padding:.3rem}:root[data-compact-text] .canvas-heading>div:first-child{flex:0 0 auto}:root[data-compact-text] .canvas-tools{flex:0 0 auto;flex-wrap:nowrap}:root[data-compact-text] .canvas-tools>*{flex:0 0 auto}:root[data-compact-text] .canvas-heading .eyebrow{display:none}:root[data-compact-text] .stage-step strong{font-size:.75rem}:root[data-compact-text] .stage-step small{display:none}:root[data-compact-text] .notice-row{font-size:.65rem;min-height:1.8rem}:root[data-compact-text] .project-review{gap:.4rem}:root[data-compact-text] .room-dimensions{grid-template-columns:repeat(3,minmax(0,1fr))}.wall-editor-fields{min-width:0;margin:0;padding:0;border:0}.wall-selector--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.wall-selector--compact button{min-width:0;border:1px solid var(--border);border-radius:.45rem}.wall-selector--compact button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-select{display:flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.8rem}.theme-select select{min-height:2.65rem;max-width:9rem;padding:.4rem;border:1px solid var(--border);border-radius:.5rem;color:var(--ink);background:var(--surface)}.number-field input{color:var(--ink);background:var(--surface)}.app-dialog::backdrop{background:#0008}:root[data-theme=dark] .module-dimension-label--technical,:root[data-theme=dark] .plan-solid-dimensions--technical,:root[data-theme=dark] .plan-dimension-summary--technical,:root[data-theme=dark] .technical-collision-label{color:var(--ink);border-color:var(--ink);background:var(--surface)}:root[data-theme=dark] .plan-solid-dimensions--technical small{color:var(--text-muted)}:root[data-theme=dark] .wall-feature{stroke:#fff}.access-card>.theme-select{justify-content:flex-end;margin-bottom:.75rem}@media(max-width:48rem){.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}}.wall-feature__label{paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.shared-view-header{flex-wrap:wrap}.shared-view-header>div:first-child{flex:1 1 24rem;min-width:0}.shared-view-header h1,.shared-summary span,.project-review h3{overflow-wrap:anywhere}.review-module-list li{display:flex;justify-content:space-between;gap:.5rem}.review-module-list li span{overflow-wrap:anywhere}.review-module-list li strong{flex:0 0 auto}.text-button{min-height:2.4rem;padding:.4rem .3rem;border-color:transparent;color:var(--accent-strong);background:transparent;text-decoration:underline;text-underline-offset:.18rem}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin-top:.85rem}.notice-row--conflict{align-items:start;flex-wrap:wrap;border-color:var(--danger);background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.notice-row--conflict>span{white-space:normal;overflow:visible}.notice-row--conflict>span:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:650}.notice-row--conflict>span:nth-child(2),.notice-row--conflict .download-status{display:none}.precise-dimension-label{display:grid;width:max-content;max-width:min(22rem,calc(100vw - 2rem));gap:.1rem;padding:.18rem .35rem;border:1px solid var(--accent);border-radius:.25rem;color:var(--ink);background:var(--surface);font-size:.72rem;line-height:1.3;text-align:center;white-space:normal;pointer-events:none}.precise-dimension-label strong{font-weight:650}.precise-dimension-label small{color:var(--text-muted);font-size:.68rem}.svg-dimension{pointer-events:none}.svg-dimension__line{fill:none;stroke:var(--accent-strong);stroke-width:1;stroke-linejoin:round}.svg-dimension__extension{fill:none;stroke:var(--accent-strong);stroke-width:.75;opacity:.7}.svg-dimension text{fill:var(--ink);font-family:inherit;font-size:var(--elevation-label-size, 13px);font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.wall-feature-dimensions{pointer-events:none}.wall-feature-hit{fill:transparent;pointer-events:all}.wall-feature-item--muted .wall-feature{fill:var(--surface-muted);stroke:var(--text-muted);opacity:.45}.wall-feature-item--muted text,.wall-global-dimensions--muted{opacity:.35}.wall-feature{stroke-width:1}.wall-feature-group:focus .wall-feature,.wall-feature-group--selected .wall-feature{stroke:var(--accent-strong);stroke-width:1.5}.wall-elevation .wall-feature__label{font-size:var(--elevation-feature-label-size, 14px)}.shared-workspace{display:grid;grid-template-columns:minmax(14rem,min(20rem,35%)) minmax(0,1fr);min-height:24rem;gap:.65rem}.shared-details{min-width:0;overflow:auto;padding:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.shared-details h2{margin:0 0 .65rem;font-size:1.1rem}.shared-details h3{margin:.85rem 0 .5rem;font-size:.9rem}.inspection-room-size{font-size:.86rem;line-height:1.5}.inspection-selected{padding:.6rem;margin-block:.75rem;border:1px solid var(--border);border-radius:.45rem;background:var(--surface-muted);overflow-wrap:anywhere}.inspection-selected h3{margin:0 0 .35rem}.inspection-selected p{margin:.35rem 0 0;font-size:.82rem;line-height:1.5}.inspection-targets{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.inspection-target{display:grid;gap:.3rem;width:100%;min-width:0;padding:.6rem;text-align:left;overflow-wrap:anywhere}.inspection-target small{color:var(--text-muted);line-height:1.5}.inspection-target[aria-pressed=true]{border-color:var(--accent-strong);outline:1px solid var(--accent-strong);background:var(--surface-muted)}.inspection-room-targets{margin-block:.85rem}.inspection-room-targets summary{min-height:2.65rem;padding-block:.6rem;cursor:pointer;font-weight:650}.shared-workspace .shared-canvas{display:flex;flex-direction:column;min-width:0}.shared-workspace .shared-canvas .editor-canvas{flex:1;height:auto;min-height:12rem}.shared-scene-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem;border-bottom:1px solid var(--border)}.unavailable-module-muted .missing-model-label{color:var(--text-muted);border-color:var(--border);background:var(--surface-muted);opacity:.55}@media(max-width:60rem){.shared-view-shell{height:auto;min-height:100dvh;grid-template-rows:auto auto auto;overflow:visible}.shared-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}.shared-workspace .shared-canvas{grid-row:1;min-height:24rem;height:60dvh}.shared-details{grid-row:2;overflow:visible}}.scene-label-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7;overflow:hidden}.scene-label-leaders line{stroke:var(--accent-strong);stroke-width:.75;vector-effect:non-scaling-stroke;fill:none}.dimension-overflow-trigger{position:absolute;right:.6rem;bottom:.6rem;z-index:25;max-width:calc(100% - 1.2rem)}.dimension-overflow-list{padding-left:1.1rem}.dimension-overflow-list button{text-align:left;white-space:normal;overflow-wrap:anywhere}.near-cursor-dialog{position:fixed;inset:auto;margin:0;width:min(30rem,calc(100vw - 1rem));max-height:calc(100dvh - 1rem)}.near-cursor-dialog .context-toolbar,.near-cursor-dialog .context-mini-panel,.near-cursor-dialog .context-properties-panel{position:static;inset:auto;width:auto;max-width:none;max-height:none;box-shadow:none;margin-block:.5rem}.near-cursor-dialog .context-toolbar{padding:.35rem 0;border:0;border-radius:0;flex-wrap:wrap}.near-cursor-dialog .context-toolbar__name{display:none}.near-cursor-dialog .tool-icon-button{width:auto;height:auto;min-height:2.65rem;padding:.45rem .6rem;gap:.35rem}.near-cursor-dialog .tool-icon-button[title]:after{content:attr(title);font-size:.82rem}.wall-selection-actions{display:grid;gap:.5rem}.wall-geometry-modal-fields .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-block:.65rem}.modal-disclosure{margin-top:.75rem}.near-cursor-dialog .scene-context-menu{position:static;inset:auto;min-width:0;width:auto;max-width:none;box-shadow:none;border:0;padding:0}:root[data-compact-text] .app-shell{overflow-y:auto;grid-template-rows:auto auto auto auto minmax(24rem,1fr)}:root[data-compact-text] .canvas-panel{grid-template-rows:auto minmax(12rem,1fr)}@media(max-width:48rem){.app-shell{overflow-y:auto;grid-template-rows:auto auto auto auto minmax(24rem,1fr)}.canvas-panel{grid-template-rows:auto minmax(12rem,1fr)}}:root[data-compact-text] .workspace{min-height:24rem}@media(max-width:48rem){.workspace{min-height:24rem}}.app-shell{gap:.35rem;padding:.35rem}.project-title-block{display:flex;align-items:center;gap:.65rem;min-width:0}.project-title-block>.eyebrow{flex:0 0 auto;margin:0;font-size:.65rem;letter-spacing:.06em}.project-title-field{flex:1;min-width:0}.project-title-field input{width:min(100%,24rem);font-size:1.05rem;line-height:1.25;font-weight:650}.app-header .secondary-button,.app-header .theme-select select,.project-toolbar button{min-height:2rem;padding:.25rem .55rem;font-size:.85rem}.project-toolbar{gap:.3rem;padding-block:0}.notice-row{min-height:1.65rem;padding:.25rem .55rem;font-size:.78rem}.stage-step{min-height:2rem;padding:.25rem .55rem;font-size:.85rem}.stage-step span{width:1.35rem;height:1.35rem}.canvas-heading{padding:.3rem .45rem;gap:.4rem;flex-wrap:nowrap;align-items:center}.canvas-heading>div:first-child .eyebrow{display:none}.canvas-tools{flex:1 1 0;justify-content:flex-start;flex-wrap:nowrap;gap:.4rem;overflow-x:auto;scrollbar-width:thin}.canvas-tools>*{flex:0 0 auto}.canvas-heading button,.canvas-heading select{min-height:2rem;padding:.25rem .45rem;font-size:.78rem}.canvas-heading .canvas-view-switch button{min-width:2.5rem}@media(max-width:48rem){.project-title-block{flex-wrap:wrap;gap:.2rem .5rem}.project-title-block>.eyebrow{font-size:.6rem}.project-title-field{flex-basis:10rem}.header-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;width:auto}.canvas-tools{width:auto}}.canvas-tools :focus-visible{outline-offset:-3px}:root[data-compact-text] .project-toolbar{min-height:2.5rem}@media(max-width:48rem){.project-toolbar{min-height:2.5rem}}.scene-loading{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:var(--surface);color:var(--text-muted);pointer-events:none}.missing-model-label--loading{color:var(--ink);background:var(--surface);border-color:var(--border)}.scene-loading-status{position:absolute;z-index:4;top:.5rem;left:.5rem;max-width:calc(100% - 1rem);padding:.35rem .55rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:.8rem;pointer-events:none}.scene-loading-status--error{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;right:.5rem;left:auto;max-width:min(36rem,calc(100% - 1rem));pointer-events:auto}.concept-revision{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;margin-bottom:.5rem;border-block:1px solid var(--border)}.concept-revision>div{display:grid;gap:.2rem;min-width:0}.concept-revision small{color:var(--text-muted);font-size:.75rem}.concept-revision code{color:var(--ink);font-size:.8rem;overflow-wrap:anywhere}.concept-revision span{color:var(--text-muted);font-size:.78rem}.notes-field{display:grid;gap:.4rem}.notes-field textarea{width:100%;min-height:8rem;max-height:45dvh;resize:vertical;padding:.55rem .65rem;border:1px solid var(--border);border-radius:.45rem;background:var(--surface);color:var(--ink);line-height:1.45}.notes-discard{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.project-notes-preview{margin-block:.75rem}.project-notes-preview summary{cursor:pointer;font-weight:600}.project-notes-preview p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.outline-close-point{width:1.8rem;height:1.8rem;padding:0;border:1px solid var(--ink);border-radius:50%;background:var(--surface);color:var(--ink);display:grid;place-items:center;box-shadow:var(--shadow-floating);cursor:pointer}.stage-navigator--advanced{grid-template-columns:repeat(5,minmax(0,1fr))}.workflow-select select{max-width:none}@media(max-width:48rem){.stage-navigator--advanced{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-select>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}.room-inner-summary{display:grid;gap:.1rem;text-align:center;pointer-events:none}.scene-top-overlays{position:absolute;z-index:8;top:.65rem;right:.65rem;left:.65rem;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem;pointer-events:none}.scene-top-overlays>.scene-loading-status{position:static;max-width:100%;flex:1 1 20rem}.scene-top-overlays>.wall-selection-trigger{margin-left:auto;pointer-events:auto}.scene-bottom-overlays{position:absolute;z-index:8;bottom:.65rem;right:.65rem;left:.65rem;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;pointer-events:none}.scene-bottom-overlays>.plan-dimension-summary,.scene-bottom-overlays>.outline-drawing-toolbar,.scene-bottom-overlays>.obstacle-drop-hint{position:static;max-width:100%}.scene-bottom-overlays>.outline-drawing-toolbar{width:100%;pointer-events:auto}.action-message-body{white-space:pre-wrap;overflow-wrap:anywhere}.scene-bottom-overlays>.obstacle-drop-hint{transform:none}.context-help-tooltip{position:fixed;z-index:100;width:min(26rem,calc(100vw - 1rem));max-height:min(30rem,calc(100dvh - 1rem));overflow:auto;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-floating);font-size:.8rem;line-height:1.5}.context-help-tooltip>strong{display:block;margin-bottom:.4rem}.context-help-tooltip .help-content>:last-child{margin-bottom:0}.version-trigger{min-height:1.5rem;padding:.1rem .25rem;font:inherit;letter-spacing:inherit;text-decoration:underline;text-underline-offset:.2em;background:transparent;border-color:transparent}.version-trigger:hover{background:var(--surface-muted);border-color:var(--border)}.release-info-dialog{letter-spacing:normal;font-size:1rem;font-weight:400;line-height:1.5}.release-info-dialog h3{margin-block:1rem .5rem;font-size:1rem}.release-info-dialog h4{margin-bottom:.5rem;font-size:1rem}.release-info-dialog li+li{margin-top:.5rem}.release-info-dialog ul{padding-left:1.3rem;overflow-wrap:anywhere}.release-version-field{display:grid;gap:.35rem}.release-version-field select{width:100%;min-width:0}.release-plan{margin-top:1rem;border-top:1px solid var(--border)}.release-version-field select{min-height:2.4rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:.4rem;color:var(--ink);background:var(--surface)}.auth-screen{display:grid;height:100dvh;overflow:auto;place-items:center;padding:1rem}.auth-card{width:min(36rem,100%);padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.auth-heading{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.auth-heading h1{font-size:1.4rem}.google-login-button{min-height:3rem;margin-block:1rem}.account-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-block:.75rem}.account-tabs [aria-pressed=true]{color:var(--surface);background:var(--ink)}.account-fields{display:grid;gap:.65rem;margin:0;padding:.75rem;border:1px solid var(--border);border-radius:.4rem;min-width:0}.account-field{display:grid;gap:.3rem;margin-block:.4rem}.account-field input,.account-field select{width:100%;min-width:0;min-height:2.4rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:.4rem;background:var(--surface);color:var(--ink)}.account-dialog{overflow-wrap:anywhere}.account-message{padding:.65rem;border:1px solid var(--border);border-radius:.4rem;background:var(--surface-muted)}.authenticated-workspace{width:100%;height:100%}.audit-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-block:.75rem}.audit-heading h3{margin:0}.audit-events{display:grid;gap:.5rem;margin:.75rem 0;padding:0;list-style:none}.audit-entry{border:1px solid var(--border);border-radius:.4rem}.audit-entry summary{display:grid;grid-template-columns:minmax(0,1fr) auto 1rem;align-items:center;gap:.5rem;padding:.65rem;cursor:pointer;list-style:none}.audit-entry summary::-webkit-details-marker{display:none}.audit-entry summary:after{content:"▸";justify-self:end}.audit-entry[open] summary:after{content:"▾"}.audit-entry summary:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.audit-entry summary time{color:var(--text-muted);font-size:.8rem}.audit-target{display:block;margin-top:.2rem;color:var(--text-muted);font-size:.85rem}.audit-entry-body{padding:.65rem;border-top:1px solid var(--border)}.audit-changes{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.85rem}.audit-changes th,.audit-changes td{padding:.45rem;border:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere;white-space:pre-line}.audit-changes thead{background:var(--surface-muted)}@media(max-width:42rem){.audit-entry summary{grid-template-columns:minmax(0,1fr) 1rem}.audit-entry summary time{grid-column:1}.audit-entry summary:after{grid-column:2;grid-row:1 / 3}}.backup-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.75rem;margin-block:1rem}.backup-facts>div{min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.backup-facts dt{color:var(--text-muted);margin-bottom:.35rem}.backup-facts dd{margin:0;overflow-wrap:anywhere}.backup-facts dd+dd{margin-top:.35rem}.backup-history{margin-top:1rem;border-top:1px solid var(--border);padding-top:.75rem}.backup-history summary{cursor:pointer;padding-block:.35rem}.backup-history-entry{display:grid;gap:.3rem;padding:.65rem;border:1px solid var(--border);border-radius:var(--radius)}.backup-health{margin-block:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.backup-health h4{margin:0 0 .5rem}.backup-health p:last-child{margin-bottom:0}.backup-health ul{padding-left:1.25rem}.password-panel{display:grid;gap:.75rem;min-width:0;margin-block:.75rem}.password-panel fieldset{display:grid;gap:.65rem;min-width:0;margin:0;padding:0;border:0}.password-panel .account-field{margin:0}.password-panel .password-hint{margin:0;font-size:.85rem}.password-panel p{overflow-wrap:anywhere}.password-panel details{border-top:1px solid var(--border);padding-top:.75rem}.password-panel summary{cursor:pointer;min-height:2.75rem;display:flex;align-items:center;font-weight:600}.password-panel summary:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.password-panel .checkbox-field{display:flex;align-items:center;gap:.5rem;min-height:2.75rem}.auth-card button,.session-dialog button,.password-panel button,.password-panel .account-field input{min-height:2.75rem}.password-panel .primary-button{color:var(--surface);background:var(--ink)}.password-account{margin:0;overflow-wrap:anywhere}.auth-separator{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);margin-block:.75rem}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:var(--border);flex:1}.auth-footnote{margin-block:1rem 0;font-size:.85rem}.auth-screen{align-items:safe center}.session-dialog{width:min(38rem,calc(100vw - 2rem))}.password-panel .dialog-actions{flex-wrap:wrap}.wall-editor-dialog .wall-feature-tools button{min-height:3.25rem;gap:.15rem;padding:.3rem}.wall-editor-dialog .wall-selected-editor .field-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.wall-editor-dialog .wall-selected-editor .number-field{grid-template-columns:minmax(0,1fr);gap:.25rem;align-content:start}.wall-editor-dialog .wall-selected-editor .number-field input{min-width:0}.wall-elevation-reading{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin:-.5rem 0 .65rem;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.wall-elevation-reading strong{color:var(--ink)}.account-library-actions,.app-header{flex-wrap:wrap}.project-title-block{flex-wrap:wrap;min-width:min(100%,20rem)}.header-actions{max-width:100%;flex-wrap:wrap}.stage-step,.coordinate-action,.account-read-error button{min-height:44px}.outline-drawing-toolbar>span{display:grid;gap:.2rem}.outline-drawing-toolbar>span small{color:var(--text-muted);font-size:.75rem;font-weight:400}
