:root[data-density="compact"] .content {padding:18px}
:root[data-density="compact"] .panel {padding:14px}
:root[data-density="compact"] #navigation a {padding-top:7px;padding-bottom:7px}

/* Bound grid tracks to the viewport, including narrow embedded browser panels. */
.shell,.sidebar,.work-area,.content,.nav-block,#navigation {min-width:0;max-width:100%}
.shell {grid-template-columns:248px minmax(0,1fr)}
.sidebar {overflow-y:auto;overscroll-behavior:contain}
.sidebar > * {flex-shrink:0}
.work-area {width:100%}
.content {width:100%;overflow-wrap:anywhere}
.content > *, .panel, .columns > *, .form-grid > * {min-width:0}
.topbar {height:auto;min-height:96px;gap:12px}
.topbar > div {min-width:0}
.feature-links {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.feature-link {display:grid;gap:8px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--white);text-decoration:none}
.feature-link:hover,.feature-link:focus-visible {border-color:var(--teal)}
.feature-link small {color:var(--muted);line-height:1.5}
@media(max-width:1190px){.shell{grid-template-columns:210px minmax(0,1fr)}.feature-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:770px){
 .shell{grid-template-columns:minmax(0,1fr)}
 .sidebar{position:static;width:100%;height:auto;overflow:visible}
 #navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px;overflow-y:auto;overflow-x:hidden}
 #navigation a{white-space:normal;gap:8px;padding:10px;font-size:12px;min-width:0}
 #navigation a span{flex:0 0 19px}
 .sidebar-bottom{display:grid;padding:12px 22px}
 .topbar{flex-wrap:wrap}
 .page-heading,.page-head,.card-title,.overview-graphic{flex-wrap:wrap;gap:12px}
 .form-grid,.columns,.columns.equal,.form-grid.triple{grid-template-columns:minmax(0,1fr)}
 .feature-links{grid-template-columns:minmax(0,1fr)}
 input,select,textarea,canvas,svg{max-width:100%}
 .table-wrap{max-width:100%;overflow:auto}
}

.page-intro { min-width:0; flex-wrap:wrap; gap:12px; }
.chat-bubble { overflow-wrap:anywhere; }

