:root{--bg:#f5f5f7;--surface:#fff;--surface-2:#fbfbfd;--glass:#ffffffc7;--ink:#1d1d1f;--ink-2:#6e6e73;--ink-3:#a1a1a6;--line:#00000014;--line-2:#00000024;--accent:#0071e3;--accent-ink:#fff;--accent-soft:#0071e31a;--ok:#1f9d55;--risk:#c77700;--down:#e5332a;--ok-soft:#1f9d551f;--risk-soft:#c7770021;--down-soft:#e5332a1f;--cold:#3d8bfd;--hot:#ff6b4a;--liquid:#13a8a8;--power:#f2a516;--shadow-sm:0 1px 2px #0000000d;--shadow:0 2px 6px #0000000a, 0 12px 32px #00000014;--radius:18px;--radius-sm:12px;--p-site:#ecece6;--p-yard:#e2e3dc;--p-building:#fff;--p-wall:#1d1d1f;--p-hall:#f3f7ff;--p-power:#fff8ea;--p-support:#f4f4f6;--p-corridor:#fff;--p-rack:#2c2c2e;--p-equip:#8e8e93;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--surface:#1c1c1e;--surface-2:#141416;--glass:#1c1c1ec7;--ink:#f5f5f7;--ink-2:#a1a1a6;--ink-3:#6e6e73;--line:#ffffff1a;--line-2:#ffffff2e;--accent:#0a84ff;--accent-soft:#0a84ff2e;--ok:#32d74b;--risk:#ffb340;--down:#ff453a;--ok-soft:#32d74b26;--risk-soft:#ffb34029;--down-soft:#ff453a29;--shadow:0 2px 6px #0006, 0 12px 32px #00000080;--p-site:#0e0f10;--p-yard:#18191b;--p-building:#1c1c1e;--p-wall:#d1d1d6;--p-hall:#15202e;--p-power:#2a2214;--p-support:#222224;--p-corridor:#1c1c1e;--p-rack:#e5e5ea;--p-equip:#8e8e93;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--surface:#1c1c1e;--surface-2:#141416;--glass:#1c1c1ec7;--ink:#f5f5f7;--ink-2:#a1a1a6;--ink-3:#6e6e73;--line:#ffffff1a;--line-2:#ffffff2e;--accent:#0a84ff;--accent-soft:#0a84ff2e;--ok:#32d74b;--risk:#ffb340;--down:#ff453a;--ok-soft:#32d74b26;--risk-soft:#ffb34029;--down-soft:#ff453a29;--shadow:0 2px 6px #0006, 0 12px 32px #00000080;--p-site:#0e0f10;--p-yard:#18191b;--p-building:#1c1c1e;--p-wall:#d1d1d6;--p-hall:#15202e;--p-power:#2a2214;--p-support:#222224;--p-corridor:#1c1c1e;--p-rack:#e5e5ea;--p-equip:#8e8e93;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;letter-spacing:-.01em;font:15px/1.47 Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-2)}#app{grid-template-rows:56px 1fr;height:100%;display:grid}.bar{z-index:20;background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 16px;display:grid;position:relative}.brand{white-space:nowrap;align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.brand .logo{background:var(--ink);border-radius:7px;grid-template-columns:repeat(3,3px);place-content:center;gap:2.5px;width:26px;height:26px;display:grid}.brand .logo i{background:var(--bg);border-radius:1px;height:13px;display:block}.brand .logo i:last-child{background:var(--accent)}.brand small{color:var(--ink-2);text-overflow:ellipsis;font-weight:500;overflow:hidden}.steps{background:#7878801f;border-radius:999px;gap:2px;padding:3px;display:flex}.steps button{color:var(--ink-2);background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:6px 16px;font-size:14px;font-weight:500;transition:background .2s,color .2s;display:flex}.steps button .n{background:var(--line-2);width:18px;height:18px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.steps button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.steps button[aria-selected=true] .n{background:var(--accent);color:var(--accent-ink)}.steps button:disabled{opacity:.4;cursor:default}.bar-actions{justify-content:flex-end;gap:8px;display:flex}.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:34px;height:34px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.icon-btn svg{width:17px;height:17px}.icon-btn.primary{background:var(--ink);color:var(--bg);border-color:#0000}.icon-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:#0000}.btn{border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:600;transition:transform .12s,background .2s,opacity .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.dark{background:var(--ink);color:var(--bg)}.btn.ghost{color:var(--accent);background:0 0;padding:10px 12px}.btn.soft{color:var(--ink);background:#7878801f}.btn:disabled{opacity:.4;cursor:default}.btn svg{width:16px;height:16px}.describe{place-items:start center;padding:9vh 20px 40px;display:grid;overflow:auto}.describe-inner{width:min(760px,100%)}.describe h1{letter-spacing:-.035em;text-align:center;margin:0 0 12px;font-size:clamp(34px,5vw,52px);font-weight:700;line-height:1.06}.describe .lede{text-align:center;color:var(--ink-2);max-width:560px;margin:0 auto 36px;font-size:19px}.composer{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px;padding:14px 14px 12px 22px;transition:border-color .2s,box-shadow .2s}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft), var(--shadow)}.composer textarea{resize:none;background:0 0;border:0;outline:0;width:100%;min-height:58px;padding:6px 0;font-size:19px;line-height:1.45}.composer textarea:focus-visible{outline:0}.composer-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.understood{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:500}.tag.grey{color:var(--ink-2);background:#7878801f}.send{background:var(--ink);width:40px;height:40px;color:var(--bg);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.send svg{width:20px;height:20px}.send:disabled{opacity:.3}.examples{flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 40px;display:flex}.examples button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:8px 14px;font-size:14px}.examples button:hover{color:var(--ink);border-color:var(--line-2)}.dials{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.dial{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px}.dial label{color:var(--ink-2);margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.dial output{font-size:17px;font-weight:600}.dial input[type=range]{width:100%;accent-color:var(--accent)}.seg{background:#7878801f;border-radius:9px;gap:2px;padding:2px;display:flex}.seg button{color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:1;padding:5px 4px;font-size:13px;font-weight:500}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.how{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:40px;display:grid}.how div{padding:4px 2px}.how b{margin-bottom:2px;font-size:14px;display:block}.how span{color:var(--ink-2);font-size:13.5px}.work{grid-template-columns:340px 1fr;min-height:0;display:grid;position:relative}.rail{border-right:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:14px;padding:20px 16px 24px;display:flex;overflow:auto}.rail h2{letter-spacing:-.02em;margin:0;font-size:22px}.rail .hint{color:var(--ink-2);margin:-8px 0 4px;font-size:14px}.option{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);gap:10px;width:100%;padding:16px;transition:border-color .15s,box-shadow .15s;display:grid}.option:hover{border-color:var(--line-2)}.option[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.option-head{gap:6px;display:grid}.option-head .badges{flex-wrap:wrap;gap:6px;display:flex}.option-head .badges:empty{display:none}.option-head b{letter-spacing:-.015em;font-size:17px}.badge{background:var(--ok-soft);color:var(--ok);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:600}.badge.blue{background:var(--accent-soft);color:var(--accent)}.option p{color:var(--ink-2);margin:0;font-size:13.5px}.stats{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.stat{background:var(--surface-2);border-radius:10px;padding:8px 9px}.stat b{letter-spacing:-.01em;font-size:16px;display:block}.stat span{color:var(--ink-2);font-size:11.5px}.checks-sum{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}.dot{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px}.dot.risk{background:var(--risk)}.dot.down{background:var(--down)}.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.panel-card h3{margin:0 0 8px;font-size:15px}.check{border-top:1px solid var(--line);grid-template-columns:18px 1fr;gap:8px;padding:7px 0;font-size:13.5px;display:grid}.check:first-of-type{border-top:0}.check .ic{background:var(--ok-soft);width:18px;height:18px;color:var(--ok);border-radius:50%;place-items:center;margin-top:1px;font-size:11px;font-weight:700;display:grid}.check.fail .ic{background:var(--down-soft);color:var(--down)}.check small{color:var(--ink-2);font-size:12.5px;display:block}details.more summary{cursor:pointer;color:var(--accent);padding-top:6px;font-size:13px;font-weight:500;list-style:none}details.more summary::-webkit-details-marker{display:none}.stage{background:var(--p-site);position:absolute;inset:0;overflow:hidden}.stage svg.plan{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.stage svg.plan.dragging{cursor:grabbing}.floating{z-index:5;position:absolute}.inspector{background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);border:1px solid var(--line);border-radius:var(--radius);width:300px;max-height:calc(100% - 100px);box-shadow:var(--shadow);padding:16px;top:16px;right:16px;overflow:auto}.inspector .kicker{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.inspector h3{letter-spacing:-.02em;margin:2px 0 6px;font-size:19px}.inspector p{color:var(--ink-2);margin:0 0 10px;font-size:14px}.facts{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13.5px;display:grid}.facts dt{color:var(--ink-2)}.facts dd{text-align:right;white-space:nowrap;margin:0;font-weight:500}.inspector .close{width:26px;height:26px;color:var(--ink-2);background:#78788024;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.toolbar{background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:6px;padding:5px;display:flex;bottom:20px;left:50%;transform:translate(-50%)}.toolbar .seg{background:0 0}.toolbar .seg button{border-radius:999px;padding:7px 14px;font-size:13.5px}.toolbar .seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.toolbar .sep{background:var(--line-2);width:1px;height:22px}.next{bottom:20px;right:20px}.legend{max-width:340px;color:var(--ink-2);background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;padding:10px 12px;font-size:12.5px;bottom:20px;left:16px}.legend p{color:var(--ink);margin:0 0 8px;font-size:13px;line-height:1.4}.legend .swatches{flex-wrap:wrap;gap:6px 12px;display:flex}.legend .swatches span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:11px;height:11px;display:inline-block}.renderer-badge{color:var(--ink-3);letter-spacing:.02em;padding-left:6px;font-size:11px;font-weight:600}.top-left{flex-direction:column;align-items:flex-start;gap:8px;display:flex;top:16px;left:16px}.seg.pill{background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;padding:3px}.seg.pill button{border-radius:999px;padding:6px 16px;font-size:13.5px}.seg.pill button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.presets{flex-direction:column;gap:4px;display:flex}.presets button,.zoom button{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(20px);color:var(--ink);text-align:left;box-shadow:var(--shadow-sm);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}.presets button:hover,.zoom button:hover{border-color:var(--line-2)}.zoom{gap:4px;display:flex}.zoom button{text-align:center;width:34px;height:34px;padding:0;font-size:17px}.stage-slot{min-width:0;min-height:0;display:grid;position:relative}.view-host{position:absolute;inset:0}.viewer{position:absolute;inset:0;overflow:hidden}.viewer canvas{touch-action:none;outline:none;display:block}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.label3d{white-space:nowrap;color:var(--ink);background:var(--glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow-sm);will-change:transform;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;position:absolute;top:0;left:0}.loading3d{color:var(--ink-2);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex;position:absolute;inset:0}.tip{z-index:6;pointer-events:none;opacity:0;background:var(--ink);color:var(--bg);white-space:nowrap;border-radius:8px;padding:4px 9px;font-size:12.5px;font-weight:500;transition:opacity .12s;position:absolute;top:0;left:0}.health{color:var(--c);align-items:center;gap:6px;font-weight:600;display:inline-flex}.health:before{content:"";background:var(--c);border-radius:50%;width:8px;height:8px}.inspector .note{margin:10px 0 0;font-size:13px}:root{--ghost:#d8d9dc}:root[data-theme=dark]{--ghost:#2c2c30}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ghost:#2c2c30}}.plan text{pointer-events:none;letter-spacing:0;font-family:Inter,-apple-system,system-ui,sans-serif}.plan .room{stroke:var(--line-2);stroke-width:.06px}.plan .room.hover,.plan .eq.hover{filter:brightness(.94)}.plan .room.sel{stroke:var(--accent);stroke-width:.25px}.plan .eq.sel{stroke:var(--accent);stroke-width:.18px}.plan .wall{fill:none;stroke:var(--p-wall);stroke-width:.3px}.soon{text-align:center;color:var(--ink-2);place-items:center;padding:40px;display:grid}.soon h2{color:var(--ink);letter-spacing:-.02em;margin:0 0 8px;font-size:28px}.thinking{color:var(--ink-2);justify-content:center;align-items:center;gap:10px;min-height:22px;margin-top:18px;font-size:14px;display:flex}.spinner{border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.35s both fade}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:860px){.bar{grid-template-columns:auto 1fr auto;gap:8px}.bar-actions>:not(.assistant-btn),.assistant-btn .label{display:none}.steps{justify-self:end}.steps button{padding:6px 10px}.steps button .label,.brand small{display:none}.work{grid-template-rows:auto 1fr;grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--line);max-height:42vh}.inspector{width:auto;max-height:34%;inset:auto 12px 126px}.next{bottom:12px;left:12px;right:12px}.next .btn{justify-content:center;width:100%}.toolbar{bottom:68px}.renderer-badge,.legend,.presets{display:none}}.small{font-size:13px}.btn.small{padding:4px 8px;font-size:13px}.btn.danger{background:var(--down);color:#fff}.btn.wide{justify-content:center;width:100%;margin-top:14px}.status-card{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--c) 35%, transparent);background:color-mix(in srgb, var(--c) 9%, var(--surface));padding:16px;transition:background .3s,border-color .3s}.status-head{letter-spacing:-.02em;align-items:center;gap:10px;font-size:19px;display:flex}.status-card p{margin:6px 0 12px;font-size:14.5px}.pulse{background:var(--c);width:12px;height:12px;box-shadow:0 0 0 0 var(--c);border-radius:50%;flex:none}.status-card:not(.ok) .pulse,.status-banner:not(.ok) .pulse{animation:1.4s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--c) 60%, transparent)}to{box-shadow:0 0 0 10px #0000}}.row-counts{color:var(--ink-2);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.row-counts span{align-items:center;gap:5px;display:inline-flex}.row-counts i{border-radius:50%;width:8px;height:8px;display:inline-block}.row-counts b{color:var(--ink)}.whatifs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tile{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:14px;align-content:start;gap:3px;padding:12px;transition:border-color .15s,box-shadow .15s,transform .12s;display:grid}.tile:hover{border-color:var(--line-2)}.tile:active{transform:scale(.98)}.tile[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tile-ic{background:#7878801f;border-radius:9px;place-items:center;width:30px;height:30px;margin-bottom:4px;display:grid}.tile[aria-pressed=true] .tile-ic{background:var(--accent);color:var(--accent-ink)}.tile-ic svg{width:18px;height:18px}.tile b{font-size:14px}.tile small{color:var(--ink-2);font-size:12px;line-height:1.35}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:0;border-radius:999px;align-items:center;gap:6px;padding:5px 8px 5px 11px;font-size:13px;font-weight:500;display:inline-flex}.chip.down{background:var(--down-soft);color:var(--down)}.chip svg{width:13px;height:13px}.dials.two{grid-template-columns:1fr 1fr;gap:8px}.dials.two .dial label{font-size:12px}.card-head{justify-content:space-between;align-items:center;display:flex}.card-head h3{margin:0}.round{background:var(--ink);width:34px;height:34px;color:var(--bg);border:0;border-radius:50%;place-items:center;display:grid}.round svg{width:15px;height:15px}.day-card p{margin:4px 0 8px}svg.day{width:100%;height:auto;display:block;overflow:visible}svg.day .temp{fill:none;stroke:var(--ink-2);stroke-width:1.6px}svg.day .rated{stroke:var(--down);stroke-dasharray:3 3;stroke-width:1px;opacity:.7}svg.day .cell{cursor:pointer;transition:opacity .15s}svg.day .cell:hover{opacity:.75}svg.day .cell.on{stroke:var(--ink);stroke-width:1.5px}svg.day .head{stroke:var(--ink);stroke-width:1.2px}.day-axis{color:var(--ink-3);justify-content:space-between;margin-top:3px;font-size:11px;display:flex}.day-key{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.day-key span{align-items:center;gap:5px;display:inline-flex}.day-key i{border-top:1.6px solid var(--ink-2);width:14px;height:0;display:inline-block}.day-key i.dash{border-top:1.5px dashed var(--down)}.day-key .btn{margin-left:auto}.check.wait .ic{border:2px solid var(--line-2);border-top-color:var(--accent);background:0 0;animation:.8s linear infinite spin}.check .btn.small{padding:2px 0}.numbers summary{cursor:pointer;font-size:15px;font-weight:600;list-style:none}.numbers summary::-webkit-details-marker{display:none}.numbers[open] summary{margin-bottom:8px}.pool{padding:6px 0}.pool-head{justify-content:space-between;gap:8px;font-size:13px;display:flex}.pool-head span{color:var(--ink-2)}.pool-head b{white-space:nowrap;font-weight:600}.meter{background:#78788029;border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.meter i{border-radius:3px;height:100%;transition:width .3s;display:block}.banner-slot{z-index:6;pointer-events:none;justify-content:center;display:flex;position:absolute;top:16px;left:168px;right:340px}.stage.card-min .banner-slot{right:340px}.status-banner{background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);border:1px solid color-mix(in srgb, var(--c) 40%, var(--line));box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:9px 16px;font-size:14px;font-weight:500;display:flex;position:static}.status-banner .pulse{width:10px;height:10px}@media (max-width:860px){.banner-slot{display:none}}:root{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4}:root[data-theme=dark]{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181}}.cost-page{min-height:0;overflow:auto}.cost-inner{gap:18px;width:min(1120px,100%);margin:0 auto;padding:36px 24px 48px;display:grid}.cost-title h1{letter-spacing:-.03em;margin:0 0 4px;font-size:clamp(30px,4vw,44px)}.cost-title p{color:var(--ink-2);margin:0;font-size:16px}.cost-controls{gap:12px;display:grid}.cost-controls>.seg.pill{justify-self:start}.cost-controls .dials{grid-template-columns:repeat(3,minmax(0,1fr))}.cost-controls .dial .seg{margin-top:6px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:2px;padding:16px 18px;display:grid}.kpi span{color:var(--ink-2);font-size:13px;font-weight:500}.kpi b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(26px,3vw,34px);font-weight:700}.kpi small{color:var(--ink-2);font-size:13px}.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cost-grid .wide{grid-column:1/-1}.chart-card{position:relative}.chart-card .card-head{margin-bottom:2px}.big-line{color:var(--ink-2);margin:4px 0 14px;font-size:14px}.big-line b{color:var(--ink);letter-spacing:-.02em;font-size:22px}.stack{border-radius:6px;gap:2px;height:28px;display:flex;overflow:hidden}.stack i{cursor:default;min-width:3px;transition:filter .15s;display:block}.stack i:hover{filter:brightness(1.08)}.legend-row{color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:13px;display:flex}.legend-row span{align-items:center;gap:6px;display:inline-flex}.legend-row i{border-radius:3px;width:10px;height:10px;display:inline-block}.legend-row b{color:var(--ink);font-weight:600}table.lines{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px;font-size:13.5px}table.lines td{border-top:1px solid var(--line);padding:6px 0}table.lines td+td{text-align:right;color:var(--ink-2)}table.lines td:nth-child(2){color:var(--ink);font-weight:500}.chart-card .note,.panel-card .note{color:var(--ink-2);margin:12px 0 0;font-size:13px}.switch{color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.switch input{appearance:none;background:var(--line-2);cursor:pointer;border-radius:999px;width:34px;height:20px;margin:0;transition:background .2s;position:relative}.switch input:after{content:"";width:16px;height:16px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .2s;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--ok)}.switch input:checked:after{transform:translate(14px)}.pue{color:var(--ink-2);font-size:13px}.pue b{color:var(--ink);font-size:17px}svg.sankey{width:100%;height:auto;display:block;overflow:visible}svg.sankey .grid-node{fill:var(--ink-2)}svg.sankey .flow{opacity:.32;transition:opacity .15s}svg.sankey .flow:hover{opacity:.55}svg.sankey text{letter-spacing:0;font-size:13px}svg.sankey .lbl{fill:var(--ink);font-weight:500}svg.sankey .val{fill:var(--ink-2);font-variant-numeric:tabular-nums}svg.linechart{width:100%;height:auto;display:block;overflow:visible}svg.linechart text{letter-spacing:0}svg.linechart .grid{stroke:var(--line);stroke-width:1px}svg.linechart .tick{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11.5px}svg.linechart .series{stroke-width:2px;stroke-linecap:round;opacity:.85}svg.linechart .series.sel{stroke-width:3px;opacity:1}svg.linechart .end{stroke:var(--surface);stroke-width:2px}svg.linechart .end-lbl{fill:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12.5px}svg.linechart .end-lbl.sel{fill:var(--ink);font-weight:600}svg.linechart .cross{stroke:var(--ink-3);stroke-width:1px;pointer-events:none}.chart-tip{z-index:10;pointer-events:none;opacity:0;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);font-variant-numeric:tabular-nums;border-radius:10px;gap:3px;min-width:150px;padding:8px 10px;font-size:12.5px;transition:opacity .12s;display:grid;position:absolute;top:0;left:0}.tip-row{color:var(--ink-2);grid-template-columns:10px 1fr auto;align-items:center;gap:8px;display:grid}.tip-row i{border-radius:3px;width:10px;height:10px}.tip-row b{color:var(--ink)}.table-wrap{overflow-x:auto}table.compare{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:560px;font-size:14px}table.compare th,table.compare td{border-top:1px solid var(--line);text-align:right;vertical-align:top;padding:10px 12px}table.compare thead th{border-top:0}table.compare th[scope=row]{text-align:left;color:var(--ink-2);font-weight:500}table.compare th small,table.compare td small{color:var(--ink-3);font-size:11.5px;font-weight:400;display:block}table.compare td{font-weight:600}table.compare td.sel{background:var(--accent-soft)}table.compare thead th:first-child{width:34%}.col-pick{background:0 0;border:0;border-radius:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;padding:4px 6px;font-size:14px;font-weight:600;display:inline-flex}.col-pick i{border-radius:3px;width:10px;height:10px}.col-pick[aria-pressed=true]{color:var(--accent)}.best{background:var(--ok-soft);color:var(--ok);vertical-align:1px;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:10.5px;font-weight:600;display:inline-block}.assumptions summary{cursor:pointer;align-items:baseline;gap:10px;list-style:none;display:flex}.assumptions summary::-webkit-details-marker{display:none}.assumptions summary h3{margin:0}.assumptions summary:after{content:"›";color:var(--ink-3);margin-left:auto;font-size:20px;line-height:1;transition:transform .2s}.assumptions[open] summary:after{transform:rotate(90deg)}.rates{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:14px 0;display:grid}.rate{color:var(--ink-2);background:var(--surface-2);border:1px solid #0000;border-radius:12px;gap:4px;padding:10px 12px;font-size:13px;display:grid}.rate.changed{border-color:var(--accent)}.rate-in{align-items:center;gap:8px;display:flex}.rate-in input{border:1px solid var(--line-2);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:8px;width:110px;padding:5px 8px;font-weight:600}.rate-in small{color:var(--ink-3);font-size:11.5px}.foot{text-align:center;margin:4px 0 0}@media (max-width:860px){.cost-inner{padding:20px 16px 32px}.kpis{grid-template-columns:1fr 1fr}.cost-grid,.cost-controls .dials{grid-template-columns:1fr}.cost-controls>.seg.pill{justify-self:stretch;overflow-x:auto}}.body{min-height:0;display:flex;overflow:hidden}.assistant-btn{position:relative}.assistant-btn[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:#0000}.assistant-btn .unread{background:var(--accent);min-width:17px;height:17px;color:var(--accent-ink);box-shadow:0 0 0 2px var(--bg);border-radius:999px;place-items:center;padding:0 4px;font-size:10.5px;font-weight:700;display:none;position:absolute;top:-4px;right:-4px}.assistant-btn .unread.on{animation:.3s cubic-bezier(.3,1.6,.5,1) both pop;display:grid}@keyframes pop{0%{transform:scale(.4)}to{transform:none}}.work{transition:grid-template-columns .25s cubic-bezier(.3,.7,.2,1)}.work.rail-hidden{grid-template-columns:0 1fr}.work .rail{transition:opacity .2s}.work.rail-hidden .rail{opacity:0;visibility:hidden;border:0;padding:0;overflow:hidden}.tool-row{gap:4px;display:flex}.tool-btn{width:34px;height:34px;color:var(--ink);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid}.tool-btn:hover{border-color:var(--line-2)}.tool-btn svg{width:17px;height:17px}.tool-btn[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:#0000}.tool-btn:first-child[aria-pressed=true]{background:var(--glass);color:var(--ink);border-color:var(--line)}.stage .floating{transition:opacity .2s,transform .2s}.stage.bare .inspector,.stage.bare .legend,.stage.bare .banner-slot,.stage.bare .presets,.stage.bare .zoom,.stage.bare .renderer-badge,.stage.bare .next,.stage.bare .seg.pill{opacity:0;pointer-events:none;transform:translateY(-4px)}.stage.bare .toolbar{opacity:.85}.inspector .kicker{padding-right:64px}.inspector .minimize{width:26px;height:26px;color:var(--ink-2);background:#78788024;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.inspector .close~.minimize{right:42px}.inspector .minimize svg,.inspector .close svg{width:14px;height:14px}.stage.card-min .inspector{padding-bottom:12px}.stage.card-min .inspector>:not(.kicker):not(h3):not(.close):not(.minimize):not(.btn){display:none}.stage.card-min .inspector h3{margin-bottom:0}.stage.card-min .inspector .btn{margin-top:10px}@media (max-width:860px){.work.rail-hidden{grid-template-rows:0 1fr;grid-template-columns:1fr}.stage.bare .tool-row{opacity:1}}.tag.model{color:#4a7a00;background:#76b90024;align-items:center;gap:5px;display:inline-flex}.tag.model:before{content:"";background:#76b900;border-radius:50%;width:6px;height:6px}:root[data-theme=dark] .tag.model{color:#a6e04a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tag.model{color:#a6e04a}}.read-by{color:var(--ink-2);align-items:center;gap:6px;margin:-6px 0 0;font-size:12.5px;display:flex}.read-by i{background:#76b900;border-radius:50%;flex:none;width:7px;height:7px}.solver-wait{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.solver-head{align-items:center;gap:8px;display:flex}.solver-head h3{margin:0}.solver-head .ic{background:var(--ok-soft);width:20px;height:20px;color:var(--ok);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.solver-head .ic.fail{background:var(--down-soft);color:var(--down)}.solver p{margin:6px 0 0}.solver.off{padding:10px 14px}.solver.off p{margin:0}.export-row{flex-wrap:wrap;gap:6px;display:flex}.export-row .btn{padding:8px 14px;font-size:14px}
