:root{color-scheme:light}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0}img{max-width:100%}[hidden]{display:none!important}:root{--bg:#F5F5F3;--surface:#FFFFFF;--field:#FFFFFF;--fg:#1F2937;--muted:#5B6472;--line:#DCDEE2;--line-strong:#BCC0C7;--band:#1F2937;--band-fg:#FFFFFF;--accent:#B08A2E;--accent-soft:rgba(176,138,46,.1);--bar:#374151;--bar-2:#A3A9B3;--lat:#2E6DA4;--sel:#EEF0F3;--warn:#9A3412;--ok:#2F6B3B;--ok-bg:#E7F1E9;--req:#7A4E00;--req-bg:#FBF1DC;--bad:#B42318;--bad-bg:#FBE7E5;--font:Arial,"Helvetica Neue",Helvetica,sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#111418;--surface:#181C21;--field:#1F242B;--fg:#E6E8EB;--muted:#9AA3AF;--line:#2C323A;--line-strong:#3E454F;--band:#2A313A;--band-fg:#FFFFFF;--accent:#C9A24A;--accent-soft:rgba(201,162,74,.12);--bar:#C9CED6;--bar-2:#5F6773;--lat:#6FA8DC;--sel:#232931;--warn:#F2A57E;--ok:#8FD19E;--ok-bg:#1C2F22;--req:#F0C66B;--req-bg:#33290F;--bad:#F59B8F;--bad-bg:#3A1C19;color-scheme:dark}}:root[data-theme=dark]{--bg:#111418;--surface:#181C21;--field:#1F242B;--fg:#E6E8EB;--muted:#9AA3AF;--line:#2C323A;--line-strong:#3E454F;--band:#2A313A;--band-fg:#FFFFFF;--accent:#C9A24A;--accent-soft:rgba(201,162,74,.12);--bar:#C9CED6;--bar-2:#5F6773;--lat:#6FA8DC;--sel:#232931;--warn:#F2A57E;--ok:#8FD19E;--ok-bg:#1C2F22;--req:#F0C66B;--req-bg:#33290F;--bad:#F59B8F;--bad-bg:#3A1C19;color-scheme:dark}body.app{--bg:#F7F5EF;--surface:#FFFFFF;--field:#FFFFFF;--fg:#1F2937;--muted:#5B6472;--line:#E1E3E7;--line-strong:#C5C9D0;--band:#0F1216;--band-fg:#E6E8EB;--accent:#C9A24A;--accent-soft:rgba(201,162,74,.12);--sel:#F2EFE8;--font:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif}@media (prefers-color-scheme:dark){body.app{--bg:#111418;--surface:#181C21;--field:#1F242B;--fg:#E6E8EB;--muted:#9AA3AF;--line:#2C323A;--line-strong:#3E454F;--band:#0F1216;--band-fg:#E6E8EB;--accent:#C9A24A;--accent-soft:rgba(201,162,74,.12);--sel:#232931;color-scheme:dark}}:root[data-theme=dark] body.app{--bg:#111418;--surface:#181C21;--field:#1F242B;--fg:#E6E8EB;--muted:#9AA3AF;--line:#2C323A;--line-strong:#3E454F;--band:#0F1216;--band-fg:#E6E8EB;--accent:#C9A24A;--accent-soft:rgba(201,162,74,.12);--sel:#232931;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:14px;line-height:1.5}.wrap{max-width:1280px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}header.top{background:var(--surface);border-bottom:1px solid var(--accent)}header.top .wrap{padding-block:22px 18px;display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between}h1{margin:0;font-size:24px;letter-spacing:-.01em;text-wrap:balance}h1 span{font-weight:400;color:var(--muted)}.tag{margin:4px 0 0;color:var(--muted);font-size:13px;max-width:110ch}.tag .sep{color:var(--line-strong);margin:0 6px}.actions{display:flex;flex-wrap:wrap;gap:8px}button{font:inherit;cursor:pointer}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);padding:8px 14px;border-radius:3px;font-size:13px}.btn:hover{border-color:var(--fg)}.btn.primary{background:var(--band);border-color:var(--band);color:var(--band-fg)}.btn.danger[data-armed="1"]{border-color:#b42318;color:#b42318}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-top{position:sticky;top:0;z-index:20;background:#0f1216f5!important;color:#e6e8eb;border-bottom:1px solid rgba(255,255,255,.1)!important}.app-top .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding-block:10px}.app-identity{display:flex;align-items:center;gap:14px;min-width:0}.app-brand{display:flex;align-items:center;gap:10px;color:#e6e8eb;text-decoration:none;font-weight:700;letter-spacing:.02em;flex:none}.app-brand .logo{display:block;width:28px;height:28px;border-radius:6px;object-fit:cover}.eff-box{margin:16px 0;border:1px solid var(--line-strong);border-radius:6px;padding:14px;background:var(--surface)}.eff-box legend{padding:0 6px;font-weight:700}.eff-guidance{margin-top:12px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--bg);line-height:1.55}.eff-guidance a{font-size:12px}.eff-guidance p{margin:5px 0 0;color:var(--muted);font-size:12px}.eff-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.eff-results>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:5px}.eff-results span{font-size:12px;color:var(--muted)}.eff-results b{font-size:18px;font-variant-numeric:tabular-nums}.eff-results small{font-size:11px;color:var(--muted)}.eff-unit{display:flex;align-items:center;padding:0 8px;border-left:1px solid var(--line);font-size:11px;color:var(--muted);white-space:nowrap}.eff-box>.hint{margin-bottom:0}@media (max-width:800px){.eff-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.eff-results{grid-template-columns:1fr}}.app-heading{min-width:0}.app-heading h1{font-size:16px;line-height:1.3}.app-heading .tag{font-size:12px;margin:2px 0 0;color:#9aa3af}.app-actions{align-items:center;justify-content:flex-end;gap:6px}.app-actions .btn{padding:7px 10px;border-radius:6px;background:transparent;border-color:#e6e8eb3d;color:#e6e8eb;font-size:12.5px;white-space:nowrap}.app-actions .btn:hover{border-color:#e6e8eb99;background:#ffffff0f}.app-actions .btn.primary{background:#c9a24a;border-color:#c9a24a;color:#16130b;font-weight:600}.app-actions .btn.primary:hover{background:#d7b25c;border-color:#d7b25c}body.app main{padding-block:16px 64px}body.app section{margin-top:32px}body.app .sec-head{border-color:var(--line);padding-bottom:10px;margin-bottom:16px}body.app .sec-head .n{color:#8a6819}body.app .notice{border-color:#c9a24a59;border-radius:8px}body.app fieldset,body.app details,body.app .rlist,body.app .editor,body.app .result,body.app .checks,body.app .psy-box,body.app .tbl-wrap,body.app .codebar{border-radius:8px}body.app fieldset{border-color:var(--line);padding:16px}body.app .btn,body.app .in-u{border-radius:6px}body.app .ritem[aria-current=true]{background:var(--accent-soft);box-shadow:none}body.app .rlist .add{border-radius:0 0 8px 8px}body.app input::placeholder{color:var(--muted)}.workflow{margin-top:18px}.workflow-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.workflow-step{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 14px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--fg);text-align:left}.workflow-step:last-child{border-right:0}.workflow-core{grid-template-columns:repeat(5,minmax(0,1fr))}.workflow-pro{display:flex;align-items:stretch;gap:10px;margin-top:8px}.workflow-pro .workflow-stepper{flex:1;min-width:0;border-color:#c9a24a73}.pro-badge{display:grid;place-items:center;flex:none;padding:0 12px;border-radius:8px;background:#c9a24a;color:#16130b;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.workflow-pro .workflow-marker svg{width:15px;height:15px;stroke-width:1.8}.workflow-pro .workflow-step[aria-current=step]{box-shadow:inset 0 -3px #c9a24a,1px 0 0 var(--line),0 1px 0 var(--line)}.workflow-soon{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 14px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);text-align:left;cursor:not-allowed}.workflow-soon:last-child{border-right:0}.workflow-soon .workflow-marker{border-style:dashed}.workflow-pro .workflow-stepper>*{border:0;box-shadow:1px 0 0 var(--line),0 1px 0 var(--line)}.pro-badge{min-width:76px}.workflow-step:hover{background:var(--sel)}.workflow-step[aria-current=step]{background:var(--sel);box-shadow:inset 0 -3px 0 var(--accent)}.workflow-marker{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.workflow-marker svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.workflow-step.is-complete .workflow-marker{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.workflow-label{display:grid;gap:1px;min-width:0}.workflow-title{text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}.workflow-status{font-size:11px;color:var(--muted)}.workflow-step.is-complete .workflow-status{color:var(--ok)}.workflow-caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;margin:9px 2px 0;color:var(--muted);font-size:12px}.workflow-caption b{color:var(--fg);font-weight:600}.workflow-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:14px;border-top:1px solid var(--line)}.workflow-controls>span{min-width:88px}.workflow-controls .btn.primary{background:#c9a24a;border-color:#c9a24a;color:#16130b;font-weight:600}.workflow-controls .btn.primary:hover{background:#d7b25c;border-color:#d7b25c}.step-panel{animation:step-arrive .24s cubic-bezier(.16,1,.3,1) both}@keyframes step-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1000px){.app-top{position:relative}.app-top .wrap{grid-template-columns:minmax(0,1fr)}.app-actions{justify-content:flex-start}.app-side{justify-items:start}}.notice{margin-top:18px;padding:10px 14px;border:1px solid var(--line);background:var(--accent-soft);font-size:13px}main{padding-block:8px 64px}section{margin-top:34px}.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;border-bottom:1px solid var(--accent);padding-bottom:8px;margin-bottom:18px}h2{margin:0;font-size:17px;text-wrap:balance}.app-top h1,#calc h2,#calc h3,#calc h4{text-transform:capitalize}h2 .n{color:var(--accent);margin-right:8px}.sec-head p{margin:0;color:var(--muted);font-size:13px}.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.env-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.glz-box{margin-bottom:18px}.fgrid.glz{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ez-box .pick{display:grid;grid-template-columns:minmax(0,1fr) 96px;row-gap:4px}.ez-box .pick>.flrow{grid-column:1/-1}.ez-box .pick .in-u+.in-u{margin-top:0;border-left:0;border-radius:0 6px 6px 0}.ez-box .pick .src-sel{border-radius:6px 0 0 6px}.sub-legend{margin:14px 0 8px;font-size:12px;font-weight:650;color:var(--muted)}.sub-legend:first-of-type{margin-top:2px}.types{margin-top:12px}.types .tbl-wrap{margin-bottom:8px}.types .hint{margin-top:6px}fieldset{border:1px solid var(--line);background:var(--surface);margin:0;padding:14px 16px 16px;min-width:0}legend{padding:0 6px;font-size:12px;letter-spacing:.02em;text-transform:capitalize;color:var(--muted);font-weight:700}.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fgrid.one{grid-template-columns:minmax(0,1fr)}.fld{display:flex;flex-direction:column;gap:4px;min-width:0}.fld.wide{grid-column:1/-1}.fgrid>.fld>:first-child,.fgrid3>.fld>:first-child{margin-bottom:auto}.flrow{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:18px}.fl{font-size:12px;color:var(--muted)}.in-u{display:flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:3px;background:var(--field);min-width:0}.in-u:focus-within{border-color:var(--fg)}.in-u input,.in-u select{border:0;background:transparent;color:var(--fg);font:inherit;padding:7px 9px;width:100%;min-width:0;font-variant-numeric:tabular-nums}.in-u select{font-size:13px;text-overflow:ellipsis}.in-u input:focus,.in-u select:focus{outline:none}.u{padding:7px 9px 7px 0;color:var(--muted);font-size:12px;white-space:nowrap;align-self:center}.pick .in-u+.in-u{border-top-left-radius:0;border-top-right-radius:0;margin-top:-5px}.pick .src-sel{border-bottom-left-radius:0;border-bottom-right-radius:0;background:var(--sel)}.pick.is-custom .src-sel{background:var(--accent-soft)}.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pair .in-u{border-radius:0}.pair .in-u+.in-u{border-left:0}.cmark{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.5;white-space:nowrap;cursor:help}.cmark:empty{display:none}.cmark.ok{color:var(--ok);background:var(--ok-bg)}.cmark.bad{color:var(--bad);background:var(--bad-bg)}.cmark.warn{color:var(--req);background:var(--req-bg)}.hint{font-size:12px;color:var(--muted);margin:10px 0 0}.warn{color:var(--warn)}.check{display:flex;gap:10px;align-items:flex-start;grid-column:1/-1;font-size:13px;padding-top:4px}.check input{margin-top:3px;accent-color:var(--fg)}.codebar{display:grid;grid-template-columns:minmax(0,560px);gap:12px 18px;margin-bottom:18px;padding:14px 16px;border:1px solid var(--line);background:var(--surface)}.codebar p{margin:0;grid-column:1/-1;font-size:12px;color:var(--muted)}.derived{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;padding:10px 14px;border:1px dashed var(--line-strong);font-size:13px;font-variant-numeric:tabular-nums}details{margin-top:18px;border:1px solid var(--line);background:var(--surface)}details>summary{cursor:pointer;padding:12px 16px;font-weight:700;font-size:13px}details>.body{padding:0 16px 16px}.tbl-wrap{overflow-x:auto;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{text-align:left}thead th{background:var(--band);color:var(--band-fg);font-weight:700;font-size:12px;border-bottom:0}tfoot td{font-weight:700;border-top:2px solid var(--fg);border-bottom:0}td input{width:84px;border:1px solid var(--line-strong);border-radius:3px;background:var(--field);color:var(--fg);font:inherit;padding:5px 7px;text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.lib td{white-space:normal}table.tl{table-layout:fixed;min-width:720px}.chk2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}.chk2 .checks{margin:0}.chk2 h3{align-items:center}.chk-sum{margin:0;padding:8px 16px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}table.tl.cmp{min-width:0}table.tl.cmp th,table.tl.cmp td{padding:8px 10px;font-size:12.5px}table.tl.cmp td.n{white-space:normal}.oa-box{margin-top:12px;border:1px solid var(--line);border-left:3px solid var(--accent,#B08A2E);padding:10px 12px;background:var(--surface)}.oa-h{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.oa-v{font-size:15px;margin:6px 0 4px}.oa-v b{font-size:22px}.oa-box .kv{grid-template-columns:auto minmax(0,1fr);margin-top:8px;padding-top:8px;font-size:12.5px}.bar-row.tot-row{border-top:1px solid var(--line);padding-top:6px;margin-top:4px}table.ptbl td,table.ptbl th{white-space:normal}table.ptbl input,table.ptbl select{width:100%;box-sizing:border-box}table.ptbl .ucell{display:flex;gap:4px;align-items:center}table.ptbl .ucell.cust input{border-color:var(--accent);background:var(--accent-soft)}table.ptbl .usrc{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}table.ptbl tr.addrow td,table.ptbl tr.dis td{text-align:left}.btn:disabled{opacity:.45;cursor:default}table.ptbl td.muted{text-align:left;font-size:12px}table.ptbl td.sub{padding-left:22px;color:var(--muted)}table.ptbl tr.addrow td{padding:6px 10px}table.ptbl tr.addrow .btn{margin-right:6px}table.ptbl td .btn.sm{padding:0 6px;margin-left:4px}table.ptbl tr.dis td{color:var(--muted);font-size:12px}table.exp td.wcb{width:64px;text-align:right}table.wtbl td input,table.wtbl td select{width:100%;min-width:0;box-sizing:border-box}.calc-in{display:flex;align-items:stretch;gap:4px;min-width:0}.calc-in>.in-u,.calc-in>input{flex:1;min-width:0}details.uvb,details.assembly-library{margin:0 0 18px}.uvb-top{align-items:end;margin-top:12px}.assembly-library td .btn{width:100%}.uvb-res{display:grid;grid-template-columns:minmax(0,1fr) 130px 130px auto;align-items:end;gap:12px;margin-top:12px;padding:12px;background:var(--bg);border-radius:6px}.uvb-val{display:flex;align-items:baseline;gap:4px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.uvb-val small{font-weight:400;color:var(--muted);font-size:11px}.uvb-u .uvb-val{border-color:var(--accent)}.uvb-res .btn{white-space:nowrap}@media (max-width:640px){.uvb-res{grid-template-columns:1fr 1fr}.uvb-res>label,.uvb-res>.btn{grid-column:1/-1}}.unit-sw{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:12px}.calc-btn{flex:none;padding-left:6px;padding-right:6px;white-space:nowrap}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#11141873}.modal{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 16px 40px #00000040;padding:16px 18px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.modal-head h3{margin:0;font-size:15px;text-transform:capitalize}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.wcgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px}.wcf{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--muted)}.wcf input{width:100%;box-sizing:border-box}.wcres{margin:12px 0 0;padding:8px 10px;background:var(--bg);border-radius:6px;font-size:12.5px;color:var(--fg)}input.bad-in{outline:2px solid var(--bad,#B42318)}.req-star{color:var(--bad)}.fld-err{font-size:12px;color:var(--bad);margin:-6px 0 0}table.tl tr.sel td{background:var(--ok-bg,#E7F1E9)}.btn.sm{padding:3px 10px;font-size:11.5px}table.tl.cmp .pill{white-space:normal;display:inline-block;line-height:1.3;max-width:100%}@media (max-width:1100px){.chk2{grid-template-columns:1fr}}table.tl th,table.tl td{text-align:left;white-space:normal;vertical-align:middle;padding:10px 14px}table.tl th.n,table.tl td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}table.tl td.why{color:var(--muted);font-size:12.5px}table.tl .pill{white-space:nowrap;font-size:11.5px;padding:3px 10px}.remark{margin-top:14px;padding:12px 16px;border:1px solid var(--bad);background:var(--bad-bg);color:var(--fg);font-size:13px}.remark.warn{border-color:var(--req);background:var(--req-bg)}.vent-why{margin-top:10px;font-size:12.5px}.vent-why details{margin:0;border:0;background:none}.vent-why details>summary{padding:0;cursor:pointer;font-weight:700;font-size:12.5px;color:var(--fg)}.vent-why p{margin:6px 0 0;color:var(--muted);line-height:1.5}.remark.info{border-color:var(--line-strong);background:var(--sel);font-size:12.5px;line-height:1.5}.remark b{display:block;margin-bottom:4px}.remark ul{margin:0;padding-left:18px}.day-chart{padding:10px 12px 4px;overflow-x:auto}.day-chart svg{display:block;width:100%;min-width:560px;height:auto}.day-tbl th,.day-tbl td{padding:6px 7px;font-size:12px}.day-tbl td:first-child,.day-tbl th:first-child{position:sticky;left:0;background:var(--surface);min-width:120px}.day-tbl thead th:first-child{background:var(--band)}.abbr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 22px;margin:0;font-size:13px}.abbr-grid div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;min-width:0;padding:3px 0;border-bottom:1px dotted var(--line)}.abbr-grid dt{font-weight:700}.abbr-grid dd{margin:0;color:var(--muted)}.psy-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start}.states tr.grp td{background:var(--bg);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.psy-card{margin:0}.psy-card .psy-box{border:0;border-bottom:1px solid var(--line)}.psy-card .psy-box svg{min-width:0}.psy-box{border:1px solid var(--line);background:var(--surface);padding:10px;overflow-x:auto}.psy-box svg{display:block;width:100%;min-width:560px;height:auto}.psy-abbr{grid-template-columns:minmax(0,1fr);gap:0;margin-top:12px;font-size:12px}.psy-abbr div{grid-template-columns:32px minmax(0,1fr)}.psy-note{font-size:12px;color:var(--muted);margin:10px 0 0}.states td,.states th{padding:6px 8px;font-size:12.5px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}.workspace{display:grid;grid-template-columns:230px minmax(0,1fr) 330px;gap:18px;align-items:start}.rlist{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface)}.ritem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--fg);padding:10px 12px}.ritem:hover{background:var(--sel)}.ritem[aria-current=true]{background:var(--sel);box-shadow:inset 3px 0 0 var(--fg)}.ritem .nm{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ritem .tr{font-variant-numeric:tabular-nums;font-weight:700}.ritem .ty{grid-column:1/-1;font-size:12px;color:var(--muted)}.ritem .ty b{font-weight:700}.ritem .ty .x{color:var(--bad)}.rtotal{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;text-align:left;border:0;padding:10px 12px;border-bottom:1px solid var(--line);border-top:1px solid var(--fg);margin-top:-1px;background:transparent;color:var(--fg);cursor:pointer}.rtotal:hover{background:var(--sel)}.rtotal[aria-current=true]{background:var(--sel);box-shadow:inset 3px 0 0 var(--fg)}.plant-rooms tbody tr{cursor:pointer}.plant-rooms tbody tr:hover{background:var(--sel)}.plant-rooms .linkish{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;text-align:left}.plant-rooms .track{display:inline-block;vertical-align:middle;width:70px;height:8px;background:var(--line);margin-right:6px}.plant-rooms .fill{display:block;height:100%;background:var(--bar)}.rtotal .nm,.rtotal .tr{font-weight:700;font-variant-numeric:tabular-nums}.rtotal .ty{grid-column:1/-1;font-size:12px;color:var(--muted)}.rlist .add{border:0;background:transparent;color:var(--fg);padding:12px;text-align:left;font-weight:700}.rlist .add:hover{background:var(--sel)}.editor{border:1px solid var(--line);background:var(--surface);padding:16px;min-width:0}.editor h3,.result h3{margin:0 0 12px;font-size:15px}.ed-sec{margin-top:20px}.ed-sec h4{margin:0 0 10px;font-size:12px;letter-spacing:.02em;text-transform:capitalize;color:var(--muted)}.fgrid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.fgrid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.exp td{padding:5px 8px}.exp td input{width:100%;min-width:64px}.exp th{padding:7px 8px}.ed-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.result{border:1px solid var(--line);background:var(--surface);padding:16px;position:sticky;top:12px;min-width:0}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.big{display:flex;align-items:baseline;gap:8px;margin-top:4px}.big-num{font-size:40px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.big-unit{font-size:16px;color:var(--muted)}.sub{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.kv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:700}.bars{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.bar-row{display:grid;grid-template-columns:118px minmax(0,1fr) 64px;gap:8px;align-items:center;font-size:12px;font-variant-numeric:tabular-nums}.bar-row .v{text-align:right}.track{height:8px;background:var(--sel);border-radius:1px;overflow:hidden}.fill{display:block;height:100%;background:var(--bar)}.fill.lat{background:var(--lat)}.bar-row.lat span:first-child,.bar-row.lat .v{color:var(--lat)}.bar-row.off{opacity:.5}.hb-chart{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.hb-svg{width:100%;height:auto;display:block}.legend{display:flex;gap:14px;font-size:11px;color:var(--muted);margin-top:4px}.legend i{display:inline-block;width:10px;height:8px;margin-right:5px;vertical-align:middle}.empty{border:1px dashed var(--line-strong);padding:28px;text-align:center;color:var(--muted)}.totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--surface);margin-bottom:18px}.tot{padding:14px 16px;border-right:1px solid var(--line);min-width:0}.tot:last-child{border-right:0}.tot .k{font-size:12px;color:var(--muted)}.tot .v{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}.tot .v small{font-size:13px;color:var(--muted);font-weight:400;margin-left:4px}.tot .s{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.tot.key .v{border-bottom:2px solid var(--accent);display:inline-block}button.tot.pick{display:block;width:100%;text-align:left;font:inherit;color:var(--fg);background:transparent;border:0;border-right:1px solid var(--line);cursor:pointer}button.tot.pick:hover{background:var(--sel)}button.tot.pick[aria-pressed=true]{background:var(--sel);box-shadow:inset 0 -3px 0 var(--fg)}.kpi-basis{margin:-8px 0 8px;font-size:12px;color:var(--muted)}.checks{border:1px solid var(--line);background:var(--surface);margin-bottom:18px}.checks h3{margin:0;padding:12px 16px;font-size:13px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.chk{display:grid;grid-template-columns:104px 130px minmax(0,1fr);gap:12px;align-items:start;padding:10px 16px;border-bottom:1px solid var(--line);font-size:13px}.chk:last-child{border-bottom:0}.chk .cl{color:var(--muted)}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;text-align:center}.pill.ok{color:var(--ok);background:var(--ok-bg)}.pill.req,.pill.warn{color:var(--req);background:var(--req-bg)}.pill.bad{color:var(--bad);background:var(--bad-bg)}.pill.na{color:var(--muted);background:var(--sel)}.basis{margin-top:18px}details .basis{margin-top:0}.chk-body{border-top:1px solid var(--line)}.basis td{white-space:normal}.method{font-size:13px;line-height:1.6;max-width:80ch}.method code{font-family:Consolas,Courier New,monospace;font-size:12.5px;background:var(--sel);padding:1px 5px}.method li{margin-bottom:4px}#copy-out{width:100%;height:140px;margin-top:10px;font-family:Consolas,monospace;font-size:12px;background:var(--field);color:var(--fg);border:1px solid var(--line-strong)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--band);color:var(--band-fg);padding:10px 16px;border-radius:3px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}.toast.show{opacity:1}.rbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:22px 0 14px}.rbar .muted{font-size:12px;flex-basis:100%}.paper{background:#fff;color:#1f2937;border:1px solid var(--line);max-width:8.5in;margin:0 auto;overflow-x:auto}.rpt{font-family:Arial,Helvetica,sans-serif;color:#1f2937;background:#fff;font-size:10.5pt;line-height:1.45;padding:.6in .55in}.rpt h1{font-size:20pt;margin:0 0 2pt;letter-spacing:-.01em}.rpt .rsub{color:#5b6472;margin:0 0 14pt}.rpt h2{font-size:13pt;margin:24pt 0 8pt;padding-bottom:4pt;border-bottom:1px solid #B08A2E}.rpt h1,.rpt h2,.rpt h3{text-transform:capitalize}.rpt h3{font-size:11pt;margin:16pt 0 6pt}.rpt table{width:100%;border-collapse:collapse;margin:6pt 0 10pt;font-size:9pt}.rpt th{background:#1f2937;color:#fff;text-align:left;padding:4pt 6pt;font-weight:700;white-space:normal}.rpt td{padding:4pt 6pt;border-bottom:1px solid #E1E3E7;vertical-align:top;text-align:left;white-space:normal;color:#1f2937}.rpt .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rpt tfoot td{font-weight:700;border-top:1.5px solid #1F2937;border-bottom:0}.rpt .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #DCDEE2;margin:10pt 0}.rpt .kpi{padding:8pt 10pt;border-right:1px solid #DCDEE2}.rpt .kpi:last-child{border-right:0}.rpt .kpi .k{font-size:8.5pt;color:#5b6472}.rpt .kpi .v{font-size:15pt;font-weight:700}.rpt .kpi .s{font-size:8.5pt;color:#5b6472}.rpt .ck{display:inline-block;min-width:14pt;font-weight:700;text-align:center;border-radius:8pt;padding:0 4pt}.rpt .ck.ok{color:#2f6b3b;background:#e7f1e9}.rpt .ck.bad{color:#b42318;background:#fbe7e5}.rpt .ck.warn{color:#7a4e00;background:#fbf1dc}.rpt .ck.na{color:#5b6472;background:#eef0f3}.rpt .room{border-top:1px solid #DCDEE2;margin-top:14pt}.rpt .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14pt}.rpt .small{font-size:8.5pt;color:#5b6472}.rpt .chart{border:1px solid #DCDEE2;padding:6pt;margin:8pt 0}.rpt .chart svg{width:100%;height:auto;display:block}.rpt .sign{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20pt;margin-top:30pt}.rpt .sign div{border-top:1px solid #1F2937;padding-top:4pt;font-size:9pt;color:#5b6472}.rpt ul{padding-left:16pt}@media (max-width:1100px){.workspace{grid-template-columns:210px minmax(0,1fr)}.result{grid-column:1/-1;position:static}.psy-wrap{grid-template-columns:minmax(0,1fr)}.workflow-core{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-core>:nth-child(3n){border-right:0}.workflow-core>:nth-child(-n+3){border-bottom:1px solid var(--line)}}@media (max-width:760px){.workflow-stepper,.workflow-core{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-pro{flex-direction:column}.pro-badge{padding:4px 12px;justify-self:start;align-self:flex-start}.workflow-core>:nth-child(3n){border-right:1px solid var(--line)}.workflow-core>:nth-child(2n){border-right:0}.workflow-core>:not(:nth-last-child(-n+2)){border-bottom:1px solid var(--line)}.workflow-step,.workflow-soon{padding:10px}.workflow-marker{width:28px;height:28px}.workflow-title{font-size:12px}.workspace{grid-template-columns:minmax(0,1fr)}.totals{grid-template-columns:repeat(2,minmax(0,1fr))}.tot:nth-child(2){border-right:0}.tot:nth-child(-n+2){border-bottom:1px solid var(--line)}.fgrid3,.fgrid4,.fgrid,.env-pair{grid-template-columns:minmax(0,1fr)}.wcgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.chk{grid-template-columns:96px minmax(0,1fr)}.chk .tx{grid-column:1/-1}.rpt{padding:18px 16px}.rpt .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rpt .two{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.toast{transition:none}}#loc-note.authg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid var(--line,#E5E7EB);margin-top:8px}.au{display:block;padding:8px 12px;border-left:1px solid var(--line,#E5E7EB);font-size:12.5px;line-height:1.4}.au:first-child{border-left:0}.au b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#6B7280);margin-bottom:2px}@media (max-width:900px){#loc-note.authg{grid-template-columns:1fr 1fr}.au{border-left:0;border-top:1px solid var(--line,#E5E7EB)}}.actions .sep{width:1px;background:var(--line);margin:0 2px}.menu{position:relative}.menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:min(360px,90vw);background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);box-shadow:0 8px 24px #0000001f;padding:10px;transform-origin:top right;animation:menu-arrive .15s cubic-bezier(.16,1,.3,1) both}@keyframes menu-arrive{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menu-pop h4{margin:4px 4px 8px;font-size:12px;letter-spacing:.02em;text-transform:capitalize;color:var(--muted)}.menu-pop .row{display:flex;gap:8px;align-items:center;padding:6px 4px;border-top:1px solid var(--line)}.menu-pop .row .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-pop .row .dt{font-size:11px;color:var(--muted)}.menu-pop .btn{color:var(--fg);background:var(--surface);border-color:var(--line-strong)}.menu-pop .btn:hover{background:var(--sel);border-color:var(--fg)}.menu-pop .btn.primary{color:#16130b;background:#c9a24a;border-color:#c9a24a}.menu-pop .btns{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-bottom:8px}.menu-pop .btns .btn{width:100%;text-align:left}.menu-pop .empty-note{font-size:12px;color:var(--muted);padding:6px 4px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.step-panel,.menu-pop{animation:fade-in .12s ease-out both}}@media (max-width:760px){.menu-pop{left:0;right:auto}}.mkbtn{border:0;background:none;padding:0;font:inherit}@media print{header.top,.rbar,.toast,#calc{display:none!important}body{background:#fff}.paper{border:0;max-width:none}.rpt{padding:0}.rpt .room,.rpt table,.rpt .chart{break-inside:avoid}.rpt h2,.rpt h3{break-after:avoid}}@page{size:letter;margin:.5in}.hourly{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300;--s7:#6250d6;--s8:#e34948}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hourly{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;--s8:#e66767}}:root[data-theme=dark] .hourly{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;--s8:#e66767}.hr-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.hr-filters .fld{min-width:240px;flex:0 1 320px}.hr-kpis{margin-bottom:16px}.totals.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.totals.c3+.totals.c3{margin-top:-16px;border-top:0}@media (max-width:760px){.totals.c3{grid-template-columns:minmax(0,1fr)}}.hr-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:16px}.hr-card h3{font-size:14px;margin:0 0 8px}.hr-card h3 .muted{font-weight:400}.hr-legend{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0 0 8px;padding:0;font-size:12px;color:var(--fg)}.hr-legend i,.hr-tip-row i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.hr-plot{position:relative}.hr-plot svg{width:100%;height:auto;display:block}.hr-grid{stroke:var(--line);stroke-width:1}.hr-zero{stroke:var(--line-strong);stroke-width:1}.hr-tick{font-size:10px;fill:var(--muted)}.hr-peak{font-size:10px;font-weight:600;fill:var(--fg)}.hr-seg{stroke:var(--surface);stroke-width:1}.hr-tip{position:absolute;top:8px;min-width:210px;background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);border-radius:6px;padding:8px 10px;font-size:12px;box-shadow:0 4px 14px #00000024;pointer-events:none;display:flex;flex-direction:column;gap:3px;z-index:2}.hr-tip-row{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.hr-tip-row.tot{grid-template-columns:1fr auto;border-top:1px solid var(--line);padding-top:3px}.hr-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}.hr-mon{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:1px solid transparent;border-radius:6px;padding:4px 2px;cursor:pointer;color:var(--fg);font:inherit;font-size:11px;font-variant-numeric:tabular-nums}.hr-mon:hover{background:var(--sel)}.hr-mon.on{border-color:var(--accent);background:var(--accent-soft)}.hr-mon-bar{position:relative;width:60%;height:80px;display:flex;align-items:flex-end}.hr-mon-bar span{display:block;width:100%;background:var(--bar-2);border-radius:4px 4px 0 0}.hr-mon.on .hr-mon-bar span{background:var(--accent)}.hr-mon-l{font-weight:600}.hr-mon-h{color:var(--muted);font-size:10px}.hr-tbl td,.hr-tbl th{text-align:right;white-space:nowrap}.hr-tbl td:first-child,.hr-tbl th:first-child{text-align:left}.hr-tbl tr.pk td{background:var(--accent-soft);font-weight:600}@media (max-width:640px){.hr-months{grid-template-columns:repeat(6,minmax(0,1fr))}.hr-filters .fld{flex:1 1 100%}}.hr-sub{font-size:13px;margin:14px 0 6px}.hr-sub .muted{font-weight:400}.hr-el{width:100%;height:auto;display:block}.hr-req td{white-space:normal;vertical-align:top}.hr-req td:nth-child(2),.hr-req td:nth-child(3),.hr-req td:nth-child(7),.hr-req td:nth-child(8){text-align:left}.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:16px;background:var(--surface)}.seg button{border:0;border-right:1px solid var(--line);background:transparent;color:var(--fg);padding:10px 14px;text-align:left;font:inherit;font-weight:700;cursor:pointer}.seg button:last-child{border-right:0}.seg button span{display:block;font-weight:400;font-size:12px;color:var(--muted)}.seg button:hover{background:var(--sel)}.seg button[aria-pressed=true]{background:var(--sel);box-shadow:inset 0 -3px 0 var(--fg)}.wx-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.wx-form .fld:first-child{grid-column:span 2}.wx-btns,.wx-quality .btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.wx-status{margin:10px 0 0;font-size:13px}.wx-status.error{color:var(--bad)}.wx-status.loading,.wx-status.idle,.wx-status.missing{color:var(--muted)}.wx-status:empty{display:none}.wx-meta{margin:0 0 8px;font-size:13px}.wx-fields{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 16px;font-size:12.5px}.wx-fields .ok{color:var(--ok)}.wx-fields .der{color:var(--req)}.wx-fields .na,.wx-fields li .muted{color:var(--muted)}.wx-ext{margin:-6px 0 16px}.wx-ext b.bad{color:var(--bad)}.wx-bar{fill:var(--bar-2)}.wx-bar.on{fill:var(--accent)}.wx-tline{stroke:var(--bad);stroke-width:1.2}.wx-jump{align-self:flex-end;padding-bottom:2px}.wx-months{margin-top:16px}@media (max-width:760px){.seg{grid-template-columns:minmax(0,1fr)}.seg button{border-right:0;border-bottom:1px solid var(--line)}.wx-form .fld:first-child{grid-column:auto}}.cl-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.cl-tabs button{border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);padding:5px 12px;border-radius:999px;font:inherit;font-size:12.5px;cursor:pointer}.cl-tabs button[aria-selected=true]{background:var(--band);border-color:var(--band);color:var(--band-fg)}.cl-field{max-width:320px;margin-bottom:8px}.cl-plot svg{width:100%;height:auto;display:block}.cl-plot.sun,.cl-plot.wind{max-width:460px;margin:0 auto}.cl-rh{stroke:var(--bar-2);stroke-width:.8}.cl-sat{stroke:var(--fg);stroke-width:1.6}.cl-mark{fill:var(--fg);stroke:var(--surface);stroke-width:1.5}.cl-mlabel{font-size:11px;font-weight:700;fill:var(--fg);paint-order:stroke;stroke:var(--surface);stroke-width:3px}.cl-card{font-size:12px;font-weight:700;fill:var(--fg)}.cl-arc{stroke:var(--fg);stroke-width:1;stroke-dasharray:4 3}.cl-wedge{stroke:var(--surface);stroke-width:.6}.iaq-tabs,.iaq .groups{margin-bottom:16px}.iaq-kpis .warn{color:var(--req)}.iaq-zones td.bad{color:var(--bad);font-weight:700}.iaq-basis{white-space:normal!important;text-align:left!important;min-width:150px;font-size:12px;color:var(--muted)}.iaq-exh input{width:70px}.iaq-apply{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 16px}.iaq-apply .hint{margin:0}.iaq-steps,.iaq-data{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px 16px;margin:0 0 16px}.iaq-steps summary,.iaq-data summary{cursor:pointer;font-weight:700;font-size:13.5px}.iaq-steps ol{margin:10px 0 4px;padding-left:20px;font-size:13px;line-height:1.7}.iaq-data .tbl-wrap{margin-top:10px}.iaq-data input{width:84px}.iaq-cont td,.iaq-cont th{white-space:nowrap}.iaq-in{stroke:var(--fg);stroke-width:1.8}.iaq-out{stroke:var(--muted);stroke-width:1.2;stroke-dasharray:5 4}.iaq-limit{stroke:var(--bad);stroke-width:1.2;stroke-dasharray:2 3}.iaq-disc{margin-top:18px}.rfloor{display:flex;flex-direction:column;border-bottom:1px solid var(--line-strong)}.rfloor-h{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--sel);color:var(--fg);padding:9px 12px;cursor:pointer;font:inherit}.rfloor-h.static{cursor:default}.rfloor-h .nm{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:12px;align-self:center}.rfloor-h .tr{font-variant-numeric:tabular-nums;font-weight:700}.rfloor-h .ty{grid-column:1/-1;font-size:12px;color:var(--muted)}.rfloor-h:hover{background:var(--line)}.rfloor-h[aria-current=true]{box-shadow:inset 3px 0 0 var(--accent)}.rfloor .ritem{padding-left:22px}.rlist .add.sm{font-size:12px;padding:6px 12px 6px 22px;text-align:left;border-bottom:0}.floor-btns{display:flex;gap:8px;margin:12px 0 16px}.load-pic{margin-bottom:16px}.load-pic-grid{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.load-pic-bld{flex:1 1 240px;min-width:0}.load-pic-plan{flex:2 1 340px;min-width:0}.load-pic.single .load-pic-plan{flex-basis:100%}.load-pic-bld .hint{margin-top:4px}.bld{width:100%;height:auto;display:block;max-height:420px}.bld-slab{cursor:pointer}.bld-slab polygon{stroke:var(--surface);stroke-width:.8;transition:fill .3s}.bld-slab:hover polygon{filter:brightness(1.08)}.bld-slab.on polygon{stroke:var(--fg);stroke-width:1.4}.bld-label{cursor:pointer}.bld-label polyline{stroke:var(--line-strong);stroke-width:1;fill:none}.bld-label text{font-size:12px;font-weight:700;fill:var(--fg)}.bld-label text.sub{font-weight:400;font-size:11px;fill:var(--muted)}.bld-label.on text{fill:var(--accent)}.bld-ground{fill:var(--sel)}.plan-head{font-size:13px;margin-bottom:6px}.plan svg{width:100%;height:auto;display:block}.plan-outline{fill:var(--surface);stroke:var(--fg);stroke-width:2}.plan-room{cursor:pointer}.plan-room rect{stroke:var(--surface);stroke-width:1.5;transition:x .35s,y .35s,width .35s,height .35s,fill .35s}.plan-room:hover rect,.plan-room.on rect{stroke:var(--fg);stroke-width:2.5}.plan-room text{pointer-events:none;font-size:12px}.plan-room text.nm{font-weight:700}.plan-room text.v{font-size:11px}.plan-info{font-size:12.5px;margin-top:6px;min-height:1.4em}.load-pic-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:10px}.load-pic-foot .hint{margin:0}.plan-legend{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.plan-legend .bar{display:inline-block;width:160px;height:10px;border-radius:5px}@media (prefers-reduced-motion:reduce){.plan-room rect,.bld-slab polygon{transition:none}}.load-pic.single .plan svg{max-height:440px}.ritem[draggable=true]{cursor:grab}.ritem.dragging{opacity:.4}.ritem.drop-before{box-shadow:inset 0 3px 0 var(--accent)}.rfloor.drop-over{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.rfloor.drop-over .rfloor-h{background:var(--accent-soft)}.rflat{display:flex;flex-direction:column}.drag-hint{margin:0;padding:6px 12px;font-size:12px;color:var(--accent);border-bottom:1px solid var(--line)}.workspace.is-total{grid-template-columns:230px minmax(0,1fr)}.workspace.is-total>.rlist{grid-row:1}.workspace.is-total>.result{grid-column:2;grid-row:1;position:static}.workspace.is-total>.editor{grid-column:1/-1;grid-row:2}.plant-band{display:flex;flex-direction:column;gap:14px}.pb-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 24px;padding-bottom:12px;border-bottom:1px solid var(--line)}.pb-head h3,.pb-head .big{margin:0}.pb-subs{display:flex;flex-direction:column;gap:2px;padding-bottom:6px}.pb-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:0}.pb-tiles .pt{border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--bg);min-width:0}.pb-tiles dt{color:var(--muted);font-size:11.5px;line-height:1.3}.pb-tiles dd{margin:2px 0 0;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pb-tiles dd.pt-s{margin:0;font-weight:400;font-size:12px;color:var(--muted)}@media (max-width:1100px){.workspace.is-total{grid-template-columns:210px minmax(0,1fr)}}@media (max-width:760px){.workspace.is-total{grid-template-columns:minmax(0,1fr)}.workspace.is-total>.rlist,.workspace.is-total>.result,.workspace.is-total>.editor{grid-column:1;grid-row:auto}.pb-head{align-items:flex-start}}.pb-lower{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.pb-lower .oa-box .kv{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0}.pb-lower .oa-box .kv dt{margin-right:8px;white-space:nowrap}.pb-lower .oa-box .kv dd{text-align:left;margin-right:28px;white-space:nowrap}.pb-lower .oa-box .kv dd:last-child{margin-right:0}.pb-lower .bars{display:block;columns:2 300px;column-gap:32px}.pb-lower .bar-row{break-inside:avoid;margin-bottom:7px}.pb-lower .bar-row.tot-row,.pb-lower .legend{column-span:all}@media (max-width:760px){.pb-lower .oa-box .kv{display:grid;grid-template-columns:auto minmax(0,1fr)}.pb-lower .oa-box .kv dt,.pb-lower .oa-box .kv dd{margin-right:0}}.pb-tiles dd .cmark,.pb-tiles dd .pill{margin-left:6px;font-size:11px;font-weight:400;vertical-align:middle}.lib{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.lib-nav{display:grid;gap:2px;position:sticky;top:120px}.lib-nav h4{margin:12px 8px 6px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lib-nav h4:first-child{margin-top:0}.lib-nav button{padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--fg);font:inherit;font-size:13px;text-align:left;cursor:pointer}.lib-nav button:hover{background:var(--sel)}.lib-nav button[aria-current=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.lib-body{min-width:0;padding:20px 24px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.lib-body h3{margin:0 0 14px;font-size:17px}.lib-items{margin:0;padding-left:20px;display:grid;gap:12px;line-height:1.6;font-size:14px}.lib-items code{font-size:12.5px}.lib-abbr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0}.lib-abbr div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;font-size:13px}.lib-abbr dt{font-weight:700}.lib-abbr dd{margin:0;color:var(--muted)}.lib-soon{max-width:560px;padding:24px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface)}.lib-soon .tag{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--sel);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lib-soon h3{margin:10px 0 6px;font-size:17px}.lib-soon p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}@media (max-width:760px){.lib{grid-template-columns:minmax(0,1fr)}.lib-nav{position:static}.lib-abbr{grid-template-columns:minmax(0,1fr)}.lib-body{padding:16px}}.app-side{display:grid;justify-items:end;gap:4px;min-width:0}.app-links{display:flex;gap:2px}.app-links button{padding:2px 8px;border:0;border-radius:4px;background:transparent;color:#9aa3af;font:inherit;font-size:11px;cursor:pointer}.app-links button:hover{color:#e6e8eb;background:#ffffff0f}.app-links button[aria-pressed=true]{color:#c9a24a}.lib-cat{display:grid;gap:2px}.lib-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.lib-head h3{margin:0}.lib-kicker{margin:0 0 4px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lib-dl{display:flex;flex-wrap:wrap;gap:6px}.lib-dl .btn{font-size:12px;padding:6px 10px}.lib-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.lib-intro{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.5}.lib-offscreen{position:fixed;left:-10000px;top:0}.lib-print{width:816px;box-sizing:border-box;padding:40px 48px;background:#fff;color:#111;font-size:12px}.lib-print header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px;margin-bottom:18px;border-bottom:2px solid #C9A24A}.lib-print header b{font-size:16px}.lib-print header span{color:#555}.lib-print h3{margin:16px 0 8px;font-size:14px}.lib-print .tbl-wrap{overflow:visible;border-color:#ddd}.lib-print table{min-width:0!important}.lib-print th,.lib-print td{padding:5px 8px!important;font-size:11px!important;border-color:#ddd}.lib-print .lib-items{font-size:12px;gap:8px}.lib-print .lib-note{color:#555}.lib-print .lib-abbr div{font-size:11px}.support{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.support article{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.support h3{margin:0;font-size:15px}.support p{margin:0 0 6px;color:var(--muted);font-size:13px;line-height:1.55;flex:1}.support .btn{font-size:12.5px;text-decoration:none}@media (max-width:760px){.support{grid-template-columns:minmax(0,1fr)}}.lib-docs{list-style:none;margin:0;padding:0;display:grid;gap:10px}.lib-docs li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.lib-docs li>div{display:grid;gap:3px;min-width:0}.lib-docs b{font-size:14px}.lib-docs span{color:var(--muted);font-size:12.5px;line-height:1.45}.lib-docs .lib-url,.digest .lib-url{display:none;word-break:break-all}.lib-docs .btn{flex:none;font-size:12px;text-decoration:none}.lib-print .lib-docs li{background:#fff;border-color:#ddd}.lib-print .lib-docs .lib-url{display:block;color:#8a6819}.lib-print .digest .lib-url{display:inline}.lib-print .lib-docs .btn{display:none}@media (max-width:560px){.lib-docs li{flex-direction:column;align-items:flex-start}}.digest-meta p{margin:0 0 8px;font-size:14px;line-height:1.55}.digest-sec{margin:22px 0 0}body.app .digest-sec{margin-top:22px}.digest-sec h4{margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:14px}.digest-sec h4 span{margin-left:6px;color:var(--muted);font-size:12px;font-weight:500}.digest-sec .tbl-wrap{margin-bottom:10px}.digest-sec ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.digest-sec li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:baseline;font-size:13.5px;line-height:1.55}.dg-kind{justify-self:start;padding:1px 8px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--sel);color:var(--muted)}.dg-kind.shall{background:#fbe9e7;color:#a3341f}.dg-kind.should{background:var(--accent-soft);color:var(--accent)}.digest-novac{margin:10px 0 0;padding:8px 12px;border-left:3px solid #C9A24A;background:var(--bg);font-size:13px;line-height:1.5}.lib-print .digest-novac{background:#faf6ec}@media (max-width:560px){.digest-sec li{grid-template-columns:minmax(0,1fr);gap:2px}}.menu-pop .saved-list{max-height:min(320px,50vh);overflow-y:auto}.menu-pop .row .nm{display:grid;gap:1px}.menu-pop .row .nm b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.menu-pop .row .nm .dt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-pop .row.cur{background:var(--accent-soft);border-radius:6px}@media (max-width:760px){.workflow-pro .workflow-title{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}}.duct-empty{max-width:640px;padding:18px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface)}.duct-empty p{margin:0 0 12px;line-height:1.55}.btns-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.duct-systems{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.duct-systems button{padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px;cursor:pointer}.duct-systems button[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.duct-systems .add{border-style:dashed;color:var(--muted)}.duct-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}@media (max-width:1100px){.duct-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.duct-kpis .v.sm{font-size:14px;line-height:1.35;overflow-wrap:anywhere}.duct-errors{margin-bottom:12px;padding:10px 12px;border:1px solid #E7B4AA;border-radius:8px;background:#fbe9e7;color:#a3341f;font-size:13px}.duct-errors p{margin:0}.duct-settings{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 14px;margin:0 0 16px}.duct-settings label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.duct-settings input,.duct-settings select{width:100%;box-sizing:border-box}.duct-settings .hint,.duct-settings .btns-row{grid-column:1/-1;margin:0}.duct-h{margin:18px 0 8px;font-size:15px}.duct-tbl{font-size:12.5px}.duct-tbl th,.duct-tbl td{vertical-align:top;white-space:nowrap}.duct-tbl td input[type=text]{width:150px}.duct-tbl td input[type=number]{width:64px}.duct-tbl tr.crit td{background:#c9a24a1f}.duct-serves{display:flex;flex-direction:column;gap:4px}.duct-mini{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.duct-fits{display:grid;gap:4px;min-width:300px}.duct-fit{display:flex;align-items:center;gap:4px}.duct-fit .nm{flex:1;min-width:0;max-width:170px;overflow:hidden;text-overflow:ellipsis}.duct-fit .x{color:var(--muted)}.duct-fit input[type=number]{width:52px!important}.duct-act{display:flex;flex-direction:column;gap:4px}.duct-tbl td select[aria-label="Connected from"]{max-width:150px}.duct-res td.n,.duct-res th.n{text-align:right;font-variant-numeric:tabular-nums}.duct-res .pill{display:inline-block;margin:0 4px 2px 0;white-space:normal}@media (max-width:760px){.duct-kpis{grid-template-columns:minmax(0,1fr)}}.duct-tbl th,.duct-tbl td,.duct-tbl input,.duct-tbl select{text-align:left}.duct-res td.n,.duct-res th.n{text-align:right}.duct-fit .nm{max-width:190px}.duct-tbl td input[type=text]{width:136px}.duct-serves select{max-width:170px}.duct-fits{min-width:0}.duct-source{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:start;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid #C9A24A;border-radius:8px;background:var(--surface)}.duct-source .k{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.duct-source .sm{font-size:12px;margin-top:2px}.duct-source .btns-row{margin:0;justify-content:flex-end}.duct-saved{grid-column:1/-1;display:grid;gap:4px;max-height:260px;overflow-y:auto}.duct-saved .row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;border-top:1px solid var(--line);font-size:13px}.duct-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.duct-start article{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.duct-start h3{margin:0;font-size:15px}.duct-start p{margin:0;flex:1;color:var(--muted);font-size:13px;line-height:1.55}@media (max-width:760px){.duct-source{grid-template-columns:minmax(0,1fr)}.duct-source .btns-row{justify-content:flex-start}.duct-start{grid-template-columns:minmax(0,1fr)}}.type-act{display:inline-flex;gap:4px}.uvb-libs{display:inline-flex;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden}.uvb-libs button{padding:5px 10px;border:0;border-right:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-size:12px;cursor:pointer}.uvb-libs button:last-child{border-right:0}.uvb-libs button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.uvb-lib{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.03em;vertical-align:middle;white-space:nowrap}.uvb-lib.ash{background:#2563eb1f;color:#1d4ed8}.uvb-lib.uae{background:#c9a24a29;color:#8a6a1f}.uvb-inline{margin-top:10px;padding:12px;border:1px solid var(--accent);border-radius:8px;background:var(--bg)}.uvb-tbl td select{width:100%;max-width:100%}.uvb-tbl .uvb-lib{display:table;margin:3px 0 0}.uvb-res{grid-template-columns:130px 130px auto;justify-content:start}.uvb-res>label:first-child{grid-column:1/-1}.uvb-res>.btn{align-self:end}.uvb-tabs{display:flex;gap:4px;margin:10px 12px 0;border-bottom:1px solid var(--line)}.uvb-tabs button{padding:7px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:-1px}.uvb-tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:#c9a24a}.uvb .assembly-library .fgrid4{grid-template-columns:repeat(2,minmax(0,1fr))}.uvb .assembly-library table{table-layout:auto}.uvb .assembly-library col{width:auto!important}.uvb .assembly-library td .btn{white-space:nowrap}.app-top .wrap{align-items:start}.app-heading h1{margin:0;line-height:35px}.app-heading .tag{margin:4px 0 0;line-height:20px}.app-identity{align-items:center}.app-links button:last-child{padding-right:0}@media (max-width:1000px){.app-heading h1{line-height:1.3}.app-heading .tag{margin-top:2px}}
