:root,[data-theme=light]{--page:#f2efe7;--panel:#fbf9f3;--field:#fff;--chip:#e4e0d6;--border:#d8ded6;--border-strong:#cbd3cb;--grid:#e4e0d6;--ink:#0c2a24;--body:#3c534b;--muted:#5b6e66;--accent:#5b4a8b;--accent-wash:#ece8f4;--on-accent:#fff;--ok-ink:#2f7d6e;--heat:#a8462e;--cool:#2f6e8a;--sim:#2f7d6e;--dhw:#b07a12;--dhw-ink:#8a5f0e;--placeholder:#cbd3cb;--scrim:#0c2a248c;--chart-heat:#992e01;--chart-cool:#26679e;--chart-sim:#029e72;--chart-dhw:#b77610;--chart-heat-1:#641b01;--chart-heat-2:#882a05;--chart-heat-3:#a93d18;--chart-heat-4:#c65734;--chart-heat-5:#e3724e;--chart-heat-6:#fe8e6b;--chart-cool-1:#01355b;--chart-cool-2:#084c7f;--chart-cool-3:#1a66a2;--chart-cool-4:#3980bf;--chart-cool-5:#549bdc;--chart-cool-6:#70b7fa;--mark-tile:#0c2a24;--mark-heat:#c8775c;--mark-cool:#7aa8bf;--mark-sim:#55c0a5;--mark-base:#fbf9f3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--page:#15181b;--panel:#23272b;--field:#1b1f23;--chip:#2f353a;--border:#343a40;--border-strong:#3d444b;--grid:#2b3136;--ink:#d8dee3;--body:#aab3b9;--muted:#8a949b;--accent:#b7a6e8;--accent-wash:#2d2a3d;--on-accent:#15181b;--ok-ink:#55c0a5;--heat:#e4805a;--cool:#5aa8c8;--sim:#55c0a5;--dhw:#d9a443;--dhw-ink:#d9a443;--placeholder:#4a525a;--scrim:#0009;--chart-heat:#c25430;--chart-cool:#3f7fb8;--chart-sim:#029e72;--chart-dhw:#ab9017;--chart-heat-1:#fdc1ae;--chart-heat-2:#fe9d7e;--chart-heat-3:#f17e5a;--chart-heat-4:#d86844;--chart-heat-5:#bf512e;--chart-heat-6:#a73b15;--chart-cool-1:#add6fd;--chart-cool-2:#7bbfff;--chart-cool-3:#60a7e8;--chart-cool-4:#488fcf;--chart-cool-5:#3078b6;--chart-cool-6:#13619d;--mark-tile:#fbf9f3;--mark-heat:#a8462e;--mark-cool:#2f6e8a;--mark-sim:#2f7d6e;--mark-base:#0c2a24}}[data-theme=dark]{--page:#15181b;--panel:#23272b;--field:#1b1f23;--chip:#2f353a;--border:#343a40;--border-strong:#3d444b;--grid:#2b3136;--ink:#d8dee3;--body:#aab3b9;--muted:#8a949b;--accent:#b7a6e8;--accent-wash:#2d2a3d;--on-accent:#15181b;--ok-ink:#55c0a5;--heat:#e4805a;--cool:#5aa8c8;--sim:#55c0a5;--dhw:#d9a443;--dhw-ink:#d9a443;--placeholder:#4a525a;--scrim:#0009;--chart-heat:#c25430;--chart-cool:#3f7fb8;--chart-sim:#029e72;--chart-dhw:#ab9017;--chart-heat-1:#fdc1ae;--chart-heat-2:#fe9d7e;--chart-heat-3:#f17e5a;--chart-heat-4:#d86844;--chart-heat-5:#bf512e;--chart-heat-6:#a73b15;--chart-cool-1:#add6fd;--chart-cool-2:#7bbfff;--chart-cool-3:#60a7e8;--chart-cool-4:#488fcf;--chart-cool-5:#3078b6;--chart-cool-6:#13619d;--mark-tile:#fbf9f3;--mark-heat:#a8462e;--mark-cool:#2f6e8a;--mark-sim:#2f7d6e;--mark-base:#0c2a24}:root{--gutter:20px;--rail:360px;--tap:44px;--field-font-touch:16px}@media (max-width:640px){:root{--gutter:16px}}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-serif-cyrillic-ext-400-normal-CxUI4jC_.woff2)format("woff2"),url(/assets/ibm-plex-serif-cyrillic-ext-400-normal-BcBv-TKp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-serif-cyrillic-400-normal-CPQ8oqB-.woff2)format("woff2"),url(/assets/ibm-plex-serif-cyrillic-400-normal-C7IY3oUc.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-serif-vietnamese-400-normal-DGubAMUE.woff2)format("woff2"),url(/assets/ibm-plex-serif-vietnamese-400-normal-BY9Vij9A.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-serif-latin-ext-400-normal-CNMooFZX.woff2)format("woff2"),url(/assets/ibm-plex-serif-latin-ext-400-normal-DwktX9jl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-serif-latin-400-normal-BIGslYFI.woff2)format("woff2"),url(/assets/ibm-plex-serif-latin-400-normal-BB-zNvJB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-serif-cyrillic-ext-500-normal-DFQJzPS0.woff2)format("woff2"),url(/assets/ibm-plex-serif-cyrillic-ext-500-normal-BtThTb6K.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-serif-cyrillic-500-normal-iHfdoNSD.woff2)format("woff2"),url(/assets/ibm-plex-serif-cyrillic-500-normal-oG0QAu2_.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-serif-vietnamese-500-normal-2_PwV24p.woff2)format("woff2"),url(/assets/ibm-plex-serif-vietnamese-500-normal-BXXzeVTF.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-serif-latin-ext-500-normal-CmETpp4t.woff2)format("woff2"),url(/assets/ibm-plex-serif-latin-ext-500-normal-Czz10gBp.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-serif-latin-500-normal-REKAfBVG.woff2)format("woff2"),url(/assets/ibm-plex-serif-latin-500-normal-C3_OdgN3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5}h1,h2,h3,p{margin:0}h1,.display{letter-spacing:-.01em;font-family:IBM Plex Serif,Georgia,Times New Roman,serif;font-weight:400}a{color:var(--accent)}a:hover{color:var(--ink)}button,input,select{font-family:inherit}:where(a,button,input,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.icon{display:block}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:11px}.eyebrow-link{text-decoration:none}.eyebrow-link:hover,.eyebrow-link:focus-visible{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.app{max-width:1400px;min-height:100vh;padding:var(--gutter);padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));padding-bottom:max(var(--gutter), env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.app-header{border-bottom:1px solid var(--border-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:12px;display:flex}.brand{align-items:center;gap:14px;min-width:0;display:flex}.brand-icon{flex:none;display:block}.brand-text{flex-direction:column;gap:4px;min-width:0;display:flex}.brand-text h1{font-size:32px;line-height:1.15}.title-row{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.status-tag{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--muted);white-space:nowrap;border-radius:4px;flex:none;padding:3px 7px;font-size:10px;font-weight:600}.tagline{color:var(--body);font-size:12px}.header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn,.segmented button{border:1px solid var(--border-strong);background:var(--panel);min-height:36px;color:var(--ink);cursor:pointer;border-radius:6px;padding:0 14px;font-size:12px}.btn:disabled{cursor:not-allowed;color:var(--muted)}.btn-icon{width:36px;color:var(--body);justify-content:center;align-items:center;padding:0;display:flex}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary:disabled{color:var(--on-accent);opacity:.55}.segmented{border:1px solid var(--border-strong);border-radius:6px;display:flex;overflow:hidden}.segmented button{color:var(--body);border:0;border-radius:0}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--panel)}.header-actions .btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-wash);color:var(--ink)}.workbench{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}@media (min-width:1100px){.workbench{grid-template-columns:340px minmax(0,1fr);align-items:start;display:grid}}.results{flex-direction:column;gap:12px;min-width:0;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rail{flex-direction:column;gap:12px;min-width:0;display:flex}.rail-actions{gap:8px;display:flex}.rail-group{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.group-head{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;font-weight:500;display:flex}.group-toggle{all:unset;cursor:pointer;flex:1;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.group-toggle:after{content:"▸";color:var(--muted)}.group-toggle[aria-expanded=true]:after{content:"▾"}.group-status{letter-spacing:.04em;text-transform:none;color:var(--muted);margin-left:auto;font-weight:400}.group-status-missing{color:var(--ink);font-weight:600}.group-body{flex-direction:column;gap:8px;display:flex}.field{border-bottom:1px dashed var(--grid);grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;padding-bottom:6px;display:grid}.field-label{color:var(--body);flex-direction:column;font-size:12px;display:flex}.field-note{color:var(--muted);font-size:11px}.field-control{grid-row:span 2;align-items:center;gap:6px;display:flex}.field .chip{justify-self:start}.field-input,.field-select{border:1px solid var(--border-strong);background:var(--field);min-height:32px;color:var(--ink);border-radius:4px;padding:0 8px;font-size:13px}.field-input{text-align:right;width:96px}.field-input[aria-invalid=true]{border-color:var(--ink);border-style:dashed;border-width:2px}.field-input[aria-required=true]{border-style:dashed}.field-select{max-width:190px}.field-unit{min-width:5.5em;color:var(--muted);font-size:11px}.field-pair{flex-direction:column;gap:6px;display:flex}.field-with-reset{flex-direction:column;gap:2px;display:flex}.field-with-reset .link-button{align-self:flex-end}.chip{border:1px solid var(--border-strong);background:var(--chip);color:var(--body);letter-spacing:.04em;cursor:help;border-radius:999px;padding:0 6px;font-size:10px;line-height:16px;display:inline-block}.chip-user{background:0 0}.chip-example{background:var(--accent-wash);border-color:var(--accent-wash);color:var(--ink)}.chip-missing{border:1px dashed var(--ink);color:var(--ink);background:0 0;font-weight:600}.btn-small{min-height:28px;padding:0 10px;font-size:11px}.btn-quiet{color:var(--body);background:0 0;border-color:#0000}.link-button{all:unset;color:var(--accent);text-underline-offset:3px;cursor:pointer;font-size:12px;text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.note{color:var(--body);font-size:11px}.note-warn{color:var(--ink);font-weight:600}.search{flex-direction:column;gap:4px;display:flex}.search-row{gap:6px;display:flex}.search-input{text-align:left;flex:1;width:auto;min-width:0}.match{background:var(--chip);color:var(--ink);border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:11px}.alt-list{flex-direction:column;gap:4px;margin:6px 0 0;padding-left:16px;display:flex}.segmented-small button{min-height:28px;padding:0 10px}.mix{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mix-row{align-items:center;gap:6px;display:flex}.mix-row .field-select{flex:1;min-width:0;max-width:none}.mix-row .field{border:0;padding:0;display:block}.mix-row .field-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.mix-row .field-input{width:64px}.mix-row .field-unit{min-width:0}.mix-bar{background:var(--grid);border-radius:3px;height:6px;display:flex;overflow:hidden}.mix-bar-0{background:var(--ink)}.mix-bar-1{background:var(--muted)}.mix-bar-empty{background:0 0}.mix-foot{justify-content:space-between;align-items:center;display:flex}.mix-total{color:var(--body);font-size:12px}.mix-total-bad{color:var(--ink);font-weight:600}.weather-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.weather-option{border:1px solid var(--border-strong);background:var(--panel);color:var(--ink);text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;font-size:12px;display:flex}.weather-option[aria-pressed=true]{border-color:var(--accent);background:var(--accent-wash)}.weather-note{color:var(--muted);font-size:10px}.drop{border:1px dashed var(--border-strong);color:var(--body);text-align:center;cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:6px;padding:12px;font-size:11px;display:flex}.drop:focus-within,.drop-over{border-color:var(--accent);background:var(--accent-wash)}.drop:focus-within{outline:2px solid var(--accent);outline-offset:2px}.drop-button{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tile{background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--border-strong);border-radius:6px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.tile-heat{border-top-color:var(--chart-heat)}.tile-cool{border-top-color:var(--chart-cool)}.tile-sim{border-top-color:var(--chart-sim)}.tile-dhw{border-top-color:var(--chart-dhw)}.tile-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.tile-value{color:var(--ink);font-size:22px}.tile-unit{color:var(--muted);font-size:11px}.tile-sub{color:var(--body);font-size:11px}.run-status{border:1px dashed var(--border-strong);color:var(--body);border-radius:6px;padding:12px 14px}.run-meta{color:var(--muted);text-align:right;font-size:11px}.tabs{border-bottom:1px solid var(--border-strong);flex-wrap:wrap;gap:4px;display:flex}.tab{color:var(--body);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:12px}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tab-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;min-width:0;min-height:320px;padding:16px}.empty{color:var(--muted);text-align:center;max-width:48ch;margin:120px auto}.tab-panel-results{background:0 0;border:0;padding:0}.results-stack{flex-direction:column;gap:16px;display:flex}.results-pair{gap:16px;display:grid}@media (min-width:1280px){.results-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.chart-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;min-width:0;margin:0;padding:14px 16px;display:flex;position:relative}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.chart-title{margin:0;font-size:20px;font-weight:400}.chart-controls{flex-wrap:wrap;gap:6px;display:flex}.chart-subtitle,.chart-note{color:var(--body);max-width:90ch;font-size:11px}.chart-legend{color:var(--body);flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:11px;list-style:none;display:flex}.chart-legend li{align-items:center;gap:6px;display:flex}.chart-plot{width:100%;min-width:0}.chart-frame{position:relative}.chart-svg{max-width:100%;height:auto;font-family:IBM Plex Mono,ui-monospace,monospace;display:block;overflow:visible}.chart-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chart-export-stage{background:var(--panel);width:1104px;color:var(--ink);position:fixed;top:0;left:-20000px}.chart-tip{z-index:3;pointer-events:none;background:var(--panel);border:1px solid var(--border-strong);white-space:nowrap;color:var(--ink);border-radius:6px;padding:6px 8px;font-size:11px;position:absolute}.chart-tip p{align-items:center;gap:6px;margin:0;display:flex}.chart-tip-title{font-weight:600;margin-bottom:2px!important}.chart-tip-label{color:var(--muted)}.fill-heat{fill:var(--chart-heat)}.fill-cool{fill:var(--chart-cool)}.fill-sim{fill:var(--chart-sim)}.fill-dhw{fill:var(--chart-dhw)}.fill-ink{fill:var(--ink)}.stroke-heat{stroke:var(--chart-heat)}.stroke-cool{stroke:var(--chart-cool)}.stroke-sim{stroke:var(--chart-sim)}.stroke-dhw{stroke:var(--chart-dhw)}.stroke-ink{stroke:var(--ink)}.fill-heat-1{fill:var(--chart-heat-1)}.fill-heat-2{fill:var(--chart-heat-2)}.fill-heat-3{fill:var(--chart-heat-3)}.fill-heat-4{fill:var(--chart-heat-4)}.fill-heat-5{fill:var(--chart-heat-5)}.fill-heat-6{fill:var(--chart-heat-6)}.fill-cool-1{fill:var(--chart-cool-1)}.fill-cool-2{fill:var(--chart-cool-2)}.fill-cool-3{fill:var(--chart-cool-3)}.fill-cool-4{fill:var(--chart-cool-4)}.fill-cool-5{fill:var(--chart-cool-5)}.fill-cool-6{fill:var(--chart-cool-6)}.stroke-heat-1{stroke:var(--chart-heat-1)}.stroke-cool-1{stroke:var(--chart-cool-1)}.chart-svg .wash{fill-opacity:.14}.chart-svg .wash-strong{fill-opacity:.32}.chart-svg .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-svg .dash{stroke-dasharray:4 3}.chart-svg .layer{stroke:var(--panel);stroke-width:1px;stroke-linejoin:round}.chart-svg .grid{stroke:var(--grid);stroke-width:1px}.chart-svg .axis{stroke:var(--border-strong);stroke-width:1px}.chart-svg .rule{stroke:var(--ink);stroke-width:1px;stroke-opacity:.55}.chart-svg .crosshair{stroke:var(--muted);stroke-width:1px}.chart-svg .dot{stroke:var(--panel);stroke-width:2px}.chart-svg .hit{fill:#0000;cursor:crosshair;touch-action:pan-y}.chart-svg .tick{fill:var(--muted);font-size:11px}.chart-svg .zoom-band{fill:var(--accent-wash);fill-opacity:.6;stroke:var(--accent);stroke-width:1px}.chart-svg .day-mark{fill:none;stroke:var(--ink);stroke-width:1px}.chart-svg .hit:focus{outline:none}.chart-svg .hit:focus-visible{stroke:var(--accent);stroke-width:2px}.chart-svg .panel-title,.chart-svg .mini-title{fill:var(--body);letter-spacing:.04em;font-size:11px}.chart-svg .mini-frame{fill:none;stroke:var(--border);stroke-width:1px}.chart-svg .placeholder-box{fill:var(--page);stroke:var(--border-strong);stroke-width:1px}.chart-svg .placeholder-text{fill:var(--body);font-size:12px}.day-panel{border:1px solid var(--border);background:var(--page);border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.day-title{margin:0;font-size:13px;font-weight:600}.day-svg{max-width:100%;height:auto;font-family:IBM Plex Mono,ui-monospace,monospace;display:block}.day-svg .tick{fill:var(--muted);font-size:11px}.day-svg .grid{stroke:var(--grid);stroke-width:1px}.day-svg .axis{stroke:var(--border-strong);stroke-width:1px}.day-svg .line{fill:none;stroke-width:2px;stroke-linejoin:round}.day-svg .dash{stroke-dasharray:4 3}.hrc{flex-direction:column;gap:10px;display:flex}.hrc-slider{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.hrc-slider input[type=range]{width:100%;accent-color:var(--accent);min-height:28px}.hrc-value{color:var(--ink);text-align:right;min-width:7em;font-size:12px}.hrc-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.hrc-stats div{background:var(--page);border-radius:6px;padding:8px 10px}.hrc-stats dt{color:var(--muted);font-size:11px}.hrc-stats dd{color:var(--ink);margin:2px 0 0;font-size:16px}.table-scroll{overflow-x:auto}.summary-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.summary-table th,.summary-table td{border-bottom:1px solid var(--grid);text-align:right;vertical-align:top;padding:6px 8px}.summary-table th[scope=row],.summary-table thead th:first-child,.summary-table .summary-note,.summary-table thead th:last-child{text-align:left}.summary-table th[scope=row]{color:var(--ink);font-weight:400}.summary-table thead th{color:var(--muted);font-weight:400}.summary-table thead .col-heat{color:var(--heat)}.summary-table thead .col-cool{color:var(--cool)}.summary-note{color:var(--body);min-width:18ch}.learn{flex-direction:column;gap:18px;max-width:78ch;display:flex}.learn h2{font-size:22px}.learn h3{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:11px;font-weight:500}.learn p{color:var(--body);margin:0 0 8px}.sources{color:var(--body);margin:0;padding-left:20px;font-size:12px}.sources li+li{margin-top:6px}.learn-building{flex-direction:column;gap:12px;display:flex}.learn-table{border-collapse:collapse;width:100%;font-size:12px}.learn-table caption{text-align:left;color:var(--muted);padding-bottom:4px}.learn-table th,.learn-table td{border-bottom:1px solid var(--grid);text-align:right;padding:4px 8px}.learn-table th[scope=row],.learn-table thead th:first-child{text-align:left;color:var(--body);font-weight:400}.app-footer{border-top:1px solid var(--border-strong);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding-top:12px;font-size:11px;display:flex}.api-main{flex-direction:column;gap:16px;max-width:980px;display:flex}.api-lead{color:var(--body);max-width:80ch}.api-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.api-key{text-align:left;flex:22em;width:auto;font-size:13px}.api-code{border:1px solid var(--border-strong);background:var(--page);width:100%;color:var(--ink);white-space:pre;border-radius:6px;margin:0;padding:10px 12px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;line-height:1.45;overflow-x:auto}textarea.api-code{resize:vertical}.api-preview{max-height:320px}.api-h3{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:8px 0 0;font-size:11px;font-weight:500}.api-list{color:var(--body);margin:0;padding-left:18px;font-size:12px}.api-list li+li{margin-top:6px}.api-table th[scope=row]{white-space:nowrap}.api-table td{text-align:left}.menu{position:relative}.menu-list{z-index:20;background:var(--panel);border:1px solid var(--border-strong);border-radius:6px;min-width:240px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.menu-list button{width:100%;min-height:36px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 10px;font-size:12px;display:block}.menu-list button:hover,.menu-list button:focus-visible{background:var(--accent-wash)}.notice:empty{display:none}.notice{border:1px solid var(--accent);background:var(--accent-wash);color:var(--ink);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.notice-copy{background:var(--field);color:var(--ink);border:1px solid var(--border-strong);border-radius:4px;flex:100%;padding:6px;font-family:inherit;font-size:11px}.btn-dark{border-color:var(--ink);background:var(--ink);color:var(--panel);font-weight:600}.phone-summary{background:var(--ink);color:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:12px;display:flex}.phone-summary .btn{min-height:var(--tap);flex:none;font-weight:600}.phone-bar{z-index:15;margin:0 calc(-1 * var(--gutter));padding:10px var(--gutter) max(10px, env(safe-area-inset-bottom));background:var(--page);border-top:1px solid var(--border-strong);grid-template-columns:1fr 1.6fr;gap:10px;display:grid;position:sticky;bottom:0}.phone-bar .btn,.phone-bar .menu,.phone-bar .menu>.btn{width:100%;min-height:var(--tap)}.phone-bar .menu-list{top:auto;bottom:calc(100% + 4px)}.sheet-backdrop{z-index:30;background:var(--scrim);align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--panel);width:100%;max-height:92vh;color:var(--ink);padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;flex-direction:column;display:flex}.sheet-grip{background:var(--border-strong);border-radius:2px;width:40px;height:4px;margin:8px auto 0}.sheet-head{padding:10px var(--gutter);justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-head h2{font-size:22px}.sheet-head h2:focus{outline:none}.sheet-head .btn{min-height:var(--tap)}.sheet-steps{padding:0 var(--gutter) 10px;border-bottom:1px solid var(--border-strong);gap:8px;display:flex;overflow-x:auto}.step-pill{min-height:var(--tap);border:1px solid var(--border-strong);background:var(--panel);color:var(--body);cursor:pointer;border-radius:999px;flex:none;padding:0 14px;font-family:inherit;font-size:13px}.step-pill[aria-current=step]{border-color:var(--ink);background:var(--ink);color:var(--panel)}.sheet-body{padding:12px var(--gutter);overscroll-behavior:contain;flex:1;overflow-y:auto}.sheet-foot{padding:10px var(--gutter);border-top:1px solid var(--border-strong);grid-template-columns:1fr 1fr;gap:10px;display:grid}.sheet-foot .btn{min-height:var(--tap);font-size:14px}.rail-stepped .rail-group{background:0 0;border:0;padding:0}.rail-stepped .field{grid-template-columns:1fr;row-gap:6px}.rail-stepped .field-control{grid-row:auto}.rail-stepped .field-input,.rail-stepped .field-select{width:auto;max-width:none;min-height:var(--tap);font-size:var(--field-font-touch);flex:1}.rail-stepped .mix-row .field-input{flex:none;width:72px}.rail-stepped .btn,.rail-stepped .weather-option,.rail-stepped .segmented button{min-height:var(--tap)}@media (pointer:coarse){.btn,.segmented button{min-height:var(--tap)}.btn-icon{width:var(--tap)}input,select,textarea{font-size:var(--field-font-touch)}.field-input,.field-select,.weather-option{min-height:var(--tap)}}@media (max-width:640px){.brand-text h1{font-size:24px}.tabs{border-bottom:0;flex-wrap:nowrap;overflow-x:auto}.tab{min-height:var(--tap);border:1px solid var(--border-strong);border-radius:999px;flex:none;margin:0}.tab[aria-selected=true]{border-color:var(--accent);background:var(--accent-wash)}.app-footer{flex-direction:column}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.results{order:-1}.field-input{width:84px}.hrc-stats,.hrc-slider{grid-template-columns:1fr}.summary-table thead{display:none}.summary-table tr{border-bottom:1px solid var(--grid);grid-template-columns:1fr 1fr;gap:2px 12px;padding:8px 0;display:grid}.summary-table th,.summary-table td{text-align:left;border:0;padding:0}.summary-table th[scope=row],.summary-table .summary-note{grid-column:1/-1}.summary-table th[scope=row]{font-weight:600}.summary-table td[data-label]:before{content:attr(data-label) " ";color:var(--muted)}}
