@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--green-rgb: 77 196 122;--green: #4DC47A;--green-dark: #3AAD6A;--orange: #F5A623;--orange-dark: #D4880A;--red: #E5484D;--on-green: #06130b;--on-orange: #1a1000;--line: var(--br-2);--warn: #8A5200;--bg: #0A0A0A;--bg-2: #131313;--bg-3: #1A1A1A;--bg-4: #222222;--tx: #F0F0EB;--tx-2: rgba(240,240,235,.62);--tx-3: rgba(240,240,235,.42);--br: rgba(255,255,255,.07);--br-2: rgba(255,255,255,.12);--ctl-br: rgba(255,255,255,.12);--warn-tx: #ff8f93;--ink: #F0F0EB;--on-ink: #0A0A0A;--accent: #6FDB70;--accent-ink: #0A140B;--accent-soft: rgba(111,219,112,.14);--accent-line: rgba(111,219,112,.32);--blue: #4FA8E8;--panel2: var(--bg-3);--warn-bg: var(--yellow-bg);--row-hover: #151c17;--row-sel: #17251b;--yellow-bg: rgba(245,166,35,.1);--yellow-br: rgba(245,166,35,.35);--pick-bg: rgba(56,139,253,.12);--pick-br: rgba(56,139,253,.38);--out-bg: rgba(77,196,122,.1);--out-br: rgba(77,196,122,.3);--cA:#00A651;--cB:#8DC63F;--cC:#C5E86C;--cD:#FFF200;--cE:#FBB040;--cF:#F26522;--cG:#ED1C24;--pc1:#4FA8E8;--pc2:#4FD9C2;--pc3:#7BD44A;--pc4:#E0CE3C;--pc5:#F09A3C;--pc6:#F0736B;--pc7:#E070C8;--pc8:#9B8CF5;--pc-ink:#0A0A0A;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 12px;--sp-6: 16px;--sp-7: 20px;--sp-8: 24px;--sp-9: 32px;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--r-full: 999px;--r-cell: 2px;--ic-xs: 12px;--ic-sm: 14px;--ic-md: 16px;--ic-lg: 20px;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 14px;--fs-xl: 15px;--fs-2xl: 22px;--fw-regular: 400;--fw-medium: 600;--fw-bold: 700;--fw-display: 800;--lh-tight: 1.2;--lh-snug: 1.35;--lh-body: 1.5;--fs-3xl: 28px;--fs-4xl: 36px;--fs-display: clamp(32px, 2.2vw + 22px, 48px);--fw-title: 500;--lh-display: 1.05;--dur-1: .12s;--dur-2: .22s;--ease-out: cubic-bezier(.2, .7, .2, 1);--el-1: 0 2px 10px rgba(0,0,0,.22);--el-2: 0 8px 24px rgba(0,0,0,.34);--el-3: 0 18px 44px rgba(0,0,0,.45);--el-4: 0 24px 60px rgba(0,0,0,.55);--bw-1: 1px;--bw-2: 2px;--h-sm: 36px;--h-md: 40px;--h-lg: 48px;--vp-thumb: 160px;--vp-panel: 240px;--vp-stage: 560px}@media(pointer:coarse){:root{--h-sm: 40px;--h-md: 44px;--h-lg: 48px}}:root[data-theme=light]{--bg: #F5F5F0;--bg-2: #FFFFFF;--bg-3: #EFEFEA;--bg-4: #E4E4DE;--tx: #111411;--tx-2: rgba(13,13,11,.75);--tx-3: rgba(13,13,11,.59);--br: rgba(17,20,17,.08);--br-2: rgba(17,20,17,.14);--ctl-br: rgba(0,0,0,.42);--warn-tx: #C0272D;--ink: #111411;--on-ink: #FFFFFF;--accent: #86E784;--accent-ink: #0A140B;--accent-soft: #DFF6DC;--accent-line: #B9ECB4;--blue: #1E6FB0;--panel2: var(--bg-3);--warn-bg: var(--yellow-bg);--row-hover: #e4efe6;--row-sel: #d8e9dc;--yellow-bg: #fff6db;--yellow-br: #A3831F;--pick-bg: #e7f0fd;--pick-br: #6b96d6;--out-bg: #e6f4ea;--out-br: #9fceaf;--pc1:#1E6FB0;--pc2:#108577;--pc3:#46851D;--pc4:#86770E;--pc5:#AF6319;--pc6:#C2413A;--pc7:#A83A92;--pc8:#5A48C4;--pc-ink:#FFFFFF;--el-1: 0 1px 2px rgba(17,20,17,.05);--el-2: 0 8px 24px rgba(17,20,17,.08);--el-3: 0 16px 40px rgba(17,20,17,.12);--el-4: 0 24px 64px rgba(17,20,17,.18);--green-rgb: 18 115 63;--green: #12733F;--green-dark: #0E6335;--orange: #925600;--orange-dark: #7A4800;--red: #C0272D;--on-green: #FFFFFF;--on-orange: #FFFFFF}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,system-ui,sans-serif;font-size:var(--fs-lg);background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Inter,sans-serif;letter-spacing:-.02em}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;color:var(--tx)}.shell{display:flex;flex-direction:column;min-height:100%}.logo-wordmark{font-family:Inter,Arial,sans-serif;font-weight:600;font-size:16px;letter-spacing:-.033em;line-height:1.05}.main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:0 var(--sp-7) 80px}.card{background:var(--bg-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-lg);padding:var(--sp-7);margin-bottom:var(--sp-5)}.card-glass{background:radial-gradient(90% 90% at 100% 0%,color-mix(in srgb,var(--accent) 45%,var(--accent-soft)) 0%,var(--accent-soft) 60%,var(--bg-2) 100%);border-color:var(--accent-line)}.card h2{font-size:var(--fs-xl);margin-bottom:var(--sp-1)}.card .hint{font-size:var(--fs-sm);color:var(--tx-2);margin-bottom:var(--sp-5);line-height:var(--lh-body)}.grid{display:grid;gap:12px 14px}.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.f label{display:block;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--tx-2);margin-bottom:var(--sp-2)}.f label .u{color:var(--tx-3);font-weight:var(--fw-medium)}.inp,.sel{width:100%;height:var(--h-md);border-radius:var(--r-md);padding:0 var(--sp-5);font-size:var(--fs-md);background:var(--yellow-bg);border:var(--bw-1) solid var(--ctl-br);outline:none;transition:border .15s,background .15s}.inp::placeholder{color:var(--tx-3)}.inp:focus,.sel:focus{border-color:var(--green);background:var(--bg-4);box-shadow:0 0 0 3px var(--accent-soft)}.inp.num{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:var(--fs-sm)}.inp.out{background:var(--out-bg);border-color:var(--out-br);color:var(--green);font-weight:700;pointer-events:none;text-align:right}.inp.inv{border-color:var(--red);background:#e5484d14}.sel,.ssel>.inp,.wallpick-btn,[role=combobox]{background-color:var(--pick-bg);border-color:var(--pick-br)}.ssel>.inp.out{background-color:var(--out-bg);border-color:var(--out-br)}.sel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--tx-3) 50%),linear-gradient(135deg,var(--tx-3) 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}.ssel{position:relative;display:inline-block;width:100%}.ssel>.inp{padding-right:var(--sp-8)}.ssel-i{position:absolute;right:var(--sp-4);top:50%;transform:translateY(-50%);color:var(--tx-3);pointer-events:none}.ssel-recent{color:var(--tx-3);flex-shrink:0}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.tbl th{background:var(--bg-4);color:var(--tx-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:var(--sp-4);text-align:center;border:var(--bw-1) solid var(--br);white-space:nowrap}.tbl th.sym{text-transform:none;letter-spacing:0;font-size:var(--fs-sm)}.tbl td{border:var(--bw-1) solid var(--br);padding:var(--sp-2) var(--sp-3);vertical-align:middle}.tbl td.lbl{color:var(--tx-2);font-weight:var(--fw-medium);font-size:var(--fs-sm);white-space:nowrap;background:var(--bg-3)}.tbl tr.sum td{background:var(--out-bg);color:var(--green);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.tbl td .inp,.tbl td .sel{height:var(--h-sm);font-size:var(--fs-sm);border-radius:var(--r-sm)}.tblwrap{overflow-x:auto}.tbl-grid td .inp,.tbl-grid td .sel{border-radius:var(--r-cell);padding-left:var(--sp-3);padding-right:var(--sp-3)}.tbl-grid td .sel{padding-right:var(--sp-8)}.tbl-grid td .inp:focus,.tbl-grid td .sel:focus,.tbl-grid td .wallpick-btn:focus-visible{background:var(--yellow-bg);border-color:var(--green);box-shadow:inset 0 0 0 var(--bw-1) var(--green)}.tbl-grid td .inp.out{background:var(--out-bg)}.tbl-grid td .inp.inv,.tbl-grid td .inp.inv:focus{background:#e5484d14;border-color:var(--red);box-shadow:none}.tbl-grid td .inp.warnrange{background:#f5a62312;border-color:var(--orange)}@supports selector(:has(*)){.tbl-grid td:has(.inp:not(.out)):not(:has(.rad-params)){background-color:var(--yellow-bg)}.tbl-grid td:has(.sel):not(:has(.rad-params)),.tbl-grid td:has(.ssel):not(:has(.rad-params)),.tbl-grid td:has(.wallpick-btn):not(:has(.rad-params)){background-color:var(--pick-bg)}.tbl-grid td:has(.inp.autoval):not(:has(.rad-params)),.tbl-grid td:has(.inp.out):not(:has(.inp:not(.out))):not(:has(.sel)):not(:has(.ssel)):not(:has(.rad-params)),.tbl-grid td:has(>.der),.tbl-grid td:has(>.op-fig),.tbl-grid td:has(>.op-stack>.der),.tbl-grid td:has(>.op-inline>.der){background-color:var(--out-bg)}.tbl-grid td:has(.inp.typedval){background-color:var(--yellow-bg)}.tbl-grid td .rad-params .inp.autoval{background-color:var(--out-bg);border-color:var(--out-br)}.tbl-grid td .inp,.tbl-grid td .sel{background-color:transparent;border-color:transparent;border-radius:0;width:100%;padding-left:0;padding-right:0}.tbl-grid td .sel{padding-right:var(--sp-7)}.tbl-grid td .ssel>.inp{padding-right:var(--sp-7)}.tbl-grid td .ssel>.ssel-i{right:0}.tbl-grid td .wallpick-btn{padding:var(--sp-2) 0}.tbl-grid td .inp:focus,.tbl-grid td .sel:focus,.tbl-grid td .wallpick-btn:focus-visible{background-color:transparent;border-color:transparent;box-shadow:none}.tbl-grid td .sel,.tbl-grid td .ssel>.inp,.tbl-grid td .wallpick-btn{background-color:transparent;border-color:transparent}.tbl-grid td .inp.out{background-color:transparent;border-color:transparent}.tbl-grid td:focus-within{box-shadow:inset 0 0 0 var(--bw-2) var(--green)}.tbl-grid td:has(.inp.inv){background-color:#e5484d1f}.tbl-grid td:has(.inp.inv):focus-within{box-shadow:inset 0 0 0 var(--bw-2) var(--red)}.tbl-grid td:has(.inp.warnrange){background-color:#f5a62329}.tbl-grid td .inp.inv,.tbl-grid td .inp.inv:focus,.tbl-grid td .inp.warnrange{background-color:transparent;border-color:transparent}.tbl-grid td .op-stack{width:100%;align-items:stretch}.tbl-grid td .op-inline{width:100%}.tbl-grid td .op-inline>.inp,.tbl-grid td .op-inline>.sel,.tbl-grid td .op-inline>.ssel{flex:1 1 auto;min-width:0}.tbl-grid td .op-inline>*:not(.inp):not(.sel):not(.ssel){flex:none}.tbl-grid td .op-end{justify-content:flex-end}.tbl-grid td .op-auto,.tbl-grid td .op-off{padding-left:0}.tbl-grid td:has(.rad-params):focus-within{box-shadow:none}.tbl-grid td .rad-params .inp,.tbl-grid td .rad-params .sel{background-color:var(--yellow-bg);border-color:var(--yellow-br);border-radius:var(--r-cell);padding-left:var(--sp-3);padding-right:var(--sp-3)}.tbl-grid td .rad-params .sel{padding-right:var(--sp-8)}.tbl-grid td .rad-params .ssel>.inp{padding-right:var(--sp-8)}.tbl-grid td .rad-params .ssel>.ssel-i{right:var(--sp-4)}.tbl-grid td .rad-params .inp:focus,.tbl-grid td .rad-params .sel:focus{border-color:var(--green);box-shadow:inset 0 0 0 var(--bw-1) var(--green)}}.tbl-grid td{height:var(--h-lg);padding:var(--sp-3) var(--sp-4)}.tbl-grid tbody tr:hover td,.tbl-grid tbody tr:hover td.lbl{background-color:var(--row-hover)}.tbl-grid tr.sum:hover td{background-color:var(--out-bg)}.tbl-grid th{padding:var(--sp-3) var(--sp-4);white-space:normal;line-height:var(--lh-snug);vertical-align:middle;border-bottom:var(--bw-2) solid var(--br-2)}.tbl-grid th>span{display:inline-flex;align-items:center;gap:var(--sp-2)}.tbl-grid th:first-child:not([colspan]),.tbl-grid td:first-child:not([colspan]){position:sticky;left:0;z-index:2;box-shadow:inset -1px 0 0 var(--br-2),inset 0 -1px 0 var(--br)}.tbl-grid th:first-child:not([colspan]){background:var(--bg-4)}.tbl-grid td:first-child:not([colspan]){background:var(--bg-3)}.tbl-grid tbody tr:hover td:first-child{background-color:var(--row-hover)}.tbl-grid td .op-stack,.tbl-grid td .op-inline,.tbl-grid td .rad-params{min-width:0}.tbl-grid td .rad-params{row-gap:var(--sp-5)}.tbl-grid td .op-auto,.tbl-grid td .op-off,.tbl-grid td .rad-f-l{white-space:normal;max-width:26ch}.tbl-grid td .wallpick-btn{height:auto;min-height:var(--h-sm);width:100%;padding:var(--sp-2) var(--sp-3);white-space:normal;text-align:left;line-height:var(--lh-snug)}.wallpick-btn{background-image:none;position:relative;gap:var(--sp-2)}.wallpick-btn>.wp-lbl{flex:1 1 auto;min-width:0}.wallpick-btn>.ssel-i{position:static;transform:none;flex:none}.tbl-grid td .op-inline>svg,.tbl-grid td .rad-i-water,.tbl-grid td .rad-i-elec{flex:none;width:var(--ic-sm);height:var(--ic-sm)}.tbl-grid tbody tr.op-on td,.tbl-grid tbody tr.op-on:hover td,.tbl-grid tbody tr.op-on td:first-child{background-color:var(--row-sel)}.tbl-grid .tbl-grid td:first-child,.tbl-grid .tbl-grid th:first-child{position:static;box-shadow:none}.tc{text-align:center}.tr{text-align:right}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--h-md);padding:0 var(--sp-6);border:none;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-snug);transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out);text-decoration:none}.btn-ico{gap:var(--sp-3)}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:hover{background:color-mix(in srgb,var(--ink) 86%,var(--bg-2))}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink))}.btn-outline{background:var(--bg-2);color:var(--tx);border:var(--bw-1) solid var(--ctl-br)}.btn-outline:hover{background:var(--bg-3)}.btn-ghost{background:transparent;color:var(--tx-2)}.btn-ghost:hover{color:var(--tx)}.btn-sm{min-height:var(--h-sm);padding:0 var(--sp-5);font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-lg{min-height:var(--h-lg);padding:0 var(--sp-7);font-size:var(--fs-lg)}.btn-danger{background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--red);border:var(--bw-1) solid color-mix(in srgb,var(--red) 30%,transparent)}.btn-icon{padding:0;width:var(--h-md);min-width:var(--h-md)}.btn-icon.btn-sm{width:var(--h-sm);min-width:var(--h-sm)}.btn-icon.btn-lg{width:var(--h-lg);min-width:var(--h-lg)}.btn-quiet{position:relative;min-height:0;min-width:0;width:auto;padding:var(--sp-1) var(--sp-2)}.btn-quiet:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--h-md);height:var(--h-md)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn.is-loading{pointer-events:none;opacity:.7}.btn-spin{animation:btnspin 1s linear infinite}@keyframes btnspin{to{transform:rotate(360deg)}}.stat{display:inline-flex;flex-direction:column;background:var(--bg-3);border:none;border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);margin:var(--sp-2) var(--sp-4) var(--sp-2) 0;min-width:140px}.stat b{font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:var(--tx);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;line-height:var(--lh-tight)}.stat span{font-size:var(--fs-xs);color:var(--tx-2);margin-top:var(--sp-1)}.stat.green b{color:var(--green)}.statrow{display:flex;flex-wrap:wrap;align-items:stretch}.tag{display:inline-block;border-radius:var(--r-full);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-2xs);font-weight:var(--fw-medium)}.tag-ico{display:inline-flex;align-items:center;gap:var(--sp-2);vertical-align:-.15em}.tag>svg{flex:none;width:var(--ic-xs);height:var(--ic-xs)}.tag.req{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}.tag.rec{background:var(--yellow-bg);color:var(--orange)}.tag.no{background:var(--bg-4);color:var(--tx-3)}.tag.ok{background:var(--out-bg);color:var(--green)}.warn{background:color-mix(in srgb,var(--red) 8%,transparent);border:var(--bw-1) solid color-mix(in srgb,var(--red) 28%,transparent);color:var(--warn-tx);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-md);margin:var(--sp-4) 0}.okbox{background:var(--out-bg);border:var(--bw-1) solid var(--out-br);color:var(--green);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-md);margin:var(--sp-4) 0}.mos{color:var(--green);font-weight:800}.nomos{color:var(--red);font-weight:800}.live{position:fixed;right:16px;bottom:16px;width:230px;background:var(--bg-2);border:1px solid var(--br-2);color:var(--tx);border-radius:16px;padding:14px 16px;box-shadow:var(--el-3);z-index:60}.live .row{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;color:var(--tx-2)}.live .row b{color:var(--tx);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.live .cls{display:flex;align-items:center;gap:12px;margin-top:9px;padding-top:9px;border-top:1px solid var(--br)}.live .badge{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:Inter;font-size:28px;font-weight:800;color:#111}.projgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:var(--sp-6)}.projcard{display:flex;flex-direction:column;background:var(--bg-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-lg);padding:var(--sp-6);cursor:pointer;transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}.projcard:hover{border-color:var(--br-2);box-shadow:var(--el-1)}.projcard h3{font-size:var(--fs-xl);font-weight:var(--fw-medium);margin-bottom:var(--sp-2);line-height:var(--lh-tight)}.projcard .meta{font-size:var(--fs-sm);color:var(--tx-3)}.projcard .row2{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:auto;padding-top:var(--sp-5);border-top:var(--bw-1) solid var(--br)}.projcard .row2>span:first-child{min-width:0;overflow-wrap:anywhere}.projcard .row2>span:last-child{flex:none;white-space:nowrap}.zonehead{display:flex;align-items:center;gap:var(--sp-5);min-height:var(--h-lg);padding:var(--sp-3) var(--sp-5);background:var(--bg-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-md);cursor:pointer;margin-bottom:var(--sp-4)}.zonehead:hover{border-color:var(--br-2)}.zonehead .znm{font-weight:var(--fw-medium);min-width:0;overflow-wrap:anywhere}.zonehead .zh{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);color:var(--green)}.layers.dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.lay-row{position:relative}.lay-row .lay-grip{color:var(--tx-3);display:inline-flex;cursor:grab;flex-shrink:0}.lay-row:hover .lay-grip{color:var(--tx-2)}.lay-row.sel{border-color:var(--green);background:var(--out-bg)}.lay-row.drag{opacity:.45}.lay-row .lay-acts{display:inline-flex;align-items:center;gap:var(--sp-2);margin-left:var(--sp-5)}.lay-icon{background:none;border:none;color:var(--tx-3);display:inline-flex;align-items:center;padding:var(--sp-2);border-radius:var(--r-sm);cursor:pointer}.lay-icon:hover{color:var(--tx);background:var(--bg-4)}.lay-icon.danger:hover{color:var(--red)}.lay-chip{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--tx-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-4);white-space:nowrap}.lay-chip.ok{color:var(--green);border-color:var(--out-br);font-family:JetBrains Mono,monospace}.lay-chip.warn{color:var(--orange);border-color:var(--orange)}.lay-drop{height:3px;border-radius:var(--r-full);background:var(--accent);margin:3px 0 5px;box-shadow:0 0 8px color-mix(in srgb,var(--accent) 60%,transparent)}.lay-end{height:10px}.toastbox{position:fixed;left:50%;bottom:84px;transform:translate(-50%);z-index:99;display:flex;flex-direction:column;gap:6px}.toast{background:var(--green);color:var(--on-green);padding:var(--sp-4) var(--sp-6);border-radius:var(--r-md);font-size:var(--fs-md);font-weight:var(--fw-bold);box-shadow:var(--el-2)}.toast.toast-undo{background:var(--bg-4);color:var(--tx);border:1px solid var(--br-2);display:flex;align-items:center;gap:12px}.toast-undo-btn{background:#4dc47a29;color:var(--green);border:1px solid var(--out-br);border-radius:8px;padding:5px 12px;font-size:12px;font-weight:800}.toast-undo-btn:hover{background:#4dc47a47}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .14s ease}.modal{background:var(--bg-2);border:1px solid var(--br-2);border-radius:16px;padding:20px 22px;width:min(420px,100%);box-shadow:var(--el-4);animation:popIn .16s ease}.modal-msg{font-size:var(--fs-lg);line-height:1.55;margin-bottom:16px}.modal-btns{display:flex;gap:10px;justify-content:flex-end}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.paper{background:#fff;color:#111;border-radius:12px;padding:26px 32px;font-family:Times New Roman,serif;font-size:13px;--line: #B0B4AE}.paper h3{font-family:Times New Roman,serif;text-align:center;font-size:15px;margin:14px 0 8px}.paper table{width:100%;border-collapse:collapse;margin-bottom:10px;font-size:12.5px}.paper th{background:#e8edf5;border:1px solid #999;padding:4px 7px;font-size:11.5px}.paper td{border:1px solid #999;padding:4px 7px}.paper td.v{text-align:center}.paper td.r{text-align:right}@media print{:root{--bg: #fff;--bg-2: #fff;--bg-3: #f2f2f2;--bg-4: #e7e7e7;--tx: #111;--tx-2: #444;--tx-3: #777;--br: #ccc;--br-2: #aaa;--yellow-bg: #fff8e1;--out-bg: #e9f5ec}body{background:#fff;color:#111}.topbar,.pagehead,.navpills,.live,.noprint,.toastbox{display:none!important}.main{max-width:none;padding:0}.card{border:none;background:#fff;color:#111;padding:0}body.printing *{visibility:hidden}body.printing .printme,body.printing .printme *{visibility:visible}body.printing .printme{position:absolute;left:0;top:0;width:100%}}@media(max-width:1024px){.main{padding:14px 12px calc(90px + env(safe-area-inset-bottom,0px))}.g4{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media(max-width:760px){.inp,.sel{font-size:16px;height:var(--h-md)}.live{width:176px;padding:10px 12px}.live .badge{width:40px;height:40px;font-size:22px}.main{padding:12px 10px calc(90px + env(safe-area-inset-bottom,0px))}.card{padding:var(--sp-6);border-radius:12px}.stat{min-width:120px;padding:8px 11px}}@media(pointer:coarse){.roomhead,.zonehead{min-height:var(--h-lg)}.tag{font-size:var(--fs-sm);padding:3px 9px}.toast-undo-btn{min-height:var(--h-md);padding:0 var(--sp-6)}button,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}.tbl td.cell-wrap{white-space:normal;min-width:220px;line-height:1.4}.uimenu-pop{position:absolute;top:calc(100% + 10px);right:0;z-index:80;width:min(300px,calc(100vw - 24px));background:var(--bg-2);border:1px solid var(--br-2);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--el-3);animation:uimenu-in .18s ease both}@keyframes uimenu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.uimenu-pop{animation:none}}.uimenu-lbl{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--tx-2);text-transform:uppercase;letter-spacing:.04em}.uimenu-val{font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--tx-2)}.uimenu-pop .sel{height:var(--h-md)}.uimenu-range{display:block;width:100%;height:var(--h-md);margin:0;padding:var(--sp-5) 0;accent-color:var(--ink);background:transparent;cursor:pointer;touch-action:manipulation}.uimenu-range:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:2px;border-radius:var(--r-sm)}.uimenu-ticks{display:flex;justify-content:space-between;margin-top:var(--sp-1);font-size:var(--fs-2xs);color:var(--tx-3);font-family:JetBrains Mono,monospace}.inp.warnrange{border-color:var(--orange);background:#f5a62312}.warnsoft{background:#f5a62314;border:1px solid rgba(245,166,35,.28);color:var(--orange);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-md);margin:8px 0}.tdot{width:6px;height:6px;border-radius:var(--r-full);display:inline-block;margin-left:var(--sp-3);vertical-align:middle}.tdot.ok{background:var(--green)}.tdot.todo{background:var(--tx-3)}.peerdot{width:6px;height:6px;border-radius:3px;display:inline-block;margin-left:7px;vertical-align:middle;background:var(--blue, #4fa8e8);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue, #4fa8e8) 25%,transparent)}.live-chip{display:inline-flex;align-items:center;gap:var(--sp-3);margin-left:auto;padding:0 var(--sp-4);border:var(--bw-1) solid var(--br);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--blue, #4fa8e8);white-space:nowrap;align-self:center}.zpages{display:flex;gap:var(--sp-3);overflow-x:auto;padding:var(--sp-2) 0 var(--sp-4)}.zpages button{display:inline-flex;align-items:center;gap:var(--sp-3);white-space:nowrap;min-height:var(--h-md);padding:0 var(--sp-5);border:var(--bw-1) solid transparent;background:transparent;color:var(--tx-2);border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.zpages button:hover{color:var(--tx);border-color:var(--br-2);background:var(--bg-3)}.zpages button.act{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.roomhead{display:flex;align-items:center;gap:var(--sp-5);min-height:var(--h-lg);padding:var(--sp-4) var(--sp-5);background:var(--bg-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-md);cursor:pointer}.roomhead:hover{border-color:var(--br-2)}.roomhead:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:2px}.roomhead .rkwh{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);color:var(--green)}.live-min{width:auto;padding:9px;cursor:pointer;display:flex;align-items:center;gap:8px}.live{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}.toastbox{bottom:calc(84px + env(safe-area-inset-bottom,0px))}@media(hover:none){.btn-primary:hover{background:var(--green);transform:none;box-shadow:none}.projcard:hover{transform:none}}.btn:not(:disabled):active,.pill:not(:disabled):active,.chip:not(:disabled):active,.segv button:not(:disabled):active,.roomhead:active,.zonehead:active,.projcard:active{transform:scale(.98);filter:brightness(.94)}.projcard:active{transform:scale(.995)}.lazyfall{display:flex;align-items:center;justify-content:center;min-height:240px;color:var(--tx-3);font-size:var(--fs-sm)}.lazyfall-thumb{width:var(--vp-thumb);height:var(--vp-thumb);min-height:0;border-radius:var(--r-md);background:var(--bg-4)}@media(prefers-reduced-motion:reduce){.btn:not(:disabled):active,.pill:not(:disabled):active,.chip:not(:disabled):active,.segv button:not(:disabled):active,.roomhead:active,.zonehead:active,.projcard:active{transform:none}}@media(prefers-reduced-motion:reduce){.btn-spin{animation:none}}@property --tblfade{syntax: "<length>"; inherits: false; initial-value: 0px;}@keyframes tblfade-hint{0%,86%{--tblfade: 28px}to{--tblfade: 0px}}@media(max-width:560px){.card,.zonehead,.roomhead{scroll-margin-top:calc(var(--topbar-h, calc(64px + env(safe-area-inset-top, 0px)) ) + var(--sp-9))}.grid.g2,.grid.g3,.grid.g4{grid-template-columns:1fr}.card{padding:var(--sp-5);border-radius:12px}.main{padding:12px 10px calc(120px + env(safe-area-inset-bottom,0px))}.toastbox{bottom:calc(150px + env(safe-area-inset-bottom,0px))}.inp,.sel{height:var(--h-md);font-size:16px}.inp.num{font-size:16px}.tbl td .inp,.tbl td .sel{height:var(--h-md);font-size:16px}.zpages{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.zpages::-webkit-scrollbar{display:none}.zpages button{scroll-snap-align:start}.zpages{margin:0 -12px;padding:4px 12px 10px;scroll-padding:0 12px}.tblwrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(to left,transparent 0,#000 var(--tblfade));mask-image:linear-gradient(to left,transparent 0,#000 var(--tblfade));animation-name:tblfade-hint;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(self x)}@supports not (animation-timeline: scroll()){.tblwrap{--tblfade: 24px}}.tbl th:first-child{position:sticky;left:0;z-index:2;background:var(--bg-4);box-shadow:inset -1px 0 0 var(--br-2),inset 0 -1px 0 var(--br)}.tbl td.lbl:first-child{position:sticky;left:0;z-index:1;background:var(--bg-3);box-shadow:inset -1px 0 0 var(--br-2),inset 0 -1px 0 var(--br)}.tbl tr.sum td:first-child{position:sticky;left:0;z-index:1;background-color:var(--bg-2);background-image:linear-gradient(var(--out-bg),var(--out-bg));box-shadow:inset -1px 0 0 var(--br-2),inset 0 -1px 0 var(--br)}.tbl th{font-size:11px;padding:8px 6px}.tbl td.cell-wrap{min-width:150px}}.b3d{perspective:480px;flex:none;pointer-events:none;-webkit-user-select:none;user-select:none}.b3d-spin{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:b3d-turn 24s ease-in-out infinite}.b3d-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center}.b3d-back{transform:translateZ(calc(-1 * var(--b3d-depth, 14px)));opacity:.42;filter:saturate(.5) brightness(.6)}.b3d-still>.b3d-spin{animation:none;transform:rotateY(-16deg)}@keyframes b3d-turn{0%{transform:rotateY(-22deg)}50%{transform:rotateY(22deg)}to{transform:rotateY(-22deg)}}@media(prefers-reduced-motion:reduce){.b3d-spin{animation:none;transform:rotateY(-16deg)}}@media(hover:none){.b3d-spin{animation-duration:72s}}.projcard:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:2px}.pc-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:calc(var(--vp-thumb) + var(--sp-6));margin:calc(var(--sp-6) * -1) calc(var(--sp-6) * -1) var(--sp-6);border-radius:calc(var(--r-lg) - var(--bw-1)) calc(var(--r-lg) - var(--bw-1)) 0 0;background:radial-gradient(circle at 50% 42%,var(--bg-3) 0%,var(--bg-2) 72%);border:none;border-bottom:var(--bw-1) solid var(--br);overflow:hidden}.pc-stage canvas{display:block}.pc-stage .pc-cls{position:absolute;top:var(--sp-4);right:var(--sp-4)}.pc-ttl{min-width:0;height:58px;overflow:hidden}.pc-ttl h3{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.projcard .meta{overflow-wrap:anywhere}.pc-addr{margin-top:2px;overflow-wrap:anywhere}.pc-cls{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);flex:none}.pc-chip{width:34px;height:34px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xl);font-weight:var(--fw-display);line-height:1;color:#111}.pc-chip.none{background:var(--bg-4);color:var(--tx-3);font-size:var(--fs-xl)}.pc-delta{font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);color:var(--tx-3);white-space:nowrap;background:var(--bg-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-3)}.pc-delta.over{color:var(--orange)}.pc-delta.under{color:var(--green)}.pc-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) var(--sp-4);margin-top:var(--sp-5)}.pc-m{background:var(--bg-3);border:none;border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);min-width:0}.pc-m span{display:block;font-size:var(--fs-2xs);color:var(--tx-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-m b{display:block;font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-m.wide{grid-column:span 2}.pc-sub{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);margin-top:var(--sp-5)}.pc-ready{display:inline-flex;align-items:center;gap:2px}.pc-ready .tdot{margin-left:0}.pc-ready em{font-style:normal;font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);color:var(--tx-2);margin-left:var(--sp-3)}.pc-tag{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--tx-3);background:var(--bg-3);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-4)}.pc-none{margin-top:var(--sp-5);font-size:var(--fs-sm);color:var(--tx-3);line-height:var(--lh-body)}.setrow{display:flex;align-items:center;gap:var(--sp-6);padding:var(--sp-5) 0;border-bottom:var(--bw-1) solid var(--br)}.setrow:last-child{border-bottom:none}.setrow-l{flex:1;min-width:0}.setrow-lbl{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--tx)}.setrow-hint{display:block;font-size:var(--fs-xs);color:var(--tx-3);margin-top:var(--sp-1);line-height:var(--lh-body)}.setrow-c{flex:none;width:min(260px,46%)}.setrow-c.wide{width:min(360px,60%)}.chkrow{display:inline-flex;align-items:center;gap:var(--sp-4);min-height:var(--h-sm);font-size:var(--fs-sm);color:var(--tx-2);cursor:pointer}.chkrow input{width:16px;height:16px;flex:none;accent-color:var(--green);cursor:pointer}.chkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--sp-2) var(--sp-6);margin:var(--sp-3) 0 var(--sp-2)}.numprev{margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:var(--out-bg);border:var(--bw-1) solid var(--out-br);color:var(--green);font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.btnrow{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.btnrow .btn[disabled]{opacity:.5;cursor:not-allowed}.paylist{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.paylist .btn[disabled]{opacity:.55;cursor:not-allowed}.orglogo{margin-top:var(--sp-5)}.orglogo img{max-height:56px;max-width:200px;background:var(--bg-3);border:var(--bw-1) solid var(--br);border-radius:var(--r-md);padding:var(--sp-2)}.mrow{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-4) 0;border-bottom:var(--bw-1) solid var(--br)}.mrow:last-of-type{border-bottom:none}.mrow .mnm{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--tx)}.mrow .mrl{margin-left:auto;flex:none;width:150px}@media(max-width:560px){.pc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.setrow{flex-direction:column;align-items:stretch;gap:8px}.setrow-c,.setrow-c.wide{width:100%}.mrow{flex-wrap:wrap}.mrow .mrl{width:100%;margin-left:0}}.locknote{display:flex;align-items:flex-start;gap:var(--sp-4);margin:0 0 var(--sp-4);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:var(--lh-body);background:var(--yellow-bg);border:var(--bw-1) solid var(--yellow-br);color:var(--tx-2)}.locknote>svg{flex:none;margin-top:1px;color:var(--orange);width:var(--ic-sm);height:var(--ic-sm)}.paper .pbreak{break-before:page;page-break-before:always}.paper .pbreak:first-child{break-before:auto;page-break-before:auto}.paper td.mono,.paper .fb-subst{font-family:JetBrains Mono,Consolas,monospace;font-size:10.5px}.fblock{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:8px 0;break-inside:avoid;page-break-inside:avoid}.fb-name{font-weight:700;font-size:12px;margin-bottom:4px}.fb-custom{margin-left:8px;font-weight:500;font-size:10.5px;color:var(--warn)}.fb-sym{font-family:"Cambria Math",Times New Roman,serif;font-style:italic;font-size:13px;text-align:center;margin:4px 0 6px}.fb-terms{margin:0 0 6px}.fb-terms td{padding:1px 6px;border:none;font-size:11px}.fb-subst{text-align:center;margin:2px 0 4px;word-break:break-word}.fb-res{text-align:center;font-size:12.5px}.fb-src{font-size:10px;font-style:italic;opacity:.7;margin-top:4px}input.inp[type=color]{height:var(--h-md);padding:var(--sp-1)}.pc-name{display:flex;align-items:flex-start;gap:var(--sp-2)}.pc-name h3{flex:1;min-width:0}.pc-edit{flex:none;opacity:0;transition:opacity var(--dur-1) var(--ease-out)}.projcard:hover .pc-edit,.pc-edit:focus-visible{opacity:1}@media(hover:none){.pc-edit{opacity:.55}}.pc-rename{width:100%;font-size:var(--fs-lg)}.bridge-prev-wrap{display:flex;align-items:flex-start;gap:var(--sp-4);background:var(--panel2);border:var(--bw-1) solid var(--br);border-radius:var(--r-md);padding:var(--sp-4)}.bridge-prev{flex:1;min-width:0}.expmenu{position:relative;display:inline-flex}.pop.expmenu-pop{width:min(420px,calc(100vw - 32px));max-width:none;z-index:90;padding:var(--sp-5)}.expmenu-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4);font-size:var(--fs-lg);font-weight:var(--fw-medium)}.expmenu-lbl{margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--tx-2)}.pillrow.expmenu-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:var(--sp-2) var(--sp-5);align-items:stretch}.expmenu-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);margin-top:var(--sp-4);font-size:var(--fs-md);color:var(--tx-2)}.expmenu-row .sel{height:var(--h-sm);font-size:var(--fs-sm)}.expmenu-fmt{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.expmenu-zip{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:var(--bw-1) solid var(--br)}.expmenu-zip .hint{margin:var(--sp-3) 0 0}.expmenu-bar{height:6px;border-radius:var(--r-full);background:var(--bg-4);overflow:hidden}.expmenu-bar i{display:block;height:100%;background:var(--green);transition:width var(--dur-2) var(--ease-out)}@media(max-width:560px){.pop.expmenu-pop{left:auto;right:0}}.printbrand{display:none}@media print{:root,:root[data-theme=dark],:root[data-theme=light]{--bg: #fff;--bg-2: #fff;--bg-3: #f2f2f2;--bg-4: #e7e7e7;--tx: #111;--tx-2: #444;--tx-3: #777;--br: #ccc;--br-2: #aaa;--row-hover: #f4f4f4;--row-sel: #eef4ef;--yellow-bg: #fff8e1;--yellow-br: #d9b23a;--out-bg: #e9f5ec;--out-br: #9fceaf}.printbrand{display:flex;position:fixed;top:0;left:0;right:0;align-items:center;justify-content:space-between;gap:10px;border-bottom:.5pt solid #bbb;padding-bottom:3mm;margin-bottom:3mm;font-family:Arial,Helvetica,sans-serif;font-size:9pt;color:#333}.printbrand .pb-name{font-weight:700;color:#0e1512}body.printing .printbrand,body.printing .printbrand *{visibility:visible!important}}.expmodal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.expmodal{width:min(420px,calc(100vw - 40px));background:var(--bg-2);border:var(--bw-1) solid var(--br-2);border-radius:var(--r-lg);padding:var(--sp-7) var(--sp-7) var(--sp-6);box-shadow:var(--el-4);display:flex;flex-direction:column;gap:var(--sp-5)}.expmodal-title{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-xl);font-weight:var(--fw-medium)}.expmodal-title>svg{flex:none;color:var(--tx-2)}.expmodal-lbl{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-5);font-size:var(--fs-md);color:var(--tx-2)}.expmodal .hint{margin:0}.expmenu-bar.big{height:10px;border-radius:var(--r-full)}@media print{.expmodal-back{display:none!important}}.btn:focus-visible,.btn-ghost:focus-visible,.zpages button:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:1px}.inp:focus-visible,.sel:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--bw-1) var(--green)}.tbl-grid td .inp:focus-visible,.tbl-grid td .sel:focus-visible,.tbl-grid td .wallpick-btn:focus-visible{outline:none}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-8);color:var(--tx-2);font-size:var(--fs-sm);text-align:center}.empty>svg{background:var(--accent-soft);color:var(--green);border-radius:var(--r-full);padding:var(--sp-4);box-sizing:content-box;flex:none;width:var(--ic-lg);height:var(--ic-lg)}.wallpick-btn{display:flex;align-items:center}.wallpick-pop [role=option]:hover{background:var(--bg-3)}.wallpick-pop [role=option][aria-disabled=true]:hover{background:transparent}.live-slot{display:flex;align-items:center}.live-menu{position:relative;display:inline-flex;align-items:center;gap:8px}.live-chip{display:inline-flex;align-items:center;gap:var(--sp-3);min-height:var(--h-sm);padding:0 var(--sp-4);margin-left:0;background:color-mix(in srgb,var(--blue, #4fa8e8) 10%,transparent);border:var(--bw-1) solid var(--blue, #4fa8e8);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--blue, #4fa8e8);white-space:nowrap;cursor:pointer}.live-chip:hover{background:var(--bg-3);color:var(--blue, #4fa8e8)}.live-chip.open{border-color:var(--blue, #4fa8e8);background:color-mix(in srgb,var(--blue, #4fa8e8) 14%,transparent)}.live-hold{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid var(--orange, #f5a623);background:#f5a6231f;color:var(--orange, #f5a623);font-size:var(--fs-sm);font-weight:700;white-space:nowrap}.live-hold.ok{border-color:var(--green);background:#4dc47a24;color:var(--green)}.live-pop{position:fixed;top:calc(var(--topbar-h, 64px) + var(--sp-3));right:14px;left:auto;width:min(300px,calc(100vw - 24px));gap:10px}.live-devs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.live-dev{display:flex;align-items:center;gap:9px}.live-dev>svg{flex:none;color:var(--blue, #4fa8e8)}.live-dev.mine>svg{color:var(--tx-2)}.live-dev-txt{display:flex;flex-direction:column;min-width:0}.live-dev-name{font-size:var(--fs-md);font-weight:600;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-dev-tab{font-size:11px;color:var(--tx-2)}.live-dev-tag{margin-left:auto;flex:none;padding:2px 7px;border-radius:999px;background:var(--bg-4);color:var(--tx-3);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}@media(max-width:560px){.live-pop{right:10px}.live-hold{padding:4px 7px}}.live-tags{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;pointer-events:none}.live-tagbox{position:absolute;border-radius:9px;pointer-events:auto;cursor:not-allowed;border:var(--bw-2) solid var(--pc, var(--blue, #4fa8e8));background:color-mix(in srgb,var(--pc, var(--blue, #4fa8e8)) 12%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pc, var(--blue, #4fa8e8)) 16%,transparent)}.live-tagname{position:absolute;right:-2px;bottom:calc(100% + 3px);pointer-events:none;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 7px;border-radius:999px;background:var(--pc, var(--blue, #4fa8e8));color:var(--pc-ink, #fff);font-size:10px;font-weight:700;letter-spacing:.02em;line-height:1.6}[data-livelock]{border-color:var(--pc, var(--blue, #4fa8e8))!important;background:color-mix(in srgb,var(--pc, var(--blue, #4fa8e8)) 8%,var(--bg-3))!important;color:var(--tx-2)!important}.zonelive{display:inline-flex;align-items:center;gap:5px;flex-shrink:1;min-width:0;pointer-events:none;padding:var(--sp-1) var(--sp-4) var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:var(--bg-3);border:var(--bw-1) solid var(--br)}.zonelive-dot{width:7px;height:7px;border-radius:var(--r-full);flex:none}.zonelive-txt{font-size:var(--fs-xs);color:var(--tx-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:560px){.zonelive-txt{display:none}}.livebar{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.45;border:1px solid var(--orange, #f5a623);background:#f5a6231a;color:var(--tx)}.livebar>svg{flex:none;color:var(--orange, #f5a623)}.livebar>span{flex:1;min-width:0}.livebar.ok{border-color:var(--green);background:#4dc47a1f}.livebar.ok>svg{color:var(--green)}.livebar-x{flex:none;background:none;border:none;padding:4px;line-height:0;cursor:pointer;color:var(--tx-3);border-radius:6px}.livebar-x:hover{color:var(--tx);background:var(--bg-3)}@media(max-width:560px){.livebar{font-size:var(--fs-md);padding:9px 10px}}.hs-modal{width:min(900px,96vw);max-height:min(860px,92vh);display:flex;flex-direction:column;padding:var(--sp-6) var(--sp-7) var(--sp-7)}.hs-head{display:flex;align-items:center;gap:var(--sp-5)}.hs-head h2{margin:0;flex:1;min-width:0;font-size:var(--fs-xl)}.hs-x{flex:none;min-width:var(--h-md);min-height:var(--h-md);display:inline-flex;align-items:center;justify-content:center}.hs-pages{padding:var(--sp-5) 0 var(--sp-5);flex:none}.hs-pages button{padding:0 var(--sp-6)}.hs-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.hs-list{display:flex;flex-direction:column;gap:var(--sp-2)}.hs-list .hint{margin:var(--sp-1) 0 var(--sp-4)}.hs-day{margin-bottom:var(--sp-5)}.hs-daylbl{position:sticky;top:0;z-index:1;background:var(--bg-2);padding:var(--sp-3) var(--sp-1);margin-bottom:var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--tx-3)}.hs-row{width:100%;display:flex;align-items:center;gap:var(--sp-5);text-align:left;min-height:var(--h-lg);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:var(--bg-2);border:var(--bw-1) solid var(--br);color:var(--tx);cursor:pointer;margin-bottom:var(--sp-2);transition:border-color var(--dur-1) var(--ease-out),background var(--dur-1) var(--ease-out)}.hs-row:hover{background:var(--row-hover);border-color:var(--br-2)}.hs-time{flex:none;width:46px;font-family:JetBrains Mono,monospace;font-size:var(--fs-md);color:var(--tx-2)}.hs-mid{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.hs-who{font-size:var(--fs-md);font-weight:var(--fw-medium)}.hs-kind{font-weight:var(--fw-medium)}.hs-edits{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--tx-2);white-space:nowrap}.hs-edits em{font-style:normal;font-size:var(--fs-xs);color:var(--tx-3);font-family:JetBrains Mono,monospace}.hs-go{flex:none;color:var(--tx-3)}.hs-detail{display:flex;flex-direction:column;gap:var(--sp-5)}.hs-dhead{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.hs-dwhen{font-family:JetBrains Mono,monospace;font-size:var(--fs-md)}.hs-dwho{font-size:var(--fs-md);color:var(--tx-2)}.hs-dsub{display:flex;align-items:center;gap:var(--sp-5);font-size:var(--fs-md);color:var(--tx-2)}.hs-count{padding:var(--sp-1) var(--sp-5);border-radius:var(--r-full);font-size:var(--fs-2xs);font-weight:var(--fw-medium);background:var(--out-bg);border:var(--bw-1) solid var(--out-br);color:var(--green)}.hs-groups{display:flex;flex-direction:column;gap:var(--sp-5)}.hs-group{border:var(--bw-1) solid var(--br);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-5) var(--sp-4);background:var(--bg-2)}.hs-scope{padding:var(--sp-4) 0 var(--sp-3);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--tx)}.hs-diff{display:flex;align-items:baseline;gap:var(--sp-4);padding:var(--sp-3) 0;border-top:var(--bw-1) solid var(--br);font-size:var(--fs-md);line-height:var(--lh-body)}.hs-dicon{flex:none;align-self:center;color:var(--tx-3)}.hs-add .hs-dicon{color:var(--green)}.hs-del .hs-dicon{color:var(--red)}.hs-set .hs-dicon{color:var(--orange)}.hs-dlbl{flex:1;min-width:0;color:var(--tx-2)}.hs-dval{flex:none;display:flex;align-items:baseline;gap:var(--sp-4);font-family:JetBrains Mono,monospace;font-size:var(--fs-sm)}.hs-dval s{color:var(--tx-3)}.hs-dval b{color:var(--green)}.hs-rawbtn{align-self:flex-start}.hs-raw{max-height:320px;overflow:auto;margin:0;background:var(--bg-3);border:var(--bw-1) solid var(--br);border-radius:var(--r-lg);padding:var(--sp-5);font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--tx-2)}.hs-actions{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:var(--sp-6);flex-wrap:wrap;padding:var(--sp-5) 0 var(--sp-1);margin-top:var(--sp-1);background:var(--bg-2);border-top:var(--bw-1) solid var(--br)}.hs-actions .btn-primary{min-height:var(--h-lg);padding:0 var(--sp-7)}.hs-safe{display:inline-flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--tx-3)}.hs-safe>svg{flex:none;color:var(--green)}.hs-trow{display:flex;align-items:center;gap:var(--sp-5);min-height:56px;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:var(--bg-3);border:var(--bw-1) solid var(--br)}.hs-ticon{flex:none;color:var(--tx-3)}.hs-tmid{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.hs-tlbl{font-size:var(--fs-md);font-weight:var(--fw-medium);display:flex;align-items:baseline;gap:var(--sp-4);flex-wrap:wrap}.hs-tinside{font-size:var(--fs-xs);font-style:normal;font-weight:500;color:var(--tx-3)}.hs-tmeta{font-size:var(--fs-xs);color:var(--tx-3);line-height:var(--lh-body)}.hs-trestore{flex:none}.hs-failed{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;padding:var(--sp-6) var(--sp-6);margin:var(--sp-4) 0;border-radius:var(--r-lg);background:color-mix(in srgb,var(--red) 8%,transparent);border:var(--bw-1) solid color-mix(in srgb,var(--red) 28%,transparent);font-size:var(--fs-md);color:var(--tx-2)}.hs-failed>span{flex:1;min-width:140px}.hs-ficon{flex:none;color:var(--red)}.hs-cpbar{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;margin:0 0 var(--sp-5)}.hs-cpbar .hint{margin:0;flex:1;min-width:140px}.hs-arow{display:flex;align-items:center;gap:var(--sp-5);min-height:var(--h-lg);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-lg);background:var(--bg-2);border:var(--bw-1) solid var(--br)}.hs-aname{flex:none;width:150px;font-size:var(--fs-md);font-weight:var(--fw-medium)}.hs-abar{flex:1;min-width:60px;height:6px;border-radius:var(--r-full);background:var(--bg-3);overflow:hidden}.hs-abar i{display:block;height:100%;background:var(--ink)}.hs-aedits{flex:none;font-size:var(--fs-sm);color:var(--tx-2);white-space:nowrap}.hs-awhen{flex:none;font-size:var(--fs-xs);color:var(--tx-3);font-family:JetBrains Mono,monospace;white-space:nowrap}.projseg{flex:none}.trashgrid{display:flex;flex-direction:column;gap:var(--sp-3)}@media(max-width:700px){.hs-modal{width:100%;max-height:94vh;padding:14px}.hs-row{flex-wrap:wrap;gap:8px}.hs-edits{flex-direction:row;align-items:baseline;gap:8px}.hs-diff{flex-wrap:wrap}.hs-dval{padding-left:22px}.hs-trow{flex-wrap:wrap}.hs-trestore{margin-left:28px}.hs-arow{flex-wrap:wrap}.hs-aname{width:auto;flex:1}.hs-awhen{width:100%;padding-left:0}}.vizcard{border:var(--bw-1) solid var(--br);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-2)}.vizstage{position:relative;width:100%}.vp-thumb{width:var(--vp-thumb);flex:none}.vp-thumb .vizstage{width:var(--vp-thumb);height:var(--vp-thumb);flex:none;display:flex;align-items:center;justify-content:center}.vp-panel .vizstage{aspect-ratio:4 / 3;max-width:calc(var(--vp-panel) * 4 / 3);margin-inline:auto}.vp-stage .vizstage{aspect-ratio:448 / 280;max-width:calc(var(--vp-stage) * 448 / 280);margin-inline:auto}.vizstage.vp-scaled{max-width:none;margin-inline:0}.vp-full{display:flex;flex-direction:column;height:100%;flex:1;min-height:0}.vp-full .vizstage{flex:1;aspect-ratio:auto;min-height:0;max-height:none;height:auto}.vp-bare{border:none;background:none;border-radius:0}.vizstage>.vp-fill,.vizstage>canvas,.vizstage>svg{display:block;width:100%;height:100%}.vizstage .vp-fill>canvas{display:block;width:100%;height:100%}.vizbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:56px;padding:var(--sp-4);background:var(--bg-2);border-bottom:var(--bw-1) solid var(--br)}.vizbar-b{border-bottom:none;border-top:var(--bw-1) solid var(--br)}.vizbar-lead{display:flex;align-items:center;gap:var(--sp-4);min-width:0}.vizbar .viz-chip{min-width:0}.vizbar .viz-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segv{display:inline-flex;gap:var(--sp-1);padding:var(--sp-1);border-radius:var(--r-full);background:var(--bg-3);border:var(--bw-1) solid var(--br);box-shadow:var(--el-1)}.segv button{display:inline-flex;align-items:center;gap:var(--sp-3);white-space:nowrap;min-height:var(--h-md);padding:0 var(--sp-5);border:none;border-radius:var(--r-full);background:transparent;color:var(--tx-2);font-size:var(--fs-sm);font-weight:var(--fw-bold);transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.segv button:hover{color:var(--tx);background:var(--bg-4)}.segv button.act{background:var(--ink);color:var(--on-ink)}.segv button:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:1px}.viz-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--h-md);height:var(--h-md);border-radius:var(--r-full);background:var(--bg-2);border:var(--bw-1) solid var(--br);color:var(--tx);box-shadow:var(--el-1);transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.viz-icon:hover{background:var(--bg-3)}.viz-icon.act{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.viz-icon:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:1px}.viz-chip{display:inline-flex;flex-direction:column;justify-content:center;gap:1px;min-height:var(--h-md);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);background:var(--bg-3);border:var(--bw-1) solid var(--br);box-shadow:var(--el-1)}.viz-chip b{font-size:var(--fs-md);line-height:1.15}.viz-chip span{font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);color:var(--tx-2);line-height:1.15}.viz-compass{background:var(--bg-2);border:var(--bw-1) solid var(--br-2);box-shadow:var(--el-1)}.plan-hit{outline:none}.plan-hit:focus-visible{stroke:rgba(var(--green-rgb) / .4)}.tbar{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-3)}.tbar-t{margin:0;font-family:Inter,sans-serif;font-size:var(--fs-xl);font-weight:var(--fw-medium);letter-spacing:-.02em;min-width:0}.tbar-sub{font-size:var(--fs-xs);color:var(--tx-3)}.tbar-gap{flex:1;min-width:0}.tbar-acts{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.sechead{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin:var(--sp-5) 0 var(--sp-4)}.sechead:first-child{margin-top:0}.sechead>svg{color:var(--green);flex:none;width:var(--ic-md);height:var(--ic-md)}.sechead-t{margin:0;font-family:Inter,sans-serif;font-size:var(--fs-xl);font-weight:var(--fw-medium);letter-spacing:-.02em}.sechead-eyebrow>svg{color:var(--tx-3);width:var(--ic-sm);height:var(--ic-sm)}.sechead-eyebrow .sechead-t{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--tx-2)}.sechead-hint{flex-basis:100%;font-size:var(--fs-sm);color:var(--tx-2);line-height:var(--lh-body);margin-top:calc(-1 * var(--sp-1))}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-4);background:var(--bg-3);color:var(--tx-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap}.chip>svg{flex:none;width:var(--ic-xs);height:var(--ic-xs)}.chip-ok{color:var(--green);border-color:var(--out-br);background:var(--out-bg)}.chip-warn{color:var(--orange);border-color:var(--yellow-br);background:var(--yellow-bg)}.chip-danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent);background:color-mix(in srgb,var(--red) 10%,transparent)}.chip-quiet{background:transparent;color:var(--tx-3)}.chip-mono,.mono{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:var(--sp-3);white-space:nowrap;min-height:var(--h-md);padding:0 var(--sp-5);border:var(--bw-1) solid var(--br);border-radius:var(--r-full);background:var(--bg-3);color:var(--tx-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.pill>svg{flex:none}.pill:hover{color:var(--tx);border-color:var(--br-2)}.pill[aria-checked=true],.pill[aria-pressed=true],.pill.act{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.pill:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:1px}.pill[disabled]{opacity:.5;cursor:not-allowed}.pill-val{font-weight:var(--fw-bold)}.pill-sm{min-height:var(--h-sm);padding:0 var(--sp-4);font-size:var(--fs-xs)}.pillrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3)}.seg{display:inline-flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.seg>button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-3);white-space:nowrap;min-height:var(--h-md);padding:0 var(--sp-5);border:var(--bw-1) solid var(--br);border-radius:var(--r-md);background:var(--bg-3);color:var(--tx-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.seg>button>svg{flex:none}.seg>button:hover{color:var(--tx);border-color:var(--br-2)}.seg>button.act{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.seg>button:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:1px}.seg>button[disabled]{opacity:.5;cursor:not-allowed}.seg-sm>button{min-height:var(--h-sm);padding:0 var(--sp-4);font-size:var(--fs-xs)}.seg-pill>button{border-radius:var(--r-full)}.seg-track{gap:var(--sp-1);padding:var(--sp-1);flex-wrap:nowrap;background:var(--bg-2);border:var(--bw-1) solid var(--br-2);border-radius:var(--r-md);box-shadow:var(--el-1)}.seg-track>button{border-color:transparent;background:transparent;border-radius:var(--r-sm)}.seg-track>button:hover{background:var(--bg-4);border-color:transparent}.seg-track>button.act{background:var(--ink);color:var(--on-ink);border-color:transparent}.seg-fill{display:flex}.seg-fill>button{flex:1}.empty-act{margin-top:var(--sp-2)}.zsplit{display:flex;gap:var(--sp-7);align-items:flex-start;flex-wrap:wrap}.zsplit-form{flex:1 1 380px;min-width:0;order:1}.zsplit-viz{flex:0 0 var(--zsplit-viz-w, 380px);width:var(--zsplit-viz-w, 380px);position:sticky;top:calc(var(--topbar-h, 64px) + var(--sp-5));align-self:flex-start;order:3}.zsplit-doc{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.zsplit-doc>.zsplit-viz{order:-1;position:static;flex:none;width:100%;max-width:960px;margin:0 auto var(--sp-6)}.zsplit-doc>.zsplit-form{order:0;flex:none;width:100%}.zsplit-solo>.zsplit-viz,.zsplit-solo>.zsplit-handle{display:none}.zsplit-handle{order:2;flex:none;align-self:stretch;position:relative;display:flex;align-items:flex-start;justify-content:center;width:12px;color:var(--tx-3);transition:color var(--dur-1) var(--ease-out);cursor:col-resize;touch-action:none}.zsplit-handle>svg{position:sticky;top:50vh}.zsplit-handle:before{content:"";position:absolute;inset-block:0;left:50%;width:var(--bw-2);margin-left:calc(var(--bw-2) / -2);background:var(--br-2);border-radius:var(--r-full);transition:background var(--dur-1) var(--ease-out)}.zsplit-handle:hover,.zsplit-handle:focus-visible{color:var(--tx-2);outline:none}.zsplit-handle:hover:before,.zsplit-handle:focus-visible:before{background:var(--green)}.zsplit-doc>.zsplit-handle{display:none}@media(max-width:1000px){.zsplit{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.zsplit-viz{order:-1;position:static;flex:none;width:100%;max-width:760px;margin:0 auto var(--sp-6)}.zsplit-form{flex:none;width:100%}.zsplit-handle{display:none}}@media(pointer:coarse){.zsplit-handle{width:40px}}.vizbar-sel{display:flex;align-items:center;gap:var(--sp-3);margin-left:auto;min-width:0}.vizbar-sel .viz-chip{border-color:var(--out-br);background:var(--out-bg);min-width:0}.vizbar-sel .viz-chip b{color:var(--green)}.vizbar-sel .viz-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vizcard{container-type:inline-size}@container (max-width: 470px){.vizbar-sel .viz-chip{display:none}}.zviz{background:var(--bg-3);border:var(--bw-1) solid var(--br);border-radius:var(--r-lg);padding:var(--sp-5)}.zviz-cap{display:flex;align-items:baseline;justify-content:center;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-4);font-size:var(--fs-xs);color:var(--tx-2)}.zviz-fp{font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);color:var(--green)}.facbar-h{font-size:var(--fs-xs);color:var(--tx-3)}.opfilter{display:grid;align-items:end;gap:var(--sp-3) var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr)) auto;padding:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-4);background:var(--bg-3);border:var(--bw-1) solid var(--br);border-radius:var(--r-md)}.opfilter-f{display:flex;flex-direction:column;gap:2px;min-width:0}.opfilter-l{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--tx-2)}.opfilter-r{display:flex;align-items:center;gap:var(--sp-3)}.opfilter-on{border-color:var(--out-br);background:var(--out-bg)}@media(max-width:720px){.opfilter{grid-template-columns:1fr}.opfilter-r{justify-content:space-between}}.addbar{display:flex;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:var(--bw-1) solid var(--br);padding-right:min(278px,30%)}.addbar-main{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-2)}.addbar-h{margin:0;max-width:42ch;text-align:right}.opsel{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;min-height:var(--h-md);padding:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-4);background:var(--out-bg);border:var(--bw-1) solid var(--out-br);border-radius:var(--r-md)}.opsel-id{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--green);font-size:var(--fs-md);white-space:nowrap}.opsel-f{display:inline-flex;align-items:center;gap:var(--sp-3)}.opsel-l{font-size:var(--fs-xs);color:var(--tx-2);white-space:nowrap}.opsel-of,.opsel-x{font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);color:var(--tx-3);white-space:nowrap}.op-stack{display:flex;flex-direction:column;gap:var(--sp-1);align-items:flex-start}.op-inline{display:flex;align-items:center;gap:var(--sp-2)}.op-auto{font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--green);letter-spacing:.02em}.op-off{font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--orange);max-width:22ch}.op-note{margin-top:var(--sp-2)}.rad-params{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:var(--sp-4) var(--sp-3)}.rad-params>.rad-warn,.rad-params>.rad-cop1{grid-column:1 / -1}.rad-f{display:flex;flex-direction:column;gap:2px;min-width:0}.rad-f>.inp,.rad-f>.ssel,.rad-f>.sel,.rad-f .op-stack,.rad-f .op-inline{width:100%}.rad-f-l{font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--tx-3);letter-spacing:.02em;white-space:nowrap}.rad-warn{padding:2px 6px;font-size:var(--fs-xs);white-space:normal;max-width:240px}.rad-cop1{font-size:var(--fs-xs);color:var(--tx-3);white-space:normal}.rad-stats{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:var(--sp-2)}.rad-i-water{color:#5fa8dc;flex-shrink:0}.rad-i-elec{color:#e5a13a;flex-shrink:0}.op-n,.op-fig{font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);color:var(--tx-2)}.der{color:var(--green)}.op-fig{color:var(--tx)}.op-tools{margin-top:var(--sp-4)}.op-drag{display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.op-stranded{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.wp-host{position:relative}.wp-opt{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-xs);font-size:var(--fs-sm);line-height:var(--lh-snug);white-space:normal;cursor:pointer;color:var(--tx);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;min-height:var(--h-sm)}.wp-opt:hover{background:var(--bg-4)}.wp-cur{color:var(--green);font-weight:var(--fw-bold);background:var(--out-bg)}.wp-armed{color:var(--green);font-weight:var(--fw-bold);background:color-mix(in srgb,var(--green) 22%,transparent);outline:var(--bw-1) solid var(--green)}.wp-off{opacity:.45;cursor:not-allowed}.wp-off:hover{background:transparent}.wp-again{margin:0;color:var(--green)}.wp-stale{margin-top:var(--sp-2);max-width:26ch}:root{--sb-size: 10px;--sb-thumb: color-mix(in srgb, var(--tx) 20%, transparent);--sb-thumb-hot: color-mix(in srgb, var(--tx) 38%, transparent);--sb-track: transparent}html{scrollbar-color:var(--sb-thumb) var(--sb-track)}*,*:before,*:after{scrollbar-width:thin}*::-webkit-scrollbar{width:var(--sb-size);height:var(--sb-size)}*::-webkit-scrollbar-track{background:var(--sb-track)}*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{background:var(--sb-thumb);background-clip:padding-box;border:2px solid transparent;border-radius:var(--r-full)}*::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hot);background-clip:padding-box}*::-webkit-scrollbar-thumb:active{background:var(--sb-thumb-hot);background-clip:padding-box}.tblwrap::-webkit-scrollbar{height:8px}@media print{*::-webkit-scrollbar{display:none}}.authwrap{min-height:100%;flex:1;display:flex;align-items:center;justify-content:center;padding:var(--sp-9) var(--sp-6) calc(var(--sp-9) * 2)}.authcard{width:100%;max-width:440px;margin-bottom:0;padding:var(--sp-8);border-radius:var(--r-xl)}.authcard h1{margin:0 0 var(--sp-5);font-size:var(--fs-3xl);font-weight:var(--fw-title);line-height:var(--lh-tight);letter-spacing:-.02em}.authlogo{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-8)}.authgrid{display:grid;gap:var(--sp-5)}.authwide{width:100%;margin-top:var(--sp-6)}.authback{margin-top:var(--sp-5)}.autherr,.authnote{display:flex;align-items:flex-start;gap:var(--sp-3);margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);border:var(--bw-1) solid transparent;font-size:var(--fs-sm);line-height:var(--lh-body)}.autherr{color:var(--warn-tx);background:color-mix(in srgb,var(--red) 8%,transparent);border-color:color-mix(in srgb,var(--red) 28%,transparent)}.authnote{color:var(--green);background:var(--out-bg);border-color:var(--out-br)}.autherr>svg,.authnote>svg{flex:none;margin-top:1px}.authhint{font-size:var(--fs-xs);color:var(--tx-3);line-height:var(--lh-body);margin-top:var(--sp-2)}.authhint.ok{color:var(--green)}.authto{font-size:var(--fs-sm);color:var(--tx-2);line-height:var(--lh-body);margin-bottom:var(--sp-5)}.authto b{color:var(--tx);word-break:break-all}.authlinks{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}.authsep{display:flex;align-items:center;gap:var(--sp-4);margin:var(--sp-6) 0 var(--sp-5);color:var(--tx-3);font-size:var(--fs-xs)}.authsep:before,.authsep:after{content:"";flex:1;height:1px;background:var(--br)}.authprov{display:grid;gap:var(--sp-4)}.authprov .btn{width:100%}.otpin{text-align:center;letter-spacing:.45em;text-indent:.45em;font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.photorow{display:flex;align-items:center;gap:var(--sp-6);flex-wrap:wrap}.photo{width:64px;height:64px;border-radius:var(--r-full);object-fit:cover;flex:none;background:var(--bg-3);border:var(--bw-1) solid var(--br)}.photo.blank{display:flex;align-items:center;justify-content:center;color:var(--tx-3)}.swatches{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}.swatch{width:var(--h-sm);height:var(--h-sm);flex:none;padding:var(--sp-1);cursor:pointer;border-radius:var(--r-full);border:var(--bw-2) solid transparent;background:none}.swatch>span{display:block;width:100%;height:100%;border-radius:var(--r-full)}.swatch.on{border-color:var(--ink)}.swatch:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:2px}.codebox{font-family:JetBrains Mono,monospace;font-size:var(--fs-xs);line-height:var(--lh-body);background:var(--bg-3);border:var(--bw-1) solid var(--br-2);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);word-break:break-all;color:var(--tx-2)}.codegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:var(--sp-3);margin-top:var(--sp-4)}.codegrid>span{font-family:JetBrains Mono,monospace;font-size:var(--fs-sm);text-align:center;background:var(--bg-3);border:var(--bw-1) solid var(--br);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.copyrow{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3)}.copyrow>.codebox{flex:1;min-width:0}.mrow-sub{display:block;font-size:var(--fs-xs);color:var(--tx-3);margin-top:var(--sp-1)}.sproj-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sproj-chev{flex:none;color:var(--tx-3)}.scls{flex:none;width:22px;height:22px;border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:var(--fs-sm);font-weight:var(--fw-display);color:#111}.sproj-item{display:flex;align-items:center;gap:var(--sp-4);width:100%;min-height:var(--h-md);padding:0 var(--sp-4);background:transparent;border:none;border-radius:var(--r-md);color:var(--tx);font-size:var(--fs-md);text-align:left}.sproj-item:hover{background:var(--bg-3)}.sproj-itxt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.sproj-iname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sproj-imeta{font-size:var(--fs-2xs);color:var(--tx-3)}.sproj-rule{border-top:var(--bw-1) solid var(--br);margin:var(--sp-3) 0}.sproj-note{padding:var(--sp-4);font-size:var(--fs-sm);color:var(--tx-3)}.pv-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:var(--sp-7) var(--sp-5);overflow-y:auto}.pv-sheet{width:100%;max-width:720px;background:var(--bg-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-xl);box-shadow:var(--el-4);overflow:hidden}.pv-head{display:flex;align-items:flex-start;gap:var(--sp-5);padding:var(--sp-6);border-bottom:var(--bw-1) solid var(--br);background:var(--bg-2)}.pv-head-l{flex:1 1 auto;min-width:0}.pv-head-r{display:flex;align-items:center;gap:var(--sp-4);flex:0 0 auto}.pv-title{font-size:var(--fs-xl);font-weight:var(--fw-medium);line-height:var(--lh-tight)}.pv-key{font-size:var(--fs-2xs);color:var(--tx-3);margin-top:var(--sp-2)}.pv-body{padding:var(--sp-6)}.pv-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pv-dim{color:var(--tx-3)}.pv-trail{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);border-bottom:var(--bw-1) solid var(--br);font-size:var(--fs-xs)}.pv-crumb{background:none;border:none;color:var(--tx-2);cursor:pointer;padding:var(--sp-1) var(--sp-2)}.pv-crumb:hover{color:var(--green)}.pv-verdict{display:flex;align-items:baseline;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-5) var(--sp-6);border-radius:var(--r-lg);border:var(--bw-1) solid var(--br);margin-bottom:var(--sp-6)}.pv-verdict-i{display:inline-flex;align-items:center}.pv-ico{vertical-align:-2px;flex:none}.pv-verdict-t{font-size:var(--fs-2xl);font-weight:var(--fw-display);line-height:var(--lh-tight)}.pv-verdict-s{font-size:var(--fs-xs);color:var(--tx-2)}.pv-hit{background:var(--out-bg);border-color:var(--out-br)}.pv-hit .pv-verdict-t{color:var(--green)}.pv-doc{background:var(--yellow-bg);border-color:var(--yellow-br)}.pv-doc .pv-verdict-t{color:var(--orange-dark)}.pv-off{background:var(--bg-3)}.pv-off .pv-verdict-t{color:var(--tx-2);font-size:var(--fs-xl);font-weight:var(--fw-medium)}.pv-prose{font-size:var(--fs-lg);line-height:var(--lh-body);margin:0 0 var(--sp-6)}.pv-row{display:flex;gap:var(--sp-5);padding:var(--sp-3) 0;font-size:var(--fs-md)}.pv-row-k{flex:0 0 34%;color:var(--tx-2)}.pv-row-v{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.pv-empty{font-size:var(--fs-md);color:var(--tx-3);padding:var(--sp-4) 0}.pv-vals{width:100%;border-collapse:collapse;margin:var(--sp-3) 0}.pv-vals td{padding:var(--sp-3) var(--sp-4);border-bottom:var(--bw-1) solid var(--br);font-size:var(--fs-md)}.pv-vals td:first-child{font-size:var(--fs-xs);width:55%}.pv-val{font-weight:var(--fw-bold);text-align:right}.pv-warn{color:var(--orange-dark)}.pv-band{font-size:var(--fs-xs);color:var(--tx-2);margin-top:var(--sp-3)}.pv-big{font-size:var(--fs-2xl);font-weight:var(--fw-display);margin:var(--sp-4) 0}.pv-clash{display:flex;gap:var(--sp-4);align-items:flex-start;margin-top:var(--sp-5);padding:var(--sp-5);border-radius:var(--r-lg);background:var(--yellow-bg);border:var(--bw-1) solid var(--yellow-br);color:var(--tx)}.pv-clash-hard{background:var(--warn-bg);border-color:var(--red)}.pv-clash-t{font-weight:var(--fw-medium);font-size:var(--fs-md)}.pv-clash-b{font-size:var(--fs-sm);line-height:var(--lh-body);margin-top:var(--sp-2)}.pv-formula{margin:var(--sp-5) 0;padding:var(--sp-5);background:var(--bg-3);border-radius:var(--r-lg);border:var(--bw-1) solid var(--br)}.pv-formula-sym{font-size:var(--fs-md);color:var(--tx-2)}.pv-formula-sub{font-size:var(--fs-lg);font-weight:var(--fw-medium);margin-top:var(--sp-3);overflow-wrap:anywhere}.pv-terms{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-4)}.pv-term{font-size:var(--fs-xs)}.pv-src{font-size:var(--fs-xs);color:var(--tx-2);margin-top:var(--sp-4)}.pv-leaves{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-3) 0}.pv-leaf{display:inline-flex;align-items:center;gap:var(--sp-3);min-height:var(--h-sm);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-full);border:var(--bw-1) solid var(--br);background:var(--bg-3);color:var(--tx);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.pv-leaf:hover{border-color:var(--green);color:var(--green)}.pv-leaf-hit{background:var(--out-bg);border-color:var(--out-br);color:var(--green)}.pv-leaf-sub{font-size:var(--fs-2xs);color:var(--tx-3)}.pv-more{font-size:var(--fs-xs);color:var(--tx-3);margin-top:var(--sp-3)}.pv-foot{margin-top:var(--sp-7);padding-top:var(--sp-5);border-top:var(--bw-1) solid var(--br);font-size:var(--fs-2xs)}.pv-open{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-5);padding:var(--sp-3) 0 0;border:none;border-top:var(--bw-1) solid var(--br);width:100%;background:none;color:var(--green);cursor:pointer;text-align:left;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.pv-open>svg{flex:none}@media(pointer:coarse){.pv-leaf,.pv-crumb,.pv-open{min-height:var(--h-md)}}.anchor-flash{outline:3px solid var(--accent);outline-offset:3px;border-radius:var(--r-md, 12px);transition:outline-color .4s ease;animation:anchorPulse 1.3s ease 2}@keyframes anchorPulse{0%,to{outline-color:var(--accent)}50%{outline-color:transparent}}:root{--viz-fact: #4DC47A;--viz-demand: #3B8FD4}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--viz-fact: #2E9E5E;--viz-demand: #2C7FC4}}:root[data-theme=dark]{--viz-fact: #2E9E5E;--viz-demand: #2C7FC4}.tgl{display:flex;align-items:flex-start;gap:var(--sp-3);cursor:pointer}.tgl input{position:absolute;opacity:0;width:0;height:0}.tgl-track{flex:none;width:38px;height:22px;margin-top:1px;border-radius:999px;background:var(--br-2);border:1px solid var(--br);position:relative;transition:background .15s ease,border-color .15s ease}.tgl-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--bg);box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.tgl-on .tgl-track{background:var(--ink);border-color:var(--ink)}.tgl-on .tgl-knob{transform:translate(16px)}.tgl input:focus-visible+.tgl-track{outline:2px solid var(--green);outline-offset:2px}.tgl-off{opacity:.5;cursor:not-allowed}.tgl-text{display:flex;flex-direction:column;gap:2px}.tgl-label{font-size:var(--fs-sm);font-weight:600;color:var(--tx)}.tgl-hint{font-size:var(--fs-xs);color:var(--tx-3);line-height:1.4}.lay-grip{display:inline-flex;align-items:center;justify-content:center;cursor:grab;color:var(--tx-3);padding:2px}.lay-grip:active{cursor:grabbing}.lay-grip:hover{color:var(--tx)}.lay-drag{opacity:.45}.navpills{display:flex;align-items:center;gap:var(--sp-2);min-width:0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.navpills::-webkit-scrollbar{display:none}.navpill,.sproj-row{display:inline-flex;align-items:center;gap:var(--sp-3);flex:none;scroll-snap-align:start;min-height:var(--h-md);padding:0 var(--sp-6);border:none;border-radius:var(--r-full);background:transparent;color:var(--tx);font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;line-height:var(--lh-snug);transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.navpill:hover,.sproj-row:hover{background:var(--bg-3)}.navpill.act{background:var(--ink);color:var(--on-ink)}.navpill.act .sdot-ok{background:var(--accent)}.navpill.act .sdot-part{background:linear-gradient(90deg,var(--accent) 50%,color-mix(in srgb,var(--on-ink) 45%,transparent) 50%)}.navpill.act .sdot-todo{background:color-mix(in srgb,var(--on-ink) 45%,transparent)}.navpill:focus-visible,.sproj-row:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:2px}.navpill-ico,.navpill-chev{flex:none}.navpill-chev{opacity:.7}.navpill-lbl{min-width:0}.pagehead{display:flex;flex-direction:column;gap:var(--sp-5);margin:var(--sp-7) 0 var(--sp-7)}.pagehead-top{display:flex;align-items:flex-end;gap:var(--sp-6);flex-wrap:wrap}.pagehead-txt{flex:1 1 320px;min-width:0}.pagehead-eyebrow{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--tx-2);margin-bottom:var(--sp-3)}.pagehead-t{margin:0;font-size:var(--fs-display);font-weight:var(--fw-title);line-height:var(--lh-display);letter-spacing:-.03em;color:var(--tx);overflow-wrap:anywhere}.pagehead-acts,.pagehead-sub{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.kpirow{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-5);margin-bottom:var(--sp-5)}.kpi{display:flex;flex-direction:column;gap:var(--sp-5);min-width:0;background:var(--bg-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-lg);padding:var(--sp-7)}.kpi-head{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--tx-2)}.kpi-head>svg{flex:none;width:var(--ic-sm);height:var(--ic-sm)}.kpi-val{font-size:var(--fs-4xl);font-weight:var(--fw-title);line-height:var(--lh-tight);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--tx)}.kpi-unit{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--tx-2);vertical-align:top;margin-left:var(--sp-1)}.kpi-subs{display:flex;justify-content:space-between;gap:var(--sp-4)}.kpi-sub{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.kpi-sub:last-child:not(:first-child){text-align:right}.kpi-sub b{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--tx);font-variant-numeric:tabular-nums}.kpi-sub span{font-size:var(--fs-xs);color:var(--tx-3)}.bar{display:flex;gap:2px;height:6px;border-radius:var(--r-full);background:var(--bg-3);overflow:hidden}.bar-part{display:block;height:100%;border-radius:var(--r-full);background:var(--bar-c, var(--bg-4))}.bar-ink{--bar-c: var(--ink)}.bar-accent{--bar-c: var(--accent)}.bar-muted{--bar-c: var(--bg-4)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:var(--r-full);overflow:hidden;background:var(--accent-soft);color:var(--tx);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:var(--fs-xs)}.subcard{background:var(--bg-2);border:var(--bw-1) solid var(--br-2);border-radius:var(--r-md);padding:var(--sp-5);margin-top:var(--sp-5)}.subcard-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.subcard-body{margin-top:var(--sp-5)}.thumbpick{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.thumbpick-opt{display:inline-flex;flex-direction:column;align-items:center;gap:var(--sp-2);width:84px;min-height:var(--h-lg);padding:var(--sp-3) var(--sp-4);border:var(--bw-1) solid var(--br);border-radius:var(--r-md);background:var(--bg-3);color:var(--tx-2);font-size:var(--fs-2xs);font-weight:var(--fw-medium);line-height:var(--lh-snug)}.thumbpick-opt>svg{width:100%;height:auto}.thumbpick-opt:hover{border-color:var(--br-2);color:var(--tx)}.thumbpick-opt.act{background:var(--out-bg);border-color:var(--green);color:var(--green)}.thumbpick-opt:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:1px}.thumbpick-lg .thumbpick-opt{width:92px}.paperprev{background:#fff;color:#111;border:var(--bw-1) solid var(--br);border-radius:var(--r-sm);padding:28px 34px;max-width:760px;font-family:Times New Roman,serif;font-size:13px;line-height:1.45}.paperprev p{margin:0 0 10px;text-align:justify}.paperprev table{border-collapse:collapse;width:100%;margin:8px 0 12px;font-size:12px}.paperprev th,.paperprev td{border:1px solid #999;padding:4px 6px}.skel{display:flex;flex-direction:column;gap:var(--sp-3)}.skel-line{display:block;height:12px;border-radius:var(--r-xs);background:linear-gradient(90deg,var(--bg-3),var(--bg-4),var(--bg-3));background-size:200% 100%;animation:skel 1.2s linear infinite}.skel-line:last-child{width:60%}@keyframes skel{to{background-position:-200% 0}}.search{position:relative;display:flex;align-items:center;min-width:0}.search>svg{position:absolute;left:var(--sp-5);color:var(--tx-3);pointer-events:none}.search-in{min-height:var(--h-md);width:100%;padding:0 var(--h-md) 0 calc(var(--sp-5) + var(--ic-md) + var(--sp-3));border-radius:var(--r-full);background:var(--bg-2);border-color:var(--ctl-br)}.search-in::-webkit-search-cancel-button{display:none}.search>.btn{position:absolute;right:var(--sp-1)}@media(prefers-reduced-motion:reduce){.skel-line{animation:none}}.pop-host{position:relative}.pop{position:absolute;z-index:80;min-width:220px;max-width:min(360px,calc(100vw - 32px));background:var(--bg-2);border:var(--bw-1) solid var(--br-2);border-radius:var(--r-lg);box-shadow:var(--el-3);padding:var(--sp-3);top:calc(100% + var(--sp-3));left:0}.pop-right{left:auto;right:0}.pop-fixed{position:fixed;right:auto;max-height:60vh;overflow-y:auto}.pop-rule{border-top:var(--bw-1) solid var(--br);margin:var(--sp-3) 0}.pop-title{padding:var(--sp-2) var(--sp-4) var(--sp-3);font-size:var(--fs-xs);color:var(--tx-3)}.menu-item{display:flex;align-items:center;gap:var(--sp-4);width:100%;min-height:var(--h-md);padding:0 var(--sp-4);border:none;border-radius:var(--r-md);background:transparent;color:var(--tx);font-size:var(--fs-md);text-align:left}.menu-item:hover{background:var(--bg-3)}.menu-item:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:-2px}.menu-item>svg{flex:none;color:var(--tx-2)}.menu-item.danger,.menu-item.danger>svg{color:var(--red)}.menu-item[aria-checked=true]{background:var(--bg-3);font-weight:var(--fw-medium)}.menu-item:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.menu-item-lbl{flex:1 1 auto;min-width:0}.btn.is-loading{gap:var(--sp-3)}.topbar-brand{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-3);flex:none;min-height:var(--h-md);min-width:var(--h-md);padding:0 var(--sp-3) 0 0;border:none;border-radius:var(--r-md);background:transparent;color:var(--tx)}.topbar-brand:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:2px}.topbar>.navpills{flex:1 1 auto;min-width:0}.topbar-gap{flex:0 0 var(--sp-4)}.avatar-btn{display:inline-flex;align-items:center;gap:var(--sp-3);flex:none;min-height:var(--h-md);padding:0 var(--sp-3) 0 0;border:none;border-radius:var(--r-full);background:transparent;color:var(--tx);text-align:left}.avatar-btn:hover{background:var(--bg-3)}.avatar-btn:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:2px}.avatar-name{display:flex;flex-direction:column;line-height:var(--lh-tight);min-width:0}.avatar-name b{font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.avatar-name span{font-size:var(--fs-xs);color:var(--tx-3)}@media(max-width:760px){.avatar-name{display:none}.avatar-btn{padding:0}}@media(max-width:560px){.topbar-brand .logo-wordmark,.topbar-settings{display:none}}.topbar{display:flex;align-items:center;gap:var(--sp-4);height:calc(64px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--sp-7) 0;background:var(--bg-2);border-bottom:var(--bw-1) solid var(--br);position:sticky;top:0;z-index:50}@media(max-width:1024px){.topbar{padding-left:var(--sp-5);padding-right:var(--sp-5)}}@media(max-width:560px){.topbar{padding-left:var(--sp-4);padding-right:var(--sp-4)}}.shell{--topbar-h: 64px}.shellmain{flex:1 1 auto;min-width:0}.main>.livebar:first-child{margin-top:var(--sp-5)}.sdot{width:7px;height:7px;border-radius:var(--r-full);flex:none}.sdot-ok{background:var(--green)}.sdot-part{background:linear-gradient(90deg,var(--green) 50%,var(--tx-3) 50%)}.sdot-todo{background:var(--tx-3)}.navpills>.pop-host{flex:none}.sproj-row{max-width:220px}.home-hero{margin-bottom:var(--sp-8)}.home-newname{flex:1 1 260px;min-width:min(260px,100%)}.home-search{flex:1 1 240px;max-width:420px}.home-empty{max-width:520px;margin-inline:auto}.pc-when{display:inline-flex;align-items:center;gap:var(--sp-2);min-width:0}.pc-when>svg{flex:none;color:var(--tx-3)}.set-pbstate{margin-bottom:var(--sp-3)}.tbl th.set-th-item{text-align:left;min-width:220px}.tbl td.set-std{color:var(--tx-3)}.card .hint.set-note{margin-top:var(--sp-5);margin-bottom:0}.ps-grid{margin-top:var(--sp-5)}.ps-tbl{margin-top:var(--sp-4)}.card .hint.ps-note{margin-top:var(--sp-5);margin-bottom:0}.card .hint.ps-note+.hint.ps-note{margin-top:var(--sp-2)}.tbl th.ps-th-l{text-align:left}.tbl th.ps-th-desc{text-align:left;min-width:240px}.tbl td.ps-desc{font-size:var(--fs-sm);color:var(--tx-2)}.tbl td.ps-vars{font-size:var(--fs-xs);color:var(--tx-3)}.ps-src{display:block;font-size:var(--fs-xs);color:var(--tx-3)}.ps-expr{min-width:min(320px,70vw)}.ps-ventref{margin-top:var(--sp-5)}.ps-ventref>summary{cursor:pointer}.ps-ventref>div.hint{margin:var(--sp-4) 0 0}.ps-reftbl{margin-top:var(--sp-4)}.ps-nowrap{white-space:nowrap}[hidden]{display:none}.plat-bars rect{fill:var(--ink)}.plat-bars .plat-bar-now rect{fill:var(--accent)}.plat-bars text{font-size:var(--fs-2xs);fill:var(--tx-3)}.plat-search{flex:1 1 220px;max-width:320px}.is-dim{opacity:.45}.noteflex{display:flex;align-items:flex-start;gap:var(--sp-4)}.noteflex>svg{flex:none;margin-top:var(--sp-1)}.stat .stat-hint{font-size:var(--fs-2xs);color:var(--tx-3);margin-top:var(--sp-1);line-height:var(--lh-body)}.obj-ready-head{display:flex;align-items:center;gap:var(--sp-4);cursor:pointer}h2.obj-ready-t{flex:1;min-width:0;margin:0}.obj-ready-list{display:grid;gap:var(--sp-3);margin-top:var(--sp-5)}.obj-ready-row{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-md)}.obj-ready-ic{flex:none;color:var(--tx-3)}.obj-ready-ic.is-ok{color:var(--green)}.obj-ready-lbl{flex:1;min-width:0;color:var(--tx-2)}.obj-ready-lbl.is-ok{color:var(--tx)}.obj-ready-go{white-space:nowrap}.obj-inline{display:flex;align-items:center;gap:var(--sp-3)}.obj-wide{grid-column:1 / -1}.obj-grid .stat{width:100%;min-width:0;margin:0}.card .obj-modelnote{margin-top:var(--sp-1)}.card .obj-hintgap{margin-top:var(--sp-3)}.clim-stats{margin-top:var(--sp-6)}.clim-norms{margin-top:var(--sp-4)}.res-ybars{display:flex;align-items:flex-end;gap:var(--sp-7);height:150px;padding:var(--sp-4) var(--sp-2);overflow-x:auto}.res-ybar{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);flex:0 0 76px}.res-ybar-v{font-size:var(--fs-xs)}.res-ybar-fill{width:46px;height:var(--h, 2px);border-radius:var(--r-xs) var(--r-xs) 0 0;background:var(--ink)}.res-ybar.is-base .res-ybar-fill{background:var(--accent)}.res-ybar-y{font-size:var(--fs-sm);color:var(--tx-2)}.res-mbars{display:flex;align-items:flex-end;gap:var(--sp-3);height:130px;padding:var(--sp-4) var(--sp-1)}.res-mbar{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);flex:1;min-width:0}.res-mbar-fill{width:100%;max-width:34px;height:var(--h, 2px);border-radius:var(--r-xs) var(--r-xs) 0 0;background:var(--ink)}.res-mbar-m{font-size:var(--fs-2xs);color:var(--tx-3)}.res-mix{display:grid;gap:var(--sp-3);margin-top:var(--sp-2)}.res-mix-row{display:flex;align-items:center;gap:var(--sp-4)}.res-mix-n{flex:none;width:150px;font-size:var(--fs-sm);color:var(--tx-2)}.res-mix-track{flex:1;min-width:0;height:12px;background:var(--bg-3);border-radius:var(--r-full);overflow:hidden}.res-mix-fill{width:var(--w, 0%);height:100%;background:var(--ink);border-radius:var(--r-full)}.res-mix-v{flex:none;width:108px;text-align:right;font-size:var(--fs-xs)}@media(max-width:560px){.res-mix-n{width:96px}.res-mix-v{width:84px}}.res-years{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-4) 0}.res-year-grp{display:inline-flex;align-items:center;gap:var(--sp-1)}.res-star{color:var(--tx-3)}.res-star:hover{color:var(--tx-2)}.res-star.is-base,.res-star.is-base:hover{color:var(--green)}.res-year{margin-bottom:var(--sp-4)}.res-grid-t{font-size:var(--fs-sm)}.tbl th.res-th-name{min-width:180px;text-align:left}.res-th-mon{min-width:62px}.card .res-filled{margin:0}.card .res-grid-foot{margin:var(--sp-2) 0 0}.card .res-nomnote{margin:calc(var(--sp-4) * -1) 0 var(--sp-4)}.zn-mt-1{margin-top:var(--sp-3)}.zn-mt-2{margin-top:var(--sp-4)}.zn-mt-3{margin-top:var(--sp-5)}.zn-mt-4{margin-top:var(--sp-6)}.zn-mb-2{margin-bottom:var(--sp-4)}.zn-mb-0.zn-mb-0{margin-bottom:0}.zn-m0.zn-m0{margin:0}.zn-cap.zn-cap{margin:var(--sp-2) 0 0}.zn-ico-lead{vertical-align:-2px;margin-right:var(--sp-3);flex:none}.zn-noshrink{flex:0 0 auto}.zn-lbl{display:inline-flex;align-items:center;gap:var(--sp-2)}.zn-bar{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.zn-pick{width:16px;height:16px;flex:none;accent-color:var(--green);cursor:pointer}.zn-swatch{display:inline-block;width:12px;height:12px;flex:none;border-radius:var(--r-xs);background:var(--zn-c, var(--green))}.zn-dims{font-size:var(--fs-sm);color:var(--tx-3);white-space:nowrap}.zn-chip-dim{opacity:.55}.zn-editor{border-color:var(--br-2)}.zn-sub{margin-top:var(--sp-8)}.zn-sub-flush{margin-top:0}.zn-sub-tight{margin-top:var(--sp-6)}.zn-verdict{display:inline-flex;align-items:center;gap:var(--sp-3);white-space:nowrap;padding:var(--sp-2) var(--sp-5);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--vc, var(--tx-2));border:var(--bw-1) solid var(--vc, var(--br));background:color-mix(in srgb,var(--vc, var(--bg-3)) 12%,transparent);cursor:default}.zn-verdict-tip{cursor:help}.zn-verdict-dot{width:7px;height:7px;flex:none;border-radius:var(--r-full);background:var(--vc, var(--tx-3))}.zn-autocap{font-size:var(--fs-2xs);color:var(--tx-3);margin-top:var(--sp-1)}.zn-inset{background:var(--bg-3);border:var(--bw-1) solid var(--br);border-left:4px solid var(--room-c, var(--br-2));border-radius:var(--r-md);padding:var(--sp-5)}.zn-of-warn{margin:var(--sp-4) 0 0;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs)}.zn-of-legs{display:grid;gap:var(--sp-3)}.zn-of-leg{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.zn-of-leglbl{margin:0;min-width:190px}.gp-pick{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}.gp-pick-off{opacity:.45;pointer-events:none}.gp-row{display:flex;align-items:center;gap:var(--sp-3)}.gp-row-wrap{flex-wrap:wrap}.gp-grow{flex:1;min-width:0}.gp-optrow{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.gp-pillrow{display:inline-flex;align-items:center;gap:var(--sp-3)}.gp-modes{display:flex;gap:var(--sp-3);margin:var(--sp-1) 0 var(--sp-4)}.gp-swatches{display:flex;align-items:center;gap:var(--sp-6);row-gap:var(--sp-5);flex-wrap:wrap;min-height:var(--h-md)}.gp-swatch{position:relative;width:24px;height:24px;padding:0;flex:none;border-radius:var(--r-sm);background:var(--sw-c, var(--bg-3));border:var(--bw-1) solid var(--br-2);cursor:pointer}.gp-swatch:after{content:"";position:absolute;inset:calc((var(--h-md) - 24px) / -2)}.gp-swatch.act{border:var(--bw-2) solid var(--tx)}.gp-swatch-flat{cursor:default}.gp-swatch-flat:after{content:none}.room-swatch{display:inline-block;width:10px;height:10px;flex:none;border-radius:var(--r-xs);background:var(--room-c, var(--bg-4))}.gp-tag{display:inline-flex;align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-full);font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--tg-c, var(--tx-2));border:var(--bw-1) solid var(--tg-c, var(--br));background:color-mix(in srgb,var(--tg-c, var(--bg-3)) 12%,transparent)}.gp-blocks{display:grid;gap:var(--sp-4)}.gp-block{background:var(--bg-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-md)}.gp-blockhead{display:flex;align-items:center;gap:var(--sp-4);min-height:var(--h-lg);padding:var(--sp-4) var(--sp-5);cursor:pointer}.gp-blocknm{font-size:var(--fs-md);font-weight:var(--fw-medium)}.gp-blockbody{padding:var(--sp-1) var(--sp-5) var(--sp-5);border-top:var(--bw-1) solid var(--br)}.room-row{margin-bottom:var(--sp-4)}.room-body{margin-top:var(--sp-3)}.room-chev{color:var(--tx-3);flex:none}.room-nm{font-weight:var(--fw-medium);min-width:0;overflow-wrap:anywhere}.room-area{font-size:var(--fs-sm);color:var(--tx-3);white-space:nowrap}.room-unheat{flex:none;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-xs);font-size:var(--fs-2xs);font-weight:var(--fw-medium);line-height:var(--lh-snug);color:var(--blue);border:var(--bw-1) solid var(--blue)}.room-dot{display:inline-block;width:8px;height:8px;flex:none;border-radius:var(--r-full);background:var(--vc, var(--tx-3))}.room-dash{font-size:var(--fs-sm);color:var(--tx-3)}.room-chips{display:inline-flex;gap:var(--sp-3);flex-wrap:wrap;margin-left:var(--sp-5)}.room-sub{padding:var(--sp-2) 0}.room-table{margin:var(--sp-2) 0}.room-totals{margin:var(--sp-2) 0 var(--sp-5)}.room-verdicts{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-5)}.room-verdicts-wide{gap:var(--sp-6)}.room-cap-warn.room-cap-warn{color:var(--orange)}.wallpick-pop{position:fixed;z-index:60;overflow-y:auto;padding:var(--sp-2);background:var(--bg-2);border:var(--bw-1) solid var(--br-2);border-radius:var(--r-lg);box-shadow:var(--el-3)}.cons-preset{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-4)}.cons-preset-l{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--tx-2)}.cons-th-mat{min-width:190px}.cons-td-grip{width:28px}.files-loc{align-items:end}.files-acts{display:flex;gap:var(--sp-4)}.sol-card{padding:var(--sp-5);margin-top:var(--sp-5)}.sol-head{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4)}.sol-lead{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.sol-sun{color:var(--green);flex:none}.sol-hint{flex:1;min-width:0;font-size:var(--fs-md)}.site-vt{flex:1;min-width:130px}.site-acts{display:flex;align-items:center;gap:var(--sp-3)}.site-viewpop{width:min(320px,calc(100vw - 2 * var(--sp-6)));display:flex;flex-direction:column;gap:var(--sp-5);max-height:70vh;overflow-y:auto}.site-viewrow{display:flex;flex-direction:column;gap:var(--sp-3)}.site-xr-lbl{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--tx-2)}.site-xr-list{display:flex;flex-direction:column;gap:var(--sp-5);max-height:320px;overflow-y:auto}.site-xr-zone{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.site-xr-row{padding:var(--sp-3) 0;border-top:var(--bw-1) solid var(--br)}.site-xr-head{display:flex;align-items:center;gap:var(--sp-3)}.site-xr-dot{width:9px;height:9px;flex:none;border-radius:var(--r-xs)}.site-xr-dot.is-point{border-radius:var(--r-full)}.site-xr-name{flex:1;min-width:0;font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-xr-hl{font-size:var(--fs-xs);color:var(--green)}.site-xr-unit{font-size:var(--fs-2xs);color:var(--tx-3)}.site-xr-calc{font-size:var(--fs-2xs);color:var(--tx-3);padding-left:var(--sp-6)}.site-xr-chips{display:flex;gap:var(--sp-2);flex-wrap:wrap;padding-left:var(--sp-6);margin-top:var(--sp-1)}.site-xr-chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);border-radius:var(--r-full);border:var(--bw-1) solid var(--br-2);background:var(--bg-3);font-size:var(--fs-2xs);white-space:nowrap}.site-xr-chip.is-auto{background:var(--out-bg);border-color:var(--out-br);color:var(--green)}.site-xr-chip.is-nodraw{background:var(--yellow-bg);border-color:var(--yellow-br);color:var(--orange)}.site-xr-chip.is-dbl{background:color-mix(in srgb,var(--red) 12%,transparent);border-color:color-mix(in srgb,var(--red) 40%,transparent);color:var(--red)}.site-xr-chip.is-blank{background:transparent;color:var(--tx-3)}.hint.site-xr-none{margin:var(--sp-2) 0 0}.hint.site-xr-foot{margin:0;line-height:var(--lh-body)}.site-xr-scale{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.site-xr-scale-i{display:inline-flex;align-items:center;gap:var(--sp-2)}.site-xr-scale-p{display:flex;align-items:flex-start;gap:var(--sp-3)}.site-xr-scale-p .site-xr-dot{margin-top:var(--sp-2)}.site-adj,.site-plan{margin-top:var(--sp-5)}.site-plan-nm{min-width:150px}.site-swatch{display:inline-block;width:10px;height:10px;flex:none;border-radius:var(--r-xs)}.site-plan .site-swatch{margin-right:var(--sp-3)}.site-rotcell{display:flex;align-items:center;gap:var(--sp-2)}.site-gaps,.site-totals{margin-top:var(--sp-5)}.site-full{display:flex;flex-direction:column;padding:var(--sp-5);background:var(--bg)}.site-compass{position:absolute;right:var(--sp-6);top:var(--sp-6);width:72px;height:72px;border-radius:var(--r-full);z-index:5;pointer-events:none}.site-compass-ring{position:absolute;top:0;right:0;bottom:0;left:0}.site-compass-tick{position:absolute;left:50%;top:50%;width:2px;height:4px;border-radius:1px;background:var(--tx-3)}.site-compass-tick.is-major{height:6px}.site-compass-tick.is-n{background:var(--red)}.site-compass-glyph{position:absolute;left:50%;top:50%;line-height:1;font-size:9px;font-weight:var(--fw-medium);color:var(--tx-2)}.site-compass-glyph.is-n{font-size:var(--fs-xs);font-weight:var(--fw-display);color:var(--red)}.site-needle-n,.site-needle-s{position:absolute;left:50%;top:50%;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}.site-needle-n{border-bottom:13px solid var(--red);transform:translate(-50%,-100%)}.site-needle-s{border-top:13px solid var(--tx-3);transform:translate(-50%)}.site-pivot{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:var(--r-full);background:var(--tx);transform:translate(-50%,-50%)}.site-hint,.site-tools,.site-panel,.site-badge,.site-hover{position:absolute;background:var(--bg-2);border:var(--bw-1) solid var(--br-2);box-shadow:var(--el-2);color:var(--tx)}.site-hint{left:var(--sp-6);top:var(--sp-6);z-index:5;border-radius:var(--r-md);padding:var(--sp-3) var(--sp-5);font-size:var(--fs-sm);pointer-events:none}.site-tools{left:var(--sp-6);top:var(--sp-6);z-index:8;display:flex;gap:var(--sp-3);border-radius:var(--r-md);padding:var(--sp-3)}.site-panel{left:var(--sp-6);bottom:var(--sp-6);z-index:9;width:250px;border-radius:var(--r-lg);padding:var(--sp-5);border-color:var(--green);font-size:var(--fs-sm)}.site-panel-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.site-panel-nm{flex:1;min-width:0;font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-panel-grp{flex:none;padding:0 var(--sp-3);border-radius:var(--r-full);border:var(--bw-1) solid var(--green);color:var(--green);font-size:var(--fs-2xs);font-weight:var(--fw-medium)}.site-panel-row{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.site-panel-row:last-child{margin-bottom:0}.site-panel-cap{font-size:var(--fs-xs);color:var(--tx-2)}.site-panel-cap.is-deg{min-width:14px}.site-badge{left:50%;bottom:var(--sp-6);transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:var(--sp-4);border-radius:var(--r-full);padding:var(--sp-3) var(--sp-6);font-size:var(--fs-md);font-weight:var(--fw-medium);pointer-events:none}.site-badge>svg{flex:none;color:var(--green)}.site-hover{z-index:7;width:244px;border-radius:var(--r-lg);padding:var(--sp-5);font-size:var(--fs-sm);line-height:var(--lh-body);pointer-events:none}.site-hover-t{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--green);margin-bottom:var(--sp-3)}.site-hover-src{font-size:var(--fs-2xs);color:var(--tx-3)}.site-hover-dim{color:var(--tx-2)}.site-hover-stem{position:absolute;z-index:6;width:2px;height:44px;background:var(--green);pointer-events:none}.brg-lenrow{display:flex;align-items:center;gap:var(--sp-2)}.tbl td.brg-prevcell{padding:var(--sp-1) var(--sp-3) var(--sp-4)}.tbl td.brg-warncell{padding:0 var(--sp-3) var(--sp-2)}.brg-warn{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-1) 0}.brg-warn>svg{flex:none}.brg-reserve{margin-top:var(--sp-5)}.brg-total{margin-top:var(--sp-4)}.studio-wrap{margin-top:var(--sp-5)}.studio-frame{border-radius:var(--r-lg);overflow:hidden;border:var(--bw-1) solid var(--br);background:var(--bg-3)}.studio-compass{position:absolute;right:var(--sp-5);top:var(--sp-5);width:78px;height:78px;border-radius:var(--r-full);z-index:4;pointer-events:none}.studio-views{position:absolute;left:var(--sp-5);top:var(--sp-5);z-index:4;flex-wrap:wrap}.studio-hud{position:absolute;left:var(--sp-5);top:58px;z-index:4;pointer-events:none}.studio-fit{position:absolute;left:var(--sp-5);bottom:var(--sp-5);z-index:4}.studio-add{position:absolute;right:var(--sp-5);bottom:var(--sp-5);z-index:4}.studio-z{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-full);background:var(--bg-2);border:var(--bw-2) solid var(--green);color:var(--green);box-shadow:var(--el-2);touch-action:none;cursor:ns-resize}.studio-z.is-hot{border-color:var(--orange);color:var(--orange)}.studio-anchor{position:absolute;z-index:5}.studio-panel{background:var(--bg-2);border:var(--bw-1) solid var(--br-2);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--el-2);transition:opacity var(--dur-1) var(--ease-out)}.studio-panel.is-faded{opacity:.34;pointer-events:none}.studio-phead{display:flex;align-items:center;gap:var(--sp-3)}.studio-pnm{flex:1;min-width:0;font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-pmeta{font-size:var(--fs-2xs);color:var(--tx-2)}.studio-prow{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3)}.studio-pcap{font-size:var(--fs-2xs);color:var(--tx-2);min-width:34px}.studio-pnote{font-size:var(--fs-2xs);color:var(--tx-3);line-height:var(--lh-snug)}.studio-zi{flex:none;color:var(--green)}.studio-zcands{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4)}.studio-zhint{margin-top:var(--sp-3)}.hint.studio-hint{margin-top:var(--sp-3);margin-bottom:0}.studio-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-5);padding:var(--sp-8);text-align:center}.studio-empty>svg{color:var(--tx-3)}.studio-empty-t{font-size:var(--fs-lg);font-weight:var(--fw-medium)}.studio-empty-b{font-size:var(--fs-sm);color:var(--tx-2);line-height:var(--lh-body);max-width:380px}.zp-compass{position:absolute;right:var(--sp-4);top:var(--sp-4);width:46px;height:46px;border-radius:var(--r-full);z-index:3;pointer-events:none}.zp-compass.is-off{display:none}.zp-facets{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:0 var(--sp-4) var(--sp-4);background:var(--bg-2)}.zp-facets-l{font-size:var(--fs-xs);color:var(--tx-2)}.zp-facet-len{font-size:var(--fs-2xs);opacity:.75}.hint.zp-hint{margin-top:var(--sp-4);margin-bottom:0}.att-bar{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}.hint.att-busy{margin:var(--sp-3) 0 0}.hint.att-cap{margin:0 0 var(--sp-4)}.att-file{display:none}.att-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-5)}.att-card{background:var(--bg-2);border:var(--bw-1) solid var(--br);border-radius:var(--r-lg);overflow:hidden}.att-thumb{display:block;width:100%;height:124px;object-fit:cover;background:var(--bg-3)}.att-body{padding:var(--sp-5)}.att-name{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.att-name>svg{flex:none;color:var(--tx-2)}.att-name-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-date{font-size:var(--fs-2xs);color:var(--tx-3);margin-top:var(--sp-1)}.att-acts{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-3)}.att-size{flex:1;min-width:0;font-size:var(--fs-2xs);color:var(--tx-3)}.lead{margin:0 0 var(--sp-5);font-size:var(--fs-md);color:var(--tx-2);line-height:var(--lh-body)}.water-iconline{display:flex;align-items:flex-start;gap:var(--sp-3)}.water-iconline>svg{flex:none;margin-top:2px}.water-stats{margin-top:var(--sp-5)}.card .water-fieldnote{margin:var(--sp-2) 0 0}.water-note{margin-top:var(--sp-3)}.water-th-wide{min-width:220px}.water-th-src{min-width:240px}.gen-uico{flex:none}.gen-uico-heat{color:#e8613c}.gen-uico-cold{color:#5fa8dc}.gen-fuelico{flex:none;color:var(--tx-2)}.gen-rowico{flex:none;margin-right:var(--sp-3)}.gen-uname{font-size:var(--fs-lg);font-weight:var(--fw-medium)}.gen-fueltag{display:inline-flex;align-items:center;gap:var(--sp-2);vertical-align:-.15em}.gen-gap,.gen-note{margin-top:var(--sp-3)}.gen-stats{margin-top:var(--sp-5)}.gen-addrow{margin:var(--sp-5) 0 var(--sp-2)}.gen-th-unit{min-width:170px}.card .gen-eq{font-size:var(--fs-md);line-height:1.9;color:var(--tx)}.gen-eq-out{color:var(--green)}.gen-eq-back{color:var(--tx-2)}.met-uname{font-size:var(--fs-lg);font-weight:var(--fw-medium)}.met-warn{display:flex;align-items:flex-start;gap:var(--sp-4);margin-top:var(--sp-5)}.met-warn>svg{flex:none;margin-top:2px}.met-drop{color:var(--red)}.met-mtotal{color:var(--green)}.met-note{margin-top:var(--sp-3)}.met-stats{margin-top:var(--sp-5)}.met-addrow{margin:var(--sp-5) 0 var(--sp-2)}.met-filterrow{margin-top:var(--sp-5)}.met-proto{margin-bottom:var(--sp-6)}.bal-grand td{background:var(--out-bg);color:var(--green);font-weight:var(--fw-display);font-size:var(--fs-lg)}.bal-grand td.bal-grand-lbl{border-left:4px solid var(--green)}.bal-swatch{display:inline-block;width:10px;height:10px;border-radius:var(--r-xs);margin-right:var(--sp-3);vertical-align:-1px}.bal-muted{color:var(--tx-3)}.bal-ico{flex:none;margin-right:var(--sp-3);vertical-align:-2px}.bal-classchip{min-height:var(--h-md);border-radius:var(--r-md);gap:var(--sp-4);padding:var(--sp-2) var(--sp-5) var(--sp-2) var(--sp-2);white-space:normal;color:var(--tx)}.bal-letter{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--h-sm);height:var(--h-sm);border-radius:var(--r-sm);font-size:var(--fs-2xl);font-weight:var(--fw-display);line-height:1;color:#111}.bal-classtxt{font-size:var(--fs-sm);line-height:var(--lh-body)}.bal-classrow{align-items:center}.tbl th.bal-col{min-width:150px;text-align:left}.tbl th.bal-col-wide{min-width:200px;text-align:left}.tbl th.bal-col-text{min-width:250px;text-align:left}.bal-block{margin-top:var(--sp-5)}.bal-grouprows{margin-top:var(--sp-3)}.bal-grouplbl{font-size:var(--fs-md)}.bal-groupsum{margin-left:var(--sp-4);color:var(--green)}.bal-applsplit{display:flex;flex-wrap:wrap;gap:var(--sp-6);margin-top:var(--sp-5)}.bal-applitem{display:flex;align-items:center;gap:var(--sp-3)}.bal-warnrow{display:flex;align-items:flex-start;gap:var(--sp-4)}.bal-warnrow>svg{flex:none;margin-top:1px}.bal-nopurchase{margin-bottom:var(--sp-5)}.bal-note{margin-top:var(--sp-2);font-size:var(--fs-sm);line-height:var(--lh-body);opacity:.82}.bal-dim{opacity:.62}.bal-flink{color:var(--green);text-decoration:underline}.res-exportbar{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.res-exportbar .hint{margin:0}.res-more{margin-top:var(--sp-5)}.hint.res-note{margin:var(--sp-4) 0 0}.res-gap{margin-top:var(--sp-5)}.res-statrow{margin:var(--sp-4) 0}.res-pos{color:var(--green)}.res-neg{color:var(--red)}.res-b{font-weight:var(--fw-bold)}.res-concl{display:grid;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-6) var(--sp-7);font-size:var(--fs-lg);line-height:var(--lh-body)}.res-concl-how{display:grid;gap:var(--sp-2);margin:var(--sp-2) 0 0 var(--sp-7);font-size:var(--fs-md);color:var(--tx-2);line-height:var(--lh-body)}.res-donutbox{position:relative;flex:1 1 190px;min-width:175px;max-width:240px}.res-donutbox>.btn{position:absolute;top:0;right:0;z-index:2}.res-pb-quick{color:var(--green);font-weight:var(--fw-bold)}.res-pb-slow{color:var(--red)}.res-pb-na{color:var(--tx-3);font-size:var(--fs-xs)}.res-bpick-host{position:relative;display:inline-flex}.pop.res-bpick{width:min(470px,calc(100vw - 32px));max-width:none;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-5);padding:var(--sp-5)}.res-bpick-head{grid-column:1 / -1;display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.res-bpick-head>span{font-size:var(--fs-xs);color:var(--tx-2)}.res-bpick-opt{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);min-height:var(--h-lg);padding:var(--sp-3);border:var(--bw-1) solid var(--br);border-radius:var(--r-md);background:var(--bg-3);color:var(--tx-2);font-size:var(--fs-2xs);line-height:var(--lh-snug);text-align:center}.res-bpick-opt>svg{width:100%;height:auto}.res-bpick-opt:hover{border-color:var(--br-2);color:var(--tx)}.res-bpick-opt.act{background:var(--out-bg);border-color:var(--green);color:var(--green)}.res-bpick-opt:focus-visible{outline:var(--bw-2) solid var(--green);outline-offset:1px}.res-bpick-ok{vertical-align:-1px;margin-right:var(--sp-1);color:var(--green)}.res-cls{display:flex;align-items:center;gap:var(--sp-8);flex-wrap:wrap;margin:var(--sp-5) 0}.res-cls-tile{display:flex;align-items:center;justify-content:center;flex:none;width:104px;height:104px;border-radius:var(--r-xl);background:var(--cls-c, var(--bg-3));color:#111;font-size:var(--fs-display);font-weight:var(--fw-title);line-height:1}.res-cls-q{font-size:var(--fs-xl);font-weight:var(--fw-medium)}.res-cls-d{margin-top:var(--sp-2);font-size:var(--fs-lg);color:var(--tx-2)}.res-cls-sto{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--tx-3)}.res-cls-warn{margin-top:var(--sp-3)}.res-cond-yn{width:110px}.res-pick{width:min(320px,100%)}.res-af-tag{margin-top:var(--sp-2)}.res-letter,.res-clschip{display:inline-block;min-width:26px;border-radius:var(--r-sm);background:var(--cls-c, var(--bg-3));color:#111}.res-letter{padding:var(--sp-1) var(--sp-5)}.res-clschip{padding:var(--sp-1) var(--sp-4);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.stat .res-pos{color:var(--green)}.stat .res-neg{color:var(--red)}.stat .res-letter{color:#111}.res-cmp-zone{min-width:150px}.res-cmp-d{min-width:130px}.res-donuts{display:flex;align-items:flex-start;gap:var(--sp-5);flex-wrap:wrap;margin-top:var(--sp-3)}.hint.mini{font-size:var(--fs-xs);color:var(--tx-3)}.costtbl td{vertical-align:top}.costtbl td .hint.mini{margin-bottom:0}.res-warn-ico{vertical-align:-2px;margin-right:var(--sp-3)}.doc-row{display:flex;align-items:flex-start;gap:var(--sp-5);padding:var(--sp-5) 0;border-top:var(--bw-1) solid var(--br)}.doc-row>svg{flex:none;margin-top:var(--sp-1);color:var(--green)}.doc-row-txt{flex:1 1 auto;min-width:0}.doc-row-t{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-lg);font-weight:var(--fw-medium)}.doc-row-items{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--tx-2);line-height:var(--lh-body)}.doc-btnrow{margin:var(--sp-5) 0 var(--sp-6)}.doc-sec-t{text-align:center;font-weight:700;margin:14px 0 8px}p.doc-para{margin:0 0 7px;min-height:14px}.doc-b{font-weight:700}.doc-th{background:#f2f2f2}.doc-f{margin:8px 0 12px}.doc-f-name{font-weight:700}.doc-f-sym{text-align:center;font-style:italic;margin:4px 0}.doc-f-terms{font-size:12px;color:#333}.doc-f-terms>span{margin-right:14px}.doc-f-subst{font-family:monospace;font-size:12px;margin:3px 0}.doc-f-res{text-align:center;font-weight:700}
