:root{--font-sans:Arial, Helvetica, sans-serif;--font-serif:Georgia, "Times New Roman", serif;--canvas:#f7f3ea;--surface:#fffdf8;--text:#183028;--muted:#52645d;--primary:#14523b;--primary-pressed:#0f3f2e;--primary-contrast:#fff;--accent:#b7462c;--border:#d6d7cc;--progress-track:#dbe1d9;--danger:#8b2f27;--danger-surface:#f9e8e3;--danger-text:#702820;--danger-contrast:#fffdf8;--selected-surface:#edf1e8;--focus:#1769aa;--radius-control:11px;--radius-panel:16px;--tap-target:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);color:var(--text);background:var(--canvas)}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{min-width:320px;min-height:100svh;color:var(--text);background:var(--canvas);margin:0;font-size:1rem;line-height:1.45}button,input,select,textarea{color:inherit;font:inherit;font-size:1rem}button,summary,a{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:wait;opacity:.62}a{color:var(--primary)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100svh}.app-content{width:min(100%,980px);min-height:100svh;padding:28px 16px calc(7rem + env(safe-area-inset-bottom));margin-inline:auto}.home-page>h1,.section-page>h1,.all-items-page>h1,.budget-page>h1,.item-editor h1,.settings-page>h1,.deferred-page h1,.missing-state h1,.error-state h1{font-family:var(--font-serif);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,9vw,2.7rem);font-weight:700;line-height:1.08}.home-page>h1,.all-items-page>h1,.budget-page>h1{margin-bottom:18px}.summary-strip{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);padding:17px 15px 15px;container:home-summary/inline-size}.documentation-card{border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:var(--radius-panel);color:var(--text);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-top:16px;padding:17px 16px;text-decoration:none;display:flex}.documentation-card strong{overflow-wrap:anywhere;min-width:0;font-size:1.08rem}.documentation-card span{min-width:0;color:var(--muted);text-align:right;font-weight:700}.documentation-card:hover{border-color:var(--primary)}.house-card{border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:var(--radius-panel);color:var(--text);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-top:16px;padding:17px 16px;text-decoration:none;display:flex}.house-card strong{overflow-wrap:anywhere;min-width:0;font-size:1.08rem}.house-card span{min-width:0;color:var(--muted);text-align:right;font-weight:700}.house-card:hover{border-color:var(--primary)}.house-page{gap:20px;min-width:0;display:grid}.house-heading{font-family:var(--font-serif);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,9vw,2.7rem);font-weight:700;line-height:1.08}.house-warning{border:1px solid var(--border);border-left:5px solid var(--accent);border-radius:var(--radius-control);color:var(--muted);background:var(--surface);margin:0;padding:12px 14px}.house-floor-controls{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;margin:0;display:grid}.house-floor-controls button,.house-viewer-actions button,.house-room-list button{min-width:var(--tap-target);min-height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text);background:var(--surface);text-align:left;padding:9px 12px;font-weight:700}.house-floor-controls button{text-align:center;padding-inline:8px}.house-floor-controls button[aria-pressed=true],.house-room-list button[aria-pressed=true]{border-color:var(--primary);color:var(--primary);background:var(--selected-surface)}.house-view-layout{gap:20px;min-width:0;display:grid}.house-viewer{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;min-height:clamp(320px,58vw,620px);padding:16px;display:grid;overflow:hidden}.house-viewer-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;min-width:0;display:grid}.house-viewer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;display:flex}.house-fullscreen-room-picker{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;font-weight:700;display:grid}.house-fullscreen-room-picker select{width:100%;min-height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);padding:8px 10px}.house-viewer h2,.house-room-floor h2{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:1.35rem;line-height:1.2}.house-viewer-stage,.house-viewer-stage>div{min-width:0;height:100%;min-height:0}.house-viewer-stage{overflow:hidden}.house-viewer canvas{touch-action:none;min-height:0;display:block;width:100%!important;height:100%!important}.house-viewer[data-fullscreen=true]{z-index:1000;box-sizing:border-box;width:100vw;height:100dvh;min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));overscroll-behavior:none;background:var(--surface);border:0;border-radius:0;margin:0;position:fixed;inset:0}html.house-fullscreen-active{overflow:hidden}.house-plan{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--canvas);align-content:start;gap:10px;min-width:0;min-height:0;padding:10px;display:grid;overflow:auto}.house-plan-2d-floor{aspect-ratio:12/8;width:100%;min-height:220px;display:block;overflow:visible}.house-plan-2d-boundary{fill:var(--house-plan-floor-fill,#f7f2e8);stroke:var(--house-plan-outline,#244437);stroke-width:1.5px;vector-effect:non-scaling-stroke}.house-plan-2d-boundary[data-selected=true]{stroke:var(--house-plan-room-selected,#c97958)}.house-plan-2d-room{fill:var(--house-plan-room-sage,#dce6d5);stroke:var(--house-plan-room-outline,#315847);stroke-width:1.25px;vector-effect:non-scaling-stroke;cursor:pointer}.house-plan-2d-room:nth-of-type(2n){fill:var(--house-plan-room-sand,#eadbc2)}.house-plan-2d-room[data-selected=true]{fill:var(--house-plan-room-selected,#c97958);stroke:var(--house-plan-room-selected-outline,#173b2d);stroke-width:2px;vector-effect:non-scaling-stroke}.house-plan-2d-wall{fill:var(--house-plan-wall-fill,#f4f0e8);stroke:var(--house-plan-wall-outline,#244437);stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.house-plan-2d-wall[data-selected=true]{fill:var(--house-plan-room-selected,#c97958);stroke:var(--house-plan-room-selected-outline,#173b2d)}.house-plan-2d-stair{fill:var(--house-plan-stair-fill,#59645f);stroke:var(--house-plan-stair-outline,#244437);stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.house-plan-2d-stair[data-selected=true]{fill:var(--house-plan-room-selected,#c97958);stroke:var(--house-plan-room-selected-outline,#173b2d)}.house-plan-2d-opening{stroke:var(--house-plan-opening,#b86447);stroke-width:1.75px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.house-plan-2d-opening-assumed{stroke-dasharray:.08 .06;stroke:var(--house-plan-assumed,#8b735d)}.house-plan-2d-stair-direction{fill:var(--house-plan-stair-outline,#244437);stroke:var(--house-plan-stair-outline,#244437);stroke-width:.06px;vector-effect:non-scaling-stroke;pointer-events:none}.house-plan-2d-stair-direction text{stroke:none;font-size:.3px}.house-plan-2d-feature-hit{fill:#0000;stroke:var(--house-plan-stair-outline,#244437);stroke-width:1.5px;vector-effect:non-scaling-stroke;cursor:pointer}.house-plan-2d-feature-hit.house-plan-2d-selection-marker{fill:#b8644738;stroke:var(--house-plan-assumed,#8b735d);stroke-dasharray:.08 .06}.house-plan-2d-feature-hit[data-selected=true]{fill:var(--house-plan-room-selected,#c97958);stroke:var(--house-plan-room-selected-outline,#173b2d);stroke-width:2px;vector-effect:non-scaling-stroke}.house-plan-2d-label,.house-plan-2d-floor-label{fill:var(--house-plan-label,var(--text));font-family:var(--font-sans);letter-spacing:.01px;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.2px;font-weight:700}.house-plan-2d-floor-label{font-family:var(--font-serif);font-size:.24px}.house-page{--house-plan-floor-fill:#f7f2e8;--house-plan-outline:#244437;--house-plan-room-sage:#dce6d5;--house-plan-room-sand:#eadbc2;--house-plan-room-outline:#315847;--house-plan-room-selected:#c97958;--house-plan-room-selected-outline:#173b2d;--house-plan-wall-fill:#f4f0e8;--house-plan-wall-outline:#244437;--house-plan-stair-fill:#59645f;--house-plan-stair-outline:#244437;--house-plan-opening:#b86447;--house-plan-label:var(--text)}.house-room-groups{gap:16px;min-width:0;display:grid}.house-room-floor{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);min-width:0;overflow:hidden}.house-room-floor h2{border-bottom:1px solid var(--border);padding:14px 16px}.house-room-floor ul{gap:8px;margin:0;padding:10px;list-style:none;display:grid}.house-room-floor li{min-width:0}.house-room-list button{gap:3px;width:100%;display:grid}.house-room-list button span:last-child{color:var(--muted);font-size:.85rem;font-weight:400}.house-room-list button[aria-pressed=true] span:last-child{color:inherit}.house-selection-summary{border:1px solid var(--border);border-radius:var(--radius-panel);min-width:0;color:var(--muted);background:var(--surface);margin:0;padding:14px 16px}.house-page{--house-stage:#13231d;--house-stage-raised:#1b3028;--house-stage-border:#536a60;--house-stage-text:#f6f0e4;--house-stage-muted:#bfcbc5;--house-selection:#d18460;--house-plan-floor-fill:#20352d;--house-plan-outline:#b8d2c4;--house-plan-room-sage:#385448;--house-plan-room-sand:#594f3e;--house-plan-room-outline:#c8d8cf;--house-plan-room-selected:#c97855;--house-plan-room-selected-outline:#fff7e8;--house-plan-wall-fill:#f2eadb;--house-plan-wall-outline:#30473d;--house-plan-stair-fill:#71817a;--house-plan-stair-outline:#d2ded7;--house-plan-opening:#f0aa88;--house-plan-label:#fff8eb}.house-view-layout{align-items:start}.house-viewer{border-color:var(--house-stage-border);min-height:clamp(430px,68vw,720px);color:var(--house-stage-text);background:var(--house-stage);grid-template-rows:auto minmax(0,1fr);padding:14px;box-shadow:0 18px 44px #12231d2e}.house-viewer-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 12px}.house-viewer-title{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.house-viewer-title h2{color:var(--house-stage-text)}.house-selected-badge,.house-inspector-kicker,.house-confidence-chip{border-radius:999px;width:fit-content;font-size:.74rem;font-weight:750;line-height:1.2}.house-selected-badge{overflow-wrap:anywhere;color:#fff8ed;background:#824a36;max-width:100%;padding:5px 9px}.house-viewer button,.house-viewer select,.house-explore button{min-width:var(--tap-target);min-height:var(--tap-target);border:1px solid var(--house-stage-border);border-radius:var(--radius-control);color:var(--house-stage-text);background:var(--house-stage-raised);font:inherit;padding:8px 10px;font-weight:700}.house-viewer button{cursor:pointer}.house-viewer button:disabled{cursor:not-allowed;opacity:.5}.house-viewer button[aria-pressed=true],.house-explore button[aria-pressed=true],.house-explore-tabs button[aria-selected=true]{color:#fff8ed;background:#794735;border-color:#ecb294}.house-viewer-actions button{text-align:center}.house-fullscreen-room-picker{color:var(--house-stage-text)}.house-fullscreen-room-picker select{color:var(--house-stage-text);background:var(--house-stage-raised)}.house-floor-controls,.house-view-controls,.house-preset-controls,.house-camera-actions{gap:7px;min-width:0;display:grid}.house-floor-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.house-view-controls{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.house-camera-controls{grid-column:1/-1;gap:8px;min-width:0;display:grid}.house-preset-controls{grid-template-columns:repeat(6,minmax(0,1fr))}.house-camera-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.house-floor-controls button,.house-view-controls button,.house-preset-controls button,.house-camera-actions button{overflow-wrap:anywhere;text-align:center;min-width:0;padding-inline:7px}.house-view-availability,.house-move-help{color:var(--house-stage-muted);grid-column:1/-1;margin:0;font-size:.86rem}.house-view-availability{border-left:3px solid var(--house-selection);background:#ffffff0d;padding:8px 10px}.house-viewer-workspace{grid-template-rows:minmax(300px,1fr) auto;gap:12px;min-width:0;min-height:0;display:grid}.house-viewer-stage{border:1px solid var(--house-stage-border);background:#0f1d18;border-radius:14px;min-height:300px}.house-viewer-stage[data-navigation-enabled=false] canvas{touch-action:pan-y!important}.house-viewer-stage[data-navigation-enabled=true] canvas{touch-action:none!important}.house-plan{border-color:var(--house-stage-border);background:#0f1d18}.house-inspector{border:1px solid var(--house-stage-border);min-width:0;color:var(--house-stage-text);background:var(--house-stage-raised);border-radius:14px;align-content:start;gap:12px;padding:14px;display:grid}.house-inspector-heading{gap:10px;display:grid}.house-inspector-heading>div:first-child{min-width:0}.house-inspector-kicker{color:#efb89b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;display:block}.house-inspector h3{overflow-wrap:anywhere;font-family:var(--font-serif);margin:0;font-size:1.35rem;line-height:1.15}.house-inspector-heading p,.house-inspector-status{color:var(--house-stage-muted);margin:4px 0 0;font-size:.84rem}.house-unit-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.house-inspector-facts{border-top:1px solid var(--house-stage-border);margin:0;display:grid}.house-inspector-facts>div{border-bottom:1px solid var(--house-stage-border);grid-template-columns:minmax(7.5rem,.8fr) minmax(0,1fr);gap:10px;padding:10px 0;display:grid}.house-inspector-facts dt{color:var(--house-stage-muted);font-size:.82rem}.house-inspector-facts dd{overflow-wrap:anywhere;justify-items:start;gap:5px;min-width:0;margin:0;font-weight:750;display:grid}.house-confidence-chip{color:#d8e5de;background:#2c463b;padding:4px 7px}.house-confidence-chip[data-confidence=assumed-from-photo]{color:#ffe2cf;background:#6d4333}.house-confidence-chip[data-confidence=presentation-only]{color:#d2d9d5;background:#374940}.house-conversion-note{color:var(--house-stage-muted);font-size:.78rem;font-weight:650}.house-inspector-notes{color:var(--house-stage-muted);gap:6px;margin:0;padding-left:18px;font-size:.8rem;display:grid}.house-copy-measurements{width:100%}.house-explore{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);gap:12px;min-width:0;padding:14px;display:grid}.house-explore-heading{gap:10px;display:grid}.house-explore-heading span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:750}.house-explore-heading h2{font-family:var(--font-serif);margin:2px 0 0;font-size:1.5rem}.house-explore-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.house-explore-tabs button,.house-room-list button,.house-structure-list button{text-align:left;min-width:0}.house-explore-tabs button{border-color:var(--border);color:var(--text);background:var(--canvas);text-align:center}.house-room-list,.house-structure-list{grid-template-columns:minmax(0,1fr);gap:12px}.house-room-list .house-room-floor,.house-structure-list .house-room-floor{border-radius:12px}.house-room-list button,.house-structure-list button{color:var(--text);background:var(--canvas)}.house-structure-list button{gap:3px;width:100%;display:grid}.house-structure-list button span:last-child{color:var(--muted);font-size:.82rem;font-weight:400}.house-structure-list button[aria-pressed=true] span:last-child{color:inherit}.house-viewer[data-fullscreen=true]{color:var(--house-stage-text);background:var(--house-stage);overflow:auto}.house-viewer[data-fullscreen=true] .house-viewer-workspace{min-height:0}.documentation-page{gap:20px;display:grid}.documentation-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.documentation-heading h1,.document-editor h2,.document-category h2,.empty-state h2{font-family:var(--font-serif);letter-spacing:-.03em;margin:0}.documentation-heading h1{font-size:clamp(2rem,9vw,2.7rem);line-height:1.08}.documentation-heading p,.document-editor-heading p,.document-record-copy p,.field-help{color:var(--muted);margin:0}.documentation-heading p{max-width:55ch;margin-top:8px}.documentation-heading .primary-button{flex:none}.document-editor,.document-category,.document-record-card{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface)}.document-editor{padding:18px}.document-editor-heading{margin-bottom:18px}.document-editor-heading h2{font-size:1.45rem}.document-editor-heading p{margin-top:6px}.document-editor form{gap:8px;display:grid}.document-editor .field-label{color:var(--text);margin-top:8px;font-weight:700}.document-editor input,.document-editor select,.document-editor textarea{width:100%;min-height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--canvas);padding:10px 12px}.document-editor textarea{resize:vertical;min-height:92px}.field-help{font-size:.9rem}.document-groups{gap:16px;display:grid}.document-category{overflow:clip}.document-category>h2{border-bottom:1px solid var(--border);padding:14px 16px;font-size:1.2rem}.document-record-list{gap:10px;padding:10px;display:grid}.document-record-card{border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px;display:grid}.document-record-copy{min-width:0}.document-record-copy h3{margin:0 0 6px;font-size:1.05rem}.document-category-badge{color:var(--primary);background:var(--selected-surface);border-radius:99px;margin-bottom:8px;padding:3px 8px;font-size:.78rem;font-weight:700;line-height:1.25;display:inline-flex}.document-record-copy p+p{margin-top:4px}.document-record-actions{flex-wrap:wrap;place-content:start end;gap:6px;display:flex}.document-record-actions .reorder-controls{gap:4px;display:flex}.document-record-actions .reorder-controls button{min-height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--canvas);padding:6px 9px}@media (max-width:580px){.documentation-heading{display:grid}.documentation-heading .primary-button{width:100%}.document-record-card{grid-template-columns:1fr}.document-record-actions{justify-content:start}}.summary-label,.summary-progress,.money-summary,.item-row-content p,.row-error{margin:0}.summary-label{font-size:.95rem}.summary-progress{letter-spacing:-.02em;margin-top:5px;font-size:1.35rem;font-weight:750}.progress-track,.section-progress{background:var(--progress-track);display:block;overflow:hidden}.progress-track{border-radius:99px;height:12px;margin-top:12px}.progress-track>span,.section-progress>span{border-radius:inherit;background:var(--primary);height:100%;display:block}.money-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px;display:grid}.money-summary>div{text-align:center;min-width:0;padding-inline:8px}.money-summary>div+div{border-left:1px solid var(--border)}.money-summary dt{font-size:.82rem}.money-summary dd{font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:clamp(.98rem,4.2vw,1.2rem);font-weight:700}.money-summary .spent-value{color:var(--accent)}.sections-area{margin-top:16px}.sections-heading{margin-bottom:12px}.sections-heading .add-section-button{width:100%}.add-section-button,.primary-button,.secondary-button,.inline-actions button,.inline-error button,.row-error button,.undo-message button,.error-state button,.missing-state a{min-height:var(--tap-target);border-radius:var(--radius-control);padding:9px 15px;font-weight:700}.add-section-button,.secondary-button,.inline-actions button,.inline-error button,.row-error button,.undo-message button,.error-state button,.missing-state a{border:1px solid var(--primary);color:var(--primary);background:var(--surface)}.add-section-button,.primary-button,.secondary-button,.inline-actions,.undo-message,.back-link,.saved-message,.item-row-content a{justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary-button{border:1px solid var(--primary);color:var(--primary-contrast);background:var(--primary)}.primary-button:active{background:var(--primary-pressed)}.section-grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.section-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.section-card-link{min-height:79px;color:var(--text);grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;padding:12px 11px 11px 13px;text-decoration:none;display:grid}.section-card-main,.section-card-money{min-width:0;display:grid}.section-card-main strong{overflow-wrap:anywhere;font-size:1.04rem}.section-card-main>span:not(.section-progress),.section-card-money{color:var(--muted);font-size:.82rem}.section-progress{border-radius:99px;width:min(100%,172px);height:6px;margin-top:7px}.section-card-money{text-align:right;font-variant-numeric:tabular-nums;gap:8px}.section-card-money>span:first-child{color:var(--text)}.section-card-money>span:last-child{color:var(--accent)}.section-manage{border-top:1px solid var(--border)}.section-manage summary{min-height:var(--tap-target);color:var(--muted);padding:11px 13px;font-size:.86rem;font-weight:700;list-style-position:inside}.section-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 10px 10px;display:grid}.section-card-actions button,.reorder-controls button,.icon-button{min-height:var(--tap-target);border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:9px}.section-card-actions button,.icon-button{justify-content:center;align-items:center;gap:6px;padding:8px;display:inline-flex}.section-form{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);gap:8px;margin-bottom:12px;padding:13px;display:grid}.section-form label,.field>span:first-child,.field>label{font-size:.9rem;font-weight:700}.section-form input,.quick-add input,.field input,.field select,.field textarea{width:100%;min-height:var(--tap-target);border-radius:var(--radius-control);background:var(--surface);border:1px solid #9da59d;padding:10px 12px}.inline-actions{justify-content:flex-start}.inline-error,.undo-message,.saved-message{border-radius:var(--radius-control);margin-block:12px;padding:11px 13px}.inline-error{border-left:4px solid var(--danger);color:var(--danger-text);background:var(--danger-surface)}.inline-error p{margin:0 0 8px}.undo-message,.saved-message{border:1px solid var(--border);background:var(--surface);justify-content:space-between}.empty-state,.page-state{border:1px solid var(--border);border-radius:var(--radius-panel);text-align:center;background:var(--surface);padding:26px 18px}.empty-state h2,.empty-state h3,.page-state h1,.page-state p{margin-top:0}.loading-state{place-content:center;min-height:220px;display:grid}.loading-block{background:var(--progress-track);border-radius:99px;width:56px;height:8px;margin:0 auto 16px}.bottom-nav{z-index:20;width:min(100%,980px);padding:7px 5px calc(7px + env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--surface);border-bottom:0;border-radius:16px 16px 0 0;grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:0;min-height:54px;color:var(--muted);text-align:center;border-radius:9px;align-content:center;place-items:center;gap:2px;font-size:.72rem;line-height:1.15;text-decoration:none;display:grid}.bottom-nav a[aria-current=page]{color:var(--primary);font-weight:750}.app-content:has(.item-editor){padding-bottom:28px}.app-content:has(.item-editor)+.bottom-nav{display:none}.offline-banner{z-index:40;width:min(100%,980px);min-height:calc(var(--tap-target) + env(safe-area-inset-top));padding:calc(9px + env(safe-area-inset-top)) 16px 9px;color:var(--danger-contrast);background:var(--danger);text-align:center;place-items:center;margin-inline:auto;font-size:.9rem;font-weight:750;display:grid;position:sticky;top:0}.settings-page>h1{margin-bottom:18px}.settings-controls{gap:14px;display:grid}.settings-card,.settings-install-card{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);padding:17px 16px}.settings-install-card{margin-top:14px}.settings-install-card .install-help{border:0;padding:0}.settings-card-heading{align-items:flex-start;gap:10px;display:flex}.settings-card-heading>svg{width:22px;height:22px;color:var(--primary);stroke-width:1.9px;flex:none;margin-top:2px}.settings-card-heading h2{font-family:var(--font-serif);margin:0;font-size:1.35rem;line-height:1.2}.settings-muted,.settings-status-copy p,.settings-footer{color:var(--muted)}.settings-muted,.settings-status-copy,.settings-card>p{margin:10px 0 0}.settings-status-copy{gap:7px;display:grid}.settings-status-copy p{margin:0}.settings-alert,.settings-success{border-radius:var(--radius-control);margin:12px 0 0;padding:10px 12px}.settings-alert{border-left:4px solid var(--danger);color:var(--danger-text);background:var(--danger-surface)}.settings-success{border-left:4px solid var(--primary);background:var(--selected-surface)}.settings-form{gap:12px;margin-top:14px;display:grid}.settings-form label{gap:6px;font-weight:700;display:grid}.settings-form input{width:100%;min-height:var(--tap-target);border-radius:var(--radius-control);background:var(--surface);border:1px solid #9da59d;padding:10px 12px}.settings-action,.settings-restore-button,.settings-retry-button{min-height:var(--tap-target);border-radius:var(--radius-control);font-weight:700}.settings-retry-button{min-height:var(--tap-target);border:1px solid var(--danger);border-radius:var(--radius-control);color:var(--danger);background:var(--surface);margin-top:8px;padding:8px 12px;font-weight:700}.settings-alert>p{margin:0}.settings-action{width:100%;margin-top:14px;padding:9px 15px}.settings-bin-list{border:1px solid var(--border);border-radius:var(--radius-control);gap:0;margin:14px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.settings-bin-list li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:10px;display:grid}.settings-bin-list li+li{border-top:1px solid var(--border)}.settings-bin-list li>div{gap:2px;min-width:0;display:grid}.settings-bin-list li strong{overflow-wrap:anywhere}.settings-bin-list li span{color:var(--muted);font-size:.82rem}.settings-restore-button{border:1px solid var(--primary);color:var(--primary);background:var(--surface);justify-content:center;align-items:center;gap:6px;padding:8px 11px;display:inline-flex}.settings-row-alert{grid-column:1/-1;width:100%;margin-top:0}.settings-footer{text-align:center;padding:20px 4px 4px;font-size:.88rem}.settings-footer p{margin:5px 0}.install-help{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);padding:17px 16px}.install-help header{align-items:flex-start;gap:10px;display:flex}.install-help header svg{color:var(--primary);flex:none;margin-top:2px}.install-help h2{font-family:var(--font-serif);margin:0;font-size:1.35rem;line-height:1.2}.install-help ol{gap:10px;margin:16px 0 0;padding-left:24px;display:grid}.install-help li{padding-left:3px}.back-link{width:fit-content;min-height:var(--tap-target);color:var(--text);margin:-7px 0 8px;text-decoration:none}.back-link svg{width:21px}.section-page>h1{overflow-wrap:anywhere;margin-bottom:16px}.quick-add{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);gap:8px;padding:13px;display:grid}.quick-add h2{margin:0;font-size:1.03rem}.quick-add>label{font-weight:700}.quick-add-actions{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.type-toggle{border:1px solid var(--border);border-radius:var(--radius-control);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;padding:0;display:grid}.type-toggle label{min-width:0;min-height:var(--tap-target);overflow-wrap:anywhere;justify-content:center;align-items:center;gap:6px;padding:8px;display:flex;position:relative}.type-toggle label+label{border-left:1px solid var(--border)}.type-toggle input{opacity:0;position:absolute}.type-toggle-option:has(input:focus-visible){z-index:1;outline:3px solid var(--focus);outline-offset:2px}.type-toggle label:has(input:checked){background:var(--selected-surface)}.section-count{color:var(--muted);justify-content:space-between;gap:12px;margin:13px 0 8px;font-size:.9rem;display:flex}.section-count strong{color:var(--text)}.item-list{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden;container-type:inline-size}.item-row{grid-template-columns:minmax(44px,auto) minmax(72px,1fr) auto auto;align-items:center;gap:8px;min-height:86px;padding:9px;display:grid}.item-row+.item-row{border-top:1px solid var(--border)}.item-row.is-complete .item-row-content>strong,.item-row.is-complete .item-row-content>p{text-decoration:line-through;text-decoration-thickness:1px}.row-checkbox-target{width:var(--tap-target);min-height:var(--tap-target);place-items:center;margin:0 auto;display:grid}.row-checkbox{width:26px;height:26px;accent-color:var(--primary);margin:0}.row-status-select{width:max(78px,7.2em);min-height:var(--tap-target);border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px;font-size:.82rem}.item-row-content{min-width:0}.item-row-content>strong{overflow-wrap:anywhere;font-size:1.02rem;display:block}.item-row-content p,.item-row-content a{color:var(--muted);font-size:.8rem}.row-error{color:var(--danger);justify-items:start;gap:6px;margin-top:7px;display:grid}.row-error p{margin:0}.item-row-content a{width:fit-content;min-height:var(--tap-target);justify-content:flex-start;margin-top:3px}.reorder-controls{gap:4px;display:grid}.reorder-controls button{min-height:var(--tap-target);align-items:center;gap:3px;padding:5px 7px;font-size:.76rem;display:flex}.row-actions{gap:4px;display:grid}.row-actions .icon-button{width:var(--tap-target);min-width:var(--tap-target);padding:0}.row-actions .icon-button span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.danger-button{color:var(--danger)}.item-editor{background:var(--canvas);min-height:calc(100svh - 132px);padding:2px 0 16px;container:item-editor/inline-size}.editor-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.editor-heading .icon-button{width:var(--tap-target);min-width:var(--tap-target)}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px;display:grid}.field,.check-field{min-width:0}.field{align-content:start;gap:6px;display:grid}.field-wide{grid-column:1/-1}.field textarea{resize:vertical;min-height:112px}.check-field{min-height:var(--tap-target);align-self:end;align-items:center;gap:10px;font-weight:700;display:flex}.check-field input{width:24px;height:24px;accent-color:var(--primary)}.money-input{min-height:var(--tap-target);border-radius:var(--radius-control);background:var(--surface);border:1px solid #9da59d;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.money-input>span{padding-left:11px}.money-input input{background:0 0;border:0;min-width:0}.editor-actions{gap:10px;margin-top:18px;display:grid}.saved-message{color:var(--primary);justify-content:flex-start}.deferred-page{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:55svh;padding:26px 18px;display:grid}.deferred-page p{max-width:34rem;color:var(--muted);margin:0}.all-items-page{container:all-items/inline-size}.item-filter-area{margin-bottom:0}.item-search-field{gap:6px;font-weight:700;display:grid}.search-input-wrap{border-radius:var(--radius-control);background:var(--surface);border:1px solid #9da59d;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:54px;display:grid}.search-input-wrap>svg{color:var(--muted);margin-left:14px}.search-input-wrap input{border-radius:inherit;background:0 0;border:0;width:100%;min-width:0;min-height:52px;padding:11px 14px 11px 10px}.filter-heading-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:16px;display:flex;position:relative}.filter-disclosure summary,.clear-filters{min-height:var(--tap-target)}.filter-disclosure summary{border-radius:var(--radius-control);background:var(--surface);border:1px solid #a9afa7;align-items:center;gap:8px;padding:9px 12px;font-weight:700;list-style:none;display:inline-flex}.filter-disclosure summary::-webkit-details-marker{display:none}.filter-disclosure[open] .filter-chevron{transform:rotate(180deg)}.filter-chevron{transition:transform .16s}.filter-fields{z-index:10;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);gap:10px;width:min(350px,100vw - 32px);margin:0;padding:14px;display:grid;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 12px 30px #1f312829}.filter-fields label{gap:5px;font-size:.9rem;font-weight:700;display:grid}.filter-fields select,.item-sort-field select{min-height:var(--tap-target);border-radius:var(--radius-control);background:var(--surface);border:1px solid #9da59d;padding:8px 34px 8px 10px}.clear-filters{color:var(--primary);background:0 0;border:0;padding:8px 0 8px 12px;font-weight:700}.active-filters{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.active-filters button{min-height:var(--tap-target);background:var(--selected-surface);border:1px solid #a7bba8;border-radius:10px;align-items:center;gap:8px;padding:8px 11px;display:inline-flex}.item-sort-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:62px;margin-top:14px;display:flex}.item-result-count{white-space:nowrap;margin:0;font-weight:700}.item-sort-field{align-items:center;gap:8px;display:flex}.item-sort-field>span{white-space:nowrap}.item-sort-field select{width:min(48vw,220px)}.all-items-results,.spending-list,.budget-item-list{margin:0;padding:0;list-style:none}.all-items-results{border:1px solid var(--border);border-radius:0 0 var(--radius-control) var(--radius-control);background:var(--surface);border-top:0;overflow:hidden}.all-items-results>li{grid-template-columns:minmax(0, 1fr) minmax(86px, auto) var(--tap-target);align-items:center;gap:9px;min-height:74px;padding:9px 9px 9px 13px;display:grid}.all-items-results>li+li,.budget-item-list>li+li{border-top:1px solid var(--border)}.all-item-main{min-width:0;display:grid}.all-item-main strong{overflow-wrap:anywhere;font-size:1.02rem}.all-item-main span,.all-item-value{color:var(--muted);font-size:.82rem}.all-item-value{text-align:right;font-variant-numeric:tabular-nums;max-width:112px}.all-item-value:not(.missing-value){color:var(--text)}.all-item-open{width:var(--tap-target);min-width:var(--tap-target);min-height:var(--tap-target);border:1px solid var(--border);background:var(--surface);border-radius:9px;place-items:center;display:grid}.filtered-empty{margin-top:12px}.missing-edit{margin-top:18px}.budget-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.budget-summary>div{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);min-width:0;padding:14px 12px}.budget-summary dt{font-size:.82rem}.budget-summary dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;max-width:100%;margin:5px 0 0;font-size:clamp(1.03rem,5vw,1.4rem);font-weight:700}.budget-summary .budget-spent-value{color:var(--accent)}.budget-content-grid{gap:20px;margin-top:20px;display:grid}.budget-section h2{font-family:var(--font-serif);margin:0 0 9px;font-size:1.35rem;line-height:1.2}.spending-list{gap:12px;display:grid}.spending-list>li{grid-template-columns:minmax(86px,.8fr) minmax(80px,1.5fr) auto;align-items:center;gap:10px;display:grid}.spending-section-name,.spending-value{font-size:.9rem}.spending-bar{background:var(--progress-track);border-radius:99px;height:12px;display:block;overflow:hidden}.spending-bar>span{border-radius:inherit;background:var(--primary);min-width:0;height:100%;display:block}.spending-value{text-align:right;font-variant-numeric:tabular-nums;min-width:86px}.budget-note{color:var(--muted);margin:10px 0 0;font-size:.82rem}.budget-item-list{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);overflow:hidden}.budget-item-list>li{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:52px;padding:4px 5px 4px 10px;display:grid}.budget-item-list>li>div{min-width:0;display:grid}.budget-item-list strong{overflow-wrap:anywhere;font-size:.93rem}.budget-item-list div>span{color:var(--muted);font-size:.78rem}.remaining-price{font-variant-numeric:tabular-nums;font-size:.9rem}.budget-item-list a{min-width:var(--tap-target);min-height:var(--tap-target);color:var(--primary);justify-content:center;align-items:center;gap:5px;padding-inline:7px;font-size:.82rem;text-decoration:none;display:inline-flex}.positive-empty{border:1px solid var(--border);border-radius:var(--radius-control);color:var(--muted);background:var(--surface);margin:0;padding:14px}.session-recovery-backdrop{z-index:100;background:0 0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.session-recovery-dialog{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);width:min(100%,430px);max-height:calc(100svh - 40px);padding:22px;overflow:auto;box-shadow:0 18px 60px #101b124d}.session-recovery-dialog::backdrop{background:#181f1994}.session-recovery-dialog h2{font-family:var(--font-serif);margin:0 0 8px;font-size:1.8rem}.session-recovery-dialog>p{color:var(--muted);margin:0 0 18px}.session-recovery-dialog .access-form,.session-recovery-dialog .access-field{display:grid}.session-recovery-dialog .access-form{gap:16px}.session-recovery-dialog .access-field{gap:7px}.session-recovery-dialog .access-field label{font-weight:700}.session-recovery-dialog .access-field input,.session-recovery-dialog .access-form button{min-height:var(--tap-target);border-radius:var(--radius-control);font:inherit;font-size:1rem}.session-recovery-dialog .access-field input{background:var(--surface);border:1px solid #9da59d;width:100%;padding:10px 12px}.session-recovery-dialog .access-form button{border:1px solid var(--primary);color:var(--surface);background:var(--primary);padding:10px 16px;font-weight:750}.session-recovery-dialog .access-help,.session-recovery-dialog .access-error{margin:0}.session-recovery-dialog .access-help{color:var(--muted);font-size:.9rem}.session-recovery-dialog .access-error{border-left:4px solid var(--danger);border-radius:var(--radius-control);color:var(--danger-text);background:var(--danger-surface);padding:11px 13px}@media (min-width:700px){.app-content{padding-top:42px;padding-inline:24px}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-editor{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);width:min(100%,760px);min-height:auto;margin-inline:auto;padding:24px}.budget-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.budget-content-grid>:last-child{grid-column:1/-1}}@media (min-width:720px){.house-inspector-heading{align-items:start}}@media (min-width:900px){.house-view-layout{grid-template-columns:minmax(0,3fr) minmax(245px,1fr);align-items:start}.house-viewer-workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(230px,.52fr)}.house-viewer-stage{min-height:500px}.house-inspector{max-height:100%;overflow:auto}}@media (max-width:480px){.house-viewer-toolbar{grid-template-columns:minmax(0,1fr)}.house-viewer-actions{justify-content:stretch}.house-viewer-actions button{text-align:center;flex:9rem}.house-preset-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.house-camera-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.house-viewer{min-height:0;padding:10px}.house-viewer-workspace{grid-template-rows:minmax(280px,52svh) auto}.house-viewer-stage{min-height:280px}.budget-summary-wide-values{grid-template-columns:minmax(0,1fr)}.budget-summary-wide-values>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;display:grid}.budget-summary-wide-values dd{text-align:right;margin-top:0}}@media (max-width:359px){.house-inspector-facts>div{grid-template-columns:minmax(0,1fr);gap:4px}.house-floor-controls,.house-preset-controls,.house-fullscreen-room-picker{grid-template-columns:minmax(0,1fr)}.money-summary dt{font-size:.74rem}.quick-add-actions,.editor-grid{grid-template-columns:minmax(0,1fr)}.field-wide{grid-column:auto}.item-row{grid-template-columns:44px minmax(0,1fr) auto}.row-actions{grid-column:3}.reorder-controls{grid-area:2/2/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.item-sort-row{flex-direction:column;align-items:flex-start;padding-block:9px}.item-sort-field{justify-content:space-between;width:100%}.item-sort-field select{width:min(66vw,220px)}.all-items-results>li{grid-template-columns:minmax(0, 1fr) minmax(76px, auto) var(--tap-target);padding-left:10px}.budget-summary{grid-template-columns:minmax(0,1fr);gap:7px}.budget-summary>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:10px 12px;display:grid}.budget-summary dt{font-size:.82rem}.budget-summary dd{text-align:right;margin-top:0}.spending-list>li{grid-template-columns:minmax(0,1fr) auto;gap:7px}.spending-bar{grid-area:2/1/auto/-1}.spending-value{min-width:0;font-size:.82rem}.settings-bin-list li{grid-template-columns:minmax(0,1fr)}.settings-restore-button{width:100%}}@container (max-width:20rem){.item-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.row-checkbox-target,.row-status-select{grid-area:1/1;justify-self:start}.item-row-content{grid-area:2/1/auto/-1}.reorder-controls{grid-area:3/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.reorder-controls button{justify-content:center}.row-actions{grid-area:1/2;grid-template-columns:repeat(2, var(--tap-target))}}@container home-summary (max-width:20rem){.money-summary{grid-template-columns:minmax(0,1fr);gap:0}.money-summary>div{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding-block:8px;display:grid}.money-summary>div+div{border-top:1px solid var(--border);border-left:0}.money-summary dd{text-align:right;margin-top:0}}@container item-editor (max-width:20rem){.editor-heading{flex-direction:column;align-items:stretch}.editor-heading h1{overflow-wrap:anywhere;min-width:0}.editor-heading .icon-button{align-self:flex-end}}@container all-items (max-width:20rem){.item-sort-row,.item-sort-field{flex-direction:column;align-items:stretch}.item-sort-row{padding-block:9px}.item-sort-field,.item-sort-field select{width:100%}}@media (prefers-color-scheme:dark){:root{--canvas:#12211c;--surface:#1a2f28;--text:#f2eee5;--muted:#bdc9c3;--primary:#9ad1ba;--primary-pressed:#7bbba2;--primary-contrast:#12211c;--accent:#f0a183;--border:#71847c;--progress-track:#3b5148;--danger:#ffb19c;--danger-surface:#512b22;--danger-text:#ffd5c8;--danger-contrast:#12211c;--selected-surface:#30483e;--focus:#70b7ed;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.filter-fields{box-shadow:0 12px 30px #00000061}.session-recovery-dialog{box-shadow:0 18px 60px #00000085}.house-page{--house-plan-floor-fill:#20352d;--house-plan-outline:#9ad1ba;--house-plan-room-sage:#3d594a;--house-plan-room-sand:#5d513d;--house-plan-room-outline:#b7d6c2;--house-plan-room-selected:#a85f46;--house-plan-room-selected-outline:#f2eee5;--house-plan-wall-fill:#e8e2d8;--house-plan-wall-outline:#9ad1ba;--house-plan-stair-fill:#74847d;--house-plan-stair-outline:#9ad1ba;--house-plan-opening:#f0a183;--house-plan-label:#f2eee5}}@media (forced-colors:active){:root{--focus:Highlight}button,input,select,textarea,summary,.section-card,.summary-strip,.item-list,.all-items-results,.budget-summary>div,.budget-item-list,.settings-card,.settings-install-card{border-color:canvastext}.progress-track,.section-progress,.spending-bar{forced-color-adjust:none;background:canvas;border:1px solid canvastext}.progress-track>span,.section-progress>span,.spending-bar>span,.bottom-nav a[aria-current=page],.active-filters button,.house-floor-controls button[aria-pressed=true],.house-room-list button[aria-pressed=true],.house-structure-list button[aria-pressed=true],.house-viewer button[aria-pressed=true],.house-explore-tabs button[aria-selected=true]{color:highlighttext;forced-color-adjust:none;background:highlight}.type-toggle label:has(input:checked){color:highlighttext;forced-color-adjust:none;background:highlight}.house-plan-2d-room{fill:canvas;stroke:canvastext;forced-color-adjust:none}.house-plan-2d-room[data-selected=true]{fill:highlight;stroke:highlighttext}.house-selected-badge,.house-confidence-chip{color:canvastext;forced-color-adjust:none;background:canvas;border:1px solid canvastext}.house-plan-2d-boundary[data-selected=true],.house-plan-2d-wall[data-selected=true],.house-plan-2d-feature-hit[data-selected=true]{fill:highlight;stroke:highlighttext}.house-plan-2d-boundary,.house-plan-2d-wall,.house-plan-2d-stair,.house-plan-2d-opening,.house-plan-2d-opening-assumed,.house-plan-2d-stair-direction,.house-plan-2d-feature-hit,.house-plan-2d-label,.house-plan-2d-floor-label{forced-color-adjust:none}.house-plan-2d-boundary,.house-plan-2d-wall,.house-plan-2d-stair{fill:canvas;stroke:canvastext}.house-plan-2d-opening{stroke:linktext}.house-plan-2d-opening-assumed,.house-plan-2d-stair-direction{stroke:canvastext}.house-plan-2d-feature-hit{fill:#0000;stroke:canvastext}.house-plan-2d-feature-hit[data-selected=true]{fill:highlight;stroke:highlighttext}.house-plan-2d-label,.house-plan-2d-floor-label{fill:canvastext}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.access-page{box-sizing:border-box;background:var(--canvas);place-items:center;min-height:100svh;padding:24px 18px;display:grid}.access-panel{box-sizing:border-box;background:#fffdf8;border:1px solid #d8d0c1;border-top:6px solid #b86447;border-radius:22px;width:min(100%,420px);padding:clamp(28px,7vw,42px);box-shadow:0 18px 48px #1830281a}.access-panel header{margin-bottom:30px}.access-panel h1{color:#183028;font-family:var(--font-serif);letter-spacing:-.045em;margin:0;font-size:clamp(2.25rem,10vw,3.25rem);line-height:1}.access-panel header p{color:#50635d;margin:12px 0 0;font-size:1.05rem;line-height:1.5}.access-form,.access-field{display:grid}.access-form{gap:20px}.access-field{gap:9px}.access-field label{color:#183028;font-weight:700}.access-field input{box-sizing:border-box;color:#183028;width:100%;min-height:54px;font:inherit;letter-spacing:.08em;background:#fffdf8;border:1px solid #71847c;border-radius:12px;padding:12px 15px;font-size:1.125rem}.access-help{color:#61716c;margin:0;font-size:.9rem;line-height:1.45}.access-form button{color:#fffdf8;min-height:54px;font:inherit;cursor:pointer;background:#245948;border:0;border-radius:12px;padding:13px 20px;font-weight:750}.access-form button:disabled,.access-field input:disabled{cursor:wait;opacity:.68}.access-error{color:#7f301e;background:#fbe9e2;border-left:4px solid #a6462c;border-radius:8px;margin:0;padding:12px 14px;line-height:1.45}@media (prefers-color-scheme:dark){.access-page{background:#12211c}.access-panel{background:#1a2f28;border-color:#d98769 #52635c #52635c;box-shadow:0 18px 48px #00000047}.access-panel h1,.access-field label{color:#f2eee5}.access-panel header p,.access-help{color:#bdc9c3}.access-page :focus-visible{outline-color:#70b7ed}.access-field input{color:#f2eee5;background:#12211c;border-color:#83958d}.access-form button{color:#12211c;background:#9ad1ba}.access-error{color:#ffd5c8;background:#512b22}}