/* Everyday actions first; specialist tools remain one disclosure away. */
.nav-group {margin:6px 0;border-top:1px solid var(--border);padding-top:6px}
.nav-group summary {padding:12px;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}
.nav-group summary:focus-visible,.home-details summary:focus-visible {outline:2px solid var(--teal);outline-offset:2px}
.nav-group a {margin-left:8px}
.home-actions {grid-template-columns:repeat(3,minmax(0,1fr))}
.home-actions .feature-link {padding:22px;align-content:start}
.step-number {display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--teal);color:#071728;font-weight:700}
.home-metrics {grid-template-columns:repeat(3,minmax(0,1fr))}
.home-details {margin-top:20px}
.home-details summary {cursor:pointer;font-weight:600;padding:4px 0}
.home-details[open] summary {margin-bottom:18px}
@media(max-width:770px){#navigation{display:block;max-height:none;overflow:visible}.home-actions,.home-metrics{grid-template-columns:minmax(0,1fr)}.home-actions .feature-link{padding:16px}.nav-group a{margin-left:10px}}


/* Guided project journey: task language and progressive disclosure. */
.header-tool-button,.header-help-button{border:1px solid var(--border);border-radius:9px;padding:10px 12px;background:var(--surface);color:var(--white);font-weight:650;white-space:nowrap}
.header-tool-button:hover,.header-help-button:hover,.header-tool-button:focus-visible,.header-help-button:focus-visible{border-color:var(--teal);outline-offset:2px}
.header-tool-button kbd{font-family:inherit;font-size:10px;opacity:.7;border:1px solid var(--border);padding:2px 5px;border-radius:4px;margin-left:8px}
.home-intro{padding:25px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(130deg,#18354b,#0f273a);margin-bottom:18px}
.home-kicker{font-size:11px;letter-spacing:.11em;color:var(--teal);font-weight:750}
.home-intro h3{font-size:23px;margin:8px 0}
.start-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.start-path{min-width:0;display:grid;gap:10px;align-content:start;text-decoration:none;background:var(--surface);border:1px solid #355266;border-radius:12px;padding:22px;color:var(--white);transition:border-color .15s,transform .15s}
.start-path:hover,.start-path:focus-visible{border-color:var(--teal);transform:translateY(-2px);outline-offset:2px}
.start-path-icon{font-size:26px;display:grid;place-items:center;width:50px;height:50px;background:#1a4e5b;border-radius:12px;color:var(--teal)}
.start-path strong{font-size:16px}.start-path small{color:var(--muted);line-height:1.5;font-size:12px;min-height:56px}
.start-path-action{font-size:12px;color:var(--teal);font-weight:750;margin-top:6px}
.home-journey{margin-bottom:20px}.journey-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.journey-steps a{display:grid;gap:6px;padding:13px;border-radius:9px;background:#0b2031;color:var(--white);text-decoration:none;border:1px solid var(--border)}
.journey-steps a:hover,.journey-steps a:focus-visible{border-color:var(--teal)}
.journey-steps a span{color:var(--teal);font-size:11px}.journey-steps a strong{font-size:13px}.journey-steps a small{font-size:11px;color:var(--muted)}
.home-next{margin-bottom:20px}.tool-search label{display:block;font-size:14px;font-weight:750;margin-bottom:10px}.tool-search input{font-size:16px}
.tool-finder-results{display:grid;gap:7px;max-height:52vh;overflow-y:auto;margin-top:14px}
.tool-result{width:100%;display:grid;gap:4px;text-align:left;background:#102a3c;color:var(--white);border:1px solid var(--border);padding:13px 15px;border-radius:9px}
.tool-result:hover,.tool-result:focus-visible{border-color:var(--teal);background:#183d4c}
.tool-category{font-size:10px;font-weight:800;letter-spacing:.11em;color:var(--teal);text-transform:uppercase}
.tool-result small{font-size:12px;color:var(--muted);line-height:1.45}.help-page-summary{font-size:15px;line-height:1.55}
.workspace-loading{display:flex;align-items:center;gap:11px;color:var(--muted);min-height:95px}
.loading-dot{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:buildos-spin .8s linear infinite}
@keyframes buildos-spin{to{transform:rotate(360deg)}}
@media(max-width:1190px){.start-paths{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:770px){.header-right{flex-wrap:wrap}.header-tool-button kbd{display:none}.header-tool-button,.header-help-button{padding:8px;font-size:12px}.home-intro{padding:17px}.start-paths,.journey-steps{grid-template-columns:1fr}.start-path small{min-height:auto}.start-path{padding:16px}}
@media(prefers-reduced-motion:reduce){.start-path{transition:none}.start-path:hover{transform:none}.loading-dot{animation:none}}

/* Studio redesign: design-first layout, clear primary actions, advanced tools collapsed. */
.studio-page{display:grid;gap:16px}.studio-head .page-intro{margin-bottom:13px}
.studio-workflow{display:flex;gap:9px;flex-wrap:wrap;padding:13px 16px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.studio-workflow span{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.studio-workflow b{display:grid;place-items:center;background:#225265;color:#ccfff4;border-radius:50%;width:22px;height:22px}
.studio-editor-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.9fr);align-items:start;gap:16px}
.studio-main,.studio-sidebar{display:grid;gap:16px;min-width:0}.studio-canvas{height:min(62vh,690px);min-height:410px}
.studio-tools{align-items:center}.studio-viewport .viewport-header{gap:16px}.studio-viewport .viewport-header .help{margin:5px 0 0}
.studio-object-list{max-height:260px;overflow:auto}.studio-object-list .object-badge{width:100%;background:none;color:var(--white);border:0;text-align:left}
.studio-object-list .object-badge:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.studio-objects{padding:0}.studio-objects .card-title{padding:18px;margin:0;border-bottom:1px solid var(--border)}
.studio-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.studio-shortcuts button{padding:7px 10px;border:1px solid var(--border);border-radius:20px;background:var(--surface2);color:var(--white);font-size:12px}
.studio-shortcuts button:hover{border-color:var(--teal)}.studio-form-section{margin-bottom:16px}.studio-form-section h4{font-size:14px;margin:0 0 10px}
.studio-form-section .help{margin:0 0 12px}.studio-advanced-options{border-top:1px solid var(--border);padding:13px 0}
.studio-advanced-options summary,.studio-advanced summary{cursor:pointer;font-weight:700;font-size:13px}.studio-advanced-options[open] summary{margin-bottom:15px}
.studio-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.studio-form-actions .primary{flex:1}
.studio-empty{padding:10px 0;display:grid;gap:9px}.studio-empty p{color:var(--muted);line-height:1.6}
.studio-advanced{margin-bottom:12px}.studio-advanced[open] summary{margin-bottom:15px}
@media(max-width:1190px){.studio-editor-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}}
@media(max-width:950px){.studio-editor-grid{grid-template-columns:minmax(0,1fr)}.studio-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-inspector{grid-column:1/-1}}
@media(max-width:770px){.studio-sidebar{grid-template-columns:1fr}.studio-inspector{grid-column:auto}.studio-canvas{height:360px;min-height:300px}.studio-workflow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Design Studio furniture library: scrollable row beneath the editable floor plan. */
.studio-catalog{overflow:hidden}
.studio-catalog .card-title{align-items:start}
.studio-catalog .card-title p{margin:5px 0 0}
.catalog-filters{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(160px,.8fr) auto;gap:11px;align-items:end;margin-bottom:14px}
.catalog-filters label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.catalog-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 2px 16px;overscroll-behavior-inline:contain;min-height:191px}
.catalog-card{scroll-snap-align:start;flex:0 0 166px;display:grid;gap:6px;align-content:start;text-align:left;background:var(--surface2);color:var(--white);border:1px solid var(--border);border-radius:11px;padding:10px;cursor:grab}
.catalog-card:hover,.catalog-card:focus-visible{border-color:var(--teal);outline-offset:2px;background:#183c4c}
.catalog-card:active{cursor:grabbing}
.catalog-thumb{display:block;height:75px;min-height:75px;border-radius:7px;overflow:hidden}.catalog-thumb svg{display:block;width:100%;height:100%}
.catalog-card-name{font-weight:750;font-size:12px;line-height:1.25}.catalog-dim{font-size:10px;color:var(--muted)}
.catalog-cost{font-size:13px;font-weight:700}.catalog-cost small{font-weight:400;color:var(--muted)}
.catalog-card-action{font-size:11px;color:var(--teal);font-weight:700}
.catalog-legend{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px}
.catalog-empty{padding:32px;color:var(--muted)}
#planSvg.studio-drop-target{outline:3px dashed var(--teal);outline-offset:-8px}
.studio-placement-message{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:4;background:#13414b;border:1px solid var(--teal);color:var(--white);padding:9px 14px;border-radius:9px;pointer-events:none;font-size:12px;max-width:90%;text-align:center}
@media(max-width:770px){.catalog-filters{grid-template-columns:1fr}.catalog-card{flex-basis:145px}.catalog-legend{display:grid}.studio-placement-message{top:8px;font-size:11px}}

/* 3D home model gallery */
.home-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:18px 0}.home-template-item{display:grid;gap:10px;border:1px solid var(--border);border-radius:13px;padding:14px;background:var(--surface2)}.home-card-picture{height:100px;display:grid;place-items:center;font-size:65px;color:#75b9a3;background:#e0ece9;border-radius:9px}.home-template-item strong{font-size:15px}.home-preview-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.home-preview-tabs button{background:var(--surface);color:var(--white);border:1px solid var(--border);border-radius:8px;padding:10px}.home-preview-tabs button.active{background:var(--teal);color:#09272b}.template-preview-root{height:370px;overflow:hidden;border-radius:9px;background:#e0ebeb}.template-preview-root canvas,.template-preview-root svg{display:block;width:100%;height:100%}@media(max-width:700px){.template-preview-root{height:290px}}
