:root{--font-sans:var(--font-inter),Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans","PingFang SC","Hiragino Sans","Apple SD Gothic Neo",sans-serif;--radius-sm:8px;--radius:12px;--radius-lg:16px;--section-y:60px;--gutter:24px;--content:1180px;--focus:0 0 0 3px color-mix(in srgb,var(--solar) 55%,transparent);--shadow-soft:0 1px 2px rgba(15,23,42,.06),0 12px 32px rgba(15,23,42,.08)}[data-theme=dark]{--shadow-soft:0 1px 2px rgba(0,0,0,.3),0 16px 40px rgba(0,0,0,.35)}@media (max-width:720px){:root{--section-y:52px;--gutter:16px}}body{font-family:var(--font-sans);font-size:16px;line-height:1.6}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-48px;z-index:60;padding:10px 14px;border-radius:var(--radius-sm);background:var(--text);color:var(--page);font-size:14px;font-weight:700;transition:top .15s}.skip-link:focus{top:10px}main.home{overflow:visible}main.home:focus{outline:none}.button{min-height:44px;padding:0 18px;gap:8px;border-radius:10px;font-size:15px;font-weight:700;line-height:1.2;cursor:pointer;border:1px solid transparent;font-family:inherit;text-align:center}.button.large{min-height:52px;padding:0 24px;font-size:16px}.button.primary{color:var(--on-solar);background:var(--solar);box-shadow:0 8px 24px color-mix(in srgb,var(--solar) 28%,transparent)}.button.primary:hover{background:#fbbf24}.button.primary:active{transform:translateY(1px)}.button.secondary{color:var(--text);background:var(--surface);border-color:var(--border-strong)}.button.secondary:hover{border-color:var(--text-secondary)}.button.tertiary{color:var(--text);background:transparent}.button.tertiary:hover{background:var(--surface-soft)}.button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.icon-button{width:44px;height:44px;flex:none;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:10px;color:var(--text);background:var(--surface);cursor:pointer}.icon-button:hover{border-color:var(--border-strong);background:var(--surface-soft)}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--solar-text);font-size:15px;font-weight:700}.text-link:hover{text-decoration:underline;text-underline-offset:3px}.link-button{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.theme-toggle{width:44px;height:44px}.site-header.sh{grid-template-columns:auto 1fr auto;gap:24px;height:68px;padding:0 max(var(--gutter),calc((100vw - var(--content)) / 2))}.sh-nav{justify-self:center;display:flex;align-items:center;gap:4px}.sh-docs>button,.site-header.sh .sh-nav a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:8px;color:var(--text-secondary);font-size:15px;font-weight:600;background:none;border:0;cursor:pointer;font-family:inherit}.sh-docs>button:hover,.site-header.sh .sh-nav a:hover{color:var(--text);background:var(--surface-soft)}.site-header.sh .sh-nav a.active{color:var(--text);background:var(--solar-soft);box-shadow:inset 0 -2px 0 var(--solar)}.sh-version{margin-left:2px;padding:1px 6px;border-radius:999px;background:var(--surface-soft);color:var(--text-secondary);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.sh-docs{position:relative}.sh-docs-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:320px;padding:8px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.sh-docs-menu[hidden]{display:none}.site-header.sh .sh-docs-menu a{min-height:40px;padding:8px 12px;color:var(--text);font-size:14px;line-height:1.35}.sh-docs-label{margin:8px 12px 4px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sh .header-actions{gap:8px}.sh-cta{min-height:44px}.sh-menu-button{display:none}.sh .language-select select{min-height:44px;font-size:14px}.sh-mobile{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;gap:24px;padding:12px var(--gutter) calc(24px + env(safe-area-inset-bottom));background:var(--page);overflow-y:auto}.sh-mobile-top{display:flex;align-items:center;justify-content:space-between;min-height:56px}.sh-mobile nav{display:flex;flex-direction:column}.sh-mobile nav a{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid var(--border);font-size:20px;font-weight:650}.sh-mobile-settings{display:flex;gap:12px;align-items:center}.sh-mobile-settings select{width:100%;min-height:48px;font-size:16px}.sh-mobile-cta{margin-top:auto;min-height:56px;font-size:17px}@media (max-width:1360px){.site-header.sh{gap:12px}.sh-nav{gap:0}.sh-docs>button,.site-header.sh .sh-nav a{padding:0 8px;font-size:14px}.sh-nav .sh-version{display:none}.sh .header-actions{gap:6px}}@media (max-width:1140px){.sh-desktop-only,.sh-nav{display:none!important}.sh-menu-button{display:inline-grid}.site-header.sh{grid-template-columns:1fr auto}}@media (max-width:480px){.sh .sh-cta{display:none}}.home .section{padding:var(--section-y) 0;width:min(var(--content),calc(100% - 2 * var(--gutter)))}.home .section-heading{max-width:860px;margin-bottom:32px}.home .section-heading.centered{margin:0 auto 32px}.closing-v2 h2,.home .section h2{font-size:clamp(30px,3.4vw,42px);line-height:1.12;letter-spacing:-.035em;font-weight:760}.home .section-heading p{margin:12px 0 0;color:var(--text-secondary);font-size:18px;line-height:1.6}.kicker{margin-bottom:12px;color:var(--solar-text);font-size:13px;font-weight:800;letter-spacing:.12em}.check-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.check-list li{display:grid;grid-template-columns:20px 1fr;gap:10px;color:var(--text-secondary);font-size:16px;line-height:1.55}.check-list svg{margin-top:3px;color:var(--battery-text)}.callout{margin:24px 0 0;padding:16px 18px;border:1px solid var(--border);border-left:4px solid var(--load);border-radius:var(--radius);background:var(--load-soft);color:var(--text);font-size:15px;line-height:1.6}.callout.warning{border-left-color:var(--solar);background:var(--solar-soft)}.hero-v2{width:min(var(--content),calc(100% - 2 * var(--gutter)));margin:0 auto;padding:48px 0;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px;align-items:center}.hero-v2-copy h1{margin:20px 0;font-size:clamp(40px,5.2vw,66px);line-height:1.03;letter-spacing:-.05em;font-weight:780;text-wrap:balance}.hero-v2-copy h1 span{display:block;color:#d97706;background:linear-gradient(90deg,#d97706,#ea580c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-theme=dark] .hero-v2-copy h1 span{color:#fbbf24;background-image:linear-gradient(90deg,#fcd34d,#f59e0b)}.hero-v2-lead{max-width:580px;margin:0;color:var(--text-secondary);font-size:19px;line-height:1.6}.hero-v2-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-v2-signals{display:flex;flex-wrap:wrap;gap:8px 20px;margin:24px 0 0;padding:0;list-style:none;color:var(--text-secondary);font-size:15px;font-weight:600}.hero-v2-signals li{display:inline-flex;align-items:center;gap:6px}.hero-v2-signals svg{color:var(--battery-text)}.beta-badge{text-transform:none;letter-spacing:0;display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:6px 12px;border:1px solid color-mix(in srgb,var(--solar) 40%,var(--border));border-radius:999px;background:var(--solar-soft);color:var(--text);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.beta-dot{width:8px;height:8px;border-radius:50%;background:var(--solar);box-shadow:0 0 0 4px color-mix(in srgb,var(--solar) 20%,transparent)}.hpf{margin:0;--color-solar:#F59E0B;--color-sun:#FFC61A;--color-sun-glow:rgba(255,198,26,0.55);--color-battery:#10B981;--color-battery-low:#EF4444;--color-load:#3B82F6;--color-grid:#8B5CF6;--color-surface-elevated:#1E293B;--color-surface-overlay:#334155;--color-text-primary:#F8FAFC;--color-text-secondary:#94A3B8;--color-text-muted:#8493A7;--color-border:#334155}[data-theme=light] .hpf{--color-surface-elevated:#FFFFFF;--color-surface-overlay:#F1F5F9;--color-text-primary:#0F172A;--color-text-secondary:#475569;--color-text-muted:#64748B;--color-border:#E2E8F0}.hpf-card{min-width:0;padding:16px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface-elevated);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:var(--shadow-soft)}.hpf-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.hpf-head .hpf-title{margin:0;color:var(--color-text-secondary);font-size:14px;font-weight:500;line-height:20px;letter-spacing:0}.hpf-head span{color:var(--color-text-muted);font-size:10px}.hpf-svg{display:block;width:100%;height:auto;max-height:360px}@media (min-width:1024px){.hpf-svg{max-height:460px}}.hpf-label{fill:var(--color-text-muted);font-size:10px}.hpf-value{fill:var(--color-text-primary);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.hpf-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.hpf-icon svg{display:block}.hpf-pulse{animation:hpf-pulse 2s ease-in-out infinite}@keyframes hpf-pulse{0%,to{opacity:.3}50%{opacity:.6}}.hpf-dot{offset-distance:0;animation-name:hpf-travel;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes hpf-travel{0%{offset-distance:0}to{offset-distance:100%}}.hpf-halo{transition:r 1.2s ease-in-out,opacity 1.2s ease-in-out}.hpf-spin{animation:hpf-spin 16s linear infinite}.hpf-spin-reverse{animation:hpf-spin-reverse 22s linear infinite}@keyframes hpf-spin{to{transform:rotate(1turn)}}@keyframes hpf-spin-reverse{to{transform:rotate(-1turn)}}.hpf-arrow-down{animation:hpf-arrow-down 1.4s ease-in-out infinite}.hpf-arrow-up{animation:hpf-arrow-up 1.4s ease-in-out infinite}@keyframes hpf-arrow-down{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(1.5px)}}@keyframes hpf-arrow-up{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-1.5px)}}.ef-note{margin-top:8px;color:var(--text-secondary);font-size:14px;text-align:center}.trust{width:min(var(--content),calc(100% - 2 * var(--gutter)));margin:0 auto;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.trust ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr)}.trust li+li{border-left:1px solid var(--border)}.trust a,.trust li>div{min-height:88px;padding:16px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:12px;align-content:center;justify-content:center}.trust a:hover strong,.trust svg{color:var(--solar-text)}.trust svg{grid-row:span 2;align-self:center}.trust strong{font-size:28px;line-height:1.1;font-weight:780;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.trust span{color:var(--text-secondary);font-size:14px}.how-steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:none}.how-steps li{position:relative;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.how-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:14px}.how-icon.tone-load{color:var(--load-text);background:var(--load-soft)}.how-icon.tone-solar{color:var(--solar-text);background:var(--solar-soft)}.how-icon.tone-battery{color:var(--battery-text);background:var(--battery-soft)}.how-number{position:absolute;top:24px;right:24px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border-strong);color:var(--text-secondary);font-size:14px;font-weight:750}.how-steps h3{margin:20px 0 8px;font-size:22px;letter-spacing:-.02em}.how-steps p{margin:0;color:var(--text-secondary);font-size:16px;line-height:1.6}.tour-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 auto 28px}.tour-tabs [role=tab]{min-height:44px;padding:0 18px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font:inherit;font-size:15px;font-weight:650;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.tour-tabs [role=tab]:hover{color:var(--text);border-color:var(--border-strong)}.tour-tabs [role=tab][aria-selected=true]{color:var(--on-solar);background:var(--solar);border-color:var(--solar)}.tour-panel{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);gap:48px;align-items:center;animation:fade-in .18s ease-out}.tour-copy h3{margin:0 0 20px;font-size:clamp(24px,2.6vw,32px);line-height:1.2;letter-spacing:-.025em}.tour-copy .text-link{margin-top:24px}.device-frame{position:relative;padding:8px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.shot{position:relative;display:block;width:100%;aspect-ratio:var(--shot-ratio);overflow:hidden;border-radius:10px;background:var(--surface-soft)}.shot img,.shot picture{display:block;width:100%;height:100%}.shot img{object-fit:cover;object-position:top left}@media (max-width:640px){.shot-cropped{aspect-ratio:var(--shot-ratio-mobile,var(--shot-ratio))}}.shot-zoom{position:absolute;right:16px;bottom:16px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);cursor:zoom-in;box-shadow:var(--shadow-soft)}.shot-zoom:hover{background:var(--surface)}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.lightbox-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:rgba(2,6,23,.78)}.lightbox{width:min(1400px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:auto}.lightbox-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.lightbox-bar h2{margin:0;font-size:20px;letter-spacing:-.02em}.lightbox-bar p{margin:4px 0 0;color:var(--text-secondary);font-size:15px}.lightbox-image .shot{border:1px solid var(--border)}.lightbox-image .shot img{object-fit:contain}.lightbox-nav{display:flex;justify-content:center;align-items:center;gap:16px;color:var(--text-secondary);font-size:14px;font-variant-numeric:tabular-nums}.lightbox.demo{width:min(1000px,100%)}.demo-video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:10px;background:#000}.demo-screens{align-self:flex-start}.compat-tools{display:grid;gap:16px;margin-bottom:16px}.compat-search{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary)}.compat-search:focus-within{box-shadow:var(--focus);border-color:var(--solar)}.compat-search input{flex:1;min-width:0;height:52px;border:0;outline:none;background:transparent;color:var(--text);font:inherit;font-size:17px}.compat-search input::placeholder{color:var(--muted)}.compat-filters{display:flex;flex-wrap:wrap;gap:12px 24px}.compat-filters [role=group]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.filter-label{margin-right:4px;color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.chip{min-height:40px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font:inherit;font-size:14px;font-weight:650;cursor:pointer}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip[aria-pressed=true]{border-color:var(--text);background:var(--text);color:var(--page)}.compat-count{margin:0 0 8px;color:var(--text-secondary);font-size:14px}.compat-list{margin:0;padding:0;list-style:none;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.compat-row{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,1fr) 132px;gap:16px;align-items:center;min-height:60px;padding:8px 20px}.compat-list>li+li,.compat-row+.compat-row{border-top:1px solid var(--border)}.compat-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px}.compat-icon.tone-inverter{color:var(--load-text);background:var(--load-soft)}.compat-icon.tone-battery{color:var(--battery-text);background:var(--battery-soft)}.compat-icon.tone-ev{color:var(--grid-text);background:var(--grid-soft)}.compat-icon.tone-neutral{color:var(--text-secondary);background:var(--surface-soft)}.compat-name{display:flex;flex-direction:column;min-width:0}.compat-name strong{font-size:17px}.compat-name span{color:var(--text-secondary);font-size:14px;line-height:1.45}.compat-conn{display:flex;flex-wrap:wrap;gap:6px}.conn-tag{gap:5px;padding:3px 9px;border:1px solid var(--border);color:var(--text-secondary);font-size:13px}.conn-tag,.status-badge{display:inline-flex;align-items:center;border-radius:999px;white-space:nowrap}.status-badge{justify-self:end;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.status-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-badge.supported{color:var(--battery-text);background:var(--battery-soft)}.status-badge.beta{color:var(--solar-text);background:var(--solar-soft)}.status-badge.soon{color:var(--text-secondary);background:var(--surface-soft)}.status-badge.soon:before{background:transparent;border:1.5px solid}.status-badge.experimental{color:var(--grid-text);background:var(--grid-soft)}.compat-empty{padding:24px 20px;color:var(--text-secondary);font-size:16px}.compat-soon{background:var(--surface-soft)}.compat-foot{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:24px}.compat-notes p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.6}.compat-notes p+p{margin-top:6px}.compat-missing{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.compat-missing strong{font-size:16px}.compat-missing>div{display:flex;flex-wrap:wrap;gap:8px}.install-needs{margin-top:24px;padding:24px 28px;display:grid;grid-template-columns:1fr auto;gap:16px 32px;align-items:center;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-soft)}.install-needs h3{grid-column:1/-1;margin:0;font-size:18px}.install-needs h3 span{color:var(--text-secondary);font-weight:600}.install-needs ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.install-needs li{display:grid;grid-template-columns:18px 1fr;gap:8px;color:var(--text);font-size:15px;line-height:1.5}.install-needs li svg{margin-top:3px;color:var(--battery-text)}.compare{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);font-size:16px}.compare td,.compare th{padding:13px 20px;text-align:left;vertical-align:top;line-height:1.5}.compare thead th{background:var(--surface-soft);color:var(--text-secondary);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.compare tbody tr+tr>*{border-top:1px solid var(--border)}.compare tbody th{font-weight:700;width:26%}.compare td{color:var(--text-secondary)}.compare td>span{display:inline-flex;gap:8px;align-items:flex-start}.compare td svg{flex:none;margin-top:3px}.compare td.compare-hp{color:var(--text);background:color-mix(in srgb,var(--battery-soft) 60%,transparent)}.compare td.compare-hp svg,.compare thead th.compare-hp{color:var(--battery-text)}.status-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.status-col{padding:24px;border:1px solid var(--border);border-top:4px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface)}.status-col.tone-battery{border-top-color:var(--battery)}.status-col.tone-solar{border-top-color:var(--solar)}.status-col.tone-grid{border-top-color:var(--grid)}.status-col h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:19px}.status-col.tone-battery h3 svg{color:var(--battery-text)}.status-col.tone-solar h3 svg{color:var(--solar-text)}.status-col.tone-grid h3 svg{color:var(--grid-text)}.status-col ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--text-secondary);font-size:15px;line-height:1.5}.status-col li{position:relative;padding-left:16px}.status-col li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--border-strong)}.how-icon.tone-grid{color:var(--grid-text);background:var(--grid-soft)}.news-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.news-card{display:flex;flex-direction:column;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.news-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.news-card .how-icon{width:46px;height:46px;border-radius:12px}.news-card h3{margin:16px 0 8px;font-size:19px;line-height:1.3;letter-spacing:-.01em}.news-card p{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.55;overflow-wrap:anywhere}.news .status-links{margin-top:20px}@media (max-width:1080px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.news-grid{display:flex}.news-card{padding:18px}}.status-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}.faq-list{max-width:820px;margin:0 auto;border-top:1px solid var(--border)}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 4px;cursor:pointer;list-style:none;font-size:18px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{flex:none;color:var(--text-secondary);transition:transform .2s}.faq-list details[open] summary svg{transform:rotate(45deg)}.faq-list details p{margin:0;padding:0 4px 24px;color:var(--text-secondary);font-size:16px;line-height:1.7;max-width:72ch}.faq-guides{max-width:820px;margin:20px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.faq-guides>span{grid-column:1/-1;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.faq-guides a{display:inline-flex;align-items:center;gap:6px;color:var(--solar-text);font-size:15px;font-weight:650}.faq-guides a:hover{text-decoration:underline;text-underline-offset:3px}.closing-v2{width:min(var(--content),calc(100% - 2 * var(--gutter)));margin:0 auto var(--section-y);padding:44px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:24px;background:radial-gradient(120% 140% at 50% 0,var(--solar-soft),var(--surface) 60%);border:1px solid var(--border)}.closing-v2 h2{margin:0;max-width:680px}.closing-v2>p{max-width:600px;margin:12px 0 24px;color:var(--text-secondary);font-size:18px}.closing-installers{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:24px 0 0;color:var(--text-secondary);font-size:15px}.site-footer{width:min(var(--content),calc(100% - 2 * var(--gutter)));margin:0 auto;padding:48px 0 calc(48px + env(safe-area-inset-bottom));display:grid;align-items:start;text-align:left;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;border-top:1px solid var(--border)}.site-footer-brand p{margin:12px 0 0;color:var(--text-secondary);font-size:15px;line-height:1.6;max-width:34ch}.site-footer-beta{font-size:14px!important}.site-footer nav{display:flex;flex-direction:column;gap:4px}.site-footer h2{margin:0 0 8px;color:var(--text);font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.site-footer nav .link-button,.site-footer nav a{min-height:32px;display:inline-flex;align-items:center;color:var(--text-secondary);font-size:15px;line-height:1.4}.site-footer nav .link-button:hover,.site-footer nav a:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.mobile-cta{display:none}.back-to-top{position:fixed;right:24px;bottom:96px;z-index:40;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}.back-to-top.visible{opacity:1;pointer-events:auto;transform:none}@media (max-width:720px){.back-to-top{display:none}.donation-fab,.support-fab{display:none!important}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;gap:8px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--page) 94%,transparent);backdrop-filter:blur(10px);transform:translateY(110%);transition:transform .2s}.mobile-cta.visible{transform:none}.mobile-cta .button{flex:1;min-height:48px}.mobile-cta .icon-button{width:48px;height:48px}.site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}@media (max-width:1080px){.hero-v2{grid-template-columns:1fr;gap:40px;padding-top:48px}.hero-v2-visual{max-width:560px;width:100%;margin:0 auto}.tour-panel{grid-template-columns:1fr;gap:28px}.site-footer{grid-template-columns:repeat(3,1fr)}.site-footer-brand{grid-column:1/-1}}@media (max-width:820px){.how-steps,.status-columns{grid-template-columns:1fr}.trust ul{grid-template-columns:repeat(2,1fr)}.trust li:nth-child(3){border-left:0}.trust li:nth-child(n+3){border-top:1px solid var(--border)}.compat-row{grid-template-columns:auto minmax(0,1fr) auto}.compat-conn{grid-column:2/-1}.compat-foot{grid-template-columns:1fr}.compat-missing{align-items:flex-start}.install-needs,.install-needs ul{grid-template-columns:1fr}.compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.compare,.compare tbody,.compare td,.compare th,.compare tr{display:block;width:100%}.compare tbody th{width:100%;padding-bottom:4px}.compare td{padding-top:8px;padding-bottom:8px}.compare td:before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.compare tbody tr+tr>th{border-top:1px solid var(--border)}.compare tbody tr+tr>td{border-top:0}}@media (max-width:640px){.hero-v2{padding:32px 0 40px}.hero-v2-lead{font-size:17px}.hero-v2-actions .button{width:100%}.hero-v2-signals{font-size:14px}.tour-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--gutter)) 24px;padding:0 var(--gutter) 4px;scrollbar-width:none}.tour-tabs::-webkit-scrollbar{display:none}.tour-tabs [role=tab]{scroll-snap-align:start}.device-frame{padding:6px}.trust strong{font-size:24px}.trust a,.trust li>div{min-height:84px;padding:12px 8px}.compat-row{padding:12px 14px;gap:12px}.status-badge{grid-column:2/-1;justify-self:start;grid-row:auto}.compat-row>.status-badge{order:3}.closing-v2{padding:40px 20px;border-radius:18px}.site-footer{grid-template-columns:1fr 1fr}.faq-list summary{font-size:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.install-method{padding:24px}.install-method h3{font-size:22px}.install-method-tagline{font-size:15px}.install-method-ideal{font-size:15px;line-height:1.6}.install-method dt{font-size:12px;letter-spacing:.08em}.install-method dd{font-size:15px}.install-method-cta{font-size:15px;min-height:44px}.install-badge{font-size:12px}.install-badge.recommended{color:var(--battery-text)}.install-badge.experimental{color:var(--solar-text)}.home .release-section{padding:var(--section-y) 0}.home .release-card{padding:32px 40px;gap:48px;border-radius:var(--radius-lg)}.home .release-copy h2{font-size:clamp(28px,3vw,40px)}.home .release-copy>p{font-size:16px;line-height:1.6}.release-docker-label,.release-docker-text{font-size:15px}.release-docker-cmd{font-size:14px;overflow-x:auto}.release-download-link{font-size:15px;min-height:36px}.release-counter,.release-meta,.release-note{font-size:14px}.latest-release>p{font-size:15px;line-height:1.55}.release-history-meta,.release-history-name{font-size:14px}.release-history a{min-height:44px}.support-row{width:min(var(--content),calc(100% - 2 * var(--gutter)));margin:0 auto var(--section-y);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;align-items:start}.support-row>.contact{width:auto;margin:0;padding:32px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.support-row .contact-inner{text-align:left}.support-row .contact-inner h2{font-size:clamp(26px,2.6vw,32px);font-weight:760;letter-spacing:-.03em}.support-row .contact-inner>p{margin-left:0;font-size:16px}.support-row .contact-form{margin-top:24px}.support-row .contact-form .button{justify-self:start}.support-row>.donations-section{width:auto;margin:0;grid-template-columns:1fr;gap:20px;padding:32px}.support-row .donations-section h2{font-size:clamp(22px,2.2vw,26px);font-weight:760}.contact-form label{font-size:14px}.contact-form input,.contact-form textarea{font-size:16px;min-height:44px}.donations-section p{font-size:15px}.donations-form .donations-once,.donations-section small{font-size:13px}.donations-form label{font-size:14px}@media (max-width:960px){.support-row{grid-template-columns:1fr}}@media (max-width:640px){.home .release-card,.support-row>.contact,.support-row>.donations-section{padding:24px 18px}}.compat-more{display:flex;justify-content:center;padding:6px;background:var(--surface)}.compat-more .button{min-height:44px;color:var(--solar-text)}.compat-more svg.flip{transform:rotate(180deg)}.swipe-hint{display:none}@media (max-width:720px){.snap-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--gutter));padding:4px var(--gutter) 12px;scrollbar-width:thin}.snap-row>*{flex:0 0 86%;scroll-snap-align:center}.install-row{display:block}.install-row .install-methods{display:flex;gap:12px;max-width:none;margin:0}.install-row .install-method{flex:0 0 86%;scroll-snap-align:center}.install-row{overflow-x:auto;scroll-snap-type:x mandatory}.swipe-hint{display:block;margin:-8px 0 12px;color:var(--text-secondary);font-size:14px;text-align:center}.how-steps li{display:grid;grid-template-columns:auto 1fr;column-gap:16px;padding:18px}.how-steps .how-icon{grid-row:span 2;width:48px;height:48px}.how-steps h3{margin:0 0 4px;font-size:19px}.how-steps p{grid-column:2;font-size:15px}.how-number{top:16px;right:16px;width:28px;height:28px;font-size:13px}.compat-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 4px;gap:16px;scrollbar-width:none}.compat-filters [role=group]{flex-wrap:nowrap;flex:none}.compat-conn{gap:4px}.conn-tag{padding:2px 8px}.site-footer nav a.footer-guide,.site-footer-beta{display:none}.compare td,.compare th{padding:10px 16px}.faq-guides{grid-template-columns:1fr}.install-needs{padding:20px}}.home .latest-release{padding:22px}.install-method dl>div{padding:8px 0}.install-method-ideal{margin:8px 0 14px}.reading-progress{position:sticky;top:68px;z-index:29;height:3px;background:transparent}.reading-progress span{display:block;height:100%;background:var(--solar);transform-origin:left}.method-picker{margin:32px auto 0;max-width:760px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.method-picker>span{color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.method-picker p{margin:0;color:var(--text-secondary);font-size:15px}.method-tabs{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.method-tabs [role=tab]{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);font:inherit;font-size:15px;font-weight:700;cursor:pointer}.method-tabs [role=tab]:hover{color:var(--text);background:var(--surface-soft)}.method-tabs [role=tab][aria-selected=true]{color:var(--on-solar);background:var(--solar)}.doc-section[hidden]{display:none!important}.docs-visual-image .shot{border-radius:8px}.docs-page .doc-lead,.docs-page .doc-steps p{font-size:16px}@media (max-width:720px){.method-tabs{width:100%}.method-tabs [role=tab]{flex:1;justify-content:center;padding:0 10px}}.docs-sidebar a{font-size:14px;min-height:36px;display:flex;align-items:center}.docs-sidebar-group>span,.docs-sidebar>small{font-size:13px}.architecture-grid p,.concept-grid p,.doc-callout p,.feature-status-card p,.flow-row small,.hardware-grid p,.upload-flow p{font-size:14px;line-height:1.55}.back-link,.doc-step-actions .doc-inline-link,.docs-status span{font-size:14px}.product-hero{padding-bottom:8px!important}.product-hero .back{display:flex;width:fit-content;margin-bottom:20px}.product-hero h1{margin:0;font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-.045em;font-weight:780}.product-hero p{max-width:720px;margin:16px 0 0;color:var(--text-secondary);font-size:18px}.product-group{padding-top:32px!important;padding-bottom:32px!important}.product-group h2{margin:0 0 20px;font-size:clamp(24px,2.6vw,30px)!important}.product-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product-card{width:100%;height:100%;display:flex;flex-direction:column;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:zoom-in;overflow:hidden;transition:border-color .15s,box-shadow .15s}.product-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.product-thumb{position:relative;display:block;padding:8px 8px 0}.product-thumb .shot{aspect-ratio:16/10}.product-zoom{position:absolute;right:16px;bottom:8px;width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--border)}.product-copy{display:flex;flex-direction:column;gap:6px;padding:16px 18px 20px}.product-copy strong{font-size:17px}.product-copy span{color:var(--text-secondary);font-size:15px;line-height:1.55}.product-page .closing-v2{margin-top:40px}@media (max-width:1080px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.product-grid{grid-template-columns:1fr}}.manual-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.manual-header-search{display:flex;align-items:center;gap:8px;min-height:44px;width:min(340px,100%);padding:0 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text-secondary)}.manual-header-search:focus-within{box-shadow:var(--focus);border-color:var(--solar)}.manual-header-search input{flex:1;min-width:0;height:40px;border:0;outline:none;background:transparent;color:var(--text);font:inherit;font-size:15px}.ui-kit h1{margin:0;font-weight:780;font-size:clamp(36px,5vw,56px);letter-spacing:-.04em}.ui-kit-lead{max-width:720px;color:var(--text-secondary);font-size:18px}.ui-kit-inline,.ui-kit-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.ui-kit-block{padding-top:24px!important;padding-bottom:24px!important;border-top:1px solid var(--border)}.ui-kit-block>h2{margin:0 0 20px!important;font-size:24px!important}.ui-kit-swatches{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.ui-kit-swatch{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.ui-kit-swatch>span{width:32px;height:32px;border-radius:8px;border:1px solid var(--border)}.ui-kit-table td{font-variant-numeric:tabular-nums}.ui-kit-h1{margin:0;font-size:clamp(40px,5.2vw,66px);font-weight:780;letter-spacing:-.05em;line-height:1.03}.ui-kit-h2{font-size:clamp(30px,3.4vw,42px);letter-spacing:-.035em;margin:16px 0}.ui-kit-small{color:var(--text-secondary);font-size:14px}.ui-kit-space{margin-top:20px}.ui-kit-shot{max-width:520px}.callout svg{display:inline;vertical-align:-3px;margin-right:6px}.architecture-grid article>span,.doc-index,.story-number,.topic-row-index{color:var(--muted)!important}.sh-mobile-settings .language-select{display:block;flex:1;min-width:0;max-width:none}.sh-mobile-settings .language-select select{width:100%;max-width:none}.support-plans .sp-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:24px!important}.sp-plan{position:relative;display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.sp-plan h2{margin:0;font-size:22px!important;letter-spacing:-.02em!important}.sp-plan-priority{border-color:var(--solar);box-shadow:var(--shadow-soft)}.sp-badge{position:absolute;top:-12px;left:24px;padding:2px 10px;border-radius:999px;background:var(--solar);color:var(--on-solar);font-size:12px;font-weight:800}.sp-price{margin:0;color:var(--text-secondary)}.sp-price strong{color:var(--text);font-size:36px;font-weight:800;letter-spacing:-.03em}.sp-plan ul{display:flex;flex-direction:column;gap:10px;margin:4px 0 8px;padding:0;list-style:none}.sp-plan li{display:flex;align-items:flex-start;gap:10px;color:var(--text-secondary)}.sp-plan li svg{flex:none;margin-top:4px;color:var(--solar-text)}.sp-plan .button{align-self:flex-start;margin-top:auto}.sp-note{margin:0;color:var(--text-secondary);font-size:14px}.support-plans .sp-installer{display:flex;align-items:center;gap:20px;padding:24px!important;margin:8px auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft)}.sp-installer>svg{flex:none;color:var(--solar-text)}.sp-installer h2{margin:0;font-size:20px!important}.sp-installer p{margin:4px 0 0;color:var(--text-secondary)}.sp-installer .button{flex:none;margin-left:auto}.sp-how ol{display:flex;flex-direction:column;gap:10px;margin:16px 0 0;padding-left:22px;color:var(--text-secondary);font-size:17px}.sp-how .callout svg{vertical-align:-3px;color:var(--solar-text)}.sp-faq details{border-bottom:1px solid var(--border);padding:14px 0}.sp-faq summary{cursor:pointer;font-weight:700;color:var(--text)}.sp-faq details p{margin:8px 0 0;color:var(--text-secondary)}.sp-faq .text-link{margin-top:20px}.sp-checkout{margin-top:auto}.sp-checkout,.sp-checkout form{display:flex;flex-direction:column;gap:10px}.sp-checkout label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--text)}.sp-checkout input{min-height:44px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-weight:400}.sp-checkout input:focus-visible{outline:none;box-shadow:var(--focus)}.sp-checkout .button{align-self:flex-start}.sp-paypal{min-height:52px;max-width:360px}.sp-error{margin:0;color:#dc2626;font-size:14px;font-weight:600}.sp-done{padding:16px;border-radius:var(--radius);background:var(--solar-soft)}.sp-done p{margin:0}.sp-done-title{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--text);margin-bottom:6px!important}.sp-done-title svg{color:var(--solar-text)}@media (max-width:720px){.support-plans .sp-plans{grid-template-columns:1fr}.support-plans .sp-installer{flex-direction:column;align-items:flex-start}.sp-installer .button{margin-left:0}}.legal-page .legal-updated{margin-top:12px;font-size:14px;color:var(--text-secondary)}.legal-page .legal-note{margin-top:8px;font-size:14px;color:var(--text-secondary)}.legal-doc a,.legal-page .legal-note a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-doc{padding-top:8px!important}.legal-doc>*{max-width:820px}.legal-doc .legal-toc{margin-bottom:32px;padding:16px 20px;border:1px solid var(--border);border-radius:12px}.legal-doc .legal-toc ol{margin:0;padding-left:22px;list-style:decimal;columns:240px 2;column-gap:40px}.legal-doc .legal-toc li::marker{color:var(--text-secondary)}.legal-doc .legal-toc li{margin:0 0 8px;break-inside:avoid}.legal-doc .legal-toc a{text-decoration:none}.legal-doc section{scroll-margin-top:96px;margin-bottom:28px}.home .legal-doc h2{margin:0 0 12px;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.02em}.legal-doc li,.legal-doc p{color:var(--text-secondary);font-size:16px;line-height:1.7}.legal-doc p,.legal-doc ul{margin:0 0 12px}.legal-doc ul{padding-left:22px}.legal-doc li{margin:6px 0}.install-chooser-question{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 auto 22px;text-align:center}.install-chooser-question>p{margin:0;font-weight:750;font-size:16px}.install-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.install-choice{min-height:44px;padding:10px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:border-color .2s,background .2s}.install-choice:hover{border-color:var(--solar)}.install-choice[aria-pressed=true]{border-color:var(--battery);background:var(--battery-soft)}.install-choice:focus-visible{outline:2px solid var(--solar);outline-offset:2px}.install-method.chosen{border-color:var(--battery);box-shadow:0 0 0 1px var(--battery)}.install-badge.beta{color:var(--grid);background:var(--grid-soft);border:1px solid color-mix(in srgb,var(--grid) 35%,transparent)}.lightbox.handoff{width:min(480px,100%);gap:16px;padding:20px}.handoff-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:10px;border-radius:10px;color:var(--solar-text);background:var(--solar-soft)}.handoff-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.handoff-actions .button{justify-content:center;min-height:44px}.handoff-ha{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text);text-decoration:none;font-size:14px;line-height:1.5}.handoff-ha svg{flex:none;margin-top:2px;color:var(--battery)}.handoff-ha strong{display:block}.handoff-anyway{align-self:center;padding:8px;color:var(--text-secondary);font-size:13px;text-decoration:underline}@media (max-width:420px){.handoff-actions{grid-template-columns:1fr}}.release-next{margin-top:18px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--battery) 35%,var(--border));border-radius:var(--radius-sm);background:var(--battery-soft)}.release-next h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:16px}.release-next ol{margin:0 0 10px;padding-left:20px;list-style:decimal;color:var(--text-secondary);line-height:1.6;font-size:14px}