/* Brand palette and editorial type hierarchy inherited from design/homepage-editor/shared.css. */
:root{--paper:#ede9e2;--surface:#f7f4ef;--ink:#221d18;--muted:#746a60;--line:#d4ccc2;--accent:#a6866a;--dark:#171411;--cream:#f4eee5;--green:#46624e;--red:#B42318;--brand:#4F0E18;--brand-dark:#3A0A12;--on-brand:#FAF6F0;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #4F0E18;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(42px,5vw,70px)}h2{font-size:35px}h3{font-size:24px}p{color:var(--muted)}[hidden]{display:none!important}.wordmark{font:24px/1 var(--serif);letter-spacing:.26em}.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}.muted{color:var(--muted)}.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:12px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--surface);font-size:12px;transition:background .18s,color .18s}.btn:hover{background:#45382d}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--ink);background:var(--surface)}.btn.light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.text-button{border:0;padding:9px 0;background:none;text-decoration:underline;text-underline-offset:5px;font-size:12px}.arrow{font-size:20px;line-height:1}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.skip{position:fixed;left:18px;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px}.notice{padding:16px 20px;border:1px solid var(--line);font-size:13px;background:var(--surface);color:var(--muted)}.notice.error{border-color:#cda895;background:#f6e9e1;color:var(--red)}.notice a{text-decoration:underline}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:60;max-width:calc(100% - 32px);background:var(--ink);color:var(--cream);padding:14px 22px;box-shadow:0 10px 40px #221d1825;font-size:13px}.site-nav{height:96px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.site-nav .nav-label{margin-left:28px;padding-left:28px;border-left:1px solid var(--line);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.nav-brand{display:flex;align-items:center}.landing{padding:78px 6% 64px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;max-width:1600px;margin:auto}.landing-copy{padding:15px 0}.landing h1{font-size:clamp(54px,6.6vw,96px);line-height:1.02;margin:24px 0}.landing h1 em{font-weight:400;color:#93765e}.landing-copy>p{max-width:410px;font-size:16px;line-height:1.8;margin-bottom:28px}.landing-copy .actions{margin-bottom:30px}.small-note{font-size:11px!important;line-height:1.7!important;color:var(--muted)}.hero-drawing{position:relative;min-height:520px;background:var(--dark);color:var(--cream);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:30px;background-image:radial-gradient(ellipse at 60% 45%,#55443455,transparent 70%)}.drawing-top,.drawing-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#c4b8ab}.drawing-top .dot{display:inline-block;background:#c6b39a;width:5px;height:5px;border-radius:50%;margin-right:8px}.hero-svg{width:100%;height:350px;color:#d2bca2;overflow:visible}.hero-caption{position:absolute;left:30px;bottom:64px;font:28px var(--serif);letter-spacing:-.02em}.drawing-bottom{border-top:1px solid #ffffff26;padding-top:16px}.landing-foot{padding:24px 6%;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.process{padding:60px 6%;border-top:1px solid var(--line);max-width:1600px;margin:auto}.process-title{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:32px}.process-title h2{margin:0}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.step{border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:32px 1fr;gap:14px}.step>span{font:20px var(--serif);color:var(--accent)}.step h3{font:16px var(--sans);letter-spacing:0;margin:0 0 12px}.step p{font-size:13px;max-width:330px;line-height:1.75;margin:0}.demo-banner{background:#d9c6ad;color:#46392d;text-align:center;padding:10px 20px;font-size:12px}.demo-banner a{margin-left:10px;text-decoration:underline;text-underline-offset:3px}.workspace-layout{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{padding:34px 24px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .wordmark{font-size:22px;display:block;margin-bottom:44px}.workspace-label{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);display:block;margin-bottom:8px}.workspace-select{width:100%;border:1px solid var(--line);background:transparent;padding:11px 9px;font-size:12px;color:var(--ink);text-overflow:ellipsis}.workspace-kind{font-size:11px;color:var(--muted);margin:8px 0 27px}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav button{border:0;background:none;padding:12px;text-align:left;font-size:12px;display:flex;gap:12px;align-items:center}.side-nav button.active{background:#e9e3da}.nav-icon{font-size:18px;font-weight:400;display:inline-block;width:22px;text-align:center}.sidebar-foot{margin-top:auto;padding-top:24px;font-size:12px;border-top:1px solid var(--line)}.sidebar-foot .username{overflow-wrap:anywhere;margin-bottom:4px}.main-area{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 44px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.topbar .private-label{display:flex;gap:8px;align-items:center}.private-label:before{content:'';width:6px;height:6px;border:1px solid #82705e;border-radius:50%}.content{padding:44px;max-width:1440px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:35px}.page-heading h1{font-size:48px;margin:10px 0 12px}.page-heading p{margin:0;max-width:620px}.library-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid var(--line);margin-bottom:12px}.search{position:relative;max-width:300px;flex:1}.search input{width:100%;padding:10px 12px 10px 34px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:12px}.search:before{content:'⌕';position:absolute;left:12px;top:5px;font-size:22px;color:var(--muted)}.count{font-size:11px;color:var(--muted)}.capture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:22px}.capture-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);transition:transform .2s,border-color .2s}.capture-card:hover{border-color:var(--accent);transform:translateY(-3px)}.card-visual{position:relative;height:190px;background:#ded8ce;overflow:hidden;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(#aaa08c12 1px,transparent 1px),linear-gradient(90deg,#aaa08c12 1px,transparent 1px);background-size:24px 24px}.card-visual .mini-plan{width:76%;height:82%;color:#685a48}.card-label{position:absolute;left:16px;top:13px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#746554}.card-body{padding:20px}.card-body h2{font-size:25px;margin:12px 0 8px;overflow-wrap:anywhere}.card-meta{font-size:11px;color:var(--muted);margin-bottom:18px}.card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;font-size:11px}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;font-size:9px;background:#e8e5dc;color:#5c584e;letter-spacing:.025em}.tag.uploaded{background:#e4eadd;color:var(--green)}.tag.sample{background:#e8dccb;color:#766044}.next-step{display:grid;grid-template-columns:1.2fr 1fr;background:var(--ink);color:var(--cream);margin-top:32px;padding:28px;gap:30px;align-items:center}.next-step h2{font-size:26px;margin:0 0 10px}.next-step p{font-size:12px;color:#c4b8ab;margin:0;max-width:520px}.next-step .actions{justify-content:flex-end}.empty-state{text-align:center;padding:64px 24px;border:1px solid var(--line);background:var(--surface)}.empty-state .empty-icon{display:block;font:40px var(--serif);color:var(--accent);margin-bottom:24px}.empty-state h2{font-size:33px;margin-bottom:16px}.empty-state p{max-width:430px;margin:0 auto 24px}.loading-state{padding:70px 20px;color:var(--muted);text-align:center;border:1px solid var(--line)}.back{font-size:11px;border:0;background:transparent;padding:0;margin-bottom:26px;color:var(--muted);cursor:pointer}.detail-title h1{overflow-wrap:anywhere;font-size:43px}.detail-title{margin-bottom:26px}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:28px}.tabs button{padding:15px 0;border:0;border-bottom:2px solid transparent;background:transparent;font-size:12px;color:var(--muted)}.tabs button.active{border-bottom-color:var(--ink);color:var(--ink)}.overview-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:26px;align-items:start}.plan-panel{border:1px solid var(--line);background:#e2dcd2;min-height:330px;display:flex;flex-direction:column;background-image:linear-gradient(#aaa08c10 1px,transparent 1px),linear-gradient(90deg,#aaa08c10 1px,transparent 1px);background-size:25px 25px}.panel-top{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#5e5245}.plan-panel svg{width:100%;height:340px;color:#5e4c3b}.plan-footer{font-size:10px;color:#5f564d;border-top:1px solid #cfc4b4;padding:15px 22px;margin-top:auto}.info-panel{background:var(--surface);padding:26px;border:1px solid var(--line)}.info-panel h2{font-size:25px;margin-bottom:22px}.facts{margin:0}.facts>div{padding:12px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:12px}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right;overflow-wrap:anywhere}.info-panel .notice{margin:20px 0 0;padding:14px;background:var(--paper);font-size:11px}.legend{display:flex;gap:18px;font-size:10px;flex-wrap:wrap;padding:0 22px 20px;color:var(--muted)}.legend span:before{content:'';width:14px;height:3px;background:#5e4c3b;display:inline-block;margin:0 6px 3px 0}.legend span:nth-child(2):before{background:#a79070}.legend span:nth-child(3):before{background:#67827e}.overview-notes{margin-top:28px}.overview-notes p{font-size:13px}.file-list{border-top:1px solid var(--line)}.file-row{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}.file-name{font-size:13px;overflow-wrap:anywhere;min-width:0}.file-size{font-size:11px;color:var(--muted);white-space:nowrap}.file-row .btn{font-size:10px;min-height:34px;padding:7px 12px}.file-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}.brief-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr);gap:40px}.brief-form{background:var(--surface);padding:28px;border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.field label{font-size:12px;color:var(--ink)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:0;background:transparent;padding:12px;color:var(--ink);font-size:13px}.field textarea{resize:vertical;min-height:110px;line-height:1.65}.field small{font-size:11px;color:var(--muted)}.brief-aside{padding-top:8px}.brief-aside h2{font-size:30px}.brief-aside p{font-size:13px;line-height:1.8}.brief-aside ol{padding-left:20px;color:var(--muted);font-size:12px;line-height:1.8}.brief-aside li{padding-bottom:14px}.save-status{font-size:12px;margin:16px 0 0}.capture-guide{max-width:850px}.guide-steps{margin-top:36px;border-top:1px solid var(--line)}.guide-step{display:grid;grid-template-columns:55px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:25px 0}.guide-step>span{font:28px var(--serif);color:var(--accent)}.guide-step h2{font-size:25px;margin:0 0 10px}.guide-step p{margin:0;max-width:640px;line-height:1.8}.package-icon{width:88px;height:88px;color:#96846c}.no-plan{margin:auto;text-align:center;padding:35px}.no-plan p{font-size:12px;max-width:280px}.load-more{display:flex;justify-content:center;padding:25px}.hash{font-family:monospace;overflow-wrap:anywhere;font-size:11px;color:var(--muted)}
@media(min-width:1500px){.content{padding:52px 64px}.topbar{padding-left:64px;padding-right:64px}}
@media(max-width:1100px){.workspace-layout{grid-template-columns:210px 1fr}.sidebar{padding:30px 18px}.content{padding:32px}.topbar{padding:20px 32px}.overview-grid,.brief-layout{grid-template-columns:1fr}.brief-aside{max-width:650px}.hero-drawing{min-height:450px}.hero-svg{height:300px}.next-step{grid-template-columns:1fr}.next-step .actions{justify-content:flex-start}.landing{gap:4%}}
@media(max-width:760px){.site-nav{height:78px;padding:0 24px}.site-nav .nav-label{display:none}.site-nav .wordmark{font-size:21px}.site-nav .actions .text-button{display:none}.landing{grid-template-columns:1fr;padding:42px 24px;gap:34px}.landing h1{font-size:62px}.landing-copy>p{max-width:530px}.hero-drawing{min-height:430px}.hero-svg{height:300px}.process{padding:42px 24px}.process-title{align-items:flex-start;flex-direction:column;gap:12px}.step-grid{grid-template-columns:1fr;gap:24px}.step p{max-width:none}.landing-foot{padding:24px;font-size:8px;gap:16px}.workspace-layout{display:block}.sidebar{position:relative;height:auto;padding:22px 24px 0;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.sidebar .wordmark{font-size:21px;margin:0;align-self:center}.workspace-block{grid-column:2;grid-row:1}.workspace-label{display:none}.workspace-kind{margin:3px 0 0;font-size:9px}.workspace-select{font-size:11px;padding:8px}.side-nav{grid-column:1/-1;flex-direction:row;gap:8px;margin-top:22px}.side-nav button{padding:11px 16px;border-bottom:2px solid transparent;flex:1;justify-content:center}.side-nav button.active{background:transparent;border-bottom-color:var(--ink)}.sidebar-foot{position:absolute;right:24px;top:100%;z-index:2;margin:0;padding:10px 0;border:0}.sidebar-foot .username{display:none}.sidebar-foot .text-button{font-size:10px}.topbar{padding:18px 24px;min-height:60px;padding-right:90px;font-size:10px}.topbar .private-label{display:none}.content{padding:32px 24px}.page-heading{align-items:flex-start;gap:22px;flex-direction:column;margin-bottom:30px}.page-heading h1{font-size:43px}.page-heading>.btn{min-height:42px}.library-tools{padding-top:14px;gap:12px}.search{max-width:240px}.capture-grid{grid-template-columns:1fr 1fr;gap:14px}.card-visual{height:160px}.card-body{padding:16px}.card-body h2{font-size:22px}.card-foot{font-size:10px}.next-step{padding:24px}.detail-title h1{font-size:36px}.form-grid{grid-template-columns:1fr;gap:0}.brief-form{padding:22px}.brief-layout{gap:25px}.plan-panel svg{height:300px}.demo-banner{font-size:10px}.overview-grid{gap:20px}.file-row{gap:10px}.file-actions{gap:10px}.file-name{font-size:11px}.file-size{font-size:10px}.guide-step{grid-template-columns:30px 1fr;gap:14px}.guide-step h2{font-size:24px}}
@media(max-width:480px){.capture-grid{grid-template-columns:1fr}.card-visual{height:200px}.landing h1{font-size:53px}.hero-drawing{padding:22px;min-height:380px}.hero-svg{height:265px}.hero-caption{font-size:24px;left:22px}.site-nav .btn{padding:10px 16px;min-height:40px}.wordmark{font-size:20px}.content{padding:27px 20px}.sidebar{padding-left:20px;padding-right:20px}.topbar{padding-left:20px}.count{max-width:95px;text-align:right}.tabs{gap:23px}.file-size{display:none}.page-heading h1{font-size:40px}.landing-foot{flex-direction:column;gap:8px}.plan-panel svg{height:260px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.reference-label{margin-top:24px}.guide-actions{margin-top:28px}

/* Source-derived CAD inspector */
.cad-intro h2{font-size:clamp(28px,3vw,42px);margin-bottom:12px}.cad-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.cad-toolbar .btn{min-height:44px;padding:10px 16px}.cad-toolbar [aria-pressed=true]{background:#28231c;color:#faf7f1}.cad-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px}.cad-canvas{height:520px;min-height:320px;border:1px solid #d8d0c4;background:#ede8de;position:relative;overflow:hidden}.cad-canvas canvas{display:block;touch-action:none}.cad-inspector{padding:24px;background:#f7f4ee;border:1px solid #d8d0c4}.cad-inspector select{width:100%;min-height:46px;margin:10px 0 20px;background:transparent;border:1px solid #bdb5a7;padding:8px}.cad-inspector .facts>div{gap:16px}.cad-summary{border-top:1px solid #d8d0c4;margin-top:30px;padding-top:24px}.cad-summary .facts{max-width:650px}.cad-summary details{padding:18px;background:#f7f4ee}.cad-considerations{margin-top:48px}.cad-consideration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cad-consideration-grid article{padding:24px;border:1px solid #d8d0c4}.cad-consideration-grid h3{font-size:24px}.cad-canvas:focus-within{outline:2px solid #766047;outline-offset:2px}@media(max-width:1000px){.cad-layout{grid-template-columns:1fr}.cad-canvas{height:440px}}@media(max-width:600px){.cad-canvas{height:360px}.cad-consideration-grid{grid-template-columns:1fr}.cad-inspector{padding:18px}}
.public-property{max-width:1560px;margin:0 auto;padding:40px clamp(20px,5vw,80px)}.public-property-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d8d0c4;padding-bottom:28px;margin-bottom:48px}.public-property-header>span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.public-property .page-heading{align-items:center}.publish-confirm{display:flex;gap:12px;align-items:flex-start;margin:24px 0;font-size:15px;line-height:1.6}.publish-confirm input{margin-top:6px}#unpublish{margin-top:20px}.public-property footer{margin:48px 0 10px}

/* Keep the same sidebar in model/detail views as in the portfolio. */
@media(min-width:761px){
.workspace-layout.workspace-focus .content{max-width:none;padding-left:30px;padding-right:30px}
}
.side-toggle{display:none;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);background:var(--surface);font-size:14px;color:var(--ink)}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}
@media(min-width:761px){
.workspace-focus .content{padding-top:18px;padding-bottom:18px}
.workspace-focus .detail-title{margin-bottom:12px}
.workspace-focus .detail-title h1{font-size:30px;margin:4px 0 4px}
.workspace-focus .detail-title p,.workspace-focus .detail-title .tag{display:none}
.workspace-focus .back{margin-bottom:12px}
.workspace-focus .tabs{margin-bottom:14px}
.workspace-focus .topbar{padding-top:14px;padding-bottom:14px}
}
.sidebar-scrim{display:none;border:0;padding:0}

/* Workspace focus: the space's name lives in the top bar beside the menu, so the
   page heading does not repeat it above the model. */
@media(min-width:761px){
.workspace-focus .detail-title,.workspace-focus .back{display:none}
.workspace-focus .content{padding-top:10px}
.workspace-focus .tabs{margin-bottom:12px}
}
.crumb{display:flex;align-items:center;gap:8px;min-width:0}
.crumb b{font-weight:500;color:var(--ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crumb-back{border:0;background:transparent;color:var(--muted);font-size:15px;line-height:1;padding:2px 4px}
.crumb-back:hover{color:var(--ink)}

/* ---- Capture views ---------------------------------------------------------
   Two kinds of tab were sharing one row. The three ways of looking at the space
   are a segmented control with a marker that slides between them; the records
   about the capture stay quiet text beside it, with a rule in between. */
.tabs{display:flex;align-items:center;gap:20px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.tabs::-webkit-scrollbar{display:none}
.tab-lenses{position:relative;display:flex;gap:2px;flex:none;margin:7px 0;padding:4px;
  background:#e7e0d6;border-radius:999px}
.tab-lenses button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;
  border:0;background:transparent;border-radius:999px;padding:9px 16px;font-size:12px;
  color:#6c6355;white-space:nowrap;transition:color .2s cubic-bezier(.22,.72,.2,1)}
.tab-lenses button:hover{color:var(--ink)}
.tab-lenses button.active{color:var(--ink)}
.tab-lenses .tab-icon{display:inline-flex;opacity:.75}
.tab-lenses .tab-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.35}
.tab-lenses button.active .tab-icon{opacity:1}
.tab-marker{position:absolute;top:4px;bottom:4px;left:0;width:0;background:var(--surface);
  border-radius:999px;box-shadow:0 2px 10px #221d1814,0 0 0 1px #ffffff99;
  transition:transform .34s cubic-bezier(.22,.72,.2,1),width .34s cubic-bezier(.22,.72,.2,1),opacity .2s}
.tab-split{flex:none;width:1px;height:22px;background:var(--line)}
.tab-record{display:flex;gap:24px;flex:none}
.tab-record button{padding:16px 0 15px;border:0;border-bottom:2px solid transparent;background:transparent;
  font-size:12px;color:var(--muted);white-space:nowrap;transition:color .18s,border-color .18s}
.tab-record button:hover{color:var(--ink)}
.tab-record button.active{color:var(--ink);border-bottom-color:var(--ink)}
@media(prefers-reduced-motion:reduce){.tab-marker{transition:none}}
@media(max-width:760px){
  .tabs{gap:14px}
  .tab-lenses button{padding:9px 13px}
  .tab-record{gap:18px}
}

/* The lens in view is marked in Inscena's dark red, with its label and icon
   inverted to sit on it — at 13.8:1 against that ground, which is well past the
   contrast floor. The label changes colour as the marker arrives under it. */
.tab-marker{background:#3b0510;box-shadow:0 4px 14px rgba(59,5,16,.28)}
.tab-lenses button.active{color:#f7f1ee}
.tab-lenses button.active .tab-icon{opacity:.95}
.tab-lenses button{transition:color .24s cubic-bezier(.22,.72,.2,1)}
.tab-lenses button:focus-visible{outline:2px solid #3b0510;outline-offset:3px;border-radius:999px}
.tab-lenses button.active:focus-visible{outline-color:#f7f1ee;outline-offset:-4px}
.plan-sheet{margin:40px 0;padding:24px;border:1px solid var(--line,#d3ccc2);background:#f4f1ec;color:#221d18}.plan-sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.plan-sheet-drawing svg{display:block;width:100%;height:auto}.plan-schedule{overflow-x:auto}.plan-schedule table{width:100%;border-collapse:collapse;font-size:14px}.plan-schedule th,.plan-schedule td{padding:12px 10px;text-align:left;border-bottom:1px solid #d3ccc2;white-space:nowrap}.plan-sheet details{margin-top:24px}.plan-sheet select{padding:8px}.plan-sheet .small-note{color:#5c5248}@media(max-width:600px){.plan-sheet{padding:12px}.plan-sheet-heading{align-items:start}}

.plan-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.plan-fact-grid article{border-top:1px solid #b9ae9e;padding-top:18px}.plan-fact-grid strong{font-size:24px;font-weight:500}.plan-fact-grid p{font-size:14px;line-height:1.6}.plan-sheet-drawing{overflow:auto}.plan-sheet-drawing svg{min-width:640px}.plan-schedule li{padding:10px 0;line-height:1.7}@media(max-width:700px){.plan-fact-grid{grid-template-columns:1fr}}
.plan-registration{margin:0 0 20px}.plan-registration h3{font-family:var(--sans);font-size:15px;letter-spacing:0;line-height:1.4;color:var(--ink);margin:0 0 10px}.plan-registration p{margin:0 0 9px;font-size:12px;line-height:1.75}.plan-registration p:last-child{margin-bottom:0}.info-panel .plan-registration{padding:16px;margin:0 0 22px}

/* ---- Measured plan: reading a 42-wall drawing ------------------------------
   The drawing zooms and the schedule steers it. Both are display only: no
   dimension, schedule row or export changes with either. */
.plan-zoom{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.plan-zoom output{font-variant-numeric:tabular-nums;font-size:13px;min-width:4.2em;text-align:center}
.plan-zoom .small-note{flex:1 1 220px;margin:0}
.plan-zoom button[disabled]{opacity:.45;cursor:default}
.plan-sheet-drawing{overscroll-behavior-x:contain}
.plan-sheet-drawing:focus-visible{outline:2px solid #3b0510;outline-offset:2px}
/* A row is a control here, so it has to look and behave like one. */
.plan-schedule tbody tr{cursor:pointer}
.plan-schedule tbody tr:hover{background:#ece7df}
.plan-schedule tbody tr:focus-visible{outline:2px solid #3b0510;outline-offset:-2px}
.plan-schedule tbody tr.is-selected{background:#e4ece9;box-shadow:inset 3px 0 0 #3b0510}
.plan-schedule tbody tr.is-selected th{font-weight:600}
@media(max-width:600px){
  .plan-zoom .small-note{flex-basis:100%}
  .plan-schedule table{font-size:13px}
  .plan-schedule th,.plan-schedule td{padding:10px 8px}
}

/* ---- One top bar --------------------------------------------------------
   Inside a space the header is a single row: the space's name (its facts one
   click away), the ways of looking at it, and one menu for its records. Two
   bars of navigation above the model were two bars the model did not get. */
.workspace-focus .topbar{justify-content:flex-start;gap:18px;padding-top:8px;padding-bottom:8px;position:relative;z-index:20}
.workspace-focus .topbar .private-label{display:none}
.topbar .topbar-tabs{flex:1 0 auto;min-width:max-content;margin:0;padding:0;border:0;gap:14px;overflow:visible}
/* The tabs never give up their room: squeezed, the space's name shortens (it ellipsizes) instead of Project running under undo. */
.workspace-focus .topbar .crumb,.workspace-focus .topbar .crumb-project{flex:0 1 auto;min-width:0}
.workspace-focus .topbar .crumb-project>button{max-width:100%}
.topbar .topbar-tabs .tab-lenses{margin:0}
.crumb-project{position:relative;min-width:0}
.crumb-project>button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:6px 8px;
  border-radius:8px;max-width:280px;color:var(--ink)}
.crumb-project>button:hover,.crumb-project>button[aria-expanded="true"]{background:var(--surface)}
.crumb-project b{font:500 13px/1.3 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crumb-project i,.tab-project i{font-style:normal;font-size:9px;color:var(--muted)}
.crumb-pop,.project-pop{position:absolute;top:calc(100% + 6px);z-index:50;background:var(--surface);
  border:1px solid var(--line);box-shadow:0 12px 36px #221d1824;border-radius:12px}
.crumb-pop{left:0;width:300px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.crumb-pop p{margin:0;font-size:12px;color:var(--ink);line-height:1.5}
.crumb-pop .crumb-where{color:var(--muted);font-size:11px}
.tab-record{position:relative;margin-left:auto}
.tab-project{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);
  border-radius:999px;padding:8px 14px;font-size:12px;color:var(--ink)}
.tab-project:hover,.tab-project[aria-expanded="true"]{border-color:var(--ink)}
.tab-project.active{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.tab-project.active i{color:var(--surface)}
.project-pop{right:0;min-width:220px;padding:6px;display:flex;flex-direction:column}
.tabs .project-pop button{text-align:left;padding:9px 12px;border:0;border-radius:8px;font-size:12.5px;color:var(--ink)}
.tabs .project-pop button:hover{background:var(--paper)}
.tabs .project-pop button.active{background:var(--ink);color:var(--surface)}
.project-pop-rule{height:1px;background:var(--line);margin:5px 6px}
@media(max-width:760px){.topbar .topbar-tabs{order:3;flex-basis:100%;overflow-x:auto}.workspace-focus .topbar{flex-wrap:wrap}}

/* Save and Share: on every tab of a space, at the right of the one top bar. */
.top-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;color:var(--muted);font-size:12px}
.top-history{display:contents}
#laySaved{white-space:nowrap;font-variant-numeric:tabular-nums;margin-right:2px}
#laySaved[data-state="workspace"]:before,#laySaved[data-state="browser"]:before{content:'✓ ';color:var(--green)}
#laySaved[data-state="conflict"],#laySaved[data-state="offline"]{color:var(--red)}
.lay-private{display:inline-grid;place-items:center;width:28px;height:28px;color:var(--muted)}
.lay-private svg{width:16px;height:16px}
.top-share{position:relative}
.top-share-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:270px;max-width:320px;padding:6px;
  display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 14px 40px #221d1824;color:var(--ink)}
.top-share-pop>button{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;
  padding:9px 12px;border:0;border-radius:8px;background:transparent;font-size:12.5px;color:var(--ink)}
.top-share-pop>button:hover{background:var(--paper)}
.top-share-pop>button[hidden]{display:none}
.top-share-rule{height:1px;background:var(--line);margin:5px 6px}
.top-share-head{margin:6px 12px 2px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.top-grant i{font-style:normal;font-size:11px;color:var(--muted)}
.top-grant[aria-pressed="true"] i{color:var(--green)}
.top-grant-edit{display:flex;align-items:center;gap:8px;min-height:32px;padding:0 12px 4px;font-size:12px;color:var(--ink,#392b30);cursor:pointer}.top-grant-edit[hidden]{display:none}
.top-share-note{margin:4px 12px 8px;font-size:11px;line-height:1.5;color:var(--muted)}
@media(max-width:1100px){#laySaved{display:none}}
@media(max-width:760px){.top-actions{order:2}.top-share-btn{padding:8px 10px}}
.card-meta .card-opened{font-weight:500;color:var(--ink)}
.card-meta .card-opened:empty{display:none}

/* Scan review: editing tools sit beside the drawing on large screens. */
.plan-workbench{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:28px;align-items:start;margin-block:36px}
.plan-workbench:has(#cad-plan-review:empty){grid-template-columns:1fr}
#cad-plan-review:empty{display:none}
.plan-workbench .plan-sheet{min-width:0;margin-top:0}
.plan-review h3{margin-top:0}.plan-review h4{margin:24px 0 12px}
.plan-review p{max-width:65ch}.plan-review label{display:block;margin-block:12px}
.plan-review select,.plan-review input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;min-height:44px;padding:10px;border:1px solid #978b7b;border-radius:6px;color:#28221d;background:#fffdf7;margin-top:6px}
.plan-review input[type=checkbox]{accent-color:#7b1522;width:18px;height:18px;vertical-align:middle}
.plan-review-object{border-top:1px solid #c4b9aa;padding:16px 0}.plan-review-object>span,.plan-review-object>small{display:block;margin-top:8px}
.plan-review-object small{color:#5b5045}.plan-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.plan-review .btn{white-space:normal;min-height:44px;padding:10px 16px}.plan-review :focus-visible{outline:2px solid #7b1522;outline-offset:3px}
.door-review-preview{display:block;width:100%;max-width:240px;background:#fffdf7;color:#28221d;border:1px solid #c4b9aa;border-radius:8px;margin:12px auto}
@media(max-width:1000px){.plan-workbench{grid-template-columns:1fr}.plan-review-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:600px){.plan-review-columns{grid-template-columns:1fr}.plan-workbench{gap:16px}.plan-review select{max-width:100%}}
/* Project → Photos: views taken with the workspace's camera, each with its download. */
.photo-gallery{width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 48px);border:1px solid var(--line);border-radius:16px;padding:0;background:var(--surface);color:var(--ink)}
.photo-gallery::backdrop{background:#221d1866}
.photo-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.photo-head h2{font-size:24px;margin:0}
.photo-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:20px;line-height:1}
.photo-body{padding:20px 22px;overflow:auto;max-height:calc(100vh - 140px)}
.photo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}
.photo-tile{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}
.photo-shot{aspect-ratio:16/10;background:#e2dcd2}
.photo-shot img{width:100%;height:100%;object-fit:cover;display:block}
.photo-meta{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:12px}
.photo-meta span{flex:1;color:var(--muted)}
.photo-download{padding:6px 12px;border:1px solid var(--ink);border-radius:999px;font-size:12px}
.photo-download[aria-disabled="true"]{opacity:.4;pointer-events:none}
.photo-remove{border:0;background:transparent;font-size:12px;color:var(--muted);text-decoration:underline}
.photo-empty,.photo-note{font-size:13px;color:var(--muted)}
/* Modify mode (modify-mode.mjs): sits where the workspace's right rail sits, in the rail's own cards and buttons. Signed-in agency staff only. */
.mod-drawer{position:fixed;top:65px;right:0;bottom:0;z-index:70;width:min(360px,100vw);overflow-y:auto;background:var(--surface);border-left:1px solid var(--line);padding:18px 18px 96px}
.mod-panel{display:flex;flex-direction:column;gap:14px;font-size:14px;color:var(--ink)}
.mod-head,.mod-choose,.mod-panel>section{border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:var(--paper)}
.mod-panel h2{font-size:24px;letter-spacing:-.01em;margin:0 0 6px}.mod-panel h3{font:400 18px var(--serif,inherit);letter-spacing:-.01em;margin:0 0 10px;color:var(--ink)}
.mod-head{position:relative}.mod-head h2{padding-right:76px}.mod-head p{font-size:12.5px;line-height:1.45;margin:0;color:var(--muted)}.mod-head [data-mod=close]{position:absolute;right:16px;top:16px}
.mod-panel label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--muted);margin:12px 0}.mod-pick label{margin:0 0 6px;display:block}
.mod-panel select,.mod-panel input[type=text],.mod-panel input:not([type]),.mod-panel textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 11px;color:var(--ink);font-size:14px}
.mod-panel input[type=file]{font-size:12.5px;color:var(--muted)}.mod-panel input[type=file]::file-selector-button{height:30px;margin-right:10px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}
.mod-panel textarea{min-height:72px;resize:vertical}.mod-item{font-size:14px;margin-top:12px}.mod-item span,.mod-panel li span{color:var(--muted);font-size:12px}
.mod-panel .btn{min-height:34px;padding:0 14px;border-radius:9px;border:1px solid #300916;background:#300916;color:#FAF6F0;font-size:13px;font-weight:600;letter-spacing:normal;text-transform:none;white-space:normal}
.mod-panel .btn:hover{background:#4F0E18}.mod-panel .btn.ghost{background:#fff;color:#300916;border-color:#D9C7CB}.mod-panel .btn.ghost:hover{background:var(--accent-tint);color:#300916}.mod-panel .btn:disabled{background:transparent;color:var(--muted);border-color:var(--line);cursor:default}
.mod-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.mod-panel ul{list-style:none;margin:0;padding:0}.mod-panel li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.mod-panel li:first-child{border-top:0}
.mod-panel li b{font-weight:600}.mod-panel li span{flex-basis:100%}.mod-live{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:#300916;color:#FAF6F0;font:600 11px var(--sans);font-style:normal}
.mod-hint,.mod-diff{font-size:12.5px;color:var(--muted);margin:8px 0 0}.mod-compare{flex-direction:row!important;align-items:center}.mod-hidden p{margin:0;font-size:13px;color:var(--muted)}
.mod-area .mod-counts,.mod-selected{font-size:12.5px;margin:8px 0}.mod-rule{border:0;padding:0;margin:6px 0;display:flex;gap:14px}.mod-rule legend{font-size:12.5px;padding:0}.mod-rule label{flex-direction:row!important;align-items:center;gap:6px;margin:0}
.lay-modifying .lay-stage canvas:not([data-camera-action]){cursor:crosshair!important}
.mod-cue{position:fixed;top:80px;left:calc((100vw - min(360px,100vw)) / 2);transform:translateX(-50%);z-index:71;margin:0;padding:8px 14px;background:var(--ink);color:var(--surface);font-size:12px;border-radius:10px;max-width:calc(100vw - 32px);text-align:center}
.mod-jump{appearance:none;border:0;background:none;padding:0;color:#300916;font:600 12.5px var(--sans,inherit);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.mod-hidden ul{max-height:240px;overflow-y:auto}
.mod-choose select{margin-top:10px}.mod-choose .mod-actions{margin-top:12px}.mod-choose .mod-hint{margin:0}.mod-choose .mod-item+.mod-hint{margin-top:6px}
.mod-panel .mod-deleted li{flex-wrap:nowrap;padding:8px 0}.mod-panel .mod-deleted li span{flex-basis:auto}.mod-panel .mod-deleted li .btn{margin-left:auto;min-height:30px;flex:none}.mod-deleted li.on{box-shadow:inset 3px 0 0 #0ea5e9;padding-left:10px}
.mod-toggle{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px}.mod-none{margin-top:4px!important}.mod-swatch{width:16px;height:0;border-top:3px dashed #0ea5e9;flex:none}.mod-panel .mod-toggle[aria-pressed=true]{background:#e6f6fe;border-color:#0ea5e9;color:#04283d}.mod-panel .btn.mod-toggle:disabled{opacity:.55}
.mod-publish{position:sticky;bottom:0;z-index:2;border:1px solid #300916;border-radius:14px;padding:12px;background:var(--paper);box-shadow:0 -6px 16px #221d1814}.mod-publish .btn{width:100%;min-height:40px}.mod-publish p{margin:0 0 8px;font-size:13px;color:var(--ink)}.mod-publish .mod-actions{flex-wrap:nowrap}
.mod-panel>section.mod-archive{padding:0;background:none;overflow:visible}.mod-archive-toggle{appearance:none;display:flex;width:100%;align-items:center;justify-content:space-between;border:0;background:none;padding:12px 16px;color:var(--muted);font:600 13px var(--sans,inherit);cursor:pointer;min-height:44px}.mod-archive-toggle:hover{color:var(--ink)}.mod-archive-toggle i{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px)}.mod-archive-toggle[aria-expanded=true] i{transform:rotate(-135deg) translate(-2px,-2px)}
.mod-archive>section{padding:14px 16px;border-top:1px solid var(--line)}.mod-archive h3{font-size:16px}
.mod-panel .mod-viewing{position:sticky;top:-18px;z-index:2;border-color:#300916;box-shadow:0 6px 16px #221d1814}.mod-viewing p{font-size:12.5px;line-height:1.45;margin:0 0 10px;color:var(--muted)}.mod-viewing .mod-hint{margin:10px 0}
.mod-figures{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:0 0 10px;padding:0}.mod-figures dt{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:4px}.mod-figures dd{margin:2px 0 0;font-size:14px;font-weight:600;color:var(--ink)}
.mod-panel li.mod-rev{display:block;padding:12px 0}.mod-rev.on{box-shadow:inset 3px 0 0 #300916;padding-left:12px!important}.mod-rev-head{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;overflow-wrap:anywhere}.mod-rev-head .mod-live{margin-left:auto}
.mod-panel li.mod-rev span.mod-rev-by{display:block;margin:2px 0 6px}
.mod-panel .mod-changes{margin:0 0 8px}.mod-panel li.mod-change{display:block;padding:4px 0;border:0;font-size:12.5px}.mod-change b{font-weight:600}.mod-change span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;margin-top:1px}.mod-rev.open .mod-change span{display:block;overflow:visible}
.mod-rev .mod-actions{margin-top:8px}.mod-rev>.mod-jump{display:block;margin:0 0 4px}.mod-revs+.mod-jump{margin-top:8px}.mod-rev .btn[aria-pressed=true]{background:#300916;color:#FAF6F0;border-color:#300916}
@media(max-width:760px){.mod-drawer{top:auto;left:0;right:auto;width:100vw;height:55dvh;border-left:0;border-top:1px solid var(--line);border-radius:14px 14px 0 0}.mod-cue{display:none}.mod-publish{position:static}}
.mod-proposals ul{list-style:none;margin:8px 0 0;padding:0}.mod-proposal{padding:10px 0;border-top:1px solid var(--line)}.mod-frames{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mod-frame{padding:0;width:72px;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer;overflow:hidden;font-size:11px;color:var(--muted)}.mod-frame.on{border-color:var(--ink)}.mod-frame img{display:block;width:100%;height:54px;object-fit:cover;background:var(--line)}.mod-frame span{display:block;padding:2px 0}.mod-frame-missing img{visibility:hidden}.mod-frame-large{margin:8px 0 0}.mod-frame-large img{display:block;width:100%;border-radius:6px;background:var(--line)}.mod-frame-large figcaption{font-size:11px;color:var(--muted);margin-top:2px}.mod-decided{font-size:12.5px;color:var(--muted);align-self:center}

.mod-panel .mod-steps{list-style:decimal;margin:10px 0 0;padding:0 0 0 20px;font-size:13px;line-height:1.45;color:var(--muted)}.mod-panel .mod-steps li{display:list-item;margin:0 0 5px;padding:0;border:0;font-size:13px}.mod-panel .mod-steps li.now{color:var(--ink);font-weight:600}.mod-panel .mod-steps li.done{opacity:.65}
.mod-trim.on{border-color:#0ea5e9;box-shadow:0 0 0 1px #0ea5e9}.mod-trim .mod-actions{margin-top:12px}.mod-trim .mod-hint{margin-top:6px}.mod-trim>.mod-hint:first-of-type{margin-top:4px}
.mod-trim-area{margin:10px 0 0;font-size:13.5px}.mod-trim-why{margin:10px 0 0;font-size:13px;line-height:1.4;color:var(--ink)}
.mod-trim-go:not(:disabled){background:#b42318!important;border-color:#b42318!important}.mod-panel .btn.mod-trim-go:disabled{opacity:.45}

.fusion-review{width:min(900px,94vw);max-height:90dvh;background:#f6f3ed;color:#292420;border:1px solid #cfc6b8;border-radius:12px;padding:1rem}
.fusion-review::backdrop{background:#211b19aa}
.fusion-review header,.fusion-review footer{display:flex;align-items:center;gap:1rem}
.fusion-review header{justify-content:space-between}
.fusion-review canvas{display:block;width:100%;height:min(59dvh,560px);touch-action:none}
.fusion-review footer{margin-top:.75rem;flex-wrap:wrap}
