:root{--pool-surface:#f4f4f5;--pool-surface-raised:#ffffff;--pool-border:#d4d4d8;--pool-border-card:#c4c4c9;--pool-border-strong:#a1a1aa;--pool-ink:#18181b;--pool-ink-strong:#3f3f46;--pool-ink-muted:#52525b;--pool-ink-soft:#71717a;--pool-ink-subtle:#a1a1aa;--pool-ink-faint:#d4d4d8;--pool-surface-sunken:#f3f3f5;--pool-surface-page:#f6f6f4;--pool-accent:#0d9488;--pool-accent-ink:#ffffff;--pool-accent-bg:#e6f7f5;--pool-accent-line:#b8e6e0;--pool-accent-strong:#0f766e;--pool-accent-bright:#2dd4bf;--pool-pool:#f59e0b;--pool-spa:#ea580c;--pool-danger:#dc2626;--pool-danger-strong:#b91c1c;--pool-danger-bg:#fef2f2;--pool-ok:#10b981;--pool-ok-strong:#047857;--pool-ok-bg:#ecfdf5;--pool-ease:cubic-bezier(0.4,0,0.2,1);--pool-shadow-tint:#0a0a0b;--pool-shadow-tint-neutral:#000000;--pool-dial-water-cold:#38bdf8;--pool-dial-water-hot:#d97706;--pool-dial-pool-grad-1:#fbbf24;--pool-dial-pool-grad-2:#ea9006;--pool-dial-spa-grad-1:#fb7c3c;--pool-dial-spa-grad-2:#d2440b;--pool-shadow-elevation:0 1px 2px rgba(0,0,0,0.05);--pool-radius-card:14px;--pool-aw-blue:#0284c7;--pool-aw-amber:#f59e0b;--pool-aw-orange:#ea580c;--pool-aw-green:#15803d;--pool-aw-purple:#7c3aed;--pool-aw-rust:#c96a5b;--pool-aw-pink:#db2777;--pool-aw-teal:#1c8a96;--pool-aw-sky-1:#fbbf24;--pool-aw-sky-2:#fde68a;--pool-aw-sky-3:#bfdbfe;--pool-aw-sky-4:#1e3a8a}.pui-aw-tile{position:relative;background:var(--pool-surface-raised);border-radius:16px;padding:12px 36px 12px 12px;text-align:left;cursor:pointer;box-shadow:0 0 0 1px var(--pool-border) inset;transition:box-shadow .18s ease,transform .12s ease,background .16s ease;display:flex;flex-direction:column;gap:4px;width:100%;min-width:0}.pui-aw-tile:hover{box-shadow:0 0 0 1px var(--pool-ink-muted) inset,0 6px 16px -8px color-mix(in srgb,var(--pool-shadow-tint-neutral) 20%,transparent)}.pui-aw-tile:active{transform:scale(.985)}.pui-aw-tile[data-selected=true]{box-shadow:0 0 0 2px var(--pool-accent) inset,0 0 0 6px color-mix(in oklab,var(--pool-accent) 12%,transparent)}.pui-aw-tile-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:999px;background:var(--pool-surface-sunken);box-shadow:0 0 0 1px var(--pool-border) inset;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .18s ease,transform .18s ease,background .18s ease;color:var(--pool-accent-ink);pointer-events:none}.pui-aw-tile[data-selected=true] .pui-aw-tile-check{opacity:1;transform:scale(1);background:var(--pool-accent);box-shadow:0 0 0 1px var(--pool-accent) inset}.pui-aw-tile-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.pui-aw-tile .pui-aw-tile-icon{background:none!important;width:auto!important;height:auto!important;color:var(--pool-ink-muted)!important}.pui-aw-tile[data-selected=true] .pui-aw-tile-icon{color:var(--pool-accent)!important}.pui-aw-tile-title{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;line-height:1.25;color:var(--pool-ink)}.pui-aw-tile-title .pui-aw-tile-icon svg{width:16px;height:16px}.pui-aw-tile-desc,.pui-aw-tile-sample{padding-left:24px;font-size:12px;line-height:1.35;color:var(--pool-ink-muted)}.pui-aw-tile-sample{font-style:italic}@media (min-width:640px){.pui-aw-tile{padding:16px 40px 16px 16px;gap:6px}.pui-aw-tile-check{top:10px;right:10px}.pui-aw-tile-title{font-size:15px}}.pui-aw-step-node{border:none;width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--pool-surface-raised);box-shadow:0 0 0 1px var(--pool-border) inset;color:var(--pool-ink-muted);font-weight:600;font-size:12px;transition:all .22s ease;position:relative;z-index:1}.pui-aw-step-node:not(:disabled){cursor:pointer}.pui-aw-step-node:disabled{cursor:default}.pui-aw-step-node[data-state=active]{box-shadow:0 0 0 6px color-mix(in oklab,var(--pool-accent) 14%,transparent),0 4px 10px -2px color-mix(in oklab,var(--pool-accent) 40%,transparent)}.pui-aw-step-node[data-state=active],.pui-aw-step-node[data-state=done]{background:var(--pool-accent);color:var(--pool-accent-ink)}.pui-aw-step-bar{flex:1;height:3px;background:var(--pool-border);border-radius:999px;overflow:hidden;position:relative}.pui-aw-step-bar:after{content:"";position:absolute;inset:0;background:var(--pool-accent);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .36s cubic-bezier(.5,0,.2,1)}.pui-aw-step-rail{display:flex;align-items:center;gap:8px;width:100%;max-width:36rem;margin-inline:auto}.pui-aw-step-item{position:relative;display:flex;flex-direction:column;align-items:center;padding-bottom:22px;flex-shrink:0}.pui-aw-step-label{position:absolute;top:calc(100% - 14px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--pool-ink-muted);transition:color .22s ease}.pui-aw-step-label[data-state=active],.pui-aw-step-label[data-state=done]{color:var(--pool-accent)}.pui-aw-field{width:100%;background:var(--pool-surface-raised);border:none;box-shadow:0 0 0 1px var(--pool-border) inset;border-radius:12px;padding:12px 14px;font-size:15px;color:var(--pool-ink);font-family:inherit;transition:box-shadow .16s ease}.pui-aw-field:focus{outline:none;box-shadow:0 0 0 2px var(--pool-accent),0 0 0 6px color-mix(in oklab,var(--pool-accent) 12%,transparent)}.pui-aw-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-size:13px;font-weight:500;background:var(--pool-surface-raised);color:var(--pool-ink-muted);cursor:pointer;box-shadow:0 0 0 1px var(--pool-border) inset;transition:all .16s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pui-aw-chip[data-on=true]{background:var(--pool-accent);color:var(--pool-accent-ink);box-shadow:0 0 0 1px var(--pool-accent) inset}.pui-aw-chip:hover:not([data-on=true]){background:color-mix(in oklab,var(--pool-accent) 6%,var(--pool-surface-raised))}.pui-aw-chip svg{width:12px;height:12px;flex-shrink:0}.pui-aw-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pui-aw-chip-sm{padding:5px 10px;font-size:12px;gap:5px}.pui-aw-state-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:color-mix(in oklab,var(--pool-ink) 12%,transparent);color:var(--pool-ink)}.pui-aw-time-segment{box-sizing:content-box;flex:0 0 2.7ch;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.025em;font-size:44px;line-height:1;color:var(--pool-ink);background:transparent;border:none;text-align:center;padding:4px 6px;border-radius:10px;width:2.7ch;min-width:2.7ch;cursor:text;outline:none;transition:background .14s ease,box-shadow .14s ease}.pui-aw-time-segment:focus,.pui-aw-time-segment:hover{background:var(--pool-surface-raised)}.pui-aw-time-segment:focus{box-shadow:0 0 0 2px var(--pool-accent),0 0 0 6px color-mix(in oklab,var(--pool-accent) 12%,transparent)}.pui-aw-ampm{display:inline-flex;flex-direction:column;background:var(--pool-surface-raised);border-radius:10px;padding:3px;box-shadow:0 0 0 1px var(--pool-border) inset;gap:2px}.pui-aw-ampm button{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 12px;border-radius:7px;color:var(--pool-ink-muted);transition:all .14s ease;background:transparent}.pui-aw-ampm button[data-on=true]{background:var(--pool-accent);color:var(--pool-accent-ink)}.pui-aw-stepper{width:40px;height:40px;border-radius:999px;background:var(--pool-surface-raised);box-shadow:0 0 0 1px var(--pool-border) inset;display:inline-flex;align-items:center;justify-content:center;color:var(--pool-ink);transition:all .14s ease;border:none;cursor:pointer}.pui-aw-stepper:hover:not(:disabled){background:color-mix(in oklab,var(--pool-accent) 6%,var(--pool-surface-raised))}.pui-aw-stepper:active:not(:disabled){transform:scale(.92)}.pui-aw-stepper:disabled{opacity:.35;cursor:not-allowed}.pui-aw-temp-value{display:inline-flex;align-items:baseline;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:64px;font-weight:700;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--pool-pool);line-height:1}.pui-aw-temp-value[data-body=spa]{color:var(--pool-spa)}.pui-aw-temp-value span{font-size:22px}.pui-aw-temp-track{position:relative;margin-top:12px;height:8px;overflow:hidden;border-radius:999px;background:var(--pool-border)}.pui-aw-temp-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(to right,var(--pool-dial-pool-grad-1),var(--pool-dial-pool-grad-2))}.pui-aw-temp-fill[data-body=spa]{background:linear-gradient(to right,var(--pool-dial-spa-grad-1),var(--pool-dial-spa-grad-2))}.pui-aw-field-label{display:block;margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pool-ink-muted)}.pui-aw-shell-head{flex-shrink:0;border-bottom:1px solid var(--pool-border);padding:12px 16px}@media (min-width:640px){.pui-aw-shell-head{padding-left:20px;padding-right:20px}}.pui-aw-shell-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pui-aw-shell-title{margin:0;font-size:16px;font-weight:600;color:var(--pool-ink)}.pui-aw-shell-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:none;border-radius:999px;background:transparent;color:var(--pool-ink-muted);cursor:pointer}.pui-aw-shell-close:hover{background:var(--pool-surface-raised);color:var(--pool-ink)}.pui-aw-shell-close svg{width:20px;height:20px}.pui-aw-step-node svg{width:14px;height:14px}.pui-aw-shell-body{min-height:0;flex:1;overflow-y:auto;padding:16px}@media (min-width:640px){.pui-aw-shell-body{padding-left:20px;padding-right:20px}}.pui-aw-shell-foot{display:flex;flex-shrink:0;gap:8px;border-top:1px solid var(--pool-border);padding:12px 16px max(12px,env(safe-area-inset-bottom,0px))}@media (min-width:640px){.pui-aw-shell-foot{padding-left:20px;padding-right:20px}}.pui-aw-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;line-height:1.25;border:none}.pui-aw-btn-ghost{background:var(--pool-surface-raised);border:1px solid var(--pool-border);color:var(--pool-ink-muted)}.pui-aw-btn-ghost:disabled{opacity:.4;cursor:default}.pui-aw-btn-primary{margin-left:auto;background:var(--pool-accent);border:1px solid var(--pool-accent);color:var(--pool-accent-ink)}.pui-aw-heading{margin:0;font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--pool-ink)}.pui-aw-lede{margin:4px 0 0;font-size:14px;color:var(--pool-ink-muted)}.pui-aw-kind-grid,.pui-aw-run-grid{display:grid;gap:8px}.pui-aw-kind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.pui-aw-kind-grid,.pui-aw-run-grid{gap:12px}.pui-aw-run-grid{grid-template-columns:1fr 1fr}}.pui-aw-panel{border-radius:16px;background:color-mix(in oklab,var(--pool-surface-raised) 50%,transparent);box-shadow:0 0 0 1px var(--pool-border) inset;padding:20px;display:flex;flex-direction:column;gap:18px}.pui-aw-kv{display:flex;align-items:flex-start;gap:16px}.pui-aw-kv-label{flex:0 0 4.75rem;padding-top:10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pool-ink-muted)}.pui-aw-kv-body{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pui-aw-offset-stepper{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.pui-aw-offset-stepper .pui-aw-stepper{width:32px;height:32px}.pui-aw-offset-value{min-width:4.75rem;text-align:center;font-weight:600}.pui-aw-offset-value,.pui-aw-summary{font-size:13.5px;color:var(--pool-ink)}.pui-aw-summary{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;background:color-mix(in oklab,var(--pool-accent) 12%,transparent);line-height:1.45}.pui-aw-summary-icon{flex-shrink:0;margin-top:1px;color:var(--pool-accent)}@keyframes pui-aw-slide-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.pui-aw-slide-in{display:flex;flex:1;flex-direction:column;gap:1.75rem;animation:pui-aw-slide-in .32s cubic-bezier(.25,.8,.25,1)}@media (prefers-reduced-motion:reduce){.pui-aw-slide-in{animation:none}}.pui-aw-scene{background:var(--pool-surface-raised);border-radius:16px;box-shadow:0 0 0 1px var(--pool-border) inset}.pui-aw-review-icon{display:flex;flex-shrink:0;color:var(--pool-accent)}.pui-aw-review-flow{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch}.pui-aw-review-card{display:flex;flex-direction:column;border-radius:16px;padding:16px;background:var(--pool-surface-raised);box-shadow:0 0 0 1px var(--pool-border) inset}.pui-aw-review-actions,.pui-aw-review-body{display:flex;align-items:center;min-height:28px;margin:0;padding:0;font-size:14px;font-weight:600;line-height:1.25;color:var(--pool-ink)}.pui-aw-review-body{flex-wrap:wrap;gap:8px}.pui-aw-review-actions{flex-direction:column;justify-content:center;align-items:stretch;gap:8px;list-style:none}.pui-aw-review-duration{font-weight:500;color:var(--pool-ink-muted)}.pui-aw-review-arrow{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--pool-accent);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.pui-aw-review-arrow span{color:var(--pool-ink-muted)}.pui-aw-review-arrow-mobile{display:flex;justify-content:center;color:var(--pool-accent)}.pui-aw-review-arrow-mobile svg{transform:rotate(90deg)}@media (min-width:768px){.pui-aw-review-flow{grid-template-columns:1fr auto 1fr;gap:16px}.pui-aw-review-arrow{display:flex}.pui-aw-review-arrow-mobile{display:none}}.pui-aw-section{padding:0}.pui-aw-add-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;flex-shrink:0;align-items:center;gap:8px;border:none;border-radius:10px;background:var(--pool-accent);color:var(--pool-accent-ink);padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px color-mix(in srgb,var(--pool-shadow-tint-neutral) 8%,transparent);transition:opacity .14s ease}.pui-aw-add-btn:hover{opacity:.95}.pui-aw-section-head{display:flex;align-items:center;gap:10px;padding:4px 2px 10px}.pui-aw-section-ttl{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pool-ink-muted)}.pui-aw-add-icon{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:9px;background:var(--pool-accent);color:var(--pool-accent-ink);cursor:pointer;box-shadow:0 4px 10px -3px color-mix(in oklab,var(--pool-accent) 45%,transparent)}.pui-aw-add-icon:hover{opacity:.92}.pui-aw-add-icon-svg{width:18px;height:18px}.pui-aw-empty{display:flex;min-height:min(40vh,280px);flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px 16px}.pui-aw-empty-copy{margin:0;text-align:center;font-size:14px;color:var(--pool-ink-muted)}.pui-aw-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.pui-aw-error-banner{border:2px solid var(--pool-danger-strong);background:var(--pool-danger);color:var(--pool-accent-ink);border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600;line-height:1.375;box-shadow:0 10px 15px -3px color-mix(in srgb,var(--pool-shadow-tint-neutral) 18%,transparent)}.pui-aw-shell-body .pui-aw-error-banner{margin-bottom:16px}.pui-aw-error-dismiss{border-radius:6px;background:var(--pool-danger-strong);color:var(--pool-accent-ink);padding:4px 8px;font-size:12px;font-weight:600}.pui-aw-confirm-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:color-mix(in srgb,var(--pool-shadow-tint-neutral) 45%,transparent)}.pui-aw-confirm-card{width:100%;max-width:24rem;border-radius:16px;border:1px solid var(--pool-border);background:var(--pool-surface-raised);padding:20px;box-shadow:0 20px 40px -12px color-mix(in srgb,var(--pool-shadow-tint-neutral) 35%,transparent)}.pui-aw-confirm-title{font-size:16px;font-weight:700;color:var(--pool-ink)}.pui-aw-confirm-desc{margin-top:8px;font-size:13.5px;line-height:1.5;color:var(--pool-ink-muted)}.pui-aw-confirm-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.pui-aw-confirm-cancel{border-radius:8px;border:1px solid var(--pool-border);background:transparent;color:var(--pool-ink);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}.pui-aw-confirm-cancel:hover{background:var(--pool-surface)}.pui-aw-confirm-danger{border-radius:8px;border:none;background:var(--pool-danger);color:var(--pool-accent-ink);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}.pui-aw-confirm-danger:hover{background:var(--pool-danger-strong)}.pui-aw-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--pool-border);background:var(--pool-surface-raised);overflow:visible}.pui-aw-row-editing{box-shadow:0 0 0 2px color-mix(in oklab,var(--pool-accent) 35%,transparent)}.pui-aw-row-body{flex:1;min-width:0}.pui-aw-name{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--pool-ink);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pui-aw-meta,.pui-aw-row-off .pui-aw-name{color:var(--pool-ink-muted)}.pui-aw-meta{margin-top:2px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pui-aw-row-actions{display:flex;flex-shrink:0;align-items:center;gap:6px}.pui-aw-tgl{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;width:48px;height:29px;border:none;border-radius:999px;background:var(--pool-border-strong);cursor:pointer;transition:background .22s ease}.pui-aw-tgl[data-on=true]{background:var(--pool-accent)}.pui-aw-tgl:after{content:"";position:absolute;top:2.5px;left:2.5px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 5px color-mix(in srgb,var(--pool-shadow-tint-neutral) 22%,transparent);transition:transform .22s ease}.pui-aw-tgl[data-on=true]:after{transform:translateX(19px)}.pui-aw-tgl:disabled{opacity:.5;cursor:default}.pui-aw-actbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;border:1px solid var(--pool-border);background:var(--pool-surface-raised);color:var(--pool-ink-muted);cursor:pointer;box-shadow:0 1px 2px color-mix(in srgb,var(--pool-shadow-tint-neutral) 4%,transparent);transition:border-color .15s,color .15s,background .15s}.pui-aw-actbtn-icon{width:15px;height:15px}.pui-aw-actbtn-busy{font-size:10px;font-weight:600;color:var(--pool-ink-subtle)}.pui-aw-actbtn:hover:not(:disabled){border-color:color-mix(in oklab,var(--pool-accent) 40%,transparent);color:var(--pool-accent)}.pui-aw-actbtn:disabled{cursor:not-allowed;opacity:.45}.pui-aw-actbtn-run{border-color:color-mix(in oklab,var(--pool-accent) 50%,transparent);background:var(--pool-accent-bg);color:var(--pool-accent)}.pui-aw-actbtn-danger:hover:not(:disabled){border-color:color-mix(in oklab,var(--pool-danger) 60%,transparent);color:var(--pool-danger)}.pui-aw-actbtn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:4px 8px;border-radius:6px;background:var(--pool-ink);color:var(--pool-surface-page);font-size:11px;font-weight:600;letter-spacing:.01em;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;z-index:5;box-shadow:0 4px 10px color-mix(in srgb,var(--pool-shadow-tint-neutral) 18%,transparent);transition:opacity 80ms ease}.pui-aw-actbtn[data-tooltip]:focus-visible:before,.pui-aw-actbtn[data-tooltip]:hover:before{opacity:1}.pui-aw-actbtn-danger[data-tooltip]:before{left:auto;right:0;transform:none}.pui-aw-lh{display:none}.pui-dial{position:relative;width:100%;max-width:300px;margin:0 auto;aspect-ratio:1;touch-action:none}.pui-dial svg{width:100%;height:100%;display:block;overflow:visible}.pui-dial .track{fill:none;stroke:var(--pool-border);stroke-linecap:round}.pui-dial .prog{fill:none;stroke-linecap:round;transition:stroke .3s var(--pool-ease)}.pui-dial .ramp{fill:none;stroke-linecap:round;stroke-width:5;opacity:.3;transition:opacity .3s var(--pool-ease)}.pui-dial.off .ramp{display:none}.pui-dial .ticks line{stroke:var(--pool-ink-faint)}.pui-dial .knob{fill:var(--pool-surface-raised);stroke:var(--pool-pool);stroke-width:3.5;filter:drop-shadow(0 3px 6px color-mix(in srgb,var(--pool-shadow-tint) 28%,transparent));cursor:grab}.pui-dial.spa .knob{stroke:var(--pool-spa)}.pui-dial.dragging .knob{cursor:grabbing}.pui-dial .cur-halo{stroke:var(--pool-surface-raised);stroke-width:8;stroke-linecap:round}.pui-dial .cur{stroke:var(--pool-ink);stroke-width:3.5;stroke-linecap:round}.pui-dial.no-cur .cur,.pui-dial.no-cur .cur-halo{display:none}.pui-dial.off .prog{stroke:var(--pool-border-strong)}.pui-dial.off .knob{display:none}.pui-dial.off .setpt{font-size:50px;letter-spacing:.04em;color:var(--pool-ink-muted)}.pui-dial.off .now{color:var(--pool-ink-subtle)}.pui-dial.off .now b{color:var(--pool-ink-soft)}.pui-dial .now.now-water{color:color-mix(in srgb,var(--pool-dial-water-hot) calc(var(--pool-water-frac, 0) * 100%),var(--pool-dial-water-cold) calc((1 - var(--pool-water-frac, 0)) * 100%))}.pui-dial .center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.pui-dial .setpt{font-size:64px;font-weight:680;letter-spacing:-.05em;line-height:.9;color:var(--pool-ink);font-variant-numeric:tabular-nums}.pui-dial .setpt .deg{font-size:26px;vertical-align:top}.pui-dial .now,.pui-dial .setpt .deg{font-weight:600;color:var(--pool-ink-muted)}.pui-dial .now{margin-top:8px;font-size:12.5px;display:flex;align-items:center;gap:6px}.pui-dial .now b{color:var(--pool-ink-strong);font-variant-numeric:tabular-nums}.pui-dial .caption{margin-top:3px;font-size:11px;color:var(--pool-ink-subtle);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.pui-dial-hero{text-align:center}.pui-dial-hero .switchrow{display:flex;justify-content:center;margin-bottom:18px}.pui-dial-hero .heatseg{display:flex;gap:8px;width:100%;max-width:340px}.pui-dial-hero .heatseg button{flex:1;padding:11px 0;border-radius:13px;border:1px solid var(--pool-border-card);background:var(--pool-surface-raised);font-size:13.5px;font-weight:650;letter-spacing:-.01em;color:var(--pool-ink-soft);display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:var(--pool-shadow-elevation);transition:transform .14s var(--pool-ease)}.pui-dial-hero .heatseg button svg{width:16px;height:16px}.pui-dial-hero .heatseg button:hover{background:var(--pool-surface)}.pui-dial-hero .heatseg button:active{transform:scale(.97)}.pui-dial-hero .heatseg button.on[data-pick=pool]{background:var(--pool-pool);border-color:var(--pool-pool);color:var(--pool-accent-ink);box-shadow:0 6px 15px -5px color-mix(in srgb,var(--pool-pool) 60%,transparent)}.pui-dial-hero .heatseg button.on[data-pick=spa]{background:var(--pool-spa);border-color:var(--pool-spa);color:var(--pool-accent-ink);box-shadow:0 6px 15px -5px color-mix(in srgb,var(--pool-spa) 60%,transparent)}.pui-dial-hero .heatseg button.on[data-pick=off]{background:var(--pool-ink-strong);border-color:var(--pool-ink-strong);color:var(--pool-accent-ink);box-shadow:0 5px 12px -5px color-mix(in srgb,var(--pool-ink) 50%,transparent)}.pui-dial-hero .dial-wrap{position:relative;width:100%;max-width:300px;margin:0 auto}.pui-dial-hero .dial-wrap .pui-dial{margin:0;max-width:none}.pui-dial-hero .stepbtn{position:absolute;bottom:4%;z-index:3;width:48px;height:48px;border-radius:50%;background:var(--pool-surface-raised);border:1px solid var(--pool-border-strong);color:var(--pool-ink-strong);font-size:24px;font-weight:400;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:var(--pool-shadow-elevation);transition:transform .12s var(--pool-ease),background .12s}.pui-dial-hero .stepbtn.minus{left:-3%}.pui-dial-hero .stepbtn.plus{right:-3%}.pui-dial-hero .stepbtn:hover{background:var(--pool-surface)}.pui-dial-hero .stepbtn:active{transform:scale(.92)}.pui-dial-hero .stepbtn:disabled{opacity:.4;cursor:default;transform:none}.pui-dial-hero .dial-legend{display:flex;justify-content:center;gap:20px;margin-top:16px}.pui-dial-hero .dial-legend .lg{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--pool-ink-muted);letter-spacing:.01em}.pui-dial-hero .dial-legend .lg-target i{width:12px;height:12px;border-radius:50%;background:var(--pool-surface-raised);border:3px solid var(--pool-pool);box-sizing:border-box}.pui-dial-hero .dial-legend.spa .lg-target i{border-color:var(--pool-spa)}.pui-dial-hero .dial-legend .lg-now i{width:3.5px;height:13px;border-radius:2px;background:var(--pool-ink)}.pui-dial-hero .dial-legend.no-now .lg-now{display:none}.pui-equipment-list{padding:5px}.pui-equipment-list .ctrl{display:flex;align-items:center;gap:13px;padding:11px;border-radius:var(--pool-radius-card);transition:background .14s}.pui-equipment-list .ctrl+.ctrl{border-top:1px solid var(--pool-border)}.pui-equipment-list .ctrl:hover{background:var(--pool-surface)}.pui-equipment-list .ctrl-ic{width:42px;height:42px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--pool-surface-sunken);color:var(--pool-ink-muted);border:1px solid var(--pool-border);transition:background .2s,color .2s,border-color .2s}.pui-equipment-list .ctrl-ic svg{width:21px;height:21px}.pui-equipment-list .ctrl.on .ctrl-ic{background:var(--pool-accent-bg);color:var(--pool-accent);border-color:var(--pool-accent-line)}.pui-equipment-list .ctrl-tt{flex:1;min-width:0}.pui-equipment-list .ctrl-nm{font-size:14.5px;font-weight:600;letter-spacing:-.01em;color:var(--pool-ink)}.pui-equipment-list .ctrl-st{font-size:11.5px;color:var(--pool-ink-muted);margin-top:1px}.pui-equipment-list .ctrl.on .ctrl-st{color:var(--pool-accent-strong)}.pui-equipment-list .tgl{width:48px;height:29px;border-radius:999px;background:var(--pool-border-strong);border:none;position:relative;flex-shrink:0;transition:background .22s var(--pool-ease)}.pui-equipment-list .tgl:after{content:"";position:absolute;top:2.5px;left:2.5px;width:24px;height:24px;border-radius:50%;background:var(--pool-surface-raised);box-shadow:0 2px 5px color-mix(in srgb,var(--pool-shadow-tint-neutral) 22%,transparent);transition:transform .22s var(--pool-ease)}.pui-equipment-list .tgl.on{background:var(--pool-accent-bright)}.pui-equipment-list .tgl.on:after{transform:translateX(19px)}.pui-equipment-list .tgl:disabled{opacity:.5;cursor:default}.pui-equipment-list .ctrl.locked .ctrl-ic,.pui-equipment-list .ctrl.locked .ctrl-nm{opacity:.55}.pui-equipment-list .ctrl-lock{width:48px;height:29px;border-radius:999px;background:var(--pool-border-strong);border:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--pool-ink-muted);cursor:pointer;transition:background .18s,color .18s}.pui-equipment-list .ctrl-lock:hover{background:var(--pool-accent-bg);color:var(--pool-accent)}.pui-equipment-list .ctrl-gear{width:33px;height:29px;border-radius:9px;background:transparent;border:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--pool-ink-muted);cursor:pointer;transition:background .18s,color .18s}.pui-equipment-list .ctrl-gear:hover{background:var(--pool-accent-bg);color:var(--pool-accent)}.pui-system-header{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;align-items:center;gap:3px;padding:13px 18px 12px;background:color-mix(in srgb,var(--pool-surface-page) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,background .2s}.pui-system-header.stuck{border-bottom-color:var(--pool-border-card)}.pui-system-header .sp-head{display:flex;flex-direction:column;align-items:center;gap:3px;max-width:100%}.pui-system-header .sp-actions{position:absolute;top:11px;right:14px;z-index:2}.pui-system-header .sysselect{display:inline-flex;align-items:center;gap:5px;max-width:100%;background:none;border:none;padding:2px 6px 2px 8px;border-radius:9px;color:var(--pool-ink);transition:background .14s}.pui-system-header .sysselect:hover{background:var(--pool-surface)}.pui-system-header .sysselect:active{transform:scale(.985)}.pui-system-header .sysselect .sp-name{font-size:16.5px;font-weight:650;letter-spacing:-.02em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--pool-accent)}.pui-system-header .sysselect svg{width:17px;height:17px;color:var(--pool-ink-muted);flex-shrink:0;transition:transform .18s var(--pool-ease)}.pui-system-header .sysselect[aria-expanded=true] svg{transform:rotate(180deg)}.pui-system-header .sp-sub{font-size:11px;color:var(--pool-ink-muted);font-variant-numeric:tabular-nums;letter-spacing:.01em;display:flex;align-items:center;gap:7px}.pui-system-header .sp-sub .health{display:inline-flex;align-items:center;gap:5px;font-weight:600}.pui-system-header .sp-sub .health.ok{color:var(--pool-ok-strong)}.pui-system-header .sp-sub .health.bad{color:var(--pool-danger-strong)}.pui-system-header .sp-sub .dotsep{color:var(--pool-ink-faint)}.pui-system-header .hdot{position:relative;width:9px;height:9px;flex-shrink:0;display:inline-block}.pui-system-header .hdot:after{content:"";position:absolute;inset:0;border-radius:50%}.pui-system-header .hdot.ok:after{background:var(--pool-ok);box-shadow:0 0 0 3px var(--pool-ok-bg),0 0 8px color-mix(in srgb,var(--pool-ok) 55%,transparent)}.pui-system-header .hdot.bad:after{background:var(--pool-danger);box-shadow:0 0 0 3px var(--pool-danger-bg),0 0 8px color-mix(in srgb,var(--pool-danger) 50%,transparent)}.pui-system-header .hdot.ok:before{content:"";position:absolute;inset:-3px;border-radius:50%;border:1.5px solid var(--pool-ok);opacity:.5;animation:pui-system-header-hpulse 2.6s var(--pool-ease) infinite}@keyframes pui-system-header-hpulse{0%{transform:scale(.6);opacity:.6}to{transform:scale(1.7);opacity:0}}@media (prefers-reduced-motion:reduce){.pui-system-header .hdot.ok:before{animation:none}}.pui-light-effect-picker{list-style:none;margin:0;padding:0;min-height:0;flex:1 1 auto;overflow-y:auto}.pui-light-effect-picker .lep-row{display:flex;width:100%;align-items:center;gap:12px;border:none;border-radius:12px;padding:12px;background:transparent;text-align:left;cursor:pointer;transition:background .14s;color:var(--pool-ink)}.pui-light-effect-picker .lep-row:hover:not(:disabled){background:var(--pool-surface)}.pui-light-effect-picker .lep-row:disabled{opacity:.5;cursor:not-allowed}.pui-light-effect-picker .lep-swatch{width:24px;height:24px;flex-shrink:0;border-radius:999px;border:1px solid var(--pool-border);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--pool-ink) 12%,transparent)}.pui-light-effect-picker .lep-label{font-size:15px;font-weight:500;color:var(--pool-ink)}.pool-ui-scope{color-scheme:dark;background-color:var(--pool-surface-page);color:var(--pool-ink);--surface-0:#09090b;--surface-1:#0c0d0f;--surface-3:#27272a;--border-default:#2c2c32;--border-strong:#45454c;--fg-1:#fafafa;--fg-2:#e4e4e7;--fg-3:#a1a1aa;--fg-4:#71717a;--fg-5:#52525b;--brand-base:#10b981;--brand-on:#022c22;--brand-tint:rgba(16,185,129,0.1);--brand-glow:rgba(16,185,129,0.3);--brand-300:#6ee7b7;--brand-400:#34d399;--brand-200:#a7f3d0;--ok-text:#6ee7b7;--ok-bg:rgba(16,185,129,0.1);--err-text:#fca5a5;--err-bg:rgba(239,68,68,0.1);--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--info-text:#93c5fd;--pool-surface-page:var(--surface-0);--pool-surface:var(--surface-1);--pool-surface-sunken:var(--surface-0);--pool-surface-raised:var(--surface-3);--pool-border:var(--border-default);--pool-border-card:color-mix(in srgb,var(--border-default) 40%,var(--border-strong) 60%);--pool-border-strong:var(--border-strong);--pool-ink:var(--fg-1);--pool-ink-strong:var(--fg-2);--pool-ink-muted:var(--fg-3);--pool-ink-soft:var(--fg-4);--pool-ink-subtle:var(--fg-4);--pool-ink-faint:var(--fg-5);--pool-accent:var(--brand-base);--pool-accent-ink:var(--brand-on);--pool-accent-bg:var(--brand-tint);--pool-accent-line:var(--brand-glow);--pool-accent-strong:var(--brand-300);--pool-accent-bright:var(--brand-400);--pool-pool:#f1a71b;--pool-spa:#c67f17;--pool-ok:var(--ok-text);--pool-ok-bg:var(--ok-bg);--pool-ok-strong:var(--brand-200);--pool-danger:var(--err-text);--pool-danger-bg:var(--err-bg);--pool-danger-strong:color-mix(in srgb,var(--err-text) 60%,var(--fg-1) 40%);--pool-ease:cubic-bezier(0.4,0,0.2,1);--pool-shadow-elevation:var(--shadow-sm);--pool-shadow-tint:#000000;--pool-shadow-tint-neutral:#000000;--pool-radius-card:0.75rem;--pool-dial-water-cold:var(--info-text);--pool-dial-water-hot:#f1a71b;--pool-dial-pool-grad-1:#f1a71b;--pool-dial-pool-grad-2:#e09812;--pool-dial-spa-grad-1:#c67f17;--pool-dial-spa-grad-2:#a66a10;--pool-aw-blue:#38bdf8;--pool-aw-amber:#fbbf24;--pool-aw-orange:#fb923c;--pool-aw-green:var(--brand-400);--pool-aw-purple:#c4b5fd;--pool-aw-rust:#e8a090;--pool-aw-pink:#f472b6;--pool-aw-teal:var(--brand-300);--pool-aw-sky-1:#fbbf24;--pool-aw-sky-2:#fde68a;--pool-aw-sky-3:var(--info-text);--pool-aw-sky-4:#1d4ed8}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .pool-ui-scope{color-scheme:light;--surface-0:#fafaf9;--surface-1:#f4f4f5;--surface-2:#ffffff;--surface-3:#f4f4f5;--surface-4:#e4e4e7;--border-default:#d1d1d6;--border-strong:#a1a1aa;--fg-1:#09090b;--fg-2:#27272a;--fg-3:#52525b;--fg-4:#71717a;--fg-5:#a1a1aa;--brand-base:#065f46;--brand-on:#ffffff;--brand-tint:rgba(16,185,129,0.08);--brand-glow:rgba(16,185,129,0.18);--brand-200:#a7f3d0;--brand-300:#10b981;--brand-400:#059669;--brand-700:#064e3b;--brand-800:#065f46;--ok-text:#047857;--ok-bg:rgba(16,185,129,0.1);--err-text:#991b1b;--err-bg:rgba(239,68,68,0.14);--info-text:#1d4ed8;--shadow-sm:0 1px 3px rgba(15,23,42,0.06),0 1px 2px rgba(15,23,42,0.04);--pool-surface-raised:var(--surface-2);--pool-surface-sunken:var(--surface-4);--pool-accent-strong:var(--brand-700);--pool-ok-strong:var(--brand-800);--pool-pool:#c9630b;--pool-spa:#b34010;--pool-dial-pool-grad-1:#c9630b;--pool-dial-pool-grad-2:#c9630b;--pool-dial-spa-grad-1:#b34010;--pool-dial-spa-grad-2:#b34010;--pool-dial-water-hot:#c9630b}}:root[data-theme=light] .pool-ui-scope{color-scheme:light;--surface-0:#fafaf9;--surface-1:#f4f4f5;--surface-2:#ffffff;--surface-3:#f4f4f5;--surface-4:#e4e4e7;--border-default:#d1d1d6;--border-strong:#a1a1aa;--fg-1:#09090b;--fg-2:#27272a;--fg-3:#52525b;--fg-4:#71717a;--fg-5:#a1a1aa;--brand-base:#065f46;--brand-on:#ffffff;--brand-tint:rgba(16,185,129,0.08);--brand-glow:rgba(16,185,129,0.18);--brand-200:#a7f3d0;--brand-300:#10b981;--brand-400:#059669;--brand-700:#064e3b;--brand-800:#065f46;--ok-text:#047857;--ok-bg:rgba(16,185,129,0.1);--err-text:#991b1b;--err-bg:rgba(239,68,68,0.14);--info-text:#1d4ed8;--shadow-sm:0 1px 3px rgba(15,23,42,0.06),0 1px 2px rgba(15,23,42,0.04);--pool-surface-raised:var(--surface-2);--pool-surface-sunken:var(--surface-4);--pool-accent-strong:var(--brand-700);--pool-ok-strong:var(--brand-800);--pool-pool:#c9630b;--pool-spa:#b34010;--pool-dial-pool-grad-1:#c9630b;--pool-dial-pool-grad-2:#c9630b;--pool-dial-spa-grad-1:#b34010;--pool-dial-spa-grad-2:#b34010;--pool-dial-water-hot:#c9630b}[data-mode-pending=off] .pui-dial-hero .heatseg button[data-pick=off],[data-mode-pending=pool] .pui-dial-hero .heatseg button[data-pick=pool],[data-mode-pending=spa] .pui-dial-hero .heatseg button[data-pick=spa]{outline:2px dashed var(--pool-accent);outline-offset:-2px;color:var(--pool-ink);animation:pool-mode-pending 1s ease-in-out infinite}[data-mode-pending=off] .pui-dial-hero .heatseg button.on:not([data-pick=off]),[data-mode-pending=pool] .pui-dial-hero .heatseg button.on:not([data-pick=pool]),[data-mode-pending=spa] .pui-dial-hero .heatseg button.on:not([data-pick=spa]){background:var(--pool-surface-raised,transparent)!important;color:var(--pool-ink-muted)!important;box-shadow:none!important}.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=pool] svg,.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=spa] svg{color:var(--pool-dial-water-cold)}.pool-ui-scope .pui-dial-hero .heatseg button.on[data-pick=pool] svg,.pool-ui-scope .pui-dial-hero .heatseg button.on[data-pick=spa] svg{color:inherit}.pool-ui-scope .pui-dial.off .prog,.pool-ui-scope .pui-dial.off .track{stroke:#d3e2ea}.pool-ui-scope .pui-dial.off .caption{font-size:0}.pool-ui-scope .pui-dial.off .caption:before{content:"Heater off";font-size:11px;letter-spacing:.04em}.pool-ui-scope .pui-dial-hero .heatseg{max-width:420px}.pool-ui-scope .pui-dial-hero .heatseg button{flex-wrap:nowrap;white-space:nowrap;align-items:center;padding-left:10px;padding-right:10px}.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=pool]>svg,.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=spa]>svg{display:block;flex-shrink:0}.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=pool]>span,.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=spa]>span{display:inline-flex;align-items:center;font-size:0;line-height:1;white-space:nowrap}.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=pool]>span:before,.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=spa]>span:before{font-size:13.5px;font-weight:650;letter-spacing:-.01em;line-height:1;white-space:nowrap}.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=pool]>span:before{content:"Heat Pool"}.pool-ui-scope .pui-dial-hero .heatseg button[data-pick=spa]>span:before{content:"Heat Spa"}.pool-ui-scope .pui-dial .center .setpt{order:1}.pool-ui-scope .pui-dial .center .caption{order:2;margin-top:8px}.pool-ui-scope .pui-dial .center .now{order:3;margin-top:3px}@keyframes pool-mode-pending{0%,to{opacity:1;outline-color:var(--pool-accent)}50%{opacity:.55;outline-color:color-mix(in srgb,var(--pool-accent) 55%,transparent)}}@media (prefers-reduced-motion:reduce){[data-mode-pending] .pui-dial-hero .heatseg button{animation:none}}