/* Inscena web direction adopted by Evan, 12 Oct 2026. Source: Katie strategy
   v14. Adapt the editorial palette and hierarchy to an operating workspace. */
:root{--paper:#F7F3EE;--surface:#fff;--ink:#36252A;--muted:#705A62;--line:#E7DCD5;--accent:#4F0E18;--serif:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}::selection{background:#E5B6A4;color:#300916}input,textarea{caret-color:#8C344D}*:focus-visible{outline:3px solid #8C344D;outline-offset:3px}a{text-underline-offset:3px}h1,h2,h3{font-family:var(--sans);letter-spacing:-.025em;font-weight:650}button,input,textarea,select{font-family:var(--sans)}
.topbar,.site-header,.portal-header{background:#300916;color:#F7EAE2}.topbar a,.topbar button,.topbar .wordmark{color:inherit}.btn{border-radius:9px;background:#7B2843;color:white;border-color:#7B2843;font-weight:600}.btn:hover{background:#63253A}.btn.ghost{background:transparent;color:#7B2843;border-color:#B98594}.btn.ghost:hover{background:#F5E5E9}.btn:disabled{opacity:.55;cursor:wait}.page-heading h1{font-size:clamp(28px,4vw,48px);line-height:1.16}.stake-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(18px,3vw,32px);margin:24px 0}.stake-card{box-shadow:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0}.stake-section input,.stake-section textarea,.stake-section select{border-radius:8px;border:1px solid #BAAAB0;background:#FFFDFB;color:var(--ink);padding:11px;font-size:15px;max-width:100%}.stake-section summary{cursor:pointer;color:#7B2843;font-weight:600;padding:12px 0}.small-note{color:#705A62}.tag{border-radius:6px;background:#F5EDE6;color:#63253A}.stake-section h2{font-size:26px}.stake-section h3{font-size:19px}.stake-preline{white-space:pre-wrap;overflow-wrap:anywhere}
.relationship-panel{grid-column:1/-1;min-width:0;margin:28px 0 40px;background:#FFFDFB;border:1px solid var(--line);border-radius:16px;overflow:hidden}.relationship-heading{padding:28px 32px;background:#3F0B1E;color:#F7EAE2;display:flex;align-items:center;justify-content:space-between;gap:20px}.relationship-heading h2{font-size:30px;margin:0 0 6px;line-height:1.2}.relationship-heading p{margin:0;color:#EBD9D5}.relationship-heading a,.relationship-heading button{color:#F4CBB8;white-space:nowrap;background:none;border:0}.relationship-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:0}.property-assistant{padding:28px 32px;min-width:0}.property-assistant h3,.relationship-summary h3,.decision-insights h3{margin:0 0 10px;font-size:22px}.property-assistant p{max-width:70ch}.relationship-summary{background:#F5EDE6;padding:28px 26px;border-left:1px solid var(--line)}.relationship-summary dl{margin:18px 0}.relationship-summary dl div{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #D7C5CC}.relationship-summary dd{font-weight:700;font-variant-numeric:tabular-nums;margin:0;font-size:20px}.assistant-examples{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.assistant-examples button,.assistant-followup{border:1px solid #CCB5BF;border-radius:8px;padding:10px 13px;background:#fff;color:#7B2843;text-align:left;font-size:13px;cursor:pointer}.assistant-examples button:hover,.assistant-followup:hover{background:#F5E5E9}.property-assistant form{display:grid;gap:12px}.property-assistant label{font-weight:600}.property-assistant textarea{width:100%;resize:vertical;padding:14px;border:1px solid #A78C97;border-radius:10px;background:#fff;font-size:16px;color:var(--ink)}.property-assistant form .btn{justify-self:start}.property-assistant form p{margin:0}.assistant-question{background:#F5E5E9;border-radius:12px;padding:14px 18px;margin:15px 0;font-weight:600}.assistant-answer{padding:4px 0 22px}.assistant-answer details{border-block:1px solid var(--line);padding:12px 0}.assistant-answer summary{cursor:pointer;color:#7B2843;font-weight:600}.assistant-followup{display:block;margin:10px 0;width:100%}.decision-insights,.tenant-feedback{border-top:1px solid var(--line);padding:24px 32px}.tenant-feedback>summary{font-weight:650;font-size:20px;cursor:pointer}.feedback-row{border-top:1px solid var(--line);padding:18px 0}.relationship-table{overflow:auto}.relationship-table table{border-collapse:collapse;width:100%;text-align:left}.relationship-table caption{text-align:left;color:#705A62;padding:10px 0}.relationship-table th,.relationship-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.relationship-table thead{background:#F5EDE6}.request-resolution{background:#F7F3EE;padding:16px;margin:18px 0;border-radius:9px}.relationship-panel [role=status]:not(:empty){padding:12px;background:#F5EDE6;border-radius:8px}.relationship-panel button{min-height:42px}.relationship-panel .small-note{font-size:13px;line-height:1.6}
@media(max-width:760px){.relationship-grid{grid-template-columns:1fr}.relationship-heading{display:block}.relationship-heading a,.relationship-heading button{display:inline-block;margin-top:14px}.relationship-summary{border-left:0;border-top:1px solid var(--line)}.relationship-heading,.property-assistant,.relationship-summary,.decision-insights,.tenant-feedback{padding:22px 18px}.relationship-heading h2{font-size:27px}.relationship-table{font-size:13px}.relationship-table th,.relationship-table td{padding:9px}.stake-section{padding:18px}.assistant-examples{display:grid}.relationship-panel{margin-top:20px}.stake-form{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.sidebar{background:#300916;color:#F7EAE2;border-color:#63253A}.sidebar .wordmark,.sidebar .username,.sidebar .workspace-label,.sidebar .text-button{color:#F7EAE2}.sidebar .workspace-kind{color:#DABBC5}.sidebar .workspace-select{background:#3F0B1E;color:#F7EAE2;border-color:#8C5266}.sidebar .side-nav button{color:#EBD9D5}.sidebar .side-nav button.active,.sidebar .side-nav button:hover{background:#63253A;color:white}.topbar .crumb,.topbar .private-label{color:#EBD9D5}.relationship-panel input,.relationship-panel select,.relationship-panel textarea{max-width:100%;border-radius:8px}.relationship-panel .stake-form{display:grid;gap:14px}.relationship-panel .stake-form label{display:grid;gap:6px}.relationship-panel .stake-form select,.relationship-panel .stake-form textarea{padding:10px;border:1px solid #BAAAB0;background:#fff;color:#36252A;font-size:15px}

.stake-shell-header{background:#300916;border-color:#63253A;color:#F7EAE2}.stake-shell-header a,.stake-shell-header button{color:#F7EAE2}.ws{--accent:#4F0E18;--accent-dark:#3A0A12;--accent-tint:#F5E5E9;font-family:var(--sans)}

/* v14 final typography override and supplied artwork, not the earlier base CSS. */
:root,.ws{--serif:'Marcellus',Georgia,serif;--sans:'Archivo',Arial,sans-serif;--inscena-font-brand:var(--serif);--inscena-font-ui:var(--sans)}
body,button,input,select,textarea,table,nav,.ws{font-family:var(--sans)}
h1,h2,h3,h4,h5,h6,.page-heading h1{font-family:var(--serif);font-weight:400;letter-spacing:-.015em}
.wordmark{display:inline-flex;align-items:center;flex-shrink:0;line-height:1;letter-spacing:normal;background:#300916;padding:8px 12px;border-radius:4px;text-decoration:none}
.wordmark img{display:block;width:180px;max-width:100%;height:auto;object-fit:contain}
.sidebar .wordmark,.stake-shell-header .wordmark{padding:0;background:transparent;border-radius:0}
.sidebar .wordmark img{width:190px}.stake-shell-header .wordmark img{width:180px}
@media(max-width:600px){.wordmark img,.stake-shell-header .wordmark img{width:150px}}
/* Full-bleed brand bar; content retains a comfortable reading measure. */
.stake-shell{max-width:none;width:100%}.stake-shell-header{width:100%;padding:22px max(24px,calc((100vw - 1440px)/2));margin:0}.stake-shell>.content{margin:0 auto;padding-bottom:120px}
.relationship-summary{border-left:0}.relationship-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.relationship-summary dl div{align-items:center}.relationship-summary>p{margin:8px 0}
.property-chat{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:180;color:#36252A;font:400 15px/1.5 var(--sans)}
.property-chat [hidden]{display:none!important}.chat-launcher{display:flex;gap:12px;align-items:center;background:#4B0B20;color:#FFF7F0;border:1px solid #713549;border-radius:16px;padding:14px 20px;cursor:pointer;box-shadow:0 8px 28px #30091626;text-align:left;font:600 15px/1.3 var(--sans)}.chat-launcher:hover{background:#63253A}.chat-launcher svg{width:25px;height:25px}.chat-launcher small{display:block;margin-top:3px;font-size:11px;font-weight:400;color:#E6C7D1}
.chat-panel{width:420px;max-width:calc(100vw - 32px);height:min(680px,calc(100dvh - 48px));display:flex;flex-direction:column;border-radius:18px;background:#FFFDF9;box-shadow:0 14px 60px #30091633;overflow:hidden}
.chat-header{display:flex;align-items:center;gap:12px;background:#300916;color:#FFF7F0;padding:18px 20px}.chat-header h2{margin:0;font:400 25px/1.2 var(--serif)}.chat-header p{margin:4px 0 0;font:400 11px/1.4 var(--sans);color:#E6C7D1}.chat-brand{background:#F9F5EF;padding:7px;border-radius:8px;display:flex}.chat-brand img{object-fit:contain}.chat-close{margin-left:auto;background:none;border:0;color:inherit;width:40px;height:40px;padding:10px;cursor:pointer;border-radius:8px}.chat-close:hover{background:#63253A}.chat-close svg,.chat-send svg{width:22px;height:22px;display:block}
.chat-property{padding:10px 20px;border-bottom:1px solid #E8DCD5;font-size:12px;color:#705A62;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0}
.chat-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 18px;scrollbar-color:#B996A3 #F7F3EE;scrollbar-width:thin}.chat-welcome h3{margin:0 0 10px;font:400 24px/1.3 var(--serif)}.chat-welcome p{margin:8px 0}.chat-welcome .small-note{font-size:12px}.chat-welcome .assistant-examples{display:grid;gap:8px;margin:18px 0 26px}.chat-welcome .assistant-examples button{font:400 13px/1.4 var(--sans);min-height:40px}
.chat-user{white-space:pre-wrap;overflow-wrap:anywhere;background:#63253A;color:white;padding:12px 16px;border-radius:14px 14px 3px 14px;margin:20px 0 18px 36px;font-size:14px}.chat-answer{padding:14px 16px;background:#F3EBE5;border-radius:3px 14px 14px;margin:0 20px 22px 0;overflow-wrap:anywhere;font-size:14px}.chat-speaker{font-weight:600;color:#7B2843;font-size:12px}.chat-answer p{margin:8px 0 14px}.chat-answer details{border-top:1px solid #DACAC3;padding-top:10px;font-size:12px}.chat-answer summary{cursor:pointer;font-weight:600;color:#7B2843}.chat-answer .small-note{font-size:11px}.chat-answer .assistant-followup{font-size:12px;line-height:1.5;padding:9px 11px}
.chat-composer{flex-shrink:0;border-top:1px solid #E8DCD5;background:white;padding:14px 16px}.chat-input-row{display:flex;align-items:flex-end;gap:8px;border:1px solid #BA9EAA;border-radius:12px;padding:7px}.chat-input-row:focus-within{outline:2px solid #8C344D;outline-offset:2px}.chat-composer textarea{flex:1;min-width:0;resize:none;border:0;background:none;color:#36252A;outline:none;padding:6px;font:400 16px/1.4 var(--sans);max-height:110px}.chat-composer textarea:focus-visible{outline:none}.chat-send{background:#7B2843;color:white;border:0;border-radius:9px;width:40px;height:40px;padding:9px;cursor:pointer;flex-shrink:0}.chat-send:hover{background:#63253A}.chat-send:disabled{opacity:.45;cursor:wait}.chat-composer [role=status]{font-size:12px;color:#7B2843;margin:8px 0}.chat-composer [role=status]:empty{display:none}.chat-disclosure{margin:9px 0 0;color:#705A62;font-size:11px}.chat-disclosure summary{cursor:pointer}.chat-disclosure p{margin:7px 0;max-height:90px;overflow:auto}.chat-typing{display:flex;align-items:center;gap:10px;font-size:12px;color:#705A62;padding:10px 4px;min-height:36px;box-sizing:border-box}.chat-typing[hidden]{display:flex;visibility:hidden}.chat-typing>span:first-child{display:flex;gap:4px}.chat-typing i{width:5px;height:5px;border-radius:50%;background:#8C344D;animation:chat-pulse 1.2s ease-in-out infinite}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}.chat-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes chat-pulse{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media(max-width:600px){.stake-shell-header{padding:16px}.relationship-summary dl{grid-template-columns:1fr;gap:0}.property-chat{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.chat-panel{width:calc(100vw - 24px);max-width:none;height:calc(100dvh - 24px - env(safe-area-inset-bottom))}.chat-launcher{padding:12px 16px}.chat-header{padding:14px 16px}.chat-messages{padding:18px 14px}.chat-answer{margin-right:8px}}
@media(prefers-reduced-motion:reduce){.chat-typing i{animation:none}}

/* All signed-in routes share the portfolio shell, including collaboration. */
.workspace-layout .content:has(.stake-workspace){padding-bottom:120px}
.workspace-layout .main-area{min-width:0}
.workspace-layout .topbar{flex-wrap:wrap}
.workspace-layout .crumb{overflow-wrap:anywhere}
.side-nav button.active .nav-icon{color:#F7EAE2}
.workspace-layout .stake-index-card{padding:24px;border:1px solid var(--line);border-radius:16px;text-align:left}
.workspace-layout .stake-index-card h2{font-size:clamp(24px,2.2vw,34px)}
.workspace-layout .topbar .side-toggle{background:transparent;color:#F7EAE2;border-color:#936675}
@media(max-width:760px){
 .workspace-layout .sidebar{visibility:hidden;z-index:210}
 .workspace-layout.sidebar-open .sidebar{visibility:visible}
 .workspace-layout.sidebar-open .sidebar-scrim{z-index:200}
}

.workspace-layout .topbar :is(.crumb-project>button,.crumb-back,.top-history button){color:#F7EAE2}
.tab-lenses.view-tabs button:not(.active){color:#36252A}
.tab-lenses.view-tabs button.active{color:#F7EAE2}

/* Contrast contracts: dark chrome and embedded light menus are separate surfaces.
   Do not inherit a light-content --muted or .btn.ghost colour into the header. */
:root{--chrome-bg:#300916;--chrome-text:#FFF7F0;--chrome-muted:#E6C7D1;--chrome-hover:#63253A;--chrome-border:#B98594;--chrome-focus:#FAF6F0;--control-ink:#36252A;--control-muted:#64535A;--review-ink:#805300}
.workspace-layout .topbar{background:var(--chrome-bg);color:var(--chrome-text)}
.workspace-layout .topbar :is(.crumb-project>button,.crumb-project>button b,.crumb-project>button i,.crumb-back,.top-actions,.lay-private,#laySaved){color:var(--chrome-text)}
.workspace-layout .topbar :is(.crumb-project>button:hover,.crumb-project>button[aria-expanded=true],.top-history button:not(:disabled):hover){background:var(--chrome-hover);color:var(--chrome-text)}
.workspace-layout .topbar .capture-design-btn{color:var(--chrome-text);background:#7B2843;border-color:var(--chrome-border)}
.workspace-layout .topbar .capture-design-btn:hover{background:var(--chrome-hover)}
.workspace-layout .topbar .btn.ghost{color:var(--chrome-text);border-color:var(--chrome-border);background:transparent}
.workspace-layout .topbar .btn.ghost:hover{background:var(--chrome-hover)}
.workspace-layout .topbar :is(.tab-project,.tab-project i){color:var(--chrome-text);background:transparent}
.workspace-layout .topbar .tab-project{border-color:var(--chrome-border)}
.workspace-layout .topbar :is(.tab-project:hover,.tab-project[aria-expanded=true],.tab-project.active){background:var(--chrome-hover);color:var(--chrome-text)}
/* The views' switcher (view-tabs.mjs), the same in the workspace's header and the public listing's. */
.tab-lenses.view-tabs{background:#F7F3EE}
.tab-lenses.view-tabs button{color:var(--control-ink)}
.tab-lenses.view-tabs button.active{color:var(--chrome-text)}
.tab-lenses.view-tabs :focus-visible{outline:3px solid #8C344D;outline-offset:2px}
.workspace-layout .topbar :is(.project-pop,.crumb-pop,.top-share-pop){background:#FFFDFB;color:var(--control-ink)}
.workspace-layout .topbar :is(.project-pop,.crumb-pop,.top-share-pop) :is(button,p,a,i){color:var(--control-ink)}
.workspace-layout .topbar :is(.project-pop,.top-share-pop) button:hover{background:#F5E5E9;color:var(--control-ink)}
.workspace-layout .topbar .project-pop button.active{background:#63253A;color:var(--chrome-text)}
.workspace-layout .topbar #laySaved:is([data-state=offline],[data-state=conflict]){color:var(--chrome-focus)}
.workspace-layout .topbar #laySaved::before{color:inherit}
.workspace-layout .topbar button:disabled{opacity:1;color:var(--chrome-muted);background:#482432;cursor:not-allowed}
.workspace-layout .topbar :is(button,a):focus-visible,.sidebar :is(button,a,select):focus-visible,.chat-header button:focus-visible{outline:3px solid var(--chrome-focus);outline-offset:3px}
.workspace-layout .topbar :is(.project-pop,.crumb-pop,.top-share-pop,.tab-lenses) :focus-visible{outline:3px solid #8C344D;outline-offset:2px}
.workspace-layout .topbar :is(.crumb-back,.crumb-project>button,.tab-project,.top-history button,.project-pop button,.top-share-pop button){min-height:44px;min-width:44px}
.card-visual .card-label{color:var(--control-ink);font-size:10px}
.ws{--muted:var(--control-muted)}
.ws .lay{--plan-tight:var(--review-ink)}
.ws .lay-keys{background:#FFFDFB;opacity:1;color:var(--control-ink);backdrop-filter:none}
.ws .lay-keys :is(b,span,li){color:var(--control-ink)}
input::placeholder,textarea::placeholder{color:var(--control-muted);opacity:1}
.chat-close,.chat-send,.chat-welcome .assistant-examples button{min-height:44px;min-width:44px}
@media(forced-colors:active){
 .workspace-layout :focus-visible{outline:3px solid Highlight}
 .tab-lenses button[aria-selected=true],.side-nav button[aria-current=page]{outline:2px solid Highlight;outline-offset:-3px}
}

/* Secondary labels and field boundaries remain readable on warm surfaces. */
.ws .lay{--plan-blue:#285D98}
:is(.field,.stake-form,.relationship-panel) :is(input:not([type=checkbox]),select,textarea){border-color:#927783}

/* Keep browser-owned selection, validation and keyboard behaviour while branding
   the open picker too. Older browsers retain their accessible native picker. */
:root{--menu-surface:#FFFDFB;--menu-border:#B98594;--menu-hover:#F5E5E9;--menu-selected:#63253A;--menu-shadow:0 12px 32px #30091626}
.workspace-layout select{accent-color:var(--menu-selected)}
@supports (appearance:base-select){
 .workspace-layout select:not([multiple]):not([size]),
 .workspace-layout select:not([multiple]):not([size])::picker(select){appearance:base-select}
 .workspace-layout select:not([multiple]):not([size]){min-height:44px;align-items:center;gap:12px;cursor:pointer}
 .workspace-layout select::picker(select){background:var(--menu-surface);color:var(--control-ink);border:1px solid var(--menu-border);border-radius:12px;padding:6px;box-shadow:var(--menu-shadow);margin-block:6px;max-inline-size:calc(100vw - 24px);max-block-size:min(360px,60dvh);overflow:auto;font:400 14px/1.45 var(--sans);scrollbar-width:thin;scrollbar-color:var(--menu-border) var(--menu-surface)}
 .workspace-layout select option{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border:0;border-radius:7px;background:var(--menu-surface);color:var(--control-ink);white-space:normal;overflow-wrap:anywhere;cursor:pointer}
 .workspace-layout select option:is(:hover,:focus){background:var(--menu-hover);color:var(--control-ink)}
 .workspace-layout select option:checked{background:var(--menu-selected);color:var(--chrome-text);font-weight:600}
 .workspace-layout select option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
 .workspace-layout select option:checked:focus-visible{outline-color:var(--chrome-focus)}
 .workspace-layout select option:disabled{background:var(--paper);color:var(--control-muted);cursor:not-allowed}
 .workspace-layout select option::checkmark{color:inherit;order:1;margin-inline-start:auto}
 .workspace-layout select::picker-icon{color:inherit;flex-shrink:0}
 /* Selects the forms make block-level stay flex, so the arrow keeps to the value's line. */
 .workspace-layout :is(.portfolio-editor label,.stake-form) select:not([multiple]):not([size]){display:flex}
 .workspace-layout select:open::picker-icon{rotate:180deg}
 .sidebar .workspace-select:open{border-color:var(--chrome-focus);background:#482432}
 .workspace-layout select:disabled{cursor:not-allowed}
}
/* Project, Share and viewer menus use the same surface as form pickers. */
.workspace-layout :is(.project-pop,.crumb-pop,.top-share-pop,.lay-pop){background:var(--menu-surface);color:var(--control-ink);border:1px solid var(--menu-border);border-radius:12px;box-shadow:var(--menu-shadow)}
.workspace-layout :is(.project-pop,.top-share-pop,.lay-pop) button{min-height:44px;border-radius:7px;font-family:var(--sans)}
.workspace-layout .lay-pop button{color:var(--control-ink)}
.workspace-layout :is(.project-pop,.top-share-pop,.lay-pop) button:hover{background:var(--menu-hover);color:var(--control-ink)}
.workspace-layout :is(.project-pop button.active,.lay-pop button.on){background:var(--menu-selected);color:var(--chrome-text)}
@media(forced-colors:active){
 .workspace-layout select option:checked{background:Highlight;color:HighlightText}
 .workspace-layout select option:focus-visible{outline:2px solid Highlight;outline-offset:-3px}
}

/* Missing evidence leads to an explicit, reviewable request inside the chat. */
.chat-requests{margin-top:18px;border-top:1px solid #DACAC3;padding-top:16px}
.chat-requests h3{font:400 21px/1.3 var(--serif);margin:0 0 8px}
.chat-request{padding:14px 0;border-top:1px solid #DACAC3}
.chat-request:first-of-type{border-top:0}
.chat-request>p{font-size:13px;line-height:1.5}
.chat-request .assistant-followup{min-height:44px;background:#FFFDFB;color:#63253A;border-color:#B98594;font-weight:600}
.chat-request-form label{display:grid;gap:6px;font-size:13px;font-weight:600}
.chat-request-form textarea,.chat-request-form select{width:100%;padding:10px;border:1px solid #927783;border-radius:8px;background:#FFFDFB;color:#36252A;font:400 16px/1.5 var(--sans)}
.chat-request-form textarea{resize:vertical}
.chat-request-form button{min-height:44px;margin:6px 8px 0 0}
.chat-request-status:not(:empty){font-size:13px;color:#63253A;border-left:0;padding-top:8px}
/* Compact property chat: the document is the request, the note is optional. */
.property-chat .chat-answer-body p{margin:0 0 12px;font-size:14px;line-height:1.55}
.property-chat .chat-answer-body p:last-child{margin-bottom:0}
.property-chat .chat-answer-body ul{padding-left:20px;margin:12px 0}
.property-chat .chat-answer-body li{font-size:14px;line-height:1.55;margin:6px 0}
.property-chat .chat-requests h3{font:600 14px/1.4 var(--sans);margin:0 0 10px}
.property-chat .chat-request-title{font:600 14px/1.5 var(--sans);margin:0 0 12px}
.property-chat .chat-request-form label{font:500 13px/1.5 var(--sans)}
.property-chat .chat-request-form textarea{min-height:68px;font:400 14px/1.5 var(--sans);padding:10px 12px}
.property-chat .chat-request-form .small-note,.property-chat .chat-request-status{font-size:12px;line-height:1.5}
.property-chat .chat-request-actions{display:flex;gap:16px;align-items:center}
.property-chat .chat-request-actions .btn{font-size:13px;padding:10px 16px;min-height:44px}
.property-chat .chat-saved{margin:16px 0;padding:0 0 12px;border-bottom:1px solid #DACAC3}
.property-chat .chat-saved summary{font-size:13px;cursor:pointer;min-height:32px}
.property-chat .chat-saved-question{display:flex;align-items:start;gap:8px;margin:8px 0}
.property-chat .chat-saved-question button{font:400 13px/1.5 var(--sans);text-align:left;min-height:44px}
.property-chat [data-use-saved]{flex:1;padding:8px 10px;border:1px solid #C6ADB4;background:#FFFDFB;color:#63253A;border-radius:8px;overflow-wrap:anywhere}
.property-chat .chat-save-question{display:block;background:transparent;border:0;border-bottom:1px solid currentColor;color:inherit;font:400 12px/1.4 var(--sans);min-height:32px;padding:6px 0;margin-top:8px;cursor:pointer}
.property-chat .chat-save-question:disabled{opacity:1;border-color:transparent}
.property-chat .capture-chat-status:has(#stake-status:empty):has(#stake-result:empty){display:none}
.property-chat .capture-chat-status{padding:8px 20px;font-size:13px;max-height:180px;overflow:auto}
.property-chat .chat-panel{min-height:0}

.property-chat .chat-request-form label .small-note{display:inline;font-weight:400}

/* Sidebar readability (Katie, 12 Oct). Light text on the dark chrome was set
   at 400 and thinned further by antialiased smoothing, so it read as light;
   the selected item sat one shade off the background. Medium text, normal
   smoothing in the chrome, and a light pink selected item with dark ink. */
:root{--chrome-selected:#F5DFE5;--chrome-selected-ink:#3F0B1E}
.sidebar{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
.sidebar .side-nav button{font-size:13.5px;font-weight:500;color:var(--chrome-text)}
.sidebar .side-nav button:hover{background:var(--chrome-hover);color:var(--chrome-text)}
.sidebar .side-nav button.active,.sidebar .side-nav button[aria-current=page]{background:var(--chrome-selected);color:var(--chrome-selected-ink);font-weight:600}
.sidebar .side-nav button.active .nav-icon,.sidebar .side-nav button[aria-current=page] .nav-icon{color:var(--chrome-selected-ink)}
.sidebar :is(.username,.workspace-kind,.workspace-label,.text-button,.workspace-select){font-weight:500}

/* Sign-in page (Katie, 13 Oct): agents already know what Inscena is, so the page
   only says what they do here and lets them in. One burgundy ground from header
   to footer; three verbs in Marcellus with a quiet continuation; two buttons;
   the listing image bleeding off the right edge, rounded on its left only. */
.login-bar,.login-foot,.login-hero{--edge:clamp(24px,6vw,112px)}
.login-bar,.login-foot{background:var(--chrome-bg);display:flex;align-items:center;gap:20px;padding:14px var(--edge)}
.login-bar{justify-content:space-between}
.login-brand img{display:block;width:168px;height:auto}
.login-nav{display:flex;align-items:center;gap:24px}
.login-link{color:var(--chrome-text);font:500 15px/1.4 var(--sans);text-decoration:underline;text-decoration-color:var(--chrome-border);text-underline-offset:5px}
.login-link:hover{text-decoration-color:var(--chrome-text)}
.login-signin{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:9px 18px;border:1px solid var(--chrome-border);border-radius:9px;color:var(--chrome-text);font:600 15px/1 var(--sans);text-decoration:none}
.login-signin:hover{background:var(--chrome-hover)}
#app:has(>.login){display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.login{background:#300916;color:#FAF6F0;flex:1;display:flex;flex-direction:column}
.login-welcome{margin:0 0 24px;color:#E6C7D1;font:500 18px/1.4 var(--sans)}
.login-error{max-width:1192px;margin:0 auto;padding-top:20px}
.login-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;min-height:500px;flex:1}
.login-copy{container-type:inline-size;align-self:center;padding:clamp(32px,6vh,72px) clamp(28px,4vw,72px) clamp(32px,6vh,72px) var(--edge)}
.login-photo{margin:clamp(16px,3vh,28px) 0;overflow:hidden;border-radius:22px 0 0 22px;background:#3F0B1E}
.login-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:42% 55%}
/* The verbs are sized to the column: the longest line ("Explore it in 3D.")
   measures under 5.4em, so 17.5cqi keeps it inside with room to spare. */
.login-ladder{margin:0 0 clamp(32px,5vh,48px);padding:0;font:400 min(104px,17.5cqi,11.5vh)/1 var(--serif);color:#FAF6F0;letter-spacing:-.015em;border-top:1px solid #5E2A3C}
.login-ladder span{display:block;padding:.12em 0 .16em;border-bottom:1px solid #5E2A3C;white-space:nowrap}
.login-ladder b{font-weight:400}
.login-ladder small{font:400 clamp(17px,1.4vw,22px)/1 var(--sans);letter-spacing:0;color:#E6C7D1}
.login-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.login-actions .btn{min-height:52px;padding:12px 22px;font-size:16px}
.login-actions .btn:not(.ghost){background:#FAF6F0;border-color:#FAF6F0;color:#300916}
.login-actions .btn:not(.ghost):hover{background:#F5DFE5;border-color:#F5DFE5}
.login-actions .btn.ghost{background:transparent;border-color:#B98594;color:#FAF6F0}
.login-actions .btn.ghost:hover{background:#4E1A2C}
.login-note{margin:0;font:400 16px/1.5 var(--sans);color:#E6C7D1}
.login-foot{color:var(--chrome-muted);font:400 14px/1.5 var(--sans);flex-wrap:wrap;padding-block:22px;border-top:1px solid #5E2A3C}
.login-foot img{width:38px;height:auto;padding:6px;background:#FAF6F0;border-radius:8px}
.login-foot span:last-child{margin-left:auto}
@media(max-width:900px){.login-hero{grid-template-columns:1fr;min-height:0}.login-copy{padding:36px 20px 28px}.login-photo{margin:0 0 36px 20px;height:clamp(240px,62vw,420px)}.login-ladder{font-size:min(84px,17.5cqi)}}
@media(max-width:600px){.login-bar,.login-foot{--edge:20px}.login-brand img{width:132px}.login-nav{gap:12px}.login-link{font-size:14px}.login-actions .btn{flex:1 1 100%}.login-foot span:last-child{margin-left:0}}

/* Space, Furnish and the other design tabs: the workspace navigation folds
   into the ☰ menu so the model gets the whole width; it slides over the page
   when wanted and folds away again on any choice, Escape or a click outside. */
.workspace-layout.studio-mode{grid-template-columns:minmax(0,1fr)}
.workspace-layout.studio-mode .sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,88vw);height:100dvh;z-index:210;overflow:auto;transform:translateX(-100%);visibility:hidden;pointer-events:none;transition:transform .2s ease,visibility 0s linear .2s;box-shadow:none}
.workspace-layout.studio-mode.sidebar-open .sidebar{transform:none;visibility:visible;pointer-events:auto;transition:transform .2s ease;box-shadow:0 0 40px #30091640}
.workspace-layout.studio-mode.sidebar-open .sidebar-scrim{display:block;position:fixed;inset:0;z-index:200;background:#221d1855}
.workspace-layout.studio-mode .side-toggle{display:inline-flex;flex:none;min-width:40px;min-height:40px;border-radius:10px;margin-right:4px}
@media(prefers-reduced-motion:reduce){.workspace-layout.studio-mode .sidebar{transition:none}}

/* Leasing details on a tenancy: the form's grouped rows and the availability tag. */
.portfolio-editor .tenancy-details{border:1px solid var(--line);border-radius:12px;padding:12px 14px 4px;margin:12px 0;display:grid;gap:10px}
.portfolio-editor .tenancy-details legend{font:600 13px/1.3 var(--sans);color:#300916;padding:0 6px}
.portfolio-editor .field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.portfolio-editor textarea{width:100%;font:inherit;border:1px solid #BAAAB0;border-radius:8px;padding:10px;background:#FFFDFB;color:var(--ink)}
.availability{display:inline-block;font:600 11.5px/1 var(--sans);padding:4px 8px;border-radius:999px;margin-left:6px;vertical-align:middle;background:#EFE7E1;color:#5A464D}
.availability-available{background:#E3F0E8;color:#24563A}
.availability-under-offer{background:#F6EBD7;color:#7A4E0C}
.availability-leased{background:#F5DFE5;color:#3F0B1E}
.tenancy-facts{color:var(--muted);margin-left:6px}
.building-description{max-width:60ch;color:var(--ink);white-space:pre-line}

/* The public listing: details, agent and the enquiry form around the measured model. */
.listing-address{font-weight:500;color:#300916}
.listing-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:24px;align-items:start;margin:8px 0 24px}
.listing-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0 0 12px}
.listing-facts div{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#FFFDFB}
.listing-facts dt{font:500 12px/1.3 var(--sans);color:var(--muted);margin:0 0 4px}
.listing-facts dd{margin:0;font:600 17px/1.3 var(--sans);color:#300916}
.listing-description{max-width:65ch;white-space:pre-line;font-size:16px;line-height:1.6}
.listing-agent{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:#FFFDFB}
.listing-agent h2{font:600 13px/1.3 var(--sans);color:var(--muted);margin:0 0 8px}
.listing-agent p{margin:4px 0}.listing-agent .agent-name{font:400 22px/1.2 var(--serif);color:#300916}
.listing-agent a{color:#7B2843;font-weight:500}
.listing-agent .listing-enquire{margin-top:10px;width:100%}
.listing-enquiry{margin:32px 0;padding:24px;border:1px solid var(--line);border-radius:16px;background:#FFFDFB;max-width:760px}
.listing-enquiry h2{font:400 clamp(24px,3vw,32px)/1.15 var(--serif);color:#300916;margin:0 0 6px}
.listing-enquiry form{display:grid;gap:12px;margin-top:12px}
.listing-enquiry .field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.listing-enquiry label{display:grid;gap:6px;font:500 14px/1.3 var(--sans);color:#36252A}
.listing-enquiry input,.listing-enquiry textarea{font:16px/1.5 var(--sans);padding:11px 12px;border:1px solid #BAAAB0;border-radius:9px;background:#fff;color:var(--ink);width:100%}
.listing-enquiry .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.listing-enquiry button{justify-self:start;min-height:48px}
.enquiry-done{font-size:16px;line-height:1.6}
.preview-banner{background:#F5DFE5;color:#3F0B1E;border:0}
.listing-preview{position:fixed;inset:0;z-index:400;background:#FAF6F0;overflow:auto}
.listing-preview-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;background:#300916;color:#FAF6F0;font:600 14px/1 var(--sans)}
.listing-preview-bar .btn.ghost{color:#FAF6F0;border-color:#B98594}
.copy-row{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.copy-row input{flex:1;min-width:0}
.listing-fields{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:12px 0;display:grid;gap:6px}
.listing-fields legend{font:600 13px/1.3 var(--sans);color:#300916;padding:0 6px}
.listing-field{display:grid;grid-template-columns:20px minmax(96px,150px) minmax(0,1fr);align-items:baseline;gap:4px 10px;padding:9px 2px;border-top:1px solid var(--line);font:500 14px/1.45 var(--sans);color:var(--ink);cursor:pointer;margin:0}
.listing-field:first-of-type{border-top:0}
.listing-field input{margin:0;align-self:center;width:16px;height:16px}
.listing-field-value{color:var(--muted);font-weight:400;overflow-wrap:anywhere}
.listing-field.is-empty{cursor:default}.listing-field.is-empty span{color:var(--muted)}
@media(max-width:560px){.listing-field{grid-template-columns:20px minmax(0,1fr)}.listing-field-value{grid-column:2}}
@media(max-width:760px){.listing-summary{grid-template-columns:1fr}}

/* Enquiries: the agency inbox and its unread count in the sidebar. */
.nav-badge{margin-left:auto;min-width:20px;padding:2px 7px;border-radius:999px;background:#F5DFE5;color:#3F0B1E;font:600 11.5px/1.3 var(--sans);text-align:center}
.enquiry-filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}
.enquiry-filters .chip{border:1px solid var(--line);background:#FFFDFB;border-radius:999px;padding:7px 12px;font:500 13px/1 var(--sans);color:#36252A;cursor:pointer}
.enquiry-filters .chip span{color:var(--muted);margin-left:4px}
.enquiry-filters .chip.active{background:#300916;border-color:#300916;color:#FAF6F0}.enquiry-filters .chip.active span{color:#E6C7D1}
.enquiry-list{display:grid;gap:12px;max-width:860px}
.enquiry-card{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:#FFFDFB;display:grid;gap:8px}
.enquiry-card.is-new{border-color:#B98594;box-shadow:inset 3px 0 0 #7B2843}
.enquiry-card header{display:flex;justify-content:space-between;gap:12px;align-items:start;flex-wrap:wrap}
.enquiry-card h3{font:600 17px/1.3 var(--sans);margin:0;color:#300916}
.enquiry-meta{margin:2px 0 0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.enquiry-message{margin:0;white-space:pre-line;font-size:15.5px;line-height:1.6;max-width:70ch}
.enquiry-card footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.enquiry-card .enquiry-contact{color:#7B2843;font-weight:500;text-decoration:none}.enquiry-card .enquiry-contact:hover{text-decoration:underline}
.enquiry-card .enquiry-reply{min-height:36px;padding:6px 14px;font-size:13px}
.enquiry-status select{font:500 14px/1 var(--sans);padding:8px 10px;border-radius:8px;border:1px solid #BAAAB0;background:#fff}

/* Door questions on the Overview: the scan's own photo of each doorway beside the answer. */
.door-checks li{display:grid;gap:6px;margin:0 0 12px}
.door-photo{margin:0}
.door-photo canvas{display:block;max-width:100%;max-height:320px;width:auto;height:auto;border-radius:8px;border:1px solid var(--line);background:#EFE7E1}
.door-photo figcaption{font-size:12px;color:var(--muted);margin-top:4px}
.answer-acts .btn.active{background:#7B2843;border-color:#7B2843;color:#fff}

/* The reference belongs to the conversation, beside its composer. */
.studio-live .studio-reference-tools{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:12px;color:#705A62}
.studio-live .studio-reference-tools .btn{min-height:36px;padding:7px 10px;font-size:12px;border-radius:8px}
.studio-live .studio-reference-preview:empty{display:none}
.studio-live .studio-reference-preview{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px}
.studio-live .studio-reference-preview img{width:52px;height:52px;object-fit:cover;border-radius:6px}
.studio-live .studio-reference-preview button{margin-left:auto;min-height:36px;color:#7B2843;background:transparent;border:0;text-decoration:underline;font:inherit;cursor:pointer}
.studio-live .studio-reference-preview button[aria-disabled=true]{opacity:.6;cursor:default}
.design-review-capture{position:fixed!important;left:-12000px!important;top:0!important;width:900px!important;height:675px!important;pointer-events:none!important;overflow:hidden!important}
.design-review-capture .lay,.design-review-capture .lay-stage,.design-review-capture .lay-canvas{width:900px!important;height:675px!important;min-height:0!important;max-height:675px!important}
.design-review-capture .lay{display:block!important}
.design-review-capture .lay-rail{display:none!important}

/* Project brief and package stay beside the current editable room. */
.furnish-ai .studio-project-tools{display:flex;flex:none;flex-wrap:wrap;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:#F7F3EE}
.furnish-ai .studio-project-tools .btn{min-height:40px;padding:8px 10px;border-radius:8px;font-size:13px}
.furnish-ai .studio-project-brief{flex:0 1 auto;min-height:0;max-height:70%;overflow:auto;padding:16px;border-bottom:1px solid var(--line);background:#F7F3EE}
.furnish-ai .studio-project-brief[hidden]{display:none}
.furnish-ai .studio-project-brief h3{font-size:24px;margin:0 0 8px}
.furnish-ai .studio-project-brief p{font-size:14px;line-height:1.5;margin:0 0 16px;color:#705A62}
.furnish-ai .studio-project-brief form{display:grid;gap:12px;margin:0;padding:0;border:0;background:transparent}
.furnish-ai .studio-project-brief label{display:grid;gap:5px;font-size:13px;font-weight:500;color:#36252A}
.furnish-ai .studio-project-brief textarea{box-sizing:border-box;width:100%;min-height:42px;padding:9px 10px;font:400 14px/1.5 Archivo,sans-serif;color:#36252A;background:white;border:1px solid #B98C9B;border-radius:8px;resize:vertical}
.furnish-ai .studio-project-brief textarea::placeholder{color:#705A62;opacity:1}
.furnish-ai .studio-project-brief textarea:focus-visible{outline:2px solid #7B2843;outline-offset:2px}
.furnish-ai .studio-brief-actions{display:flex;gap:8px;position:sticky;bottom:0;background:#F7F3EE;padding:8px 0}
.furnish-ai .studio-brief-actions .btn{min-height:44px;font-size:14px}
/* Portal loading placeholders mirror the cards and conversation that follow. */
.portal-capture-heading i,.portal-capture-tabs i,.portal-capture-facts i{display:block;height:10px;border-radius:99px;background:linear-gradient(90deg,#EEE7E1 25%,#F8F4F0 45%,#EEE7E1 65%);background-size:220% 100%;animation:portal-skeleton-shimmer 1.6s ease-in-out infinite}
.portal-skeleton{display:block;min-height:250px}
.portal-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:22px}
.portal-skeleton-card{overflow:hidden;min-width:0;background:#fff;border:1px solid #E8DCD5;border-radius:14px}
.portal-skeleton-text-card{min-height:168px}
.portal-skeleton-image{height:190px;background:#EFE8E2}
.portal-skeleton-lines{display:grid;gap:10px;padding:20px}
.portal-skeleton-lines i,.portal-chat-skeleton-bubble,.portal-chat-tools i,.portal-chat-compose i,.portal-skeleton-toolbar i{display:block;height:12px;border-radius:99px;background:linear-gradient(90deg,#EEE7E1 25%,#F8F4F0 45%,#EEE7E1 65%);background-size:220% 100%;animation:portal-skeleton-shimmer 1.6s ease-in-out infinite}
.portal-skeleton-lines i:first-child{width:58%;height:16px}.portal-skeleton-lines i:nth-child(2){width:84%}.portal-skeleton-lines i:nth-child(3){width:42%}
.portal-skeleton-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-top:1px solid #E8DCD5;margin-bottom:12px}
.portal-skeleton-toolbar i:first-child{width:min(300px,55%);height:38px;border:1px solid #E8DCD5;background-color:#fff}
.portal-skeleton-toolbar i:last-child{width:150px;height:42px;border-radius:8px}
.portal-chat-shell{display:flex;flex:1;flex-direction:column;min-height:400px}
.furnish-ai-content:has(.portal-chat-shell){display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}
.furnish-ai #stake-studio:has(.portal-chat-shell){display:flex;flex:1;flex-direction:column;min-height:0;margin:0;border:0;border-radius:0;overflow:hidden}
.furnish-ai #stake-studio:has(.portal-chat-shell)>.portal-chat-shell{min-height:0}
.portal-chat-tools{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid #E8DCD5;background:#F7F3EE;min-height:60px}
.portal-chat-tools i{width:94px;height:40px;border-radius:8px}.portal-chat-tools i:nth-child(2){width:110px}.portal-chat-tools i:nth-child(3){width:54px}
.portal-chat-transcript{display:flex;flex:1 1 0;flex-direction:column;justify-content:center;gap:20px;min-height:80px;padding:20px 16px}
.portal-chat-skeleton-bubble{height:48px;width:72%;border-radius:3px 12px 12px 12px}
.portal-chat-skeleton-bubble.user{align-self:flex-end;margin-left:24px;border-radius:12px 12px 3px 12px;background-color:#F0E3E7}
.portal-chat-skeleton-bubble.short{width:50%}
.portal-chat-compose{display:grid;flex:none;gap:10px;margin-top:auto;padding:12px 16px 10px;border-top:1px solid #E8DCD5;background:white}
.portal-chat-compose i:first-child{height:80px;border:1px solid #E8DCD5;background-color:#fff;border-radius:12px}
.portal-chat-compose i:last-child{height:12px;width:55%}
.portal-space-skeleton{display:grid;gap:24px;min-height:440px}
.portal-space-skeleton-heading{display:grid;gap:12px;max-width:620px;align-content:start}
.portal-space-skeleton-heading i,.portal-space-skeleton-section i{display:block;height:12px;border-radius:99px;background:linear-gradient(90deg,#EEE7E1 25%,#F8F4F0 45%,#EEE7E1 65%);background-size:220% 100%;animation:portal-skeleton-shimmer 1.6s ease-in-out infinite}
.portal-space-skeleton-heading i:first-child{width:28%;height:13px}.portal-space-skeleton-heading i:nth-child(2){width:65%;height:32px}.portal-space-skeleton-heading i:nth-child(3){width:82%}
.portal-space-skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-space-skeleton-section{display:grid;align-content:start;gap:14px;min-height:150px;padding:20px;background:#fff;border:1px solid #E8DCD5;border-radius:14px}
.portal-space-skeleton-section i:first-child{width:46%;height:17px}.portal-space-skeleton-section i:nth-child(2){width:92%}.portal-space-skeleton-section i:nth-child(3){width:68%}
.portal-capture-opening{display:grid;gap:20px;min-height:500px}
.portal-capture-heading{display:grid;gap:12px;max-width:620px}
.portal-capture-heading i:first-child{width:110px;height:22px}.portal-capture-heading i:nth-child(2){width:min(72vw,470px);height:42px}.portal-capture-heading i:nth-child(3){width:min(80vw,530px);height:12px}
.portal-capture-tabs{display:flex;align-items:center;gap:28px;min-height:48px;border-bottom:1px solid #E8DCD5}
.portal-capture-tabs i{width:66px;height:12px}.portal-capture-tabs i:first-child{width:82px}
.portal-capture-content{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr);gap:18px;align-items:start}
.portal-capture-canvas{min-height:330px;border:1px solid #E8DCD5;border-radius:12px;background:linear-gradient(90deg,#F2ECE7 25%,#F8F4F0 45%,#F2ECE7 65%);background-size:220% 100%;animation:portal-skeleton-shimmer 1.6s ease-in-out infinite}
.portal-capture-facts{display:grid;gap:14px;padding:20px;border:1px solid #E8DCD5;border-radius:12px;background:#fff}
.portal-capture-facts i:first-child{width:48%;height:18px}.portal-capture-facts i:nth-child(2){width:92%}.portal-capture-facts i:nth-child(3){width:76%}.portal-capture-facts i:nth-child(4){width:60%}
.portal-admin-skeleton,.portal-usage-skeleton,.portal-publication-skeleton{display:grid;gap:22px;min-height:420px}
.portal-admin-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-admin-panels>div{display:grid;align-content:start;gap:14px;min-height:210px;padding:20px;background:#fff;border:1px solid #E8DCD5;border-radius:14px}
.portal-admin-panels i,.portal-usage-summary i,.portal-usage-table i,.portal-public-summary i{display:block;height:12px;border-radius:99px;background:linear-gradient(90deg,#EEE7E1 25%,#F8F4F0 45%,#EEE7E1 65%);background-size:220% 100%;animation:portal-skeleton-shimmer 1.6s ease-in-out infinite}
.portal-admin-panels i:first-child{width:54%;height:18px}.portal-admin-panels i:nth-child(2){width:90%}.portal-admin-panels i:nth-child(3){width:70%}
.portal-usage-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-usage-summary i{height:88px;border:1px solid #E8DCD5;border-radius:12px;background-color:white}
.portal-usage-table{display:grid;gap:10px;padding:18px;background:#fff;border:1px solid #E8DCD5;border-radius:12px}.portal-usage-table i{height:34px;border-radius:4px}
.portal-publication-skeleton{max-width:850px;min-height:380px}
.portal-public-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;border:1px solid #E8DCD5;border-radius:12px;background:#fff}
.portal-public-summary i{height:34px}

/* The loader and .portal-sr-only live inline in index.html, so the boot paints on the first byte. */
@keyframes portal-skeleton-shimmer{to{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){.portal-skeleton-lines i,.portal-skeleton-toolbar i,.portal-chat-tools i,.portal-chat-compose i,.portal-chat-skeleton-bubble,.portal-space-skeleton-heading i,.portal-space-skeleton-section i,.portal-capture-heading i,.portal-capture-tabs i,.portal-capture-facts i,.portal-capture-canvas,.portal-admin-panels i,.portal-usage-summary i,.portal-usage-table i,.portal-public-summary i{animation:none;background:#EEE7E1}}
@media(max-width:760px){.portal-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-skeleton-image{height:160px}.portal-skeleton-lines{padding:16px}}
@media(max-width:480px){.portal-skeleton-grid{grid-template-columns:1fr}.portal-skeleton-image{height:200px}}
@media(max-width:600px){.portal-space-skeleton-grid{grid-template-columns:1fr}.portal-space-skeleton{min-height:560px}}
@media(max-width:760px){.portal-capture-content{grid-template-columns:minmax(0,1fr)}.portal-capture-facts{min-height:140px}}
@media(max-width:600px){.portal-admin-panels,.portal-usage-summary{grid-template-columns:1fr}.portal-publication-skeleton{min-height:500px}}
@media(max-width:480px){.portal-capture-opening{min-height:450px}.portal-capture-canvas{min-height:260px}.portal-capture-heading i:nth-child(2){height:36px}}

/* Compact phase feedback stays a fixed-height block while its detail rotates. */
.furnish-ai .studio-live .studio-progress{display:grid;gap:7px;color:var(--muted);font-size:12px;line-height:1.45}
.furnish-ai .studio-live .studio-progress-phase{display:block;min-height:2.9em;color:var(--ink);font-size:13px;line-height:1.45}
.furnish-ai .studio-live .studio-progress-meta{display:grid;gap:2px;min-height:3.2em}
.furnish-ai .studio-live .studio-progress-stage{font-size:10px;font-weight:600;letter-spacing:.035em;text-transform:uppercase}
.furnish-ai .studio-live .studio-progress-detail{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-height:2.8em}
 .furnish-ai .studio-live .studio-progress-track{display:block;height:4px;overflow:hidden;border-radius:99px;background:var(--line)}
.furnish-ai .studio-live .studio-progress-track i{display:block;width:35%;height:100%;border-radius:99px;background:var(--accent);animation:studio-progress-sweep 1.7s ease-in-out infinite alternate}
@keyframes studio-progress-sweep{from{transform:translateX(-20%)}to{transform:translateX(205%)}}
@media(prefers-reduced-motion:reduce){.furnish-ai .studio-live .studio-progress-track i{animation:none;transform:translateX(90%)}}
.furnish-ai .studio-style-research{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;font-size:12px;line-height:1.5}
.furnish-ai .studio-style-research summary{cursor:pointer;font-weight:600;color:var(--ink)}
.furnish-ai .studio-style-research p{margin:7px 0;color:var(--muted)}
.furnish-ai .studio-style-research ul{margin:0;padding-left:18px}
.furnish-ai .studio-style-research a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}

/* The same supplied ivory mark needs a burgundy surface on guest pages too. */
.public-property-header{background:#300916;color:#F7F3EE;border:0;border-radius:14px;padding:22px 28px;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.public-property-header .wordmark{display:flex;flex:0 0 auto;margin:0}.public-property-header .wordmark img{width:150px;height:auto}
.public-property-header>span{font-size:14px;text-transform:none;letter-spacing:0;color:#EBD9D5}
.public-property-header .public-help-link{color:#F7F3EE;margin-left:auto;font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:10px 0}
.public-property-header a:focus-visible{outline-color:#E5B6A4}
.public-property .page-heading h1{overflow-wrap:anywhere}.public-property .page-heading p{max-width:65ch;font-size:16px}
.public-access{max-width:680px;padding:clamp(20px,5vw,60px) 0 72px}.public-access h1{font-size:clamp(34px,5vw,54px);line-height:1.15;margin:0 0 24px}.public-access p{font-size:16px;line-height:1.7;margin-bottom:24px}.public-access .small-note{font-size:14px}.public-access .actions{flex-wrap:wrap;gap:20px}
@media(max-width:600px){.public-property-header{padding:20px;gap:12px}.public-property-header>span{display:none}.public-property-header .wordmark img{width:125px}.public-property-header .public-help-link{font-size:13px;max-width:120px}.public-property .page-heading{align-items:flex-start}.public-access .btn{width:100%;justify-content:center}}

/* Embedded Dollhouse: the model fills the frame; one quiet credit links back. */
.furnished-canvas{position:relative;width:100%;height:min(70vh,560px);min-height:320px}
.furnished-canvas canvas{display:block;width:100%;height:100%;touch-action:none}
.embed-furnish{border:0;padding:0;margin:8px 0;display:flex;gap:16px;flex-wrap:wrap}
.embed-link-choice{display:block;margin:4px 0 8px}
html.is-embed,html.is-embed body{height:100%;margin:0;background:transparent;overflow:hidden}
.embed-view{position:relative;height:100vh;height:100dvh;display:flex;flex-direction:column;box-sizing:border-box}
.embed-frame{--ivory:#FAF6F0;position:relative;flex:1;min-height:0;border-radius:20px;overflow:hidden;border:1px solid rgba(250,246,240,.14);background:radial-gradient(ellipse at 50% 45%,#3a0e15 0%,#26090e 55%,#1a0508 100%);color:var(--ivory);font-family:Archivo,system-ui,sans-serif}
.embed-frame:fullscreen{border-radius:0;border:0}
.embed-cad{position:absolute;inset:0;overflow:hidden;padding:0}
.embed-cad>*:not(.cad-layout),.embed-cad .cad-inspector,.embed-cad .cad-layout .notice,.embed-cad .small-note{display:none!important}
.embed-cad>.cad-layout{display:block;height:100%;margin:0}
.embed-cad>.cad-layout>div:not(.cad-inspector){height:100%}
.embed-cad .cad-canvas{position:relative;height:100%!important;min-height:0!important;background:transparent!important;border:0!important;border-radius:0!important}
.embed-cad .cad-canvas>div{height:100%!important;min-height:0!important}
.embed-cad .cad-canvas canvas{height:100%!important;width:100%!important}
.embed-cad .cad-hint{bottom:auto;top:50%;background:rgba(20,4,7,.62);color:rgba(250,246,240,.85);font-size:13px;border:1px solid rgba(250,246,240,.12)}
.embed-head{position:absolute;top:20px;left:22px;display:flex;align-items:center;gap:14px;pointer-events:none;max-width:calc(100% - 230px)}
.embed-head p{margin:0}
.embed-icon svg,.embed-round svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;display:block}
.embed-icon{color:var(--ivory);opacity:.9}
.embed-title{font-size:17px;font-weight:500;line-height:1.3;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.embed-sub{font-size:13px;line-height:1.4;color:rgba(250,246,240,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.embed-tools{position:absolute;top:18px;right:20px;display:flex;gap:10px}
.embed-round{appearance:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;padding:0;border:0;cursor:pointer;color:var(--ivory);background:rgba(10,2,4,.45);transition:background .2s}
.embed-round svg{width:20px;height:20px}
.embed-round:hover{background:rgba(250,246,240,.14)}
.embed-round[aria-pressed=true]{background:rgba(250,246,240,.26);color:#fff}
.embed-round:focus-visible,.embed-head-to:focus-visible,.embed-mark:focus-visible{outline:2px solid var(--ivory);outline-offset:3px}
.embed-mark{position:absolute;left:24px;bottom:22px;display:flex;align-items:center;gap:11px;color:var(--ivory);text-decoration:none;line-height:1}
.embed-mark-word{font-family:var(--serif,'Marcellus',Georgia,serif);font-size:15px;letter-spacing:.02em;opacity:.85;line-height:16px}
.embed-mark-rule{width:1px;height:16px;background:rgba(250,246,240,.4)}
.embed-mark img{height:16px;width:auto;display:block}
.embed-head-to{position:absolute;right:22px;bottom:20px;padding:12px 22px;border:1px solid rgba(250,246,240,.7);border-radius:999px;color:var(--ivory);text-decoration:none;font-size:14px;font-weight:500;background:transparent;transition:background .2s}
.embed-head-to:hover{background:rgba(250,246,240,.1)}
@media(max-width:520px){.embed-frame{border-radius:14px}.embed-head{top:14px;left:14px;gap:10px;max-width:calc(100% - 150px)}.embed-sub{display:none}.embed-title{font-size:15px}.embed-icon svg{width:20px;height:20px}.embed-tools{top:12px;right:12px;gap:6px}.embed-round{width:36px;height:36px}.embed-round svg{width:17px;height:17px}.embed-mark{left:14px;bottom:18px;gap:8px}.embed-mark-word{font-size:13px}.embed-mark-rule{height:13px}.embed-mark img{height:13px}.embed-head-to{right:12px;bottom:14px;padding:8px 12px;font-size:12px}}

.embed-status{margin:auto;padding:24px;max-width:36ch;text-align:center;color:#300916;font:16px/1.5 Archivo,system-ui,sans-serif}
.embed-share{margin-top:14px;padding-top:12px;border-top:1px solid rgba(79,14,24,.12)}
.embed-share textarea{width:100%;font:13px/1.4 ui-monospace,monospace;resize:none}

/* Tenant Dollhouse: the key facts sit under the title as one strip. */
.public-property .listing-facts--key{display:flex;flex-wrap:wrap;gap:0;margin:18px 0 0;padding:0;border-top:1px solid rgba(79,14,24,.16);border-bottom:1px solid rgba(79,14,24,.16)}
.public-property .listing-facts--key>div{padding:12px 28px 12px 0;margin-right:28px;border-right:1px solid rgba(79,14,24,.12)}
.public-property .listing-facts--key>div:last-child{border-right:0;margin-right:0}
.public-property .listing-facts--key dt{font:500 12px/1.3 Archivo,system-ui,sans-serif;color:#6b4a50;margin:0 0 4px}
.public-property .listing-facts--key dd{margin:0;font:400 22px/1.2 Marcellus,Georgia,serif;color:#300916}
@media (max-width:600px){.public-property .listing-facts--key>div{flex:1 1 45%;padding:10px 12px 10px 0;margin-right:0;border-right:0}.public-property .listing-facts--key dd{font-size:19px}}

/* Tenant viewer: 3D / Plan as a pair, Reset beside them, one fading hint. */
.cad-tenant .cad-intro p{display:none}
.cad-tenant [data-view][aria-pressed="true"]{background:#4F0E18;color:#FAF6F0;border-color:#4F0E18}
.cad-tenant .cad-canvas{position:relative}
.cad-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);margin:0;padding:8px 14px;border-radius:999px;background:rgba(48,9,22,.86);color:#FAF6F0;font:500 14px/1.2 Archivo,system-ui,sans-serif;pointer-events:none;white-space:nowrap;transition:opacity .35s}
.cad-hint.is-gone{opacity:0}
.public-property .listing-facts--key>div{background:none;border-top:0;border-bottom:0;border-left:0;border-radius:0;box-shadow:none;min-width:0}
.public-property .page-heading .actions{display:flex;gap:10px;align-items:flex-start}
/* A tenant sees the model, full width; surface inspection and the measuring notes are the agent's. */
.cad-tenant .cad-layout{display:block}
.cad-tenant .cad-inspector,.cad-tenant .cad-layout .small-note,.cad-tenant #cad-distance{display:none}
.cad-tenant .cad-canvas{height:min(68vh,640px);min-height:340px}
.cad-tenant .cad-canvas>div>[role="status"]{display:none!important}
.cad-tenant .cad-toolbar{margin:16px 0 12px}

/* Listing page: grouped sections, hints under fields, callouts and status chip that do not look like fields. */
.listing-page{max-width:720px;font-size:16px}
/* The form, and beside it on a wide screen what it produces: the share link and what visitors will see (31 Oct: the right was empty). */
.listing-layout{display:grid;grid-template-columns:minmax(0,720px);gap:20px 24px;align-items:start}
.listing-layout>.listing-page{max-width:none}
.listing-layout>.listing-head{margin:0;order:-2}.listing-layout>.listing-aside{order:-1}
.listing-layout>.listing-head h2{font-size:clamp(30px,3vw,40px);line-height:1.1}
.listing-layout>.listing-head .hint{max-width:60ch;font-size:15px}
.listing-aside{display:flex;flex-direction:column;gap:16px}
.listing-aside>section{background:#F3EEEA;border-radius:16px;padding:20px 20px 22px}
.listing-aside h3{margin:0 0 12px;font:600 18px/1.3 var(--sans);color:#4F0E18}
.listing-aside .embed-share{margin-top:24px}
.listing-glance{display:none}@media(min-width:1180px){.listing-glance{display:block}}
.listing-glance-name{margin:0 0 8px;font:600 17px/1.35 var(--sans);color:#300916;overflow-wrap:anywhere}
.listing-glance-list{margin:0 0 12px;padding-left:18px;font-size:15px;line-height:1.6}
.copy-row.joined{gap:0;flex-wrap:nowrap}
.copy-row.joined input{border-top-right-radius:0;border-bottom-right-radius:0;min-height:44px}
.listing-aside .copy-row.joined input.hash{font:400 14px/1.3 var(--sans);text-overflow:ellipsis}
.copy-row.joined .btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;min-height:44px;flex:none}
@media(min-width:1180px){.listing-layout{grid-template-columns:minmax(0,720px) minmax(300px,380px)}.listing-layout>.listing-head{grid-column:1}.listing-layout>.listing-page{grid-column:1;grid-row:2}.listing-aside{grid-column:2;grid-row:1/span 2;position:sticky;top:16px}}
.listing-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.listing-head h2{margin:0 0 4px}
.listing-page .hint{display:block;margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--muted);font-weight:400}
.listing-page .optional{font-weight:400;color:var(--muted)}
.status-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#EFE8E2;color:#36252A;font:600 14px/1.2 var(--sans);white-space:nowrap}
.status-chip i{width:8px;height:8px;border-radius:50%;background:#705A62}
.status-chip.is-live{background:#E3F0E6;color:#17402A}.status-chip.is-live i{background:#2E7D4F}
.listing-section{padding:28px 0;border-top:1px solid var(--line)}
.listing-section>h3{margin:0 0 12px;font:600 18px/1.3 var(--sans);color:#4F0E18}
.listing-section .field{margin:0 0 16px}.listing-section .field:last-child{margin-bottom:0}
.listing-section .field>label{display:block;margin-bottom:6px;font-weight:600;font-size:16px}
.listing-page .listing-fields{border:0;padding:0;margin:0}
.listing-page .listing-fields legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.listing-page .listing-fields>.hint{margin:0 0 10px}
.publish-confirm{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;font-size:16px;line-height:1.4}
.publish-confirm input{margin-top:4px;flex:none}
.publish-confirm>span{display:flex;flex-direction:column}
.callout{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;border-left:4px solid;font-size:15px;line-height:1.5;margin:12px 0}
.callout-icon{font-size:18px;line-height:1.3;flex:none}
.callout--info{background:#EEF2F7;border-color:#3B5B80;color:#1F3550}
.callout--warn{background:#FBF1DC;border-color:#A8650A;color:#5C3600}
.listing-page .embed-share h4,.listing-aside .embed-share h4{margin:0 0 4px;font:600 16px/1.3 var(--sans)}
.listing-aside .embed-link-choice{margin:16px 0 4px}
.back-bar{padding:12px clamp(16px,4vw,32px) 0}
.back-link{display:inline-flex;align-items:center;min-height:44px;font:600 16px/1.3 var(--sans);color:#4F0E18;text-decoration:none}
.back-link:hover{text-decoration:underline}
@media(max-width:480px){.listing-page .actions{flex-direction:column;align-items:stretch}.listing-page .actions .btn{width:100%}}
.listing-page input:not([type=checkbox]):not([type=radio]),.listing-page select,.listing-page textarea,.listing-page .listing-field,.listing-page .embed-share label{font-size:16px}
.listing-page .listing-field-value{color:var(--muted);font-size:14px}
@media (max-width:600px){.cad-tenant .cad-canvas{height:58vh;min-height:300px}}
/* Floor picker (Katie's mockup, 27 Oct): a pill on the model's right edge, top floor first, the floor shown in white. */
.public-model{position:relative}
.floor-pick{position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:8px;padding:6px;border-radius:999px;background:rgba(10,2,4,.45);border:1px solid rgba(250,246,240,.14)}
.floor-btn{appearance:none;width:40px;height:40px;border-radius:50%;border:0;padding:0;cursor:pointer;display:grid;place-items:center;font:600 15px/1 var(--sans,Archivo,system-ui,sans-serif);color:rgba(250,246,240,.85);background:transparent;transition:background .2s,color .2s}
.floor-btn:hover{background:rgba(250,246,240,.14)}
.floor-btn[aria-pressed=true]{background:#fff;color:#26090e}
.floor-btn:focus-visible{outline:2px solid #FAF6F0;outline-offset:2px}
.public-model .floor-pick{background:#FAF6F0;border-color:rgba(79,14,24,.18);box-shadow:0 2px 10px rgba(79,14,24,.12)}
.public-model .floor-btn{color:#4F0E18}
.public-model .floor-btn:hover{background:rgba(79,14,24,.08)}
.public-model .floor-btn[aria-pressed=true]{background:#4F0E18;color:#FAF6F0}
.public-model .floor-btn:focus-visible{outline-color:#4F0E18}
@media(max-width:520px){.floor-pick{right:10px;gap:6px;padding:5px}.floor-btn{width:34px;height:34px;font-size:13px}}
@media(max-width:520px){.embed-frame .floor-pick{top:auto;bottom:72px;transform:none}}
.floor-btn{font-size:11px}

/* Saved design history replaces the transcript, never the editable canvas. */
.furnish-ai .studio-live .studio-history{flex:1 1 0;min-height:0;overflow:auto;padding:16px;overscroll-behavior:contain}
.furnish-ai .studio-live .studio-history[hidden],.furnish-ai .studio-live .studio-log[hidden],.furnish-ai .studio-live .studio-compose[hidden]{display:none}
.studio-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.studio-history-heading h3{margin:0;font-size:24px}
.studio-history p{font-size:14px;line-height:1.5;color:#705A62}
.studio-history label{display:block;margin:16px 0 6px;font-size:14px;font-weight:500}
.studio-history select{box-sizing:border-box;width:100%;min-height:44px;padding:10px;border:1px solid #B98C9B;border-radius:8px;background:#fff;color:#36252A;font:400 14px/1.5 Archivo,sans-serif}
.studio-history select:focus-visible,.studio-history button:focus-visible{outline:2px solid #7B2843;outline-offset:2px}
.studio-history .btn{min-height:44px;font-size:14px}
.studio-history-summary{display:grid;gap:6px;margin:16px 0;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.studio-history-summary span{color:#705A62}
.studio-history-preview figure{margin:12px 0}
.studio-history-preview img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#F7F3EE;border-radius:8px}
.studio-history-preview figcaption{margin-top:5px;font-size:12px;color:#705A62}
.studio-history-placeholder{display:grid;place-items:center;aspect-ratio:16/10;margin:12px 0;border-radius:8px;background:#F7F3EE;color:#705A62;font-size:14px}
.studio-history [data-history-status]:empty{display:none}
.studio-history [data-history-restore]{width:100%;margin-top:12px}

/* Direct header actions sit on burgundy, unlike actions inside light menus. */
.workspace-layout .topbar .top-actions>.text-button{color:var(--chrome-text);border-color:var(--chrome-border)}

/* ---- Top bar, tidy (27 Oct) ------------------------------------------------
   Left: menu, back, the space's name (its menu holds the records and the rarer
   actions). Centre: Space | Furnish | Listing, the one primary choice.
   Right: quiet save status, undo/redo, people, Share. One height (36px), one
   radius (10px), no rings; one style per tier. */
/* The right column is never narrower than what it holds (actions, the bell, who is
   signed in): two equal columns pushed it past the window's edge, so the page
   scrolled sideways (31 Oct). The left column, the scan's name, gives way instead. */
.workspace-layout.workspace-focus .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(max-content,1fr);align-items:center;column-gap:16px;flex-wrap:nowrap}
.workspace-layout.workspace-focus .topbar .topbar-left{min-width:0;display:flex;align-items:center;gap:4px}
.workspace-layout.workspace-focus .topbar .topbar-tabs{justify-self:center;flex:none;min-width:0}
.workspace-layout.workspace-focus .topbar .top-actions{gap:4px;min-width:0}
.workspace-layout .topbar .tab-record[hidden],.workspace-layout .topbar .top-moved{display:none}
/* Tier 3, quiet icons: menu, back, undo, redo, people. */
.workspace-layout .topbar :is(.side-toggle,.crumb-back,.top-history button,.top-icon-btn){min-height:36px;min-width:36px;height:36px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:var(--chrome-text);display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:none}
.workspace-layout .topbar :is(.side-toggle,.crumb-back,.top-history button:not(:disabled),.top-icon-btn):hover{background:var(--chrome-hover)}
.workspace-layout .topbar .top-history button:disabled{background:transparent;color:#B98594}
.workspace-layout .topbar .top-icon-btn svg{width:18px;height:18px}
.workspace-layout .topbar .top-icon-btn span{font:500 13px/1 var(--sans)}
/* The name: plain text with a small chevron, a menu of its own. */
.workspace-layout .topbar .crumb-project>button{min-height:36px;height:36px;padding:0 10px;border-radius:10px;border:0}
.workspace-layout .topbar .crumb-project>button b{font:600 14px/1.2 var(--sans)}
/* Tier 1, the primary choice: one calm segmented control, no ring. */
.tab-lenses.view-tabs{padding:3px;border:0;box-shadow:none;border-radius:12px;margin:0}
.tab-lenses.view-tabs button{min-height:30px;height:30px;padding:0 14px;border-radius:9px}
.tab-lenses.view-tabs .tab-marker{border-radius:9px}
.tab-lenses.view-tabs button:focus-visible{border-radius:9px}
/* Save status: an icon; the words on hover or focus, always when it matters. */
.workspace-layout .topbar .top-saved{position:relative;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 8px;border-radius:10px;color:var(--chrome-muted)}
.workspace-layout .topbar .top-saved svg{width:18px;height:18px;flex:none}
.workspace-layout .topbar .top-saved #laySaved{display:inline;max-width:0;overflow:hidden;white-space:nowrap;font-size:12px;color:var(--chrome-text);transition:max-width .2s ease}
.workspace-layout .topbar .top-saved #laySaved::before{content:none}
.workspace-layout .topbar .top-saved:is(:hover,:focus-visible) #laySaved,.workspace-layout .topbar .top-saved #laySaved:is([data-state=conflict],[data-state=offline]){max-width:220px}
.workspace-layout .topbar .top-saved:focus-visible{outline:3px solid var(--chrome-focus);outline-offset:2px}
.workspace-layout .topbar .top-actions::after{content:'';width:1px;height:20px;background:#63253A;order:0;display:none}
/* Tier 0, the one filled button. */
.workspace-layout .topbar .top-share-btn{margin-left:6px}
/* The name's menu: facts, then records, then actions, set as plain rows. */
.workspace-layout .topbar .crumb-pop{width:300px;gap:6px}
.workspace-layout .topbar .crumb-group{display:flex;flex-direction:column;align-self:stretch;gap:2px;margin:4px -10px 0;padding-top:8px;border-top:1px solid #EADDE1}
.workspace-layout .topbar .crumb-group button{display:flex;align-items:center;width:100%;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;font:500 13px/1.2 var(--sans);color:var(--control-ink);text-align:left;text-decoration:none}
.workspace-layout .topbar .crumb-group button[hidden]{display:none}
.workspace-layout .topbar .crumb-group button:hover{background:#F5E5E9}
.workspace-layout .topbar .crumb-group button.active{background:#63253A;color:var(--chrome-text)}
.workspace-layout .topbar .crumb-group .tab-icon,.workspace-layout .topbar .crumb-group .project-pop-rule{display:none}
.workspace-layout .topbar .crumb-private{display:flex;gap:8px;align-items:center;padding:6px 10px 2px;font-size:12px;color:var(--control-muted)}
.workspace-layout .topbar .crumb-private #layPrivate{width:16px;height:16px;color:var(--control-muted)}
@media(max-width:1280px){.workspace-layout .topbar .top-people span{display:none}}
@media(max-width:1100px){.workspace-layout .topbar .top-saved{display:inline-flex}}
@media(max-width:760px){
 .workspace-layout.workspace-focus .topbar{grid-template-columns:minmax(0,1fr) auto;row-gap:8px;padding-top:8px;padding-bottom:8px}
 .workspace-layout.workspace-focus .topbar .topbar-tabs{grid-column:1/-1;grid-row:2;justify-self:stretch;order:0;overflow:visible}
 .workspace-layout .topbar .tab-lenses{display:flex;width:100%}
 /* Equal shares of the row, however many tabs: at their usual padding four ran 13px past the bar. */
 .workspace-layout .topbar .tab-lenses button{flex:1;min-width:0;padding:0 4px;justify-content:center}
 .workspace-layout .topbar .top-saved{display:none}
 .workspace-layout .topbar .top-share-btn.has-icon{padding:0 10px;margin-left:2px}
 .workspace-layout .topbar .top-share-btn{font-size:0;gap:0}
 .workspace-layout .topbar .top-share-btn svg{width:18px;height:18px}
}
/* The embed stays view-only; this hands the visitor to the full listing to measure and furnish. */
.embed-full-link{position:absolute;right:22px;top:76px;padding:9px 16px;border:1px solid rgba(250,246,240,.7);border-radius:999px;color:var(--ivory);text-decoration:none;font-size:13px;font-weight:500;background:rgba(20,10,12,.35)}
.embed-full-link:hover{background:rgba(250,246,240,.12)}
.embed-full-link:focus-visible{outline:2px solid var(--ivory);outline-offset:3px}
/* Ask Inscena everywhere: a small round chat button that opens to its name on hover or focus, so it never sits over panels or controls. */
.property-chat .chat-launcher:has(>svg){width:52px;min-height:52px;height:52px;padding:0;gap:0;justify-content:center;border-radius:26px;overflow:hidden;white-space:nowrap;transition:width .2s ease,padding .2s ease}
.property-chat .chat-launcher:has(>svg)>span{max-width:0;overflow:hidden;opacity:0;transition:max-width .2s ease,opacity .15s ease}
.property-chat .chat-launcher:has(>svg):is(:hover,:focus-visible){width:auto;height:auto;padding:8px 18px 8px 14px;gap:10px}
.property-chat .chat-launcher:has(>svg):is(:hover,:focus-visible)>span{max-width:240px;opacity:1}
.property-chat .chat-launcher svg{width:22px;height:22px;flex:none}
/* The embed with visitor tools: the listing's own Explore | Measure | Furnish,
   filling the frame. The page around it keeps its scroll (see holdWheel). */
/* The embed is the basic layer: the model fills the frame, a slim ivory bar
   carries Explore / Measure / Furnish, and everything advanced (inspector,
   render, finishes, quotes, the controls sheet) waits behind "Open full listing". */
.embed-view.embed-listing{display:flex;flex-direction:column;background:#FAF6F0}
.embed-listing>.listing-workspace{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;background:#FAF6F0}
/* The header is the full listing's (Katie, 28 Oct: unify): burgundy bar, ivory tabs, ivory button, only shorter. */
.embed-listing .is-embed-listing>.topbar{position:relative;display:flex;flex-wrap:nowrap;align-items:center;gap:12px;height:60px;min-height:0;box-sizing:border-box;padding:0 14px 0 16px;background:#300916;color:#F7F3EE;border-bottom:0;box-shadow:none}
.embed-listing .is-embed-listing .topbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 0;width:auto}
.embed-listing .is-embed-listing .listing-brand{flex:none;display:flex;width:32px;height:32px}
.embed-listing .is-embed-listing .listing-brand img{width:32px;height:32px;object-fit:contain;opacity:0}
.embed-listing .is-embed-listing .listing-brand{background:#FAF6F0;-webkit-mask:url(/portal/inscena-monogram.svg) center/contain no-repeat;mask:url(/portal/inscena-monogram.svg) center/contain no-repeat}
.embed-listing .is-embed-listing .topbar-left{order:0}.embed-listing .is-embed-listing .tabs{order:1}.embed-listing .is-embed-listing .top-actions{order:2}
.embed-listing .is-embed-listing .crumb{font-family:inherit;font-weight:500;font-size:16px;color:#FAF6F0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;padding:0;margin:0;border:0}
.embed-listing .is-embed-listing .crumb::before{content:none}
.embed-listing .is-embed-listing #listing-floor{height:34px;border-radius:8px;border:1px solid #FAF6F0;background:#FAF6F0;color:#300916;padding:0 10px;font:500 13px Archivo,Arial,sans-serif}
.embed-listing .is-embed-listing .tabs{flex:none;display:flex;padding:0;margin:0;background:none;border:0;box-shadow:none}
.embed-listing .is-embed-listing .tab-lenses.view-tabs button{height:36px;min-height:0;padding:0 18px;font:500 14px Archivo,Arial,sans-serif}
.embed-listing .is-embed-listing .top-actions{flex:1 1 0;display:flex;justify-content:flex-end;align-items:center;gap:8px;min-width:0}
.embed-listing .is-embed-listing .private-label{display:none}
.embed-listing .is-embed-listing .listing-open-full{flex:none;height:40px;min-height:0;padding:0 16px;border-radius:9px;border:0;background:#FAF6F0;color:#300916;display:inline-flex;align-items:center;gap:6px;font:600 14px Archivo,Arial,sans-serif;text-decoration:none;white-space:nowrap}
.embed-listing .is-embed-listing .listing-open-full:hover{background:#fff;color:#300916}
.embed-listing .is-embed-listing .embed-listing-credit{position:static;flex:none;border:0;background:none;padding:0 4px;min-height:0;font-size:12px;color:rgba(250,246,240,.7);white-space:nowrap}
.embed-listing .is-embed-listing .lay-top{display:flex;align-items:center}
.embed-listing .is-embed-listing .lay-top-btn{color:#FAF6F0}
.embed-listing .is-embed-listing .lay-top-sep{display:none}
.embed-listing .is-embed-listing:not(:has(#listing-furnish.active)) .lay-top{display:none}
/* The view fills what is left of the frame. */
.embed-listing .is-embed-listing .listing-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.embed-listing .is-embed-listing .listing-view>.ws{flex:1;min-height:0;padding:0;margin:0;max-width:none}
.embed-listing .is-embed-listing .listing-view>.ws>div,.embed-listing .is-embed-listing .listing-view>.ws>div>div,.embed-listing .is-embed-listing .listing-view .lay{height:100%;min-height:0}
/* Advanced layers stay in the full listing. */
.embed-listing .is-embed-listing .lay-viewbar :is(.lay-render-btn,.lay-more){display:none!important}
.embed-listing .is-embed-listing :is(.lay-rail,.lay-source,.lay-room-menu,.lay-catalogue .lay-fold,.lay-demo-note){display:none!important}
.embed-listing .is-embed-listing .lay{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}
.embed-listing .is-embed-listing .lay-stage{grid-column:1/-1}
/* Explore keeps the portal's wall picking: pick walls and the floor and read their areas
   in the panel beside the model. Quotes and their export stay in the full listing (Katie, 28 Oct). */
.embed-listing .is-embed-listing .lay-inspect{display:none!important}
.embed-listing .is-embed-listing .lay{position:relative}
/* Desktop: the panel is a small card over the model's top right corner (Katie, 28 Oct: too big as a column),
   so the model keeps the whole frame. */
@media(min-width:701px){
 .embed-listing .is-embed-listing:not(:has(#listing-furnish.active)) .lay-inspect{display:block!important;position:absolute;z-index:6;top:62px;right:12px;width:230px;max-height:calc(100% - 190px);overflow:visible;padding:0;border:0;background:transparent}
 .embed-listing .is-embed-listing .lay-inspect .lay-space-rail{gap:0}
 .embed-listing .is-embed-listing .lay-inspect .lay-panel{padding:12px 14px;border-radius:12px;box-shadow:0 6px 20px #00000033}
 .embed-listing .is-embed-listing .lay-inspect .lay-panel h3{font-size:18px;margin:0 0 8px}
 .embed-listing .is-embed-listing .lay-inspect .lay-head .info-tip{display:none}
 .embed-listing .is-embed-listing .lay[data-lens="space"] .lay-space-rail .lay-figures{grid-template-columns:minmax(0,1fr);row-gap:4px;margin:0}
 .embed-listing .is-embed-listing .lay-inspect .lay-figures div{flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px}
 .embed-listing .is-embed-listing .lay-inspect .lay-figures dd{font-size:15px}
 .embed-listing .is-embed-listing .lay-inspect .quantity-total{font-size:14px}
 .embed-listing .is-embed-listing .lay-inspect .lay-panel p{font-size:11.5px;margin:6px 0 0}
 .embed-listing .is-embed-listing:not(:has(#listing-furnish.active)) .embed-facts{display:none}
}
.embed-listing .is-embed-listing .lay-inspect :is(.lay-inspect-head,#layRoom,#layPanel,#finishApply,.lay-quote-panel,.lay-capture-panel){display:none!important}
.embed-listing .is-embed-listing:has(#listing-furnish.active) .lay{grid-template-columns:320px minmax(0,1fr)!important}
.embed-listing .is-embed-listing:has(#listing-furnish.active) .lay-catalogue{grid-column:1;display:grid!important}
.embed-listing .is-embed-listing:has(#listing-furnish.active) .lay-stage{grid-column:2}
/* The portal's tool bar, less the camera: fit, measure, labels and walls (Katie, 28 Oct). */
.embed-listing .is-embed-listing .lay-bar #layCamera{display:none}
/* Measured floor and ceiling, over the model. */
.embed-facts{position:absolute;left:14px;bottom:14px;z-index:4;display:flex;gap:6px;margin:0;padding:0;list-style:none;pointer-events:none}
.embed-facts li{display:flex;align-items:baseline;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 1px 3px rgba(36,26,24,.14);font:13px Archivo,Arial,sans-serif;color:#6B5A57;white-space:nowrap}
.embed-facts b{font-weight:600;color:#241A18}
.embed-facts .figure-tip{pointer-events:auto;align-self:center}
.embed-facts .info-tip-text{top:auto;bottom:calc(100% + 10px);left:-10px;right:auto}
/* Furnish: a lean library and a small "kept here" chip over the model. */
.embed-listing .is-embed-listing .lay-catalogue{padding:14px 14px 10px;background:#FAF6F0}
.embed-listing .is-embed-listing .lay-head{margin-bottom:10px}
.embed-listing .is-embed-listing .lay-card-basis{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.3}
.embed-listing .is-embed-listing .tenant-local-bar{position:absolute;z-index:6;top:68px;left:calc(320px + (100% - 320px)/2);transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:6px 8px 6px 14px;border-radius:999px;background:rgba(255,255,255,.96);border:0;box-shadow:0 1px 4px rgba(36,26,24,.16);font-size:13px;white-space:nowrap}
.embed-listing .is-embed-listing .tenant-local-bar[hidden]{display:none}
.embed-listing .is-embed-listing .tenant-local-bar .text-button{min-height:30px;padding:0 10px;border-radius:999px;background:#EFE7E0;color:#300916;text-decoration:none;font-weight:600}
@media(max-width:999px){.embed-listing .is-embed-listing .embed-listing-credit{display:none}}
@media(max-width:860px){.embed-listing .is-embed-listing .crumb{display:none}}
/* Phone: one 52px row (mark, tabs, open), the model takes the frame;
   in Furnish the library is the lower part of the frame. */
@media(max-width:700px){
 .embed-listing .is-embed-listing>.topbar{height:52px;gap:8px;padding:0 8px 0 10px}
 .embed-listing .is-embed-listing .topbar-left{flex:none}
 .embed-listing .is-embed-listing .listing-brand,.embed-listing .is-embed-listing .listing-brand img{width:28px;height:28px}
 .embed-listing .is-embed-listing #listing-floor{max-width:72px}
 .embed-listing .is-embed-listing .tabs{flex:1 1 auto;min-width:0}
 .embed-listing .is-embed-listing .tab-lenses.view-tabs{width:100%}
 .embed-listing .is-embed-listing .tab-lenses.view-tabs button{flex:1;min-width:0;justify-content:center;padding:0 6px;font-size:13.5px}
 .embed-listing .is-embed-listing .top-actions{flex:none;gap:4px}
 .embed-listing .is-embed-listing .lay-top{display:none!important}
 .embed-listing .is-embed-listing .listing-open-full{width:40px;height:40px;padding:0;justify-content:center;font-size:17px}
 .embed-listing .is-embed-listing .listing-open-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .embed-listing .is-embed-listing:has(#listing-furnish.active) .lay{display:flex!important;flex-direction:column}
 .embed-listing .is-embed-listing:has(#listing-furnish.active) .lay-stage{order:1;flex:1 1 56%;min-height:0}
 .embed-listing .is-embed-listing:has(#listing-furnish.active) .lay-catalogue{order:2;flex:0 0 44%;min-height:0;overflow:auto;border-right:0;border-top:1px solid #E6DDD3;padding:10px 12px}
 .embed-listing .is-embed-listing .lay-catalogue .lay-head,.embed-listing .is-embed-listing .lay-catalogue .lay-find{display:none}
 .embed-listing .is-embed-listing .lay-catalogue .lay-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
 .embed-listing .is-embed-listing .lay-catalogue .lay-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .embed-listing .is-embed-listing .lay-catalogue .lay-tools{background:transparent}
 .embed-listing .is-embed-listing .lay-catalogue .lay-category-current{font-size:15px!important;font-weight:600;line-height:1.3}
 .embed-listing .is-embed-listing .lay-card-basis{-webkit-line-clamp:1;line-clamp:1}
 .embed-listing .is-embed-listing .tenant-local-bar{position:static;transform:none;justify-content:space-between;border-radius:0;box-shadow:none;border-bottom:1px solid #E6DDD3;background:#FAF6F0;padding:4px 8px 4px 12px;font-size:12.5px}
 /* Phone: the tool bar has the foot of the frame, so the figures stack top right. */
 .embed-facts{left:auto;right:10px;top:10px;bottom:auto;flex-direction:column;align-items:flex-end}
 .embed-facts .info-tip-text{bottom:auto;top:calc(100% + 10px);left:auto;right:-10px}
 .embed-facts li{padding:6px 10px;font-size:12px}
}
@media(max-width:600px){.embed-listing .is-embed-listing .lay-viewbar{display:none!important}}
/* Furnish keeps the frame for the furniture: the measured figures are Explore's. */
.embed-listing .is-embed-listing:has(#listing-furnish.active) .embed-facts{display:none}
/* Short frames: an agent's page may give the embed 400 px or less (Katie, 28 Oct). The header and
   controls tighten and hug the edges so the model keeps the room; nothing is taken away. */
@media(max-height:560px){
 .embed-listing .is-embed-listing>.topbar{height:50px}
 .embed-listing .is-embed-listing .tab-lenses.view-tabs button{height:32px;padding:0 14px}
 .embed-listing .is-embed-listing .listing-open-full{height:34px}
 .embed-listing .is-embed-listing .lay-viewmain{top:10px;left:10px}
 .embed-listing .is-embed-listing .lay-viewbar{top:10px;right:10px}
 .embed-listing .is-embed-listing .lay-bar{bottom:10px;padding:4px 8px}
 .embed-listing .is-embed-listing :is(.lay-keys,.lay-zoom){bottom:10px}
 .embed-listing .is-embed-listing .lay-zoom #layZoomLevel{display:none}
 .embed-listing .is-embed-listing .lay-zoom .lay-zoom-row button{height:28px}
 .embed-listing .is-embed-listing .lay-hint{bottom:58px}
 .embed-listing .is-embed-listing .lay-catalogue{padding:10px 12px 8px}
}
/* Phone: the tool bar is a compact pill in the middle, not a full-width band over the model.
   Centred without a transform: a transform would trap its fixed-position menus inside it. */
@media(max-width:700px){
 .embed-listing .is-embed-listing .lay-bar{left:0;right:0;margin:0 auto;width:fit-content;max-width:calc(100% - 20px);transform:none;bottom:8px;padding:2px 6px;gap:2px;border-radius:14px}
 .embed-listing .is-embed-listing .lay-bar .lay-icon{min-height:36px;min-width:36px}
}
@media(max-width:700px) and (max-height:640px){
 .embed-listing .is-embed-listing:has(#listing-furnish.active) .lay-stage{flex:1 1 64%}
 .embed-listing .is-embed-listing:has(#listing-furnish.active) .lay-catalogue{flex:0 0 36%}
 .embed-listing .is-embed-listing .lay-viewmain{top:8px;left:8px}
 .embed-listing .is-embed-listing .lay-hint{font-size:11px;gap:10px;padding:5px 10px}
}
/* Short frames: the card sits closer to the top and drops its "click a wall" line; it scrolls if it must. */
@media(min-width:701px) and (max-height:560px){
 .embed-listing .is-embed-listing:not(:has(#listing-furnish.active)) .lay-inspect{top:56px}
 .embed-listing .is-embed-listing .lay-inspect .lay-panel{padding:10px 12px}
 .embed-listing .is-embed-listing .lay-inspect .lay-panel h3{font-size:16px;margin:0 0 6px}
 .embed-listing .is-embed-listing .lay-inspect :is(.lay-select-hint,.lay-panel>p:last-child){display:none}
}
/* Phone: the card appears only once a wall, floor or measurement is picked, in place of the
   floor-area pills, so tapping a wall still gives its m² (Katie, 28 Oct). */
@media(max-width:700px){
 .embed-listing .is-embed-listing:not(:has(#listing-furnish.active)):has(#surfaceSummary .quantity-total) .lay-inspect{display:block!important;position:absolute;z-index:6;top:10px;right:10px;width:min(210px,calc(100% - 140px));overflow:visible;padding:0;border:0;background:transparent}
 .embed-listing .is-embed-listing:has(#surfaceSummary .quantity-total) .embed-facts{display:none}
 .embed-listing .is-embed-listing .lay-inspect .lay-space-rail{gap:0}
 .embed-listing .is-embed-listing .lay-inspect .lay-panel{padding:10px 12px;border-radius:12px;box-shadow:0 6px 20px #00000033}
 .embed-listing .is-embed-listing .lay-inspect .lay-panel h3{font-size:15px;margin:0 0 4px}
 .embed-listing .is-embed-listing .lay-inspect .lay-head .info-tip{display:none}
 .embed-listing .is-embed-listing .lay-inspect .quantity-total{font-size:12.5px}
 .embed-listing .is-embed-listing .lay[data-lens="space"] .lay-inspect .lay-space-rail .quantity-total strong{font-size:26px!important;line-height:1.1}
 .embed-listing .is-embed-listing .lay-inspect :is(.lay-select-hint,.lay-panel>p,.selected-list,.ws-chips,.surface-line){display:none}
}
/* In the model view the frame is sized to the screen (layout-lens fitLay), so the layout must not add a
   full screen of height on top of anything above it (the sample-workspace notice). */
.workspace-layout.studio-mode{min-height:0}

/* ---- Agency usage: plan, credits and this month's listings (30 Oct 2026) ---- */
.plan-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);background:#300916;color:#F7EAE2;border-radius:18px;overflow:hidden;margin-bottom:16px}
.plan-hero-plan{padding:30px 32px;border-right:1px solid #63253A}
.plan-hero-plan h2{color:#fff;font-size:40px;margin:14px 0 4px}
.plan-hero-plan p{color:#DABBC5;margin:6px 0 0;max-width:420px}
.plan-hero .plan-price strong{color:#fff}
.plan-hero .small-note{color:#C9A3B0!important;margin-top:14px}
.plan-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#F5E5E9;color:#4F0E18;font-size:11px;font-weight:600;letter-spacing:.02em}
.plan-hero .plan-badge{background:#63253A;color:#F7EAE2}
.plan-price{display:flex;align-items:baseline;gap:6px;margin:8px 0 0}
.plan-price strong{font:400 30px/1.1 var(--serif);color:var(--ink)}
.plan-price span{font-size:13px;color:var(--muted)}
.plan-hero .plan-price span{color:#DABBC5}
.usage-meter{padding:30px 32px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.meter-eyebrow{margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#C9A3B0}
.meter-figure{margin:0;color:#DABBC5}
.meter-figure strong{font:400 56px/1 var(--serif);color:#fff;margin-right:6px}
.meter-bar{height:12px;border-radius:999px;background:#4B1527;overflow:hidden}
.meter-bar span{display:block;height:100%;min-width:6px;border-radius:999px;background:linear-gradient(90deg,#E5B6A4,#F7EAE2)}
.meter-foot{display:flex;justify-content:space-between;gap:12px;margin:0;font-size:13px;color:#DABBC5}
.usage-meter .small-note{color:#C9A3B0!important;margin:0}
.usage-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
.usage-stats>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;min-width:0}
.usage-stats span{font-size:12px;color:var(--muted)}
.usage-stats strong{font:400 28px/1.15 var(--serif);color:var(--ink)}
.usage-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px 28px;margin-bottom:20px;min-width:0}
.usage-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.usage-panel-head h2{font-size:26px;margin:0}
.usage-panel-head span{font-size:13px;color:var(--muted)}
.usage-listings{list-style:none;margin:0;padding:0}
.usage-listings li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.usage-listing-name{display:flex;flex-direction:column;min-width:0}
.usage-listing-name strong{font-weight:500;overflow-wrap:anywhere}
.usage-listing-name span,.usage-listing-area{font-size:13px;color:var(--muted)}
.usage-listing-credits{font-weight:600;color:#4F0E18;white-space:nowrap;background:#F5E5E9;border-radius:999px;padding:4px 12px;font-size:13px}
.usage-empty{margin:4px 0 0;padding:18px;border:1px dashed var(--line);border-radius:12px}
.usage-more{margin:12px 0 0}
.plan-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.plan-option{border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;min-width:0}
.plan-option.current{border:2px solid #7B2843;background:#FFFBFC}
.plan-option-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.plan-option h3{font-size:22px;margin:0}
.plan-blurb{font-size:13px;margin:8px 0 10px}
.plan-option ul{margin:0;padding:0;list-style:none;font-size:13px}
.plan-option li{padding:6px 0 6px 18px;border-top:1px solid var(--line);position:relative}
.plan-option li:before{content:'';position:absolute;left:2px;top:13px;width:7px;height:7px;border-radius:50%;background:#C9A3B0}
.credit-bands{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.credit-bands h3{font-size:18px;margin:0 0 8px}
.credit-bands ul{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.credit-bands li{background:var(--paper);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;font-size:12px;color:var(--muted)}
.credit-bands li strong{font-size:14px;color:var(--ink)}
.usage-records summary{cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;list-style:none}
.usage-records summary::-webkit-details-marker{display:none}
.usage-records summary:after{content:'+';font-size:22px;color:var(--muted)}
.usage-records[open] summary:after{content:'–'}
.usage-records-title{font:400 22px/1.2 var(--serif)}
.usage-records summary span:not(.usage-records-title){font-size:13px;color:var(--muted);flex:1}
.usage-records h3{font-size:18px;margin:22px 0 6px}
.usage-records-list{list-style:none;margin:0;padding:0;font-size:13px}
.usage-records-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.usage-record-id{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.usage-record-id small{font-family:ui-monospace,monospace;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.plan-hero{grid-template-columns:1fr}.plan-hero-plan{border-right:0;border-bottom:1px solid #63253A}.plan-options{grid-template-columns:1fr}.credit-bands ul{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.plan-hero-plan,.usage-meter{padding:22px 20px}.plan-hero-plan h2{font-size:32px}.meter-figure strong{font-size:44px}.usage-panel{padding:18px 16px;border-radius:14px}.usage-listings li{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.usage-listing-area{grid-column:1;grid-row:2}.usage-listing-credits{grid-row:1/3;grid-column:2}.usage-records-list li{grid-template-columns:minmax(0,1fr) auto}.usage-records-list li .text-button{grid-column:1/-1;justify-self:start;padding:2px 0}.usage-stats strong{font-size:24px}}

/* ---- Agency team: the people list (30 Oct 2026) ---- */
.team-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:20px;align-items:start}
.team-panel,.team-invite{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px 28px;min-width:0}
.team-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.team-panel-head h2,.team-invite h2{font-size:26px;margin:0}
.team-panel-head span{font-size:13px;color:var(--muted)}
.member-list{list-style:none;margin:0;padding:0}
.member-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.member-row.is-revoked{opacity:.6}
.member-avatar{width:44px;height:44px;border-radius:50%;background:#F5E5E9;color:#4F0E18;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px}
.member-who{display:flex;flex-direction:column;min-width:0}
.member-who strong{font-weight:500;overflow-wrap:anywhere}
.member-who>span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.member-you{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#300916;color:#F7EAE2;font-size:11px;font-weight:600;vertical-align:2px}
.member-status{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--paper);color:var(--muted);white-space:nowrap}
.member-status.status-active{background:#E8F0E3;color:#3E5A30}
.member-status.status-pending{background:#FBF0DC;color:#7A5418}
.member-controls{display:flex;align-items:center;gap:12px;justify-content:flex-end}
.member-role{display:flex;align-items:center;gap:8px;margin:0}
.member-role select{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--surface);color:var(--ink);font-size:13px}
.member-role .member-save{display:none;min-height:36px;padding:6px 14px}
.member-role.changed .member-save{display:inline-flex}
.member-role-text{font-size:13px;color:var(--muted);white-space:nowrap}
.member-remove{font-size:13px;white-space:nowrap}
.member-empty{padding:14px 0;border-top:1px solid var(--line);color:var(--muted)}
.team-past{margin-top:6px}
.team-past summary{cursor:pointer;font-size:13px;color:var(--muted);padding:10px 0}
.team-roles{margin:18px 0 10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.team-roles div{background:var(--paper);border-radius:12px;padding:12px 14px}
.team-roles dt{font-weight:600;font-size:13px}
.team-roles dd{margin:2px 0 0;font-size:12px;color:var(--muted)}
.team-invite p{margin:8px 0 14px}
.team-invite .stake-form{display:flex;flex-direction:column;gap:12px;padding:0;border:0;background:none}
.team-invite label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.team-invite input,.team-invite select{border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--surface);font-size:14px;color:var(--ink);width:100%}
.team-invite .btn{width:100%}
.team-invite .small-note{margin:0}
.team-legacy .actions{flex-direction:column;align-items:stretch}
@media(max-width:900px){.team-layout{grid-template-columns:1fr}}
@media(max-width:600px){.team-panel,.team-invite{padding:18px 16px;border-radius:14px}.member-row{grid-template-columns:40px minmax(0,1fr) auto;gap:4px 12px}.member-avatar{width:40px;height:40px;grid-row:1/3}.member-status{grid-column:3;grid-row:1}.member-controls{grid-column:2/4;grid-row:2;justify-content:flex-start;flex-wrap:wrap}.team-roles{grid-template-columns:1fr}}

/* ---- Nested folders: the path above an open folder (30 Oct 2026) ---- */
.folder-trail{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-bottom:18px;font-size:13px}
.folder-trail .back{margin:0;font-size:13px;padding:4px 10px;border-radius:999px;color:var(--muted)}
.folder-trail .back:hover{background:#F5E5E9;color:#4F0E18}
.folder-trail .back.drop-target{background:#F5E5E9;color:#4F0E18;outline:2px dashed #7B2843}
.folder-trail>span[aria-hidden]{color:var(--muted)}
.folder-trail-here{font-weight:600;color:var(--ink);padding:4px 2px}
.folder-detail .building-head .actions,.portfolio-detail .building-head .actions{flex-wrap:wrap}
.folder-detail section+section{margin-top:22px}
.folder-card[draggable="true"],.building-card[draggable="true"]{cursor:grab}
@media(max-width:600px){.folder-detail .building-head .actions,.portfolio-detail .building-head .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.folder-detail .building-head .actions .btn,.portfolio-detail .building-head .actions .btn{padding:10px 8px;min-height:42px}}

/* ---- Shared spaces use the project cards of Your spaces ---- */
.shared-card .tag{text-transform:none}
/* Figures read in the sans: the brand serif's zero reads as a letter O. */
.meter-figure strong,.usage-stats strong,.plan-price strong{font-family:var(--sans);font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
@media(max-width:600px){.usage-records summary span:not(.usage-records-title){display:none}}
.portfolio-toolbar>.tag{align-self:center;flex-shrink:0}@media(max-width:600px){.portfolio-toolbar>.tag{align-self:flex-start}}

/* The space a scan is filed under, beside its name: a small quiet pill. */
.workspace-layout .topbar .crumb-suite{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--chrome-text) 45%,transparent);color:var(--chrome-text);font-size:12px;font-weight:600;line-height:18px;vertical-align:middle;white-space:nowrap}
.page-heading h1 .crumb-suite{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:999px;border:1px solid currentColor;font-size:13px;font-weight:600;line-height:20px;vertical-align:middle;white-space:nowrap;opacity:.8;font-family:inherit;letter-spacing:0}
.shared-card h2 .crumb-suite{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:999px;border:1px solid currentColor;font-size:12px;font-weight:600;line-height:18px;vertical-align:middle;white-space:nowrap;opacity:.8;font-family:inherit;letter-spacing:0}
.capture-card h2 .crumb-suite{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:999px;border:1px solid currentColor;font-size:12px;font-weight:600;line-height:18px;vertical-align:middle;white-space:nowrap;opacity:.8;font-family:inherit;letter-spacing:0}
.listing-layout #publish-form>.listing-section:first-child{border-top:0;padding-top:4px}

/* Nothing published: on a narrow screen the aside holds only the summary, which is hidden there, so it takes no room. */
@media(max-width:1179px){.listing-aside:not(:has(.listing-share-panel)){display:none}}

/* On a tablet the listing's views are touched: a 40px target there. */
@media(min-width:701px) and (max-width:1100px){.is-one-header .site-header .tab-lenses.view-tabs button{min-height:40px;height:40px}}
/* Header buttons (header-chrome.mjs), the same in the workspace and the public listing: Share is a
   filled pill with its icon, a listing's main action the same shape in cream. */
.btn.header-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;height:36px;padding:0 16px;border-radius:10px;border:0;font-weight:600;white-space:nowrap}
.btn.header-btn.has-icon{padding-left:13px}
.btn.header-btn svg{width:16px;height:16px;flex:none}
.btn.header-btn.header-btn--primary{background:#F5DFE5;color:#4F0E18}
.btn.header-btn.header-btn--primary:hover{background:#FFF7F0;color:#4F0E18}
.btn.header-btn.header-btn--strong{background:#FAF6F0;color:#300916}
.btn.header-btn.header-btn--strong:hover{background:#fff;color:#300916}
.btn.header-btn.header-btn--quiet{background:transparent;color:#FAF6F0;box-shadow:inset 0 0 0 1px rgba(250,246,240,.55)}
.btn.header-btn.header-btn--quiet:hover{background:rgba(250,246,240,.12);color:#FAF6F0}
.btn.header-btn:focus-visible{outline:3px solid #8C344D;outline-offset:2px}
/* On the listing's cream phone bar the cream action would vanish: it is filled dark there. */
.has-site-header .listing-bar .btn.header-btn.header-btn--strong{background:#300916;color:#FAF6F0}
.has-site-header .listing-bar .btn.header-btn.header-btn--strong:hover{background:#4F0E18;color:#FAF6F0}
.has-site-header .listing-bar .btn.header-btn.header-btn--quiet{color:#300916;box-shadow:inset 0 0 0 1px #D9C7CB}
.has-site-header .listing-bar .btn.header-btn.header-btn--quiet:hover{background:rgba(79,14,24,.06);color:#300916}
/* The Listing tab in the inbox's look (Claude Design canvas, 1 Nov): each part a white card with a
   hairline and a Marcellus heading; the sidebar's parts the same cards. */
.listing-page .listing-section{background:#fff;border:1px solid #E7DCD5;border-radius:20px;padding:20px 22px;margin:0 0 16px}
.listing-page .listing-section>h3,.listing-page .listing-section>legend,.listing-page .listing-section>h2{font:400 22px/1.2 'Marcellus',Georgia,serif;color:#2A1A1F;margin:0 0 12px}
.listing-layout>.listing-head h2{font-family:'Marcellus',Georgia,serif;font-weight:400;color:#2A1A1F}
.listing-aside>section{background:#fff;border:1px solid #E7DCD5;border-radius:20px}
.listing-aside h3{font:400 20px/1.2 'Marcellus',Georgia,serif;color:#2A1A1F}
.listing-tenants-row{display:flex;justify-content:space-between;align-items:center;min-height:44px;text-decoration:none;color:#36252A;border-top:1px solid #F0E8E2}
.listing-tenants-row:first-child{border-top:0}
.listing-tenants-row b{font:600 14px/1 var(--sans);color:#8A3A2E}.listing-tenants-row b.is-waiting{color:#FFF7F0;background:#4F0E18;border-radius:999px;padding:4px 10px}
.listing-tenants-link{display:inline-flex;align-items:center;min-height:44px;font:600 14px/1 var(--sans);color:#4F0E18}
.listing-tenants[hidden]{display:none}
.listing-layout>.listing-page{background:transparent;border:0;box-shadow:none;padding:0}

/* ---- Phone pass (Katie, 8 Nov): every tool says what it is, menus stay small ----------------------------
   One set of rules for the signed-in space view, /view and the embed (they share one stage). Touch screens get
   no hover tooltips (toolbar-hints.mjs), so on a phone, upright or on its side, every tool carries its word under
   its icon. */
@media(max-width:600px),(pointer:coarse) and (max-height:500px),(pointer:coarse) and (max-width:1100px){
 /* The tool bar: icon over a short word, 48 px wide at least, a 50 px tall target. */
 .lay .lay-bar .lay-icon.lay-icon,.listing-workspace .lay .lay-bar .lay-icon.lay-icon,.lay .lay-bar :is(#layFrame,#layMeasure,#laySnap,#layIds,#layDims,#layLights).lay-icon{flex-direction:column;justify-content:center;gap:3px;
   width:auto;min-width:48px;height:50px;min-height:50px;padding:5px 5px 4px;font-size:10.5px;line-height:1.1;font-weight:500;letter-spacing:0}
 .lay .lay-bar :is(#layFrame,#layWalk,#laySpin,#layMeasure,#layDims,#laySnap,#layIds,#layLights,#layWallsToggle,#layModify,#layComment,#layBarBackdrop,#layBarTheme,[data-menu]) .lay-lbl,
 .lay .lay-bar #layCeilingToggle>span{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:nowrap;font-size:10.5px;line-height:1.1}
 .lay .lay-bar #layCeilingToggle.lay-ceiling-control{font-size:10.5px}
 .lay .lay-bar .lay-icon svg{width:18px;height:18px}
 .lay .lay-bar .lay-icon>i{display:none}
 .lay .lay-bar #layCamera::after{content:'Photo';display:block;position:static;width:auto;height:auto;transform:none;font-size:10.5px;line-height:1.1}
 .lay .lay-bar .lay-sep{display:none}
 /* The leaf reads "Outside" (the trees in the windows) and the half moon "Dark". */
 .lay .lay-bar #layBarBackdrop .lay-lbl{font-size:0}
 .lay .lay-bar #layBarBackdrop .lay-lbl::after{content:'Outside';font-size:10.5px}
 /* Outside changes only what the windows show from inside: away from Walk it would do nothing visible, so it steps aside. */
 .lay:not([data-sees-out]) .lay-bar #layBarBackdrop{display:none}
 .lay .lay-bar,.lay .lay-bar:not([data-scrolls]){padding:2px;border-radius:16px;flex-wrap:nowrap}
 .lay .lay-bar .lay-icon::after{display:none}
 /* The gesture line clears the taller bar. */
 .lay .lay-stage>.lay-hint{bottom:66px}

 /* A picked piece's own buttons, over the model: each says what it does. */
 .lay .lay-float{gap:2px;padding:3px}
 .lay .lay-float>button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:auto;min-width:52px;height:50px;padding:4px 6px}
 .lay .lay-float>button::after{content:attr(aria-label);font-size:10.5px;line-height:1.1;font-weight:500;color:var(--ink)}
 .lay .lay-float>#layArrange::after{content:'Align'}

 /* The picked piece's panel: finishes and sizes big enough for a finger, words that fit at 320. */
 .lay .lay-inspect .lay-swatch{width:40px;height:40px}
 .lay .lay-inspect .lay-swatches{gap:8px}
 .lay .lay-inspect :is(select,input[type=color]){min-height:44px}
 .lay .lay-inspect .lay-acts-icons{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
 .lay .lay-inspect .lay-acts-icons button{font-size:12px!important;line-height:1.2;min-height:56px;overflow-wrap:normal;word-break:normal}
 .lay .lay-inspect .lay-hero{max-height:200px;margin-inline:auto;width:auto;max-width:100%}
 .lay .lay-head .lay-clear-btn,.lay .lay-head .lay-room-more{min-height:44px;min-width:44px}

 /* The plan's turning dial says what it is. */
 /* Room under it for that word, so the scale bar below never runs through it (8 Nov). */
 .lay .lay-plan-turn:not([hidden]){position:relative;margin-bottom:17px}
 .lay .lay-plan-turn:not([hidden])::after{content:'Turn';position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:2px;
   padding:1px 6px;border-radius:6px;background:#FAF6F0E6;font:500 10.5px/1.3 var(--font-body,Arial,sans-serif);color:#300916;pointer-events:none}
}

/* Walls on a phone (portrait, or on its side): only the three choices that change what you see. The ceiling has
   its own tool in the bar, "Hide front walls" is what the automatic cutaway does for you, and the ceiling's source
   note sits on the model while it is shown. The full list stays on a desktop. */
@media(max-width:600px),(max-height:500px) and (max-width:1000px){
 .lay .lay-pop[data-pop=walls] :is([data-walls=front],[data-walls=selected],.lay-source){display:none}
 .lay .lay-bar:has(#layCeilingToggle:not([hidden])) .lay-pop[data-pop=walls] [data-walls=ceiling-shape]{display:none}
}
@media(max-width:600px){
 /* One short row, not a tall sheet: three equal choices under a small title. */
 .workspace-layout .lay .lay-bar .lay-pop[data-pop=walls],.lay .lay-bar .lay-pop[data-pop=walls]{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;
   max-height:none;padding:30px 12px calc(12px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}
 .lay .lay-bar .lay-pop[data-pop=walls][hidden]{display:none}
 .lay .lay-bar .lay-pop[data-pop=walls]::before{content:'Walls';position:absolute;left:14px;top:9px;font:600 12px/1.2 var(--font-body,Arial,sans-serif);color:#7a6a6f;letter-spacing:.02em}
 .workspace-layout .lay .lay-bar .lay-pop[data-pop=walls] button:not([data-walls=front],[data-walls=selected]),.lay .lay-bar .lay-pop[data-pop=walls] button:not([data-walls=front],[data-walls=selected]){display:flex;align-items:center;justify-content:center;text-align:center;
   min-height:48px;margin:0;padding:6px 8px;border:1px solid var(--line,#E4D8D3);border-radius:12px;font-size:13.5px;line-height:1.2;white-space:normal}
}
/* Any menu's note wraps inside it; it never runs out of the side. */
.lay .lay-pop .lay-source{white-space:normal;overflow-wrap:anywhere}

/* Try furniture on a phone, portrait: the room is the window you work in. It is as tall as Explore's, and it
   stays in sight while the library scrolls under it, on /view and in the signed-in workspace alike. */
@media(max-width:760px) and (min-height:600px){
 .is-phone-stack[data-mode=furnish] .listing-view .lay-stage,
 .workspace-layout:not(.listing-workspace) .lay:not([data-lens="space"]) .lay-stage{position:sticky;top:0;z-index:6;height:min(520px,60svh);min-height:300px;align-self:start}
 .workspace-layout:not(.listing-workspace) .lay:not([data-lens="space"]).lay.lay.lay{grid-template-rows:minmax(300px,min(520px,60svh)) auto auto auto}
 /* The room is the top of the screen (Katie, 9 Nov): only the Try furniture bar above it; its back arrow leads out. */
 .listing-workspace.is-phone-stack[data-mode=furnish]>.site-header{display:none}
 /* With a piece open, a way back to the library (the portal's "Library" button, now on /view too). */
 .is-phone-stack[data-mode=furnish] .listing-view .lay[data-inspect=open]>.lay-rail-left{display:flex}
}
/* The Try furniture header at 375: the "Layout" menu keeps its whole word beside the title. */
@media(max-width:700px){
 .is-phone-stack[data-mode=furnish] .listing-bar .topbar-left{min-width:0;flex:1 1 auto}
 .is-phone-stack[data-mode=furnish] .listing-bar .top-actions{flex:none}
 .is-phone-stack[data-mode=furnish] .listing-bar .listing-heading{min-width:0;overflow:hidden}
 .listing-workspace.is-phone-stack[data-mode=furnish] .top-actions button.private-label:not(:disabled):not([hidden]){flex:none;min-height:44px}
}

/* A phone on its side: the room gets the height. The header and the sample note scroll away with the page instead
   of holding the top half of a 375 px screen, the room fills the screen once scrolled to, and the gesture line
   over it goes (as on /view already). */
@media(max-height:500px) and (max-width:1000px){
 .demo-banner,.workspace-layout>.main-area>.topbar{position:static}
 .workspace-layout:not(.listing-workspace) .lay.lay.lay.lay{grid-template-rows:minmax(280px,calc(100svh - 8px)) auto auto auto}
 .workspace-layout:not(.listing-workspace) .lay .lay-stage{position:relative;height:auto;min-height:280px}
 .lay .lay-stage>.lay-hint{display:none}
 .lay .lay-bar .lay-pop{max-height:calc(100svh - 120px);overflow:auto}
}

/* The "?" and "i" beside a figure: drawn small, touched big. */
@media(pointer:coarse),(max-width:900px){
 .lay[data-lens="space"] .lay-space-rail .info-tip-btn.info-tip-btn{position:relative;min-width:28px;min-height:28px;width:28px;height:28px}
 .lay[data-lens="space"] .lay-space-rail .info-tip-btn.info-tip-btn::before{content:'';position:absolute;inset:-8px}
}

/* Walking with a finger: Greenery is a switch, filled when on. */
.lay-walk>button.lay-walk-backdrop[aria-pressed=true]{background:var(--ink,#300916);color:#FAF6F0;border-color:var(--ink,#300916)}
/* 320 wide: every tool of the open bar still fits without scrolling. */
@media(max-width:360px){
 .lay .lay-bar .lay-icon.lay-icon,.listing-workspace .lay .lay-bar .lay-icon.lay-icon{min-width:42px;padding:5px 2px 4px;font-size:10px}
 .lay .lay-bar :is(#layFrame,#layWalk,#laySpin,#layMeasure,#layDims,#laySnap,#layIds,#layLights,#layWallsToggle,#layModify,#layComment,#layBarTheme,[data-menu]) .lay-lbl,.lay .lay-bar #layCeilingToggle>span{font-size:10px}
 .lay .lay-bar #layBarBackdrop .lay-lbl::after{font-size:10px}
}
/* A touch tablet has no hover names either: the library's categories say their words too (its tool bar takes the
   phone's labelled tools above), and a picked piece's picture stops at a size that leaves its finishes in sight. */
@media(pointer:coarse) and (min-width:601px) and (min-height:501px){
 .lay .lay-category-tabs #layChips button[data-category]{width:auto!important;min-width:64px;height:auto!important;min-height:60px;padding:8px 8px 6px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:none}
 .lay .lay-chip-name{display:block;font-size:11.5px;line-height:1.2;white-space:nowrap}
}
@media(max-width:1000px){.lay .lay-inspect .lay-hero{max-height:260px;width:auto;max-width:100%;margin-inline:auto}}
.lay-walk>button.lay-walk-backdrop[aria-pressed=true]::before{content:'✓ '}
/* A short embed frame: the figures card stops above the tool bar and scrolls inside itself. */
@media(min-width:701px) and (max-height:500px){
 .embed-listing .is-embed-listing:not(:has(#listing-furnish.active)) .lay-inspect{max-height:calc(100% - 150px);overflow:auto}
}
/* Phone pass: "This browser" and the portal's 2D/3D keep their drawn size but take a finger-sized touch area
   on touch screens (the listing's tabs and 2D/3D already have theirs). */
@media(pointer:coarse){
 .listing-workspace button.private-label,.workspace-layout:not(.listing-workspace) .lay .lay-view-switch>button{position:relative}
 .workspace-layout:not(.listing-workspace) .lay .lay-view-switch>button::after{content:'';position:absolute;inset:-6px -1px}
 .listing-workspace button.private-label::after{content:'';position:absolute;inset:-8px -2px;width:auto;height:auto;margin:0;border:0;transform:none}
 /* Undo/Redo and the view picker grow up and down; the zoom stack grows sideways, so neighbours never share a touch. */
 .lay :is(#layUndo,#layRedo,#layViewMenu,#layZoomOut,#layZoomLevel,#layZoomIn,#layZoomFit){position:relative}
 .lay :is(#layUndo,#layRedo,#layViewMenu)::after{content:'';position:absolute;inset:-6px -1px}
 .lay :is(#layZoomOut,#layZoomLevel,#layZoomIn,#layZoomFit)::after{content:'';position:absolute;inset:0 -6px}
}

/* ---- Phone workspace, 4D (Katie, 9 Nov) ---------------------------------------------------------------------
   Burgundy header on one line; the view fills the screen; Measure and Furnish sit under it as the bottom row; the
   panel lives below the view and slides up from a grip. Tools never touch. */
@media(max-width:600px){
 .lay .lay-bar,.lay .lay-bar:not([data-scrolls]){gap:4px;padding:4px}
}
@media(max-width:600px) and (min-height:600px){
 .workspace-layout:not(.listing-workspace)>.main-area>.topbar>.topbar-tabs{position:fixed;left:0;right:0;bottom:0;z-index:12;width:auto;margin:0;
   padding:7px 12px calc(7px + env(safe-area-inset-bottom));background:#FAF6F0;border-top:1px solid #E6DCCF}
 .workspace-layout.workspace-layout:not(.listing-workspace)>.main-area>.topbar{grid-template-columns:36px 36px minmax(0,1fr) auto;min-height:0}
 .workspace-layout:not(.listing-workspace)>.main-area>.topbar .crumb-project{grid-row:1;grid-column:3;min-width:0;margin:0}
 .workspace-layout:not(.listing-workspace)>.main-area>.topbar .crumb-project button{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .workspace-layout:not(.listing-workspace)>.main-area>.topbar .lay-top-btn:disabled{display:none}
 .workspace-layout:not(.listing-workspace)>.main-area>.topbar>.topbar-tabs.topbar-tabs .tab-marker{display:none}
 .workspace-layout:not(.listing-workspace)>.main-area>.topbar>.topbar-tabs.topbar-tabs{background:#FAF6F0}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay.lay.lay.lay{display:block;min-height:0}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay.lay.lay .lay-stage{position:relative;top:auto;min-height:0;
   height:calc(100svh - var(--lay-phone-top,130px) - 124px - env(safe-area-inset-bottom))}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:is(:not(.x)) :is(.lay-catalogue,.lay-space-rail,.lay-inspect){position:fixed;left:0;right:0;
   bottom:calc(64px + env(safe-area-inset-bottom));z-index:11;height:min(62svh,520px);max-height:none;overflow:auto;background:#FAF6F0;
   border:0;border-top:1px solid #E6DCCF;border-radius:18px 18px 0 0;box-shadow:0 -4px 16px #2210101a;
   transform:translateY(calc(100% - 60px));transition:transform .24s ease}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay[data-sheet=open] :is(.lay-catalogue,.lay-inspect),
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space])[data-inspect=open] .lay-inspect{transform:none}
 .lay:not([data-lens=space]) .lay-inspect>.lay-sheet-grip{display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:is(:not(.x)) :is(.lay-catalogue,.lay-inspect){padding-top:24px}
 .lay-sheet-grip{position:absolute;top:0;left:0;right:0;z-index:2;display:block;width:100%;height:24px;padding:0;border:0;background:transparent;touch-action:none}
 .lay-sheet-grip::before{content:'';display:block;width:36px;height:4px;margin:8px auto 0;border-radius:2px;background:#CDBFB2}
 .workspace-layout:not(.listing-workspace):has(.lay-walking) .topbar-tabs{display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay-walking .lay.lay :is(.lay-catalogue,.lay-space-rail,.lay-inspect){display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay-walking .lay.lay.lay .lay-stage{position:fixed;inset:0;height:100svh!important;z-index:40}
}
@media (prefers-reduced-motion:reduce){.lay :is(.lay-catalogue,.lay-space-rail,.lay-inspect){transition:none}}
@media(min-width:601px),(max-height:599px){.lay-sheet-grip{display:none}}
/* Walking on a phone, the view moves by fingers (fingerPush), not a stick. */
@media(max-width:600px){.lay-touch-walk .lay-stick.lay-stick{display:none}}

/* Questions to tap under a listing's facts: the answer is one touch away (Katie, 9 Nov). */
.dt-phone-asks{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px}
.dt-phone-asks h3{margin:0 0 4px;font:400 20px/1.2 'Marcellus',Georgia,serif;color:#2A1A1F}
.dt-phone-asks>button[data-assist-ask]{min-height:44px;padding:10px 14px;border:0;border-radius:12px;background:#EFE7E0;color:#300916;font:500 15px/1.3 var(--sans);text-align:left}

/* ---- Phone workspace, 4F (Katie, 9 Nov) ---------------------------------------------------------------------
   No bottom tabs. The space is one screen with a short panel (Details, Furnish); the other pages are in the ☰ menu.
   Furnish keeps the room in view: a short tray, tap to place, tick or cross, icons on the placed piece. */
.phone-space-nav,.phone-to-overview,.lay-phone-peek,.lay-phone-place,.lay-phone-search,.lay-phone-done{display:none}
.lay-act-phone{display:none!important}
@media(max-width:600px) and (min-height:600px){
 .workspace-layout:not(.listing-workspace)>.main-area>.topbar>.topbar-tabs{display:none}
 .phone-space-nav{display:flex;flex-direction:column;gap:2px;padding:12px;border-top:1px solid #E6DCCF}
 .phone-space-nav button{min-height:44px;padding:0 10px;border:0;border-radius:10px;background:none;color:inherit;font:500 15px var(--sans);text-align:left}
 .phone-space-nav button[aria-current]{background:#300916;color:#FAF6F0}
 .workspace-layout:not(.listing-workspace) .topbar.on-furnish .phone-to-overview{display:block;grid-row:1;grid-column:1/4;justify-self:start;min-height:44px;padding:0 8px;border:0;background:none;color:#FAF6F0;font:500 15px var(--sans)}
 .workspace-layout:not(.listing-workspace) .topbar.on-furnish>.topbar-left{display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay.lay.lay .lay-stage{height:calc(100svh - var(--lay-phone-top,130px) - 238px - env(safe-area-inset-bottom))}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay.lay.lay[data-lens=space] .lay-stage{height:calc(100svh - var(--lay-phone-top,130px) - 186px - env(safe-area-inset-bottom))}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:is(:not(.x)) :is(.lay-catalogue,.lay-space-rail,.lay-inspect){bottom:0;padding-bottom:env(safe-area-inset-bottom)}
 /* The main screen's panel */
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay .lay-inspect>.lay-space-rail{position:static!important;margin:26px 12px 8px;width:auto;height:auto;transform:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay[data-lens=space]>.lay-phone-peek{display:block;position:fixed;left:0;right:0;bottom:0;z-index:10;height:calc(186px + env(safe-area-inset-bottom));box-sizing:border-box;padding:24px 16px 0;background:#FAF6F0;border-radius:16px 16px 0 0;box-shadow:0 -4px 16px #2210101a;color:#300916}
 .lay-phone-peek::before{content:'';position:absolute;top:8px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:#CDBFB2}
 .lay-phone-peek h2{margin:0;font:400 22px/1.2 'Marcellus',Georgia,serif}
 .lay-phone-peek p{margin:4px 0 0;min-height:20px;font:400 15px/1.3 var(--sans);color:#5f4e49}
 .lay-phone-peek div{display:flex;gap:10px;margin-top:18px}
 .lay-phone-peek button{flex:1;height:52px;border:1px solid #E6DCCF;border-radius:12px;background:#fff;color:#300916;font:500 15px var(--sans)}
 .lay-phone-peek button[data-peek=furnish]{border:0;background:#300916;color:#FAF6F0}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay[data-lens=space]:not([data-sheet=open]) .lay-inspect{transform:translateY(100%);visibility:hidden}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay[data-lens=space] .lay-catalogue{display:none}
 /* Furnish: the short tray */
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-catalogue{display:flex;flex-direction:column;transform:none;height:calc(238px + env(safe-area-inset-bottom));overflow:hidden;transition:height .24s ease}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space])[data-sheet=open] .lay-catalogue{height:510px}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-catalogue :is(.lay-head,.lay-hint,.lay-demo-note,.lay-category-current){display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-catalogue .lay-category-tabs{order:-1;display:flex;gap:6px;flex:none;padding:0 12px;position:static;border:0;background:none;overflow:clip}
 .lay-phone-search{display:flex;flex:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #E6DCCF;border-radius:10px;background:#fff;color:#300916}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-catalogue .lay-chips{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;min-width:0}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-catalogue .lay-chips>*{flex:none;width:auto;min-width:0;height:44px;padding:0 12px;flex-direction:row;font-size:13px}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-catalogue .lay-chips>* svg{display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-catalogue .lay-shelf{flex:1;min-height:0;padding:8px 12px 0;overflow:hidden;display:flex;flex-direction:column}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):not([data-sheet=open]) .lay-catalogue .lay-tools{display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):not([data-sheet=open]) .lay-catalogue .lay-cards{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0 0 12px}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):not([data-sheet=open]) .lay-catalogue .lay-card{flex:none;width:118px}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):not([data-sheet=open]) .lay-catalogue .lay-card-size{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):not([data-sheet=open]) .lay-catalogue .lay-card-shot{height:58px}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):not([data-sheet=open]) .lay-catalogue .lay-card-shot img{height:58px;width:100%;object-fit:contain}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space])[data-sheet=open] .lay-catalogue .lay-cards{overflow-y:auto}
 /* Placing */
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay[data-placing]>.lay-phone-place{display:flex;align-items:center;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:13;height:calc(176px + env(safe-area-inset-bottom));box-sizing:border-box;padding:12px 12px env(safe-area-inset-bottom);background:#FAF6F0;border-radius:16px 16px 0 0;box-shadow:0 -4px 16px #2210101a;color:#300916}
 .lay-phone-place p{flex:1;min-width:0;margin:0;font:400 13px/1.35 var(--sans);color:#5f4e49}
 .lay-phone-place b{display:block;font:500 15px/1.3 var(--sans);color:#300916;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .lay-phone-place button{flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid #E6DCCF;border-radius:12px;background:#fff;color:#300916}
 .lay-phone-place button[data-place=yes]{border:0;background:#300916;color:#FAF6F0}
 /* The placed piece */
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay .lay-act-phone{display:flex!important}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay.lay.lay:not([data-lens=space]):has(.lay-inspect .lay-acts-icons) .lay-stage{height:calc(100svh - var(--lay-phone-top,130px) - 176px - env(safe-area-inset-bottom))}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay .lay-rail-left{display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):has(.lay-inspect .lay-acts-icons) .lay-catalogue{visibility:hidden}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect .lay-inspect-head{display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):not([data-sheet=open]) .lay-inspect:has(.lay-acts-icons)>div:not(:has(.lay-acts-icons)){display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect .lay-panel{border:0;background:none;box-shadow:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay #layFloat{display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect:not(:has(.lay-acts-icons)){transform:translateY(100%);visibility:hidden}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect:has(.lay-acts-icons){transform:none;z-index:12;height:calc(176px + env(safe-area-inset-bottom));overflow:hidden}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space])[data-sheet=open] .lay-inspect:has(.lay-acts-icons){height:min(70svh,560px);overflow:auto}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect>.lay-sheet-grip{display:block}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect .lay-panel{position:relative;display:flex;flex-direction:column;padding:0 12px 12px}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect .lay-panel h3{margin:0;padding-right:48px;font:500 15px/1.3 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect .lay-panel .lay-dims{margin:0 0 6px;font-size:13px}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect .lay-acts-icons{order:0;display:flex;gap:6px;margin:0}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect .lay-acts-icons button{flex:1;height:52px;min-width:0;padding:0;border:1px solid #E6DCCF;border-radius:11px;background:#fff;color:#300916;font-size:0!important;display:flex;align-items:center;justify-content:center}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect .lay-acts-icons button svg{width:22px;height:22px}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):not([data-sheet=open]) .lay-inspect .lay-acts-icons [data-act=lock]{display:none}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]):not([data-sheet=open]) .lay-inspect .lay-panel>:not(h3,.lay-dims,.lay-acts,.lay-phone-done){display:none}
 .lay-phone-done{display:flex;align-items:center;justify-content:center;position:absolute;top:-6px;right:6px;width:44px;height:44px;border:0;background:none;color:#300916}
 :is(.workspace-layout:not(.listing-workspace),.is-phone-stack[data-mode=furnish]) .lay:not([data-lens=space]) .lay-inspect .lay-panel>:is(.lay-hero){order:1;margin-top:10px}
}

/* The listing shares 4F's Furnish on a phone; its Explore stays its own full-bleed page. */
@media(max-width:600px) and (min-height:600px){
 .listing-workspace:not([data-mode=furnish]) :is(.lay-sheet-grip,.lay-phone-search){display:none!important}
 .is-phone-stack[data-mode=furnish] .listing-phone-bar{display:none!important}
 .is-phone-stack[data-mode=furnish] .listing-view .lay>.lay-rail-left{display:none!important}
}
