:root{--green:#244c40;--green-soft:#e7eee8;--ink:#29362f;--muted:#7f887e;--line:#e4e6df;--paper:#fffefa;--canvas:#f6f6ef;--tan:#ad8052;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}button,input,summary{outline-offset:4px}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #688e75}button{touch-action:manipulation}button svg,[data-icon] svg{width:18px;height:18px;display:block;flex:none}button [data-icon]{display:flex}button{transition:background .15s,color .15s}button:hover{filter:brightness(.97)}.app-header{height:84px;display:flex;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);gap:24px;background:#fffefa}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green);font-size:23px;font-weight:650;letter-spacing:3px;line-height:1.05}.brand-icon{width:39px;height:43px;display:grid;place-items:center}.brand-icon svg{width:38px}.brand-sub{display:block;font-size:9px;letter-spacing:4.6px;margin-top:7px;font-weight:550}.header-divider{height:32px;width:1px;background:var(--line);margin-left:14px}.project-heading input{border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:600;width:180px;padding:2px 0;display:block}.project-heading>span{font-size:10px;color:#879187;display:block;margin-top:4px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.phase-badge{font-size:11px;display:flex;gap:7px;align-items:center;margin-right:20px;color:#637367}.phase-badge i,.live-tag i{height:5px;width:5px;border-radius:50%;background:#6d936f}.version{padding:3px 5px;background:#eff1eb;border-radius:4px;color:#889081;font-size:9px}.button{border:1px solid var(--line);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:550;background:transparent;color:var(--ink);white-space:nowrap}.button.ghost{border-color:transparent}.button.dark{background:var(--green);color:#fff;border-color:var(--green)}.app-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:calc(100dvh - 84px)}.sidebar{border-right:1px solid var(--line);background:var(--paper);padding:28px 23px 22px;max-height:calc(100dvh - 84px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd1c8 transparent}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.6px;color:#889283}.sidebar-intro h1{font-size:22px;font-weight:500;letter-spacing:-.8px;margin:12px 0 7px}.sidebar-intro p{font-size:11px;color:#8a9085;margin:0}.control-section{border-top:1px solid var(--line);margin-top:26px;padding-top:23px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading h2{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;margin:0}.section-number{font-size:9px;color:#969c90;border:1px solid var(--line);border-radius:5px;height:22px;width:23px;display:grid;place-items:center;font-weight:400}.section-heading>[data-icon]{color:#969e90}.dimension-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-label{font-size:11px;color:#6b756a}.axis{font-size:8px;font-weight:650;padding:2px 4px;border-radius:3px;margin-left:4px;display:inline-block}.axis.x{color:#477765;background:#edf2ed}.axis.y{color:#a47a4b;background:#f6f0e5}.input-unit{display:flex;border:1px solid #dce1d6;border-radius:7px;background:#fffefa;align-items:center;margin-top:9px;overflow:hidden}.input-unit:focus-within{border-color:#66856b;box-shadow:0 0 0 2px #dfe8df}.input-unit input{min-width:0;width:100%;border:0;background:transparent;padding:11px 9px;color:var(--ink);font-size:16px;font-weight:500;outline:none}.input-unit>span{padding-right:11px;color:#a0a598;font-size:11px}.sub-label{font-size:9px;letter-spacing:1.1px;color:#8c9488;margin:23px 0 13px}.division-row{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:10px}.division-row label{font-size:11px}.division-row small{display:block;color:#939b8d;font-size:10px;margin-top:5px}.stepper{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;align-items:center;height:32px}.stepper button{border:0;background:#f7f8f2;color:#7f897a;width:25px;height:32px;font-size:16px}.stepper input{width:31px;border:0;background:transparent;text-align:center;padding:0;font-size:11px;color:var(--ink);appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}details{margin-top:20px}summary{font-size:10px;color:#70836c;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:6px 0}summary::-webkit-details-marker{display:none}summary span{font-size:14px}.hint{font-size:10px;line-height:1.5;color:var(--muted)}.span-axis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.span-axis label{font-size:9px;color:var(--muted)}.span-axis input{width:100%;min-width:0;margin-top:4px;border:1px solid var(--line);border-radius:5px;padding:6px;background:var(--paper);color:var(--ink);font-size:11px}.floors-section{margin-top:20px;padding-top:22px}.floors-section .section-heading{margin-bottom:10px}.count-badge{font-size:9px;padding:4px 7px;border-radius:4px;background:#f2f3ec;color:#87917f}.section-description{font-size:10px;color:#959c8f;margin:0 0 14px}.floor-row{display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:7px;padding:8px 7px;margin-bottom:5px;position:relative}.floor-row.selected{background:#edf2e9;border-color:#dbe4d5}.floor-select{border:0;background:transparent;display:flex;align-items:center;gap:9px;text-align:left;color:#51604e;padding:0;flex:1;min-width:0}.floor-mark{width:22px;height:24px;border:1px solid #dfe4da;border-radius:4px;display:grid;place-items:center;font-size:9px;background:#fffefa;color:#8b9783;flex:none}.selected .floor-mark{border-color:var(--green);background:var(--green);color:white}.floor-name{font-size:11px;font-weight:550;white-space:nowrap}.floor-elevation{display:block;font-size:9px;color:#94a08c;margin-top:4px;font-weight:400}.floor-height{display:flex;align-items:center;gap:3px;background:#fffefa;border:1px solid #dde2d7;border-radius:5px;padding-right:5px;color:#94a08c;font-size:9px}.floor-height input{width:45px;border:0;background:transparent;padding:6px 0 6px 6px;font-size:11px;color:#4a5946;appearance:textfield}.floor-height input::-webkit-inner-spin-button{appearance:none}.delete-floor{border:0;background:transparent;color:#9ba592;font-size:16px;padding:2px;width:15px;line-height:20px}.delete-floor:hover{color:#b85b3b}.ground-label{font-size:10px;color:#a0a695;min-width:68px;text-align:center}.add-floor{width:100%;border:1px dashed #c9d5c1;font-size:11px;color:#67845c;background:#f8faf4;margin-top:7px;padding:11px}.add-floor svg{width:14px;height:14px}.height-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;margin-top:17px;font-size:11px;color:#8a9381}.height-total strong{font-size:17px;color:#576a4f;font-weight:500}.height-total small{font-size:10px;color:#94a08c;font-weight:400}.scope-note{display:flex;gap:10px;margin-top:25px;padding:13px 0 0;color:#949d89;font-size:10px;line-height:1.6;border-top:1px solid var(--line)}.scope-note svg{width:15px;height:15px;margin-top:3px}.scope-note p{margin:0;color:#6f7e63}.scope-note p span{color:#9ca491;font-size:10px}.reset-button{font-size:10px;color:#9ca28f;background:transparent;border:0;display:flex;align-items:center;gap:7px;margin:18px auto 0}.reset-button svg{height:13px;width:13px}.workspace{padding:31px 31px 19px;background:#f6f6f0;display:flex;flex-direction:column;min-width:0;min-height:calc(100dvh - 84px)}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.workspace-heading .eyebrow{font-size:9px}.workspace-heading h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:25px;letter-spacing:-.65px;margin:8px 0 0;color:#455540}.live-tag{display:flex;align-items:center;gap:7px;font-size:10px;color:#939c89;white-space:nowrap}.viewer{position:relative;flex:1;min-height:435px;border:1px solid #e1e5d9;border-radius:12px;overflow:hidden;background:#fcfcf7;background-image:radial-gradient(#ced5c380 .65px,transparent .65px);background-size:20px 20px;isolation:isolate}.viewer-toolbar{position:absolute;top:17px;left:18px;right:18px;display:flex;justify-content:space-between;gap:12px;z-index:2;pointer-events:none}.viewer-toolbar>*{pointer-events:auto}.segmented{display:flex;align-items:center;gap:2px;padding:4px;background:#f0f2e9;border:1px solid #e5e8dd;border-radius:8px;height:37px}.segmented button{border:0;padding:7px 13px;border-radius:5px;display:flex;align-items:center;gap:5px;background:transparent;color:#8a957e;font-size:10px;line-height:15px}.segmented button.active{background:#fffefa;color:#415f3c;box-shadow:0 1px 4px #34432b12}.segmented button svg{height:14px;width:14px}.display-controls{display:flex;gap:7px}.view-option{background:#fcfcf7;border-color:#e4e8db;color:#8b977d;font-size:10px;padding:8px 10px;height:37px}.view-option.active{background:#edf2e7;color:#59784c;border-color:#dce5d3}.view-option svg{width:15px;height:15px}.scene-wrap{position:absolute;inset:63px 0 69px;touch-action:none;cursor:grab}.scene-wrap.dragging{cursor:grabbing}#scene{width:100%;height:100%;display:block;user-select:none;overflow:visible}#scene text{font-family:Inter,ui-sans-serif,-apple-system,"Segoe UI",sans-serif}#scene [data-level]{cursor:pointer}.viewer-left-info{position:absolute;left:22px;bottom:64px;font-size:10px;display:flex;align-items:center;gap:7px;color:#7b9070;pointer-events:none}.small-dot{width:6px;height:6px;background:#7b9870;border-radius:50%}.interaction-hint{position:absolute;bottom:22px;left:22px;color:#a0aa93;font-size:10px;display:flex;align-items:center;gap:8px;pointer-events:none}.interaction-hint svg{width:14px;height:14px}.interaction-hint b{font-weight:400;color:#c1c9b4;margin:0 1px}.zoom-controls{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:#fffefa;border:1px solid #e4e8da;border-radius:7px;height:34px;box-shadow:0 2px 8px #455c3010;z-index:2}.zoom-controls button{border:0;background:transparent;width:30px;height:32px;display:grid;place-items:center;font-size:16px;color:#859575}.zoom-controls span#zoom-value{font-size:9px;color:#7d8d6e;width:38px;text-align:center}.zoom-controls svg{height:14px;width:14px}.zoom-divider{height:15px;width:1px;background:#e5e8db;margin:0 2px}.orientation{position:absolute;bottom:14px;right:20px;width:54px;height:54px;pointer-events:none}.orientation svg{width:100%;height:100%;font-size:8px;stroke-width:1.4}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#fffefa;border:1px solid #e1e5d9;border-radius:10px;margin-top:17px;padding:20px 0}.metric{display:flex;gap:13px;align-items:center;padding:0 22px;border-right:1px solid #e8ebdf}.metric:last-child{border:0}.metric>[data-icon]{color:#99a18b}.metric svg{width:22px;height:22px}.metric div>span{display:block;font-size:9px;color:#929c85;white-space:nowrap}.metric strong{display:block;font-size:22px;font-weight:500;color:#4f6246;letter-spacing:-.5px;margin-top:8px;font-variant-numeric:tabular-nums}.metric strong small{font-size:10px;font-weight:400;letter-spacing:0;color:#9ba68e;margin-left:3px}.workspace-footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#a1aa94;margin:17px 2px 0;gap:12px}.workspace-footer>span:first-child{display:flex;align-items:center;gap:6px}.workspace-footer b{font-weight:400;margin:0 6px}.legend-line{width:14px;height:1px;background:#b8c3aa}.legend-line.selected{background:#5e8861;height:2px;margin-left:14px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,15px);background:#244c40;color:#fff;padding:13px 20px;border-radius:8px;font-size:12px;box-shadow:0 6px 25px #183b2730;opacity:0;pointer-events:none;transition:.2s;z-index:10;max-width:90vw;line-height:1.5}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.app-layout{grid-template-columns:340px minmax(0,1fr)}.sidebar{padding:32px}.workspace{padding:36px 42px 24px}.viewer{min-height:530px}.workspace-heading h2{font-size:29px}}
@media(max-width:1150px){.phase-badge{display:none}.workspace{padding:25px 20px 18px}.workspace-heading h2{font-size:22px}.live-tag{display:none}.metric{padding:0 13px;gap:9px}.metric>[data-icon]{display:none}.interaction-hint{bottom:58px;font-size:9px}.viewer-left-info{bottom:83px}.workspace-footer{font-size:8px}.header-divider{margin-left:0}.app-header{padding:0 21px}.viewer-toolbar{left:12px;right:12px}.view-option{padding:8px}.segmented button{padding:7px 10px}}
@media(max-width:800px){.app-header{height:70px;padding:0 16px;gap:15px}.brand{font-size:20px;gap:6px}.brand-icon{width:29px}.brand-icon svg{width:29px}.brand-sub{font-size:7px;letter-spacing:4px}.header-divider{display:none}.project-heading{margin-left:8px}.project-heading input{width:125px;font-size:11px}.project-heading>span{font-size:8px}.header-actions{gap:5px}.icon-only-mobile{padding:9px}.icon-only-mobile>span:last-child{display:none}.app-layout{grid-template-columns:255px minmax(0,1fr);min-height:calc(100dvh - 70px)}.sidebar{padding:25px 16px;max-height:calc(100dvh - 70px)}.sidebar-intro h1{font-size:20px}.workspace{padding:23px 14px 17px;min-height:calc(100dvh - 70px)}.workspace-heading h2{font-size:20px}.viewer{min-height:470px}.metrics{grid-template-columns:repeat(2,1fr);gap:18px 0;padding:17px 0}.metric:nth-child(2){border:0}.metric strong{font-size:20px}.display-controls #toggle-timber span:last-child{display:none}.viewer-toolbar{gap:5px}.segmented button{padding:6px 8px;font-size:9px}.segmented button svg{display:none}.workspace-footer{flex-wrap:wrap;gap:8px}.zoom-controls{left:18px;transform:none}.interaction-hint{left:15px;right:15px;white-space:nowrap;font-size:8px}.viewer-left-info{left:15px}}
@media(max-width:600px){.app-layout{display:flex;flex-direction:column}.workspace{order:0;min-height:0;padding:20px 14px 15px}.sidebar{order:1;max-height:none;border-right:0;border-top:1px solid var(--line);padding:26px 22px;display:grid;grid-template-columns:1fr;gap:0}.sidebar-intro{display:none}.workspace-heading{margin-bottom:15px}.workspace-heading .eyebrow{font-size:8px}.workspace-heading h2{font-size:21px}.viewer{min-height:440px;flex:none}.scene-wrap{inset:58px 0 75px}.control-section{margin:0;border-top:0;padding-top:0}.floors-section{margin-top:25px;border-top:1px solid var(--line);padding-top:22px}.metrics{margin-top:12px;gap:15px 0}.metric{padding:0 18px;gap:12px}.metric>[data-icon]{display:block}.metric div>span{font-size:9px}.metric strong{font-size:21px;margin-top:4px}.workspace-footer{font-size:8px}.app-header{gap:8px}.project-heading{margin-left:5px}.project-heading input{width:100px;font-size:10px}.project-heading>span{font-size:7px}.brand{font-size:18px}.brand-sub{letter-spacing:3.4px}.phase-badge{display:none}.scene-wrap{min-width:0}.viewer-toolbar{top:13px}.segmented button svg{display:block}.segmented button{padding:7px 10px;font-size:10px}.display-controls #toggle-timber span:last-child{display:block}.button.view-option{font-size:9px}.orientation{width:46px;right:17px}.viewer-left-info{font-size:9px}.interaction-hint{font-size:8px}.zoom-controls{bottom:13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Interactive column placement */
.columns-section .section-heading{margin-bottom:12px}.column-instruction{font-size:11px;color:#718165;line-height:1.6;margin:0 0 10px}.column-range{border:1px solid #dbe4d4;background:#edf2e8;border-radius:6px;padding:10px;font-size:11px;color:#506e47;font-weight:550}.column-summary{display:flex;flex-direction:column;gap:5px;margin-top:11px;font-size:10px;color:#809171}.column-summary span:last-child{font-size:9px;color:#9aa48f}.columns-section .hint{font-size:9px}.placement-banner{position:absolute;z-index:2;top:65px;left:20px;right:20px;font-size:10px;line-height:1.4;color:#66875a;pointer-events:none}.placement-banner:empty{display:none}.viewer .scene-wrap{top:91px}.column-node{cursor:crosshair;outline:none}.column-node.occupied{cursor:pointer}.node-halo,.column-preview{opacity:0;transition:opacity .12s}.column-node:hover .node-halo,.column-node:focus-visible .node-halo,.column-node:hover .column-preview,.column-node:focus-visible .column-preview{opacity:1}.column-node:focus-visible .node-core{stroke:#244c40;stroke-width:2.5}.viewer.columns-enabled .scene-wrap{cursor:crosshair}.viewer.columns-enabled .scene-wrap.dragging{cursor:grabbing}#toggle-columns svg{width:14px}
@media(max-width:1150px){.display-controls #toggle-timber span:last-child{display:none}.display-controls{gap:4px}.placement-banner{left:14px;font-size:9px}}
@media(max-width:800px) and (min-width:601px){.display-controls #toggle-columns span:last-child{display:none}.display-controls .view-option{padding:7px}.viewer-toolbar .segmented button{padding:7px}.placement-banner{font-size:8px}}
@media(max-width:600px){.display-controls #toggle-timber span:last-child{display:none}.viewer-toolbar .segmented button{padding:7px 8px}.display-controls .view-option{padding:7px}.display-controls #toggle-columns span:last-child{display:block}.columns-section{margin-top:23px;border-top:1px solid var(--line);padding-top:22px}.placement-banner{top:59px;left:14px;right:14px;font-size:9px}.viewer .scene-wrap{top:88px}.viewer{min-height:465px}}
/* Floor-based modelling workspace */
.workspace-heading{margin-bottom:17px}.floor-navigation{display:flex;gap:13px;align-items:center;margin:0 0 14px;min-width:0}.floor-navigation>span{font-size:9px;letter-spacing:1.2px;color:#8a9880;flex:none}#floor-tabs{display:flex;gap:6px;overflow-x:auto;padding:3px 1px;scrollbar-width:thin}#floor-tabs button{border:1px solid #dfe5d7;border-radius:7px;background:#fcfcf6;color:#87967a;padding:9px 13px;text-align:left;white-space:nowrap;font-size:11px}#floor-tabs button small{display:block;font-size:8px;color:#9aa78f;margin-top:4px}#floor-tabs button.active{background:#244c40;border-color:#244c40;color:#fff}#floor-tabs button.active small{color:#b5c8b7}.model-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fffefa;border:1px solid #e1e5d9;border-radius:9px;margin-bottom:13px;padding:6px}.tool-group{display:flex;gap:3px;flex-wrap:wrap}.tool-group button{display:flex;align-items:center;gap:6px;border:0;border-radius:5px;padding:9px 12px;font-size:11px;color:#7d8e70;background:transparent}.tool-group button.active{background:#e9f0e3;color:#33592d}.tool-group button[data-tool="delete"].active{background:#f5e9e1;color:#9e5d3c}.tool-group svg{width:16px;height:16px}.history-controls{display:flex;align-items:center;gap:2px;flex:none}.history-controls button{border:0;border-radius:4px;background:transparent;width:31px;height:32px;display:grid;place-items:center;color:#87977a}.history-controls button svg{width:16px;height:16px}.history-controls>span{width:1px;height:17px;background:#e4e9db;margin:0 4px}.viewer{min-height:400px}.viewer .scene-wrap{top:88px}.placement-banner{font-size:10px}.elevation-tag{font-size:10px;align-self:center;color:#829373;margin-right:6px}.viewer[data-tool="column"] .scene-wrap,.viewer[data-tool="beam"] .scene-wrap,.viewer[data-tool="slab"] .scene-wrap{cursor:crosshair}.viewer[data-tool="delete"] .scene-wrap{cursor:pointer}.viewer .scene-wrap.dragging{cursor:grabbing}.slab-target,.element-hit,.level-label{cursor:pointer;outline:none}.slab-hover{transition:fill-opacity .12s,stroke-opacity .12s}.slab-target:hover .slab-hover,.slab-target:focus-visible .slab-hover{fill-opacity:.36;stroke-opacity:1;stroke-width:2}.slab-target.occupied:hover .slab-hover{fill:#be7951}.element-hit:focus-visible{outline:2px solid #2d6953;outline-offset:2px}.beam-preview{opacity:0}.column-node:hover .beam-preview,.column-node:focus-visible .beam-preview{opacity:1}.column-node.beam-start .node-core{stroke:#2a7158;stroke-width:2}.beam-hit:hover line:first-child{stroke:#3c7954;stroke-opacity:.15}.level-label:hover rect{fill:#e5eddd}.column-legend{flex-wrap:wrap}.legend-outgoing{height:8px;width:8px;background:#bc8b50;border:1px solid #855f35}.legend-incoming{height:10px;width:10px;border:1px dashed #6f8c9d;margin-left:9px}.legend-slab{height:9px;width:14px;background:#dfd4b7;border:1px solid #b8a07c;margin-left:9px}.elements-section .section-heading{margin-bottom:13px}.element-totals{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.element-totals>div{border:1px solid #e1e7d8;border-radius:6px;padding:9px;background:#f8faf3}.element-totals span{display:block;font-size:9px;color:#8c9b7c}.element-totals strong{display:block;font-size:18px;font-weight:500;margin-top:6px;color:#5a704e}.copy-side{margin-top:13px;width:100%;font-size:10px}.geometry-status{font-size:10px;line-height:1.5;padding:10px;background:#f8f0e4;border:1px solid #eadcc5;color:#9c7745;border-radius:6px;margin-top:10px}.inspector-section .section-heading{margin-bottom:10px}#inspector h3{font-size:13px;font-weight:550;margin:0 0 12px;color:#526b48}.inspector-row{display:flex;justify-content:space-between;gap:9px;font-size:10px;margin:8px 0;color:#8b9b7b}.inspector-row strong{font-weight:500;color:#61764f;text-align:right}#inspector .button{width:100%;margin-top:10px;font-size:10px;padding:8px}.inspector-delete{color:#a36d4a;border-color:#eadbc9}.scope-note{margin-top:24px}.sidebar-intro h1{font-size:20px}.floors-section{margin-top:23px}.metric strong{font-size:21px}.metric strong small{font-size:9px}.metric div>span{font-size:9px}dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #dce4d2;background:#fffefa;border-radius:14px;padding:26px;color:#53684a;box-shadow:0 20px 90px #18302138}dialog::backdrop{background:#223a2d65;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.dialog-heading h2{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:9px 0 13px;color:#455d3e}.dialog-heading button{border:0;background:#eff3e9;border-radius:50%;font-size:20px;height:28px;width:28px;color:#8c9e7c}#copy-source{font-size:12px;color:#6c845d;margin:8px 0 20px}dialog fieldset{border:0;margin:0 0 22px;padding:0}dialog legend{font-size:11px;font-weight:600;margin-bottom:12px}.copy-types{display:flex;gap:15px;flex-wrap:wrap}.copy-types label{font-size:11px;display:flex;gap:5px;align-items:center}dialog input{accent-color:#476c3e}#copy-targets{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}#copy-targets label{display:flex;gap:8px;align-items:center;border:1px solid #e0e7d7;padding:11px;border-radius:6px;font-size:11px}#copy-targets small{display:block;font-size:9px;color:#95a387;margin-top:4px}#copy-preview{font-size:11px;line-height:1.6;background:#eff4e9;color:#69805b;padding:13px;border-radius:7px;min-height:45px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
@media(max-width:1150px){.tool-group button{font-size:10px;padding:8px;gap:5px}.tool-group svg{width:14px;height:14px}.metric{padding:0 11px}.metric div>span{font-size:8px}.model-tools{align-items:flex-start}.history-controls button{width:27px}.workspace-heading{margin-bottom:13px}}
@media(max-width:800px) and (min-width:601px){.model-tools{flex-wrap:wrap}.tool-group{flex:1}.tool-group button{padding:8px 7px}.tool-group button svg{display:none}.history-controls{border-top:1px solid #edf0e6;padding-top:3px;width:100%;justify-content:flex-end}.elevation-tag{font-size:8px}.floor-navigation>span{display:none}.placement-banner{font-size:8px}.viewer{min-height:400px}}
@media(max-width:600px){.floor-navigation{gap:8px}.floor-navigation>span{font-size:8px}#floor-tabs button{padding:8px 10px;font-size:10px}.model-tools{flex-wrap:wrap;padding:5px;gap:2px}.tool-group{justify-content:space-between;width:100%;gap:0}.tool-group button{font-size:9px;padding:8px 7px;gap:4px}.tool-group svg{width:13px;height:13px}.history-controls{width:100%;justify-content:flex-end;border-top:1px solid #edf0e6;margin-top:3px;padding-top:3px}.history-controls button{height:26px;width:30px}.workspace-heading h2{font-size:22px}.elevation-tag{font-size:9px}.viewer{min-height:425px}.viewer .scene-wrap{top:84px}.placement-banner{font-size:9px;line-height:1.5;max-width:90%}.metric div>span{font-size:8px}.metric strong{font-size:20px}.metrics .metric>[data-icon]{display:none}.sidebar .floors-section{margin-top:0;border-top:0;padding-top:0}.sidebar .control-section:not(.floors-section){margin-top:23px;border-top:1px solid var(--line);padding-top:22px}.workspace-footer{line-height:1.5}.column-legend{font-size:8px}dialog{padding:20px}.dialog-heading h2{font-size:23px}}
/* Camera navigation and roof level */
[hidden]{display:none!important}.navigation-cube{position:absolute;top:83px;right:13px;width:110px;z-index:4;user-select:none}.navigation-cube svg{width:110px;height:103px;display:block;touch-action:none;cursor:grab;filter:drop-shadow(0 2px 4px #29492d15)}.navigation-cube svg.dragging{cursor:grabbing}.cube-face{cursor:pointer;outline:none}.cube-face:hover polygon,.cube-face:focus-visible polygon{fill:#bfd1ad;stroke:#668a50;stroke-width:2}.cube-caption{display:block;text-align:center;font-size:8px;letter-spacing:.1px;color:#8b9c7c;margin:1px 0 7px}.navigation-cube select{width:100%;border:1px solid #dfe7d5;border-radius:5px;background:#fffefaed;color:#7a8e68;font-size:9px;padding:5px 4px;cursor:pointer}.nav-home{position:absolute;right:-1px;top:-10px;height:24px;width:24px;border:1px solid #e1e8d8;border-radius:5px;background:#fffefa;color:#8ca079;display:grid;place-items:center;z-index:1}.nav-home svg{width:13px;height:13px;filter:none}.roof-section{border:1px solid #dde5d4;border-radius:8px;background:#f5f8ef;padding:13px 11px;margin-top:19px}.roof-enable{display:flex;gap:8px;align-items:center;cursor:pointer}.roof-enable input{accent-color:#4e7240;width:13px;height:13px;margin:0;flex:none}.roof-enable>span:nth-child(2){flex:1}.roof-enable strong{font-size:10px;font-weight:550;color:#607651;display:block}.roof-enable small{font-size:8px;color:#94a284;display:block;margin-top:5px;line-height:1.4}.roof-enable [data-icon]{color:#8ca475}.roof-enable svg{width:19px;height:19px}.roof-description{font-size:9px;line-height:1.6;color:#879a74;margin:15px 0 11px}.roof-types{display:flex;border:1px solid #dce5d2;background:#edf3e5;border-radius:6px;padding:3px;gap:3px}.roof-types button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;padding:7px 3px;border:0;border-radius:4px;background:transparent;color:#8b9d7c;font-size:9px}.roof-types button.active{background:#fffefa;color:#50753f;box-shadow:0 1px 3px #3a54251a}.roof-types svg{width:15px;height:15px}.roof-field{font-size:9px;color:#81966e;display:block;margin-top:16px}.roof-field select{display:block;width:100%;margin-top:7px;border:1px solid #dce5d2;border-radius:5px;background:#fffefa;padding:8px;color:#617c4e;font-size:10px}.roof-slope-heading{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.roof-slope-heading>label{font-size:10px;color:#718a5d}.roof-slope-heading .input-unit{width:77px;margin:0}.roof-slope-heading input{padding:7px 4px 7px 8px;font-size:13px}#roof-slope-range{display:block;width:100%;accent-color:#537842;margin:14px 0 5px;cursor:ew-resize}.roof-range-labels{display:flex;justify-content:space-between;font-size:8px;color:#a0ad93}.roof-range-labels span:nth-child(2){font-size:9px;color:#6f8a5b}.roof-reverse{display:flex;gap:6px;align-items:center;font-size:9px;color:#81976c;margin-top:15px}.roof-reverse input{accent-color:#547a42}.roof-metrics{display:flex;flex-direction:column;gap:9px;border-top:1px solid #dfe7d5;margin-top:16px;padding-top:12px}.roof-metrics>div{display:flex;justify-content:space-between;font-size:9px;color:#899c76}.roof-metrics strong{font-size:11px;font-weight:550;color:#688154}.roof-view-button{width:100%;padding:8px;font-size:10px;margin-top:5px;background:#fffefa}.roof-section .hint{font-size:9px;color:#94a486;margin:13px 0;line-height:1.6}.floor-mark.roof-mark{background:#f3e9d7;color:#a47741}.selected .roof-mark{background:#9b8058;border-color:#9b8058;color:#fff}.viewer.nav-orbit-active .scene-wrap{cursor:grab}.viewer .scene-wrap.dragging{cursor:grabbing}.viewer .interaction-hint{font-size:9px}.display-controls .view-option{flex:none}
@media(max-width:1150px){.navigation-cube{width:95px;right:10px}.navigation-cube>svg{width:95px;height:89px}.cube-caption{font-size:7px}.navigation-cube select{font-size:8px}.viewer .interaction-hint{font-size:8px}}
@media(max-width:800px){.display-controls{gap:4px}.display-controls .elevation-tag{max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navigation-cube{top:87px;width:82px}.navigation-cube>svg{width:82px;height:77px}.navigation-cube select{font-size:8px}.cube-caption{font-size:7px}}
@media(max-width:600px){.display-controls .elevation-tag{display:none}.navigation-cube{top:85px;right:10px;width:83px}.navigation-cube>svg{width:83px;height:78px}.viewer .interaction-hint{font-size:8px}.viewer .scene-wrap{top:88px}.roof-section{padding:15px;margin-top:20px}.roof-enable strong{font-size:11px}.roof-enable small{font-size:9px}.roof-field{font-size:10px}.roof-types button{font-size:10px;padding:10px}.roof-section .hint{font-size:10px}}
/* Sections, roof framing and model review */
select{font:inherit;color:inherit}input,select{accent-color:#466d48}.compact-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compact-fields label{font-size:10px;line-height:1.5;color:#74886a}.compact-fields input,.compact-fields select,.offset-fields input{display:block;width:100%;min-width:0;background:#fffefa;border:1px solid #d8e0d0;border-radius:5px;padding:8px 6px;margin-top:5px;color:#3f6549;font-size:12px}.frame-panel{border-top:1px solid #dbe4d1;margin-top:17px;padding-top:14px}.frame-panel summary{font-size:11px;color:#496f43;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.frame-panel .check-line{margin:14px 0}.frame-panel .compact-fields{margin-top:13px}.frame-count{font-size:11px;color:#5d7f4d;line-height:1.5}.frame-panel .button{width:100%;font-size:10px;padding:8px}.check-line{display:flex;align-items:center;gap:5px;font-size:10px;color:#6a8063}.check-line input{margin:0}.inspector-section{background:#f5f8ef;padding:13px!important;border:1px solid #dce5d1!important;border-radius:8px;margin-top:18px!important}.inspector-section .section-heading{margin-bottom:8px}.inspector-section .hint{margin:5px 0;font-size:10px;line-height:1.6}.inspector-form{border-top:1px solid #dce5d3;padding-top:12px;margin-top:13px}.inspector-form h4{font-size:10px;color:#5a7a4b;margin:0 0 10px;font-weight:600}.inspector-form .hint{color:#819275}.offset-fields{display:grid;grid-template-columns:22px repeat(3,minmax(0,1fr));gap:5px;align-items:center;font-size:9px;color:#829474}.offset-fields input{font-size:10px;padding:6px 3px;margin:0}.offset-fields span{text-align:center}.multi-selection-list{font-size:10px;color:#6d855b;max-height:78px;overflow:auto;line-height:1.8;margin:5px 0 12px}.selection-actions{display:flex;gap:5px}.selection-actions .button{flex:1;white-space:normal}.view-settings{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:12px;color:#7b8e6e;font-size:10px}.view-settings>label{display:flex;align-items:center;gap:6px}.view-settings select,.analysis-heading select{border:1px solid #dfe6d7;background:#fffefa;border-radius:6px;padding:7px 8px;font-size:10px}.view-settings input[type=range]{width:70px}.view-settings #open-properties{margin-left:auto;padding:7px 10px;font-size:10px;gap:4px}.view-settings .check-line{font-size:10px}.scene-wrap{isolation:isolate}#selection-window{position:absolute;pointer-events:none;background:#4c8fbc1c;border:1px solid #5b8eaf;z-index:6}#selection-window.crossing{border:1px dashed #467e50;background:#5c9f5525}.viewer.window-active .scene-wrap{cursor:crosshair}.analysis-dock{margin-top:18px;border:1px solid #e0e5d7;border-radius:10px;background:#fffefa;overflow:hidden;flex:none}.analysis-heading{padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e8ecdf}.analysis-tabs{display:flex;gap:4px}.analysis-tabs button{border:0;background:transparent;padding:8px 11px;border-radius:5px;font-size:11px;color:#87977b}.analysis-tabs button.active{background:#e9f0e3;color:#385c32}.analysis-tabs span{display:inline-block;background:#eee5d6;color:#996d3f;border-radius:8px;font-size:9px;padding:2px 5px;margin-left:3px}.quantity-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:16px 18px;gap:10px}.quantity-summary span{display:block;font-size:9px;color:#889b7c}.quantity-summary strong{font-size:19px;display:block;color:#55754b;font-weight:500;margin-top:6px}.table-scroll{max-height:250px;overflow:auto}.quantity-table{width:100%;border-collapse:collapse;font-size:10px;font-variant-numeric:tabular-nums}.quantity-table th{position:sticky;top:0;background:#f2f5ec;color:#849577;font-size:9px;font-weight:500;text-align:right;padding:10px 14px;white-space:nowrap}.quantity-table td{padding:10px 14px;border-bottom:1px solid #eff2e8;text-align:right;color:#6a805d;white-space:nowrap}.quantity-table td:first-child,.quantity-table th:first-child{text-align:left}.quantity-table td small{display:block;color:#97a48b;margin-top:4px;font-size:9px}.analysis-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;gap:15px;border-top:1px solid #e7ebdf}.analysis-footer p,.analysis-note{font-size:10px;color:#91a084;line-height:1.6;margin:0}.analysis-footer p{max-width:620px}.analysis-footer .button{font-size:10px;padding:8px}.analysis-note{padding:13px 17px;background:#f8f9f2}.issue-row{border:0;border-bottom:1px solid #edece1;width:100%;text-align:left;background:transparent;padding:12px 17px;display:flex;align-items:flex-start;gap:12px;color:#9a7447}.issue-row:hover{background:#f8f3e9}.issue-row strong{display:block;font-size:11px;font-weight:550}.issue-row small{display:block;font-size:10px;color:#8c9a7f;line-height:1.5;margin-top:4px}.issue-row>span:last-child{margin-left:auto;flex:none;font-size:9px;color:#9aa48b}.issue-pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding:12px;font-size:10px;color:#8a9c7c}.issue-pagination button{padding:6px 10px;font-size:10px}.analysis-empty{font-size:11px;color:#8a9c7c;padding:20px;text-align:center}.roof-supports{max-height:110px;overflow:auto;font-size:10px;color:#819473;line-height:1.7}.viewer{min-height:470px;flex:none}.workspace{min-width:0}.sidebar{scroll-behavior:smooth}.scope-note{line-height:1.6}
@media(min-width:1200px){.viewer{height:min(64vh,680px);min-height:450px}}@media(max-width:800px){.view-settings #open-properties{margin-left:0}.analysis-heading{padding:9px;flex-wrap:wrap}.analysis-tabs button{font-size:10px;padding:7px}.quantity-summary{grid-template-columns:repeat(2,1fr);gap:15px}.analysis-footer{align-items:flex-start;flex-direction:column}.quantity-table th,.quantity-table td{padding:9px}.issue-row>span:last-child{display:none}.viewer{min-height:420px}.tool-group{flex-wrap:wrap}.view-settings{font-size:9px}.view-settings select{font-size:9px}.view-settings .check-line{font-size:9px}}@media(max-width:600px){.analysis-dock{margin-top:13px}.analysis-footer p{font-size:9px}.sidebar .inspector-section{order:-1;margin-top:0!important;margin-bottom:25px}.frame-panel .compact-fields{gap:13px}.tool-group button{font-size:9px;padding:8px 6px}.tool-group button svg{display:none}.viewer{min-height:450px}}
/* Connection library and specification */
#joint-dialog{width:min(760px,calc(100vw - 28px));padding:26px}.joint-pair-label,.joint-note-label{display:block;font-size:11px;line-height:1.6;color:#607b54}.joint-pair-label select{display:block;width:100%;background:#f5f8ef;border:1px solid #d8e2cf;border-radius:6px;margin-top:6px;padding:10px;font-size:12px}.joint-family-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}.joint-family-cards button{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid #dbe3d2;border-radius:8px;background:#fffefa;padding:12px 10px;color:#73866a;text-align:left;font-size:11px}.joint-family-cards button span,.joint-badge{display:grid;place-items:center;color:white;background:var(--joint-color);width:27px;height:27px;flex:none;border-radius:50%;font-weight:600}.joint-family-cards button strong{font-weight:500}.joint-family-cards button.active{border-color:var(--joint-color);background:#f1f5eb;box-shadow:0 0 0 1px var(--joint-color)}.joint-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.joint-diagram{width:100%;display:block}.joint-caption{font-size:9px;text-align:center;color:#94a087;margin:6px 0 14px}.joint-detail-grid h3{font-size:14px;font-weight:500;color:#526d46;margin:10px 0}.joint-detail-grid h4{font-size:10px;letter-spacing:.6px;color:#6a805e;margin:0 0 12px}.joint-detail-grid .hint{font-size:11px;line-height:1.6}.joint-detail-grid .compact-fields label:last-child:nth-child(odd){grid-column:1/-1}.joint-note-label{margin-top:14px}.joint-note-label textarea{display:block;resize:vertical;width:100%;border:1px solid #d8e0d0;border-radius:5px;background:#fffefa;font:inherit;color:#496440;padding:9px;margin-top:5px}.joint-warning{padding:10px 12px;border-left:3px solid #b48b54;border-radius:4px;background:#f7f0e3;color:#8f6e42;font-size:11px;line-height:1.6}.joint-scope{font-size:10px;line-height:1.6;background:#f4f7ee;border-radius:6px;color:#849578;padding:12px;margin-bottom:0}.joint-overview{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px}.joint-overview strong{font-size:13px;font-weight:500;color:#55724b}.joint-overview p{font-size:10px;line-height:1.6;color:#8c9b7e;margin:8px 0 0}.joint-overview button{font-size:10px;flex:none}#joint-list{max-height:310px;overflow:auto}.joint-row{display:flex;align-items:center;gap:12px;width:100%;border:0;border-top:1px solid #e9eddf;background:transparent;padding:12px 18px;text-align:left;color:#5b7750}.joint-row:hover{background:#f3f6ed}.joint-row strong{display:block;font-size:11px;font-weight:500}.joint-row small{display:block;font-size:10px;line-height:1.5;color:#8c9c7e;margin-top:4px}.joint-row>span:last-child{margin-left:auto}.joint-badge{font-size:11px}.joint-legend{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#69835a;margin:15px 0}.joint-marker{cursor:pointer;outline:none}.joint-marker:hover .joint-dot,.joint-marker:focus-visible .joint-dot{stroke-width:3;filter:drop-shadow(0 1px 3px #30553960)}.viewer[data-tool="joint"] .scene-wrap{cursor:crosshair}
@media(max-width:600px){#joint-dialog{padding:18px}.joint-detail-grid{grid-template-columns:1fr;gap:14px}.joint-detail-grid>div:first-child{display:grid;grid-template-columns:45% 1fr;column-gap:14px}.joint-detail-grid .joint-diagram{grid-row:1/4;align-self:center}.joint-detail-grid .joint-caption{grid-column:1;margin:4px 0}.joint-detail-grid h3{font-size:12px;margin:0}.joint-detail-grid .hint{font-size:10px}.joint-family-cards{gap:6px}.joint-family-cards button{padding:10px 6px;gap:5px;font-size:10px;flex-direction:column;text-align:center}.joint-family-cards button span{width:23px;height:23px}.joint-overview{align-items:flex-start;flex-direction:column}.joint-row{padding:11px 14px}#joint-dialog .dialog-actions{flex-wrap:wrap;gap:6px}#joint-dialog .dialog-actions .button{font-size:10px;padding:9px 10px}}
/* Floor joists, roof footprint and steel bracing */
.placement-settings{display:flex;align-items:end;flex-wrap:wrap;gap:12px;background:#f2f6e9;border:1px solid #dce5ce;border-radius:8px;padding:12px;margin:0 0 12px;color:#617a53}.placement-settings>strong{font-size:11px;align-self:center;margin-right:5px}.placement-settings label{font-size:9px;display:flex;flex-direction:column;gap:5px}.placement-settings input,.placement-settings select{background:#fffefa;border:1px solid #d4deca;border-radius:5px;padding:7px 8px;font-size:11px;color:#496440;max-width:200px}.placement-settings input{width:75px}.placement-settings>span{flex-basis:100%;font-size:10px;line-height:1.5;color:#8a9c7b}.placement-settings .button{font-size:10px;padding:8px}.steel-settings{background:#eef4f6;border-color:#d5e1e6;color:#527587}.steel-settings input,.steel-settings select{color:#526f7e;border-color:#cfdde3}.brace-node,.roof-area-node{cursor:crosshair;outline:none}.brace-node:hover circle:last-child,.brace-node:focus-visible circle:last-child,.roof-area-node:hover circle:last-child,.roof-area-node:focus-visible circle:last-child{stroke-width:3}.joint-scheme{font-size:10px;color:#708566;margin-top:10px}.joint-scheme summary{cursor:pointer;margin-bottom:6px}.quantity-summary{grid-template-columns:repeat(5,1fr)}.viewer[data-tool="joist"] .scene-wrap,.viewer[data-tool="brace"] .scene-wrap,.viewer[data-tool="roofArea"] .scene-wrap{cursor:crosshair}
@media(max-width:800px){.quantity-summary{grid-template-columns:repeat(2,1fr)}.placement-settings{gap:9px}.placement-settings>strong{flex-basis:100%}.placement-settings select{max-width:160px}.tool-group{justify-content:flex-start}.joint-detail-grid>div:first-child{display:block}.joint-scheme .joint-diagram{max-width:320px;margin:auto}}

/* Free drafting and reversible assembly editing */
.free-settings{background:#edf4ed;border-color:#d4e2d5}.free-settings select{min-width:145px}.free-settings input[type=checkbox]{width:auto}.free-settings>span{flex-basis:100%}.placement-settings[hidden],button[hidden],label[hidden]{display:none!important}#coordinate-entry{background:#faf6e9}#snap-readout{font-variant-numeric:tabular-nums}.transform-open{width:100%;margin:12px 0 3px}#transform-dialog{width:min(700px,94vw);max-height:92dvh;overflow:auto}.transform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.transform-grid label{font-size:11px;color:#657260;display:flex;flex-direction:column;gap:7px}.transform-grid input,.transform-grid select{width:100%;border:1px solid #dbe1d6;border-radius:6px;background:#fffefa;padding:9px;font:inherit;color:#29362f}#transform-preview{width:100%;height:240px;border:1px solid #dce4d5;background:#f6f7ef;border-radius:8px;margin-top:8px}#transform-report{font-size:12px;color:#3d6b50;line-height:1.6}#coordinate-entry input{width:90px}.viewer[data-free=true] .scene-wrap{cursor:crosshair}@media(max-width:600px){.transform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.free-settings{gap:8px}#transform-preview{height:185px}.view-settings{flex-wrap:wrap}}

/* Reference model workspace */
.study-launch{display:grid;gap:5px;padding:14px 16px;margin:-3px 0 23px;border:1px solid #d9e3d7;background:#f0f4ea;border-radius:9px;color:#305944;text-decoration:none}.study-launch>span{font-size:8px;letter-spacing:1.4px}.study-launch strong{font-size:13px}.study-launch small{font-size:10px;color:#71816b}.study-card{border:1px solid #d8e1d3;border-radius:10px;padding:16px;margin:0 0 23px;background:#f4f6ed}.study-card[hidden],.study-launch[hidden]{display:none!important}.study-card h2{font-size:21px;font-weight:550;letter-spacing:-.5px;margin:8px 0 4px}.study-credit{color:#68805f}.study-card p{font-size:11px;line-height:1.65;margin:8px 0}.study-facts{display:flex;gap:24px;padding:14px 0 8px}.study-facts strong{font-size:23px;font-weight:500;letter-spacing:-1px}.study-facts small{display:block;font-size:9px;font-weight:400;letter-spacing:0;margin-top:4px;color:#71816b}.study-card details{border-top:1px solid #dce4d6;margin-top:12px;padding-top:12px}.study-card summary{font-size:11px;cursor:pointer;color:#416b4e;font-weight:550}.study-card ul{padding-left:17px;font-size:10px;line-height:1.65}.study-card li{margin:8px 0}.study-card table{width:100%;border-collapse:collapse;font-size:9px}.study-card caption{text-align:left;font-size:10px;line-height:1.5;padding:12px 0 6px}.study-card td,.study-card th{padding:6px 2px;text-align:left;border-bottom:1px solid #dce4d6}.study-sources{display:grid;gap:10px;padding-top:12px}.study-sources a,.study-actions a{color:#315b48;font-size:10px;line-height:1.5;text-underline-offset:3px}.study-actions{display:grid;gap:9px;border-top:1px solid #dce4d6;padding-top:14px;margin-top:14px}.study-save-note{display:block;font-size:9px;line-height:1.6;color:#788370;margin-top:11px}@media(min-width:1000px){.project-heading input{width:220px}}

.advanced-geometry>summary{font-size:12px;font-weight:600;cursor:pointer}.advanced-geometry .button{width:100%;margin:6px 0}.advanced-geometry .compact-fields{margin:12px 0}#pattern-dialog{width:min(760px,94vw);max-height:92dvh;overflow:auto}#pattern-dialog .transform-grid{margin:14px 0;grid-template-columns:repeat(3,minmax(0,1fr))}#pattern-dialog [hidden]{display:none!important}#pattern-dialog p{line-height:1.6;font-size:11px}#pattern-preview{width:100%;height:280px;border:1px solid #dce4d5;background:#f6f7ef;border-radius:8px}#pattern-report{color:#3d6b50}.quantity-summary{grid-template-columns:repeat(3,1fr)}@media(max-width:600px){#pattern-dialog .transform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#pattern-preview{height:220px}}

.pavilion-launch{margin:0 18px 16px;width:calc(100% - 36px);justify-content:center;white-space:normal}#pavilion-dialog{width:min(840px,94vw);max-height:90vh;overflow:auto}#pavilion-preview{width:100%;height:300px;background:#f6f7ef;border:1px solid #dce2ce;border-radius:10px;margin-top:16px}.pavilion-sections{padding:12px 0}.pavilion-sections summary{cursor:pointer;font-weight:600;margin-bottom:12px}.pavilion-options{display:flex;gap:18px;flex-wrap:wrap}#pavilion-report{color:#476d52;font-size:13px}@media(max-width:600px){#pavilion-dialog .transform-grid{grid-template-columns:1fr 1fr}#pavilion-preview{height:230px}}

#hangar-dialog{width:min(880px,calc(100vw - 24px));max-height:90vh;overflow:auto}#hangar-preview{width:100%;height:auto;background:#f3f5ec;border:1px solid #dbe2d0;border-radius:10px;margin-top:12px}#hangar-report{font-size:12px;line-height:1.6;color:#456749;min-height:2.8em}
/* v12 · focused project, building and selection panels */
.sidebar-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:4px;margin:22px 0 20px;background:#e9ede7;border-radius:10px;position:sticky;top:0;z-index:4}.sidebar-tabs button{border:0;background:transparent;color:#647266;padding:10px 4px;border-radius:7px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}.sidebar-tabs button[aria-pressed=true]{background:white;color:#244c40;box-shadow:0 1px 4px #183b2410}.build-intro h2,.generator-heading{font-size:16px;margin:0 0 9px}.build-intro>p{color:#758076;font-size:12px;line-height:1.6}.build-palette{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.build-palette button{background:#fff;border:1px solid #dce3d8;border-radius:10px;padding:13px 10px;text-align:left;cursor:pointer;color:#244c40;min-height:77px}.build-palette button:hover{border-color:#58866a;background:#f1f5ed}.build-palette strong{display:block;font-size:12px;line-height:1.3}.build-palette small{display:block;font-size:10px;color:#778371;line-height:1.5;margin-top:5px}.generator-heading{margin-top:26px}#member-draft-settings{background:#f5f5ed}#point-level{max-width:155px}.header-actions>a{text-decoration:none}.sidebar [hidden]{display:none!important}#side-selection .inspector-section{padding-top:0;border-top:0}#side-build .roof-section{margin-top:24px}#side-project .study-card{margin-top:0}.placement-settings select{max-width:210px}.placement-settings input[type=number]{width:76px}@media(max-width:1150px){.header-actions .phase-badge{display:none}.header-actions{gap:5px}.header-actions .button{padding:8px}.app-header{gap:12px}}@media(max-width:700px){.app-header{flex-wrap:wrap;height:auto;min-height:84px;padding-top:12px;padding-bottom:12px}.header-actions{width:100%;justify-content:flex-end}.sidebar-tabs{position:static}.build-palette{grid-template-columns:repeat(2,1fr)}}
