*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;background:linear-gradient(180deg,#fbfbfc 0%,#eceef2 100%);color:#111;-webkit-font-smoothing:antialiased;overscroll-behavior:none}
#app{max-width:760px;margin:0 auto;min-height:100%;padding:calc(env(safe-area-inset-top) + 16px) 22px calc(env(safe-area-inset-bottom) + 96px);display:flex;flex-direction:column;position:relative}
.top{display:flex;justify-content:space-between;align-items:center}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:"Gotham","Montserrat","Avenir Next","Helvetica Neue",Futura,Arial,sans-serif;font-size:15px;font-weight:300;letter-spacing:.5em;color:#A31217;text-transform:uppercase}
.meta{display:flex;gap:12px;align-items:center}
.clock{font-size:14px;color:#111;font-variant-numeric:tabular-nums}
.tag{font-size:10px;letter-spacing:.16em;padding:3px 9px;border-radius:99px;border:1px solid #cfd2d7;color:#666;background:#fff}
.tag.live{color:#0a7d3c;border-color:#b6e3c8}.tag.off{color:#a15c00;border-color:#f0d39b}
.stage{position:relative;margin:1vh 4% 0}
.carimg{width:100%;height:auto;display:block;pointer-events:none;user-select:none}
.name{text-align:center;font-size:15px;color:#555;margin-top:-18px}
.nums{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin-top:3vh}
.nums span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8a8d93}
.nums strong{display:block;font-weight:300;font-size:clamp(38px,11vw,64px);letter-spacing:-.03em;line-height:1.1}
.nums strong i{font-style:normal;font-size:.42em;color:#8a8d93;margin-left:2px}
.nums strong.sm{font-size:clamp(17px,4.6vw,24px);font-weight:400;padding-top:14px}
.bar{position:relative;height:3px;background:#dcdfe3;border-radius:3px;margin:20px 4px 0}
.bar i{display:block;height:100%;border-radius:3px;background:#111;width:0;transition:width .6s}
.bar b{position:absolute;top:-4px;width:2px;height:11px;background:#111;opacity:.5;left:80%}
.line{text-align:center;color:#6b6e75;font-size:13px;margin:16px 0 0;min-height:18px}
.plan{display:block;margin:22px auto 0;background:#111;color:#fff;border:0;border-radius:99px;padding:14px 30px;font-size:16px;text-decoration:none;text-align:center;cursor:pointer;font-family:inherit}
.fine{text-align:center;font-size:11.5px;color:#9a9da3;margin:10px 0 0}
.connect{position:fixed;inset:0;background:rgba(244,245,247,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;place-items:center;z-index:5}
.connect[hidden]{display:none}
.card{text-align:center;max-width:320px;padding:28px}.card h1{font-weight:400;font-size:28px;margin:10px 0 6px}.card p{color:#666;font-size:14px;line-height:1.45}
.dock{position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(env(safe-area-inset-bottom) + 12px);background:linear-gradient(180deg,rgba(236,238,242,0),#eceef2 40%);z-index:3}
.dock form{max-width:720px;margin:0 auto;display:flex;gap:8px;background:#fff;border:1px solid #dcdfe3;border-radius:99px;padding:6px 6px 6px 18px;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.dock input{flex:1;border:0;outline:0;font-size:16px;background:transparent;font-family:inherit;min-width:0}
.dock button{width:38px;height:38px;border-radius:50%;border:0;background:#111;color:#fff;font-size:18px;flex:none}.dock button.ic{background:transparent;color:#6b6e75;display:grid;place-items:center}.dock button.ic[aria-pressed=true]{color:#111;background:#eceef2}.dock button.ic.rec{background:#e82127;color:#fff;animation:pulse 1.2s ease-in-out infinite}.dock button[hidden]{display:none}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(232,33,39,.15)}}
.sheet{position:fixed;left:0;right:0;bottom:0;top:18%;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.14);z-index:4;display:flex;flex-direction:column;padding-bottom:84px}
.sheet[hidden]{display:none}
.grab{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#8a8d93}
.grab button{border:0;background:transparent;font-size:26px;color:#666}
.msgs{flex:1;overflow:auto;padding:4px 20px 20px;display:flex;flex-direction:column;gap:12px}
.m{max-width:88%;font-size:16px;line-height:1.45;white-space:pre-wrap}
.m.you{align-self:flex-end;background:#111;color:#fff;border-radius:18px 18px 4px 18px;padding:10px 14px}
.m.ai{align-self:flex-start;color:#111}
.m.err{color:#b3261e;font-size:13px}
@media (prefers-reduced-motion:no-preference){.fl{animation:dash 2.4s linear infinite}.fl.f{animation-duration:1.1s}@keyframes dash{to{stroke-dashoffset:-48}}.car{animation:fl 7s ease-in-out infinite}@keyframes fl{50%{transform:translateY(-2px)}}}

.dt{display:flex;align-items:center;gap:6px;margin:14px auto 0;border:0;background:transparent;color:#6b6e75;font:inherit;font-size:13px;letter-spacing:.04em;cursor:pointer;padding:6px 10px}
.dt svg{transition:transform .35s}.dt[aria-expanded=true] svg{transform:rotate(180deg)}
.details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.8,.2,1),opacity .35s;opacity:0}
.details.open{grid-template-rows:1fr;opacity:1}
.dinner{overflow:hidden;min-height:0}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;padding:6px 2px 4px}
.dgrid div{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid #e1e3e7;font-size:13px}
.dgrid span{color:#8a8d93;letter-spacing:.03em}.dgrid b{font-weight:500;font-size:16px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:#111;text-align:right}
.dnote{grid-column:1/-1;color:#9a9da3;font-size:11.5px;margin:10px 0 0;text-align:center}
@media(max-width:420px){.dgrid{grid-template-columns:1fr}}

.line a{color:#111;text-decoration:underline}

.brand .sun{flex:none;margin-top:-2px}

.brand .wm{height:10px;width:auto;display:block}

.plan .sun{vertical-align:-3px;margin-right:8px}

.cable{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:1400/933;pointer-events:none;opacity:0;transition:opacity .5s}.stage.charging .cable{opacity:1}.cable .flow{stroke-dasharray:4 20;stroke-width:3;animation:fl .9s linear infinite}@keyframes fl{from{stroke-dashoffset:0}to{stroke-dashoffset:24}}.cable .cg>path:first-child{animation:pu 1.8s ease-in-out infinite}@keyframes pu{50%{opacity:.55}}

.stage .spin{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:1400/933;touch-action:pan-y;cursor:grab;pointer-events:auto;-webkit-user-select:none;user-select:none}.stage .spin:active{cursor:grabbing}.cable .cg{transition:none}.stage:not(.charging) .cable{opacity:0}

.solar{display:flex;align-items:center;justify-content:center;gap:7px;margin:14px auto 0;background:none;border:0;font:inherit;font-size:13px;cursor:pointer;padding:4px 8px}.solar.off{color:#c8161d}.solar.pend{color:#8a8d93}.solar.on{color:#1d9a68}
.sform{width:min(340px,86vw)}.sform input{width:100%;box-sizing:border-box;margin:8px 0 0;padding:13px 14px;border:1px solid #dcdfe3;border-radius:12px;font-size:16px;font-family:inherit;background:#fff}.sform .serr{color:#c8161d;font-size:13px;min-height:16px;margin-top:8px}.slink{background:none;border:0;color:#6b6e75;font-size:14px;margin-top:10px;cursor:pointer;font-family:inherit}

.stage .spin{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:1200/800;touch-action:pan-y;cursor:grab;pointer-events:auto;-webkit-user-select:none;user-select:none}
.stage .spin[hidden]{display:none}
.cable2{display:none}.stage.spinning .cable2{display:block}.stage.spinning .cable:not(.cable2){display:none}

.solar{flex-direction:column;gap:4px}.solar .hs{display:block;transition:filter .5s,opacity .5s}.solar.off .hs,.solar.pend .hs{filter:grayscale(1) brightness(1.12);opacity:.5}.solar.on .hs{filter:none;opacity:1}

.solar .hs{width:min(78vw,300px);height:auto;filter:none!important;opacity:1!important}

.solar .hs{width:min(66vw,260px);height:auto;display:block;margin:0 auto}

.solar .hs{width:auto;max-width:62vw;max-height:210px}
.solar .hs{max-width:86vw;max-height:230px}

.solar .snums{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:28px;text-align:center;margin-top:4px}.snums span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8a8d93}.snums strong{display:block;font-weight:300;font-size:clamp(38px,11vw,64px);letter-spacing:-.03em;line-height:1.1;color:#111}.snums strong i{font-style:normal;font-size:.36em;color:#8a8d93;margin-left:3px;letter-spacing:0}.snums strong.sm{font-size:clamp(17px,4.6vw,24px);font-weight:400;padding-top:14px}.snums strong.red{color:#d11a21}.solar .stap{font-size:12px;color:#8a8d93;min-height:14px;margin-top:2px}.solar.off,.solar.pend,.solar.on{color:inherit}
.stog{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px auto 0;background:none;border:0;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8a8d93;cursor:pointer;padding:6px 10px}.stog[hidden]{display:none}.stog .sw{width:38px;height:22px;border-radius:99px;background:#cfd2d7;position:relative;transition:background .25s}.stog .sw i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s}.stog.on .sw{background:#111}.stog.on .sw i{transform:translateX(16px)}


.clock{white-space:nowrap}.meta{flex-wrap:nowrap}

@media (max-width:520px){.top{gap:6px}.brand .wm{width:34vw;height:auto}.meta{gap:6px}.tag{padding:3px 7px;letter-spacing:.1em}.clock{font-size:12px}}

.cartog{background:none;border:1px solid #cfd2d7;color:#666;border-radius:99px;font:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;cursor:pointer;white-space:nowrap}
.solar .hs{width:auto;max-width:104vw;max-height:330px;margin:0 -2vw}
@media (max-width:520px){.cartog{padding:3px 7px;letter-spacing:.06em}}
html.dk,html.dk body{background:#000;color:#f2f3f5}
html.dk .clock{color:#f2f3f5}html.dk .tag,html.dk .cartog{background:#000;border-color:#34383f;color:#b8bcc4}html.dk .tag.live{color:#3ddc84;border-color:#1f6b45}html.dk .tag.off{color:#e0a040;border-color:#6b4a14}
html.dk .name{color:#aab0b9}
html.dk .nums span,html.dk .snums span{color:#aab0b9}html.dk .nums strong,html.dk .snums strong{color:#fff}html.dk .nums strong i,html.dk .snums strong i{color:#aab0b9}html.dk .snums strong.red{color:#ff4b52}
html.dk .bar{background:#222}html.dk .bar i[style*="17, 17, 17"]{background:#f2f3f5!important}html.dk .bar b{background:#fff}
html.dk .solar,html.dk .solar.off,html.dk .solar.pend,html.dk .solar.on{color:#f2f3f5}html.dk .solar .stap{color:#aab0b9}
html.dk .stog{color:#aab0b9}html.dk .stog .sw{background:#333}html.dk .stog.on .sw{background:#3a7bff}
html.dk .line{color:#9aa0a8}html.dk .line a{color:#fff}html.dk .dt{color:#d6d9de}html.dk .details,html.dk .dgrid{color:#d6d9de}
html.dk .plan{background:#f2f3f5;color:#000}html.dk .fine{color:#8a8d93}
html.dk .dock{background:linear-gradient(180deg,rgba(0,0,0,0),#000 40%)}html.dk .dock form{background:#111;border-color:#2b2b2b;box-shadow:none}html.dk .dock input{color:#fff}html.dk .dock input::placeholder{color:#7d838c}html.dk .dock button{background:#f2f3f5;color:#000}html.dk .dock button.ic{background:transparent;color:#aab0b9}html.dk .dock button.ic[aria-pressed=true]{background:#222;color:#fff}
html.dk .sheet{background:#000;color:#f2f3f5;box-shadow:0 -10px 40px rgba(255,255,255,.06)}html.dk .grab{color:#aab0b9}html.dk .grab button{color:#fff}html.dk .m.ai{color:#f2f3f5}html.dk .m.you{background:#1c1c1c;color:#fff}
html.dk .connect{background:rgba(0,0,0,.86)}html.dk .card{background:#0b0b0b;color:#f2f3f5;border:1px solid #222}html.dk .card p{color:#aab0b9}html.dk .sform input{background:#111;border-color:#2b2b2b;color:#fff}html.dk .slink{color:#aab0b9}
.auth{font-weight:800;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:#111;margin:14px 0 0;text-align:left}html.dk .auth{color:#fff}
.solar .hs{width:min(100vw,560px);max-width:none;max-height:none;margin:0}html,body{overflow-x:hidden}
.solar{align-self:center;width:100%}.solar .hs{width:calc(100% + 0px);max-width:400px;margin:0 auto}
html.dk .brand{color:#fff}

/* v66 compact one-screen */
.carimg{width:88%;margin:0 auto}
.stage .spin,.stage .cable{width:88%;left:6%}
.name{margin-top:-8px}
.nums{margin-top:1.6vh}
.bar{margin:12px 4px 0}
.line{margin:8px 0 0}
.solar{margin:6px auto 0}
.solar .snums{gap:22px}
.dt{margin:8px auto 0}
.plan{margin:14px auto 0;padding:12px 26px}
@media (max-height:800px){
 .carimg{width:74%}.stage .spin,.stage .cable{width:74%;left:13%}
 .solar .hs{max-width:250px}
 .nums strong,.snums strong{font-size:clamp(28px,8.5vw,48px)}
 .name{margin-top:-4px}
 .nums{margin-top:.8vh}
 .line{margin:4px 0 0;min-height:16px}
}


.solar .hs{filter:grayscale(1)!important}

.solar .snums{display:grid;grid-template-columns:repeat(3,1fr);gap:0;width:100%;margin-top:2px}.snums strong.sm{font-size:clamp(17px,4.6vw,24px);font-weight:400;padding-top:14px}
@media (max-height:800px){.snums strong.sm{padding-top:8px}}
.solar .hs{max-width:370px}.solar .stap{margin-top:0}
@media (max-height:800px){.solar .hs{max-width:225px}}
.snums strong.sm{font-size:clamp(15px,4.1vw,21px)}
.solar .hs{max-width:345px}.solar .snums strong{font-size:clamp(34px,10vw,56px)}.solar .snums strong.sm{font-size:clamp(15px,4.1vw,21px)}
@media (max-height:800px){.solar .hs{max-width:190px}.solar .snums strong{font-size:clamp(26px,8vw,40px)}.solar .snums strong.sm{font-size:clamp(14px,3.8vw,19px);padding-top:6px}.solar .stap{font-size:11px}}
.solar .hs{max-width:300px}@media (max-height:800px){.solar .hs{max-width:190px}}
/* v68 proportional scale: everything keyed to viewport height */
.carimg{width:min(88%,calc(30vh*1.5));margin:0 auto}
.stage .spin,.stage .cable{width:min(88%,calc(30vh*1.5));left:calc((100% - min(88%,calc(30vh*1.5)))/2)}
.solar .hs{max-width:none;width:auto;height:30vh;max-height:none;margin:0 auto}
.nums strong,.snums strong{font-size:clamp(26px,6vh,50px)}
.nums strong.sm,.snums strong.sm{font-size:clamp(14px,2.7vh,21px);padding-top:.9vh}
.nums span,.snums span{font-size:clamp(9px,1.35vh,11px)}
.solar .stap{font-size:clamp(10px,1.5vh,12px)}
@media (max-height:800px){.carimg{width:min(88%,calc(30vh*1.5))}.stage .spin,.stage .cable{width:min(88%,calc(30vh*1.5));left:calc((100% - min(88%,calc(30vh*1.5)))/2)}.solar .hs{max-width:none;width:auto;height:30vh}.nums strong,.snums strong{font-size:clamp(26px,6vh,50px)}.nums strong.sm,.snums strong.sm{font-size:clamp(14px,2.7vh,21px);padding-top:.9vh}}
.carimg{width:min(88%,30vh)}.stage .spin,.stage .cable{width:min(88%,30vh);left:calc((100% - min(88%,30vh))/2)}.solar .hs{height:22vh;max-width:none}
@media (max-height:800px){.carimg{width:min(88%,30vh)}.stage .spin,.stage .cable{width:min(88%,30vh);left:calc((100% - min(88%,30vh))/2)}.solar .hs{height:22vh}}
@media (max-height:760px){.fine{display:none}.carimg{width:min(88%,27vh)}.stage .spin,.stage .cable{width:min(88%,27vh);left:calc((100% - min(88%,27vh))/2)}.solar .hs{height:19.5vh}.nums strong,.snums strong{font-size:clamp(24px,5.4vh,46px)}}
#app{min-height:100vh;min-height:100dvh;box-sizing:border-box}.stage,.solar,.dt,.plan{margin-top:auto!important}.nums{margin-top:1vh!important}
.solar .hs{opacity:.5!important;filter:grayscale(1)!important}
.nums strong,.snums strong,.solar .snums strong{font-size:clamp(20px,4.4vh,36px)!important}
.nums strong.sm,.snums strong.sm,.solar .snums strong.sm{font-size:clamp(12px,2.1vh,16px)!important;padding-top:.7vh!important}
.nums span,.snums span{font-size:clamp(8px,1.2vh,10px)!important}
.wire{position:relative;width:2px;height:4.5vh;margin:0 auto;border-radius:2px;overflow:hidden;flex:none;background:rgba(150,155,165,.55)}
.wire i{position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(to top,transparent 0,#ffb400 50%,transparent 100%) 0 100%/100% 200% no-repeat;animation:wflow 1.6s linear infinite}
@keyframes wflow{from{background-position:0 100%}to{background-position:0 -100%}}
@media(prefers-reduced-motion:reduce){.wire i{animation:none}}
.wire+.solar{margin-top:0!important}
#app{position:relative}
.wire{display:none!important}
.wirev{position:absolute;left:0;top:0;pointer-events:none;z-index:3;overflow:visible}
.wirev #wbase{stroke:rgba(150,155,165,.55)}
html.dk .wirev #wbase{stroke:rgba(200,205,215,.4)}
.wirev #wflow{animation:wdash 1.1s linear infinite;filter:drop-shadow(0 0 3px #ffb400)}
@keyframes wdash{to{stroke-dashoffset:32}}
@media(prefers-reduced-motion:reduce){.wirev #wflow{animation:none}}
.wire+.solar{margin-top:auto!important}
@media (max-width:520px){.brand .wm{width:40vw!important}}
.solar .sbar{width:calc(100% - 8px);margin:1.2vh auto 0!important;height:3px}
.sbar i{background:#ffb400!important}
html.dk .sbar{background:#222}
.carimg{width:min(90%,42vh)!important;aspect-ratio:1370/580;margin:0 auto 1.5vh!important}
@media (max-height:760px){.carimg{width:min(90%,36vh)!important}}
.stage .cable,.stage .cable2{display:none!important}
.carimg{width:min(76%,34vh)!important}
@media (max-height:760px){.carimg{width:min(76%,30vh)!important}}
.snums strong.red{color:#ff3b30!important;text-transform:uppercase;letter-spacing:.02em}
@media (max-width:520px){.brand .wm{width:49vw!important}}
.credit{font-size:9px;letter-spacing:.32em;color:#8a8d93;opacity:.85;margin:-2px 0 0 2px;line-height:1;text-transform:uppercase;font-weight:300}
.credit{margin:6px 0 0 2px!important}
.lbrand{font-size:13px;letter-spacing:.42em;font-weight:600;color:#A31217;margin-bottom:6px;text-align:center}html.dk .lbrand{color:#fff}
.snums strong.red.sm{font-size:11px!important;letter-spacing:.16em;font-weight:400;padding-top:12px;text-transform:uppercase;line-height:1.2}
.snums strong em.act{display:block;width:max-content;margin:6px auto 0;font-style:normal;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#cfd2d6;border:1px solid #6b6f76;border-radius:99px;padding:3px 10px}
html:not(.dk) .snums strong em.act{color:#444;border-color:#999}
.top{flex-wrap:wrap!important;row-gap:4px}
.top .brand{flex:0 0 100%;order:1}
.top .credit{order:2;margin:0!important;align-self:center}
.top .meta{order:3;margin-left:auto}
@media (max-width:520px){.brand .wm{width:84vw!important}.tag{font-size:11px!important;padding:4px 9px!important}.cartog,#cartog{font-size:11px!important}.clock{font-size:14px!important}}
.wirev #wbase{stroke:url(#wg)!important;opacity:.45}
.wirev #wflow{filter:drop-shadow(0 0 3px rgba(255,196,0,.8))}
.snums strong.red.sm{text-transform:none!important;font-variant:small-caps;font-size:17px!important;letter-spacing:.1em;font-weight:500}
.wirev #wflow{filter:drop-shadow(0 0 3px rgba(34,197,94,.8))}
.nums strong,.snums strong,.solar .snums strong{font-size:clamp(17px,3.8vh,31px)!important}
.nums span,.snums span{font-size:clamp(7.5px,1.1vh,9.5px)!important}
.nums strong i,.snums strong i{font-size:.34em}
.nums strong.red.sm{text-transform:none!important;font-variant:small-caps;font-size:15px!important;letter-spacing:.1em;font-weight:500;color:#ff3b30!important;line-height:1.2}
.snums strong.red.sm{font-size:15px!important}
@media (max-width:520px){.brand .wm{width:95vw!important}.top .brand{margin-left:calc((100% - 95vw)/2)}}
.top .credit{margin-top:6px!important}
.updbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom) + 84px);z-index:50;background:#ffc400;color:#111;border:0;border-radius:99px;padding:10px 18px;font:600 13px/1 system-ui,sans-serif;box-shadow:0 4px 18px rgba(0,0,0,.4)}
.wirev #wflow{filter:drop-shadow(0 0 3px rgba(255,196,0,.8))}
.nums strong.red.sm,.snums strong.red.sm{font-variant:all-small-caps!important;font-variant-caps:all-small-caps!important;text-transform:none!important;font-size:18px!important;letter-spacing:.14em!important;font-weight:500}
.nums strong.red.sm,.snums strong.red.sm{font-size:12.5px!important;letter-spacing:.18em!important;padding-top:1.2vh!important}
.nums strong.red.sm,.snums strong.red.sm{font-size:8.5px!important;letter-spacing:.24em!important;font-weight:500!important;padding-top:1.6vh!important}
.nums strong.red.sm,.snums strong.red.sm{font-size:9.5px!important;letter-spacing:.22em!important;color:#ff4038!important}
.nums strong.red.sm,.snums strong.red.sm{font-variant:normal!important;font-variant-caps:normal!important;text-transform:lowercase!important;font-size:13px!important;letter-spacing:.06em!important;font-weight:400!important;padding-top:1.1vh!important}
.top{padding-top:calc(env(safe-area-inset-top) + 10px)!important}
.top .meta{margin-top:8px}
@media (max-width:520px){
.top{flex-wrap:wrap!important;flex-direction:row!important;align-items:center!important}
.top .brand{flex:0 0 auto!important;order:1!important;margin-left:0!important}
.brand .wm{width:41vw!important}
.top .meta{order:2!important;margin-left:auto!important;margin-top:0!important;gap:5px!important}
.top .credit{order:3!important;flex:0 0 100%!important;margin-top:6px!important}
.tag{font-size:10px!important;padding:3px 7px!important}.cartog,#cartog{font-size:10px!important;padding:3px 7px!important}.clock{font-size:12px!important}
}
.nums strong,.snums strong,.solar .snums strong{font-size:clamp(14px,2.6vh,22px)!important}
.nums span,.snums span{font-size:clamp(7px,.95vh,8.5px)!important}
.nums strong.red.sm,.snums strong.red.sm{font-size:11px!important}
.nums strong.sm,.snums strong.sm{font-size:clamp(11px,1.8vh,14px)!important}
@media (max-width:520px){.brand .wm{width:44vw!important}}
.arahint{text-align:center;font-size:11px;letter-spacing:.14em;color:#6f737a;margin:0 0 6px}
@media (max-width:520px){
.top .brand{flex:0 0 100%!important;order:1!important;justify-content:center!important;margin:0!important}
.top .credit{order:2!important;flex:0 0 100%!important;text-align:center!important;margin-top:6px!important}
.top .meta{order:3!important;flex:0 0 100%!important;justify-content:flex-end!important;margin:8px 0 0!important}
}
@media (max-width:520px){.top .meta{margin-top:20px!important}}
@media (max-width:520px){.name{margin-top:22px!important}}
@media (max-width:520px){.name{margin-top:34px!important}}
@media (max-width:520px) and (max-height:700px){.name{margin-top:10px!important}.top .meta{margin-top:10px!important}.arahint{margin-bottom:3px}}
@media (max-width:520px){.stage{padding-top:22px!important}}
@media (max-width:520px) and (max-height:760px){.stage{padding-top:14px!important}.name{margin-top:6px!important}.solar .hs{height:15.5vh!important}}
@media (max-width:520px){.stage{padding-top:38px!important}}
@media (max-width:520px) and (max-height:760px){.stage{padding-top:26px!important}}
@media (max-width:520px) and (max-height:700px){.stage{padding-top:18px!important}}
@media (max-width:520px){.stage{padding-top:58px!important}}
@media (max-width:520px) and (max-height:760px){.stage{padding-top:40px!important}.solar .hs{height:15.5vh!important}}
@media (max-width:520px) and (max-height:700px){.stage{padding-top:26px!important}.solar .hs{height:14.5vh!important}}
.snums strong.grn{color:#22c55e!important;font-size:13px!important;text-transform:lowercase;font-weight:500!important}
.snums strong.grn em.act{display:block;margin:4px auto 0;width:max-content;font-style:normal;font-size:9px;letter-spacing:.2em;border:1px solid #22c55e;color:#22c55e;border-radius:99px;padding:3px 9px;text-transform:uppercase}
.solar.demo .sbar i,.solar.demo #sfill{background:#22c55e!important}
@media (max-width:520px){.stage{padding-top:18px!important}}
@media (max-width:520px) and (max-height:760px){.stage{padding-top:12px!important}.solar .hs{height:15.5vh!important}}
@media (max-width:520px) and (max-height:700px){.stage{padding-top:10px!important}}
.solar.on .hs{opacity:1!important;filter:none!important}

.cmp{margin:1.2vh 4% 0;text-align:center}
.cmpb{background:none;border:1px solid #34383f;color:#f2f3f5;border-radius:99px;padding:9px 18px;font:500 14px -apple-system,BlinkMacSystemFont,"SF Pro Text",Arial,sans-serif;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.cmpk{width:0;height:20px;overflow:hidden;transition:width .3s;display:inline-block}
.cmpk svg{width:20px;height:20px;display:block}
.cmp.done .cmpk{width:20px}
.cmp.done .cmpb{border-color:#1f6b45}
.cmpp{height:3px;background:#222;border-radius:3px;margin:10px auto 0;max-width:260px;overflow:hidden}
.cmpp i{display:block;height:100%;width:0;background:#ff4b52;border-radius:3px}
.cmp.run .cmpp i{transition:width 2.6s cubic-bezier(.3,.1,.2,1);width:100%}
.cmp.done .cmpp i{width:100%;background:#1fbf63;transition:background .3s}
.cmpr{font-size:12px;line-height:1.4;color:#aab0b9;margin:8px 8px 0;min-height:0;opacity:0;transition:opacity .4s}
.cmp.done .cmpr{opacity:1}
html:not(.dk) .cmpb{color:#111;border-color:#c9ccd2}
html:not(.dk) .cmpp{background:#dfe2e7}

.gsp{display:block;width:78%;max-width:300px;margin:12px auto 0;border:0;border-radius:10px;padding:14px 10px;color:#fff;font:600 17px -apple-system,BlinkMacSystemFont,"SF Pro Text",Arial,sans-serif;letter-spacing:.2px;cursor:pointer;background:linear-gradient(180deg,#4f6bff 0%,#2a3fe0 55%,#2236c8 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.18),0 4px 14px rgba(40,60,230,.45);text-shadow:0 1px 1px rgba(0,0,0,.25);-webkit-tap-highlight-color:transparent}
.gsp:active{transform:scale(.98);filter:brightness(.92)}
#plan{display:none!important}
.cmp.done .cmpp{display:none}
.gsp{background:linear-gradient(180deg,#4a76ea 0%,#3E6AE1 60%,#3860d2 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 14px rgba(62,106,225,.4)!important}
.cmpp{position:relative;height:7px;border-radius:2px;background:#26282d;max-width:280px}
.cmpp i{border-radius:0}
.cmpp::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 3px),#000 calc(10% - 3px),#000 10%)}
.cmp.run .cmpp i{transition:width 6s steps(10,end)}
.arahint,.dk .arahint,.grab span,.dk .grab span{color:#fff!important}
.dock input::placeholder{color:#fff;opacity:.85}
.wm{width:49vw!important}
.brand .wm{width:49vw!important}

.tabs{position:sticky;top:0;z-index:2;display:flex;gap:4px;margin:6px auto 4px;padding:4px;background:#111;border:1px solid #2b2b2b;border-radius:99px;width:max-content;max-width:100%}
.tabs button{border:0;background:transparent;color:#aab0b9;font:600 14px -apple-system,BlinkMacSystemFont,"SF Pro Text",Arial,sans-serif;padding:8px 16px;border-radius:99px;white-space:nowrap}
.tabs button.on{background:#f2f3f5;color:#111}
html.vopen,html.vopen body{overflow:hidden}
.voice{position:fixed;inset:0;z-index:8;background:#000;color:#f2f3f5;display:flex;flex-direction:column;align-items:center;padding:calc(env(safe-area-inset-top) + 16px) 22px calc(env(safe-area-inset-bottom) + 20px);box-sizing:border-box}
.voice[hidden]{display:none}
.vbody{flex:1;width:100%;max-width:560px;display:flex;flex-direction:column;min-height:0}
.vlog{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px 2px;-webkit-overflow-scrolling:touch}
.vm{max-width:88%;font-size:16px;line-height:1.45;white-space:pre-wrap}
.vm.you{align-self:flex-end;background:#1c1c1c;border-radius:18px 18px 4px 18px;padding:10px 14px}
.vm.ai{align-self:flex-start;color:#f2f3f5}
.vm.err{color:#ff8a80;font-size:14px}
.vconn{align-self:flex-start;display:inline-block;background:#3E6AE1;color:#fff;border:0;border-radius:99px;padding:9px 18px;font:600 14px -apple-system,Arial,sans-serif;text-decoration:none}
.vstage{display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px 0 4px}
.vorb{--lv:0;position:relative;width:132px;height:132px;border:0;background:transparent;padding:0;color:#fff;-webkit-tap-highlight-color:transparent}
.vorb .core{position:absolute;inset:18px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#7fa2ff,#3E6AE1 55%,#1d3a8a);box-shadow:0 0 30px rgba(62,106,225,.55);transition:transform .12s}
.vorb .r{position:absolute;inset:6px;border-radius:50%;border:2px solid rgba(62,106,225,.5);opacity:0}
.voice[data-state=listen] .core{transform:scale(calc(1 + var(--lv)*.18));background:radial-gradient(circle at 35% 30%,#7fe3b0,#1fbf63 55%,#0d6a38);box-shadow:0 0 34px rgba(31,191,99,.6)}
.voice[data-state=listen] .r{animation:vr 1.6s ease-out infinite;border-color:rgba(31,191,99,.5)}
.voice[data-state=listen] .r2{animation-delay:.8s}
.voice[data-state=think] .core{animation:vt 1s ease-in-out infinite}
.voice[data-state=speak] .core,.voice[data-state=greet] .core{animation:vt .9s ease-in-out infinite}
.voice[data-state=speak] .r,.voice[data-state=greet] .r{animation:vr 1.4s ease-out infinite}
.voice[data-state=speak] .r2,.voice[data-state=greet] .r2{animation-delay:.7s}
.vstat{font-size:15px;color:#aab0b9;text-align:center;min-height:20px}
.vend{border:1px solid #34383f;background:transparent;color:#d6d9de;border-radius:99px;padding:9px 20px;font:600 14px -apple-system,Arial,sans-serif}
.vend[hidden]{display:none}
@keyframes vr{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.45);opacity:0}}
@keyframes vt{50%{transform:scale(1.07)}}
#tabv,.tabs button.on{background:#fff;color:#111}
#tabd:not(.on),#vtabd{background:transparent;color:#aab0b9}
#tabv{box-shadow:0 0 0 1px #fff,0 0 14px rgba(255,255,255,.35)}
#tabd,#tabd.on{background:transparent;color:#aab0b9}

.vform{display:flex;gap:8px;width:100%;max-width:520px;background:#111;border:1px solid #2b2b2b;border-radius:99px;padding:6px 6px 6px 18px;box-sizing:border-box}
.vform input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#f2f3f5;font-size:16px;font-family:inherit}
.vform button{width:38px;height:38px;border-radius:50%;border:0;background:#f2f3f5;color:#111;font-size:18px;flex:none}
.vstat{padding:0 8px;line-height:1.4}

.tabs button{padding:8px 12px;font-size:13px}
.abody{flex:1;width:100%;max-width:560px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:30px}
.atop{display:flex;align-items:center;gap:10px;margin:14px 2px 4px}
.atop h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em}
.apre{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#e0a040;border:1px solid #6b4a14;border-radius:99px;padding:3px 8px}
.acount{margin-left:auto;font-size:13px;color:#3ddc84}
.anote{font-size:13px;line-height:1.45;color:#8a8f98;margin:4px 2px 6px}
.ahead{display:flex;flex-direction:column;gap:2px;margin:22px 4px 8px}
.ahead b{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#f2f3f5;font-weight:600}
.ahead span{font-size:12px;color:#7b808a}
.acard{background:#0e0f11;border:1px solid #23252a;border-radius:18px;overflow:hidden}
.arow{display:flex;align-items:center;gap:12px;padding:13px 16px;border-top:1px solid #1b1d21}
.arow:first-child{border-top:0}
.atx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.atx strong{font-size:16px;font-weight:600;color:#f2f3f5}
.atx small{font-size:12px;color:#7b808a}
.asw{flex:none;width:52px;height:31px;border-radius:99px;border:0;background:#2a2d33;position:relative;padding:0;transition:background .2s;-webkit-tap-highlight-color:transparent}
.asw i{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.4);transition:transform .2s}
.asw[aria-checked=true]{background:#1fbf63}
.asw[aria-checked=true] i{transform:translateX(21px)}
.acard.locked .arow{opacity:.85}
.alock{flex:none;color:#8a8f98;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#16181b}
.appl .abody{margin-top:6px}

.tabs{max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tabs button{padding:8px 10px;font-size:12.5px;flex:none}
.shero{margin:10px 0 14px;padding:22px 20px 16px;border-radius:22px;background:radial-gradient(120% 90% at 20% 0%,#1d2a1f,#0e0f11 60%);border:1px solid #23302a}
.sl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8fbf9f}
.sbig{display:flex;align-items:baseline;gap:8px;margin-top:6px}
.sbig strong{font-size:64px;line-height:1;font-weight:700;letter-spacing:-.03em;background:linear-gradient(180deg,#fff,#b8f5cf);-webkit-background-clip:text;background-clip:text;color:transparent}
.sbig em{font-style:normal;font-size:20px;color:#9aa0a8}
.searn{margin-top:6px;font-size:15px;color:#9aa0a8}.searn span{color:#3ddc84;font-weight:700;font-size:20px}
.sflow{width:100%;height:auto;margin-top:14px}
.fdash{animation:fl 1s linear infinite}
.sflow.idle .fdash{animation:none;opacity:.2}
@keyframes fl{to{stroke-dashoffset:-17}}
.skw{font-size:13px;color:#3ddc84;text-align:center;margin-top:2px}
.scard{margin:14px 0;padding:18px 18px 16px;border-radius:20px;background:#0e0f11;border:1px solid #23252a}
.schead{display:flex;align-items:center;justify-content:space-between}
.schead b{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#f2f3f5}
.sseg{display:flex;background:#16181b;border-radius:99px;padding:3px}
.sseg button{border:0;background:transparent;color:#8a8f98;font:600 12px -apple-system,Arial,sans-serif;padding:5px 12px;border-radius:99px}
.sseg button.on{background:#f2f3f5;color:#111}
.stot{display:flex;align-items:baseline;gap:8px;margin-top:12px}.stot strong{font-size:34px;font-weight:700}.stot span{font-size:13px;color:#7b808a}
.stotk{font-size:12px;color:#7b808a;margin-top:2px}
.schart{width:100%;height:auto;margin-top:10px}
.sfoot{font-size:12px;color:#6d727b;margin:8px 0 0;line-height:1.4}
.sp{font-size:14px;line-height:1.5;color:#b8bcc4;margin:10px 0 4px}
.sbrow{border-top:1px solid #1b1d21;margin-top:10px;padding:14px 0 0}
.sul{margin:10px 0 0;padding-left:18px;font-size:14px;line-height:1.5;color:#b8bcc4}.sul li{margin-bottom:8px}
.tabs{gap:2px;padding:3px}
.tabs button{padding:7px 9px;font-size:12px}
#tabd,#vtabd,#atabd,#stabd{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;padding-left:14px;padding-right:14px;background:transparent!important;color:#e8eaee!important}#tabd svg,#vtabd svg,#atabd svg,#stabd svg{display:block}
.smseg{display:flex;width:100%;margin:6px 0 4px}.smseg button{flex:1;padding:9px 4px;font-size:13px}
.smrows label{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #23252a;font-size:14px;color:#cfd3da}
.smrows label>span:last-child{display:flex;align-items:center;gap:6px;color:#fff}.smrows select{background:#17181b;color:#fff;border:1px solid #2a2d33;border-radius:8px;padding:6px 4px;font-size:14px}
.smrows input[type=range]{width:110px;accent-color:#3b6cf0}.smrows b{min-width:58px;text-align:right;font-weight:600}
.smest{display:flex;flex-direction:column;gap:2px;padding:10px 0 2px;border-top:1px solid #23252a}.smest strong{font-size:22px}.smest span{font-size:12.5px;color:#9aa0aa}
.acat{margin-top:10px}
.acath{display:flex;align-items:center;gap:10px;padding:11px 4px;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.actt{display:flex;flex-direction:column;gap:1px;min-width:0}
.actt b{font-size:15px;font-weight:600;color:#f2f3f5}
.acn2{font-size:11px;color:#7b808a}
.acath .acn{margin-left:auto;font-size:12px;color:#7b808a}
.acath .ach{color:#7b808a;transition:transform .2s}
.acat.open .acath .ach{transform:rotate(90deg)}
.acatb{display:none}
.acat.open .acatb{display:block}
.acatempty{font-size:13px;color:#7b808a;padding:12px 16px}
.abtn{flex:none;min-width:58px;height:32px;border-radius:99px;border:0;background:#2a2d33;color:#8a8f98;font-size:12px;font-weight:700;letter-spacing:.06em;padding:0 14px;cursor:pointer;transition:background .15s,color .15s,transform .08s;-webkit-tap-highlight-color:transparent}
.abtn.on{background:#1fbf63;color:#04140a}
.abtn:active{transform:scale(.88)}


/* v148: centre the SOLAR PILOT heading everywhere; clear space under the Menu */
.top .brand{flex:0 0 100%!important;justify-content:center!important;margin:0!important;order:1!important}
.top .credit{flex:0 0 100%!important;text-align:center!important;order:2!important;margin:6px 0 0!important}
@media (min-width:521px){
.brand .wm{width:clamp(170px,14vw,300px)!important;height:auto!important}
.top .meta{position:absolute!important;right:22px;top:calc(env(safe-area-inset-top) + 16px);margin:0!important}
.stage{padding-top:38px!important}
.carimg{width:min(76%,calc(21vh*1.5))!important}
.stage .spin,.stage .cable{width:min(76%,calc(21vh*1.5))!important;left:calc((100% - min(76%,calc(21vh*1.5)))/2)!important}
.solar .hs{height:15.5vh!important}
}
@media (max-width:520px){.stage{padding-top:54px!important}.solar .hs{height:12.5vh!important}}
@media (max-width:520px) and (max-height:760px){.stage{padding-top:40px!important}.solar .hs{height:11.5vh!important}}

/* v149: only the car identification, in grey; compatibility pill and bar removed */
.cmpb,.cmpp,.cmpr{display:none!important}
.name{color:#8a8d93!important;font-size:14px;letter-spacing:.02em}

/* v150: light-theme toggle removed, app is always dark */
#cartog{display:none!important}

/* v155 photo house: same layout box as old house, scaled visually */
.solar .hs{transform:scale(1.35);transform-origin:50% 50%}

/* v157 touch colour */
.solar .hs.touch{filter:none!important;opacity:1!important}
.solar .hs{transition:filter .35s,opacity .35s!important;-webkit-tap-highlight-color:transparent;touch-action:manipulation}

/* v158 house width = car width */
.solar .hs{transform:scale(var(--hsk,1.35));transform-origin:50% 50%}

/* v159 house lower */
.solar .hs{margin-top:24px!important}
@media (max-height:760px){.solar .hs{margin-top:22px!important}}

/* v161 no outline on status tag */
.tag,.tag.live,.tag.off,html.dk .tag,html.dk .tag.live,html.dk .tag.off{border-color:transparent!important;background:none!important;box-shadow:none!important}

/* v161 time to top-left, small grey */
#clock.clock,html.dk #clock.clock{position:fixed!important;top:12px!important;left:16px!important;font-size:12px!important;color:#8a8f98!important;z-index:5;letter-spacing:.04em}
.cbtn{border:0;background:#f2f3f5;color:#111;font:600 14px -apple-system,Arial,sans-serif;padding:9px 16px;border-radius:99px;margin-top:6px}
.cghost{background:#16181b;color:#cfd3da;border:1px solid #2a2d33}
.cest{font-size:14px;line-height:1.5;color:#b8bcc4;padding:10px 0;border-top:1px solid #23252a}.cest b{color:#fff}
.cchk{margin:10px 0 4px;padding-left:18px;color:#b8bcc4;font-size:14px;line-height:1.5}
.smrows input,.smrows input[type=number]{background:#17181b;color:#fff;border:1px solid #2a2d33;border-radius:8px;padding:6px;font-size:14px}
@media(max-width:430px){.tabs button{padding:8px 8px;font-size:12px}}
#tabv,#atabv,#statv,#ctabv{display:none!important}
#cmap{height:340px;border-radius:14px;overflow:hidden;background:#0e0f11;border:1px solid #23252a}
@media(min-height:600px) and (min-width:900px){#cmap{height:46vh}}
.cpin{display:block;width:16px;height:16px;border-radius:50%;border:2px solid #0a0a0a;box-shadow:0 0 0 1px rgba(255,255,255,.5)}
.cpin.ch{background:#f2f3f5}.cpin.co{background:#3b6cf0}
.leaflet-container{font:13px -apple-system,Arial,sans-serif}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#17181b;color:#f2f3f5}
.leaflet-popup-content{line-height:1.45;margin:10px 12px}
.leaflet-control-attribution{background:rgba(0,0,0,.6)!important;color:#8a8f98!important;font-size:9px!important}
.leaflet-control-attribution a{color:#b8bcc4!important}
.leaflet-bar a{background:#17181b;color:#f2f3f5;border-color:#2a2d33}
.cdark{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.9) saturate(.6)}
.cpin.cs{background:#6b7078}

/* v168 map HUD */
.cmapw{position:relative;border-radius:16px;overflow:hidden;border:1px solid #1d2a3a;box-shadow:0 0 0 1px #05070a,0 10px 30px rgba(0,0,0,.5),inset 0 0 40px rgba(59,130,255,.06)}
#cmap{border:0!important;border-radius:0!important;background:#05080d!important}
.cdark{filter:invert(1) hue-rotate(205deg) brightness(.95) contrast(1.15) saturate(.5)!important}
.cpin{width:14px!important;height:14px!important;border:2px solid #05070a!important;box-shadow:0 0 0 1px rgba(255,255,255,.35),0 0 14px 3px var(--g,rgba(255,255,255,.55))!important;margin:4px}
.cpin.ch{--g:rgba(255,255,255,.6);background:#fff}
.cpin.cs{--g:rgba(120,126,136,.5);background:#6b7078}
.cpin.co{--g:rgba(59,130,255,.85);background:#3b82ff}
.cpin.fast{width:18px!important;height:18px!important;margin:2px;background:#5ad1ff;--g:rgba(90,209,255,.95)}
.cpin.sm{display:inline-block;width:8px!important;height:8px!important;margin:0 5px 0 0!important;box-shadow:0 0 8px 1px var(--g)!important;border-width:1px!important;vertical-align:middle}
.cclu{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(8,14,24,.88);border:1.5px solid #3b82ff;color:#cfe3ff;font:700 13px -apple-system,Arial,sans-serif;box-shadow:0 0 18px 2px rgba(59,130,255,.55),inset 0 0 10px rgba(59,130,255,.25)}
.cme{filter:drop-shadow(0 0 8px #3b82ff)}
.mchips{position:absolute;top:10px;left:10px;z-index:1000;display:flex;gap:6px;pointer-events:none;flex-wrap:wrap;max-width:62%}
.mchips span{background:rgba(6,10,17,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #1d2a3a;border-radius:99px;padding:4px 10px;font:600 10px/1 -apple-system,Arial,sans-serif;letter-spacing:.14em;color:#8fa3bd}
.mchips b{color:#fff;font-size:12px;margin-left:3px;letter-spacing:0}
.mcard{position:absolute;left:10px;right:10px;bottom:22px;z-index:1000;background:rgba(7,12,20,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #243247;border-radius:16px;padding:12px 14px;box-shadow:0 8px 30px rgba(0,0,0,.6);color:#e8eef8}
.mcard[hidden]{display:none}
.mcard .mk{font:700 9px/1 -apple-system,Arial,sans-serif;letter-spacing:.2em;color:#3b82ff;margin-bottom:6px}.mcard .mk.ch{color:#fff}.mcard .mk.cs{color:#8a8f98}
.mcard .mt{font:700 16px/1.25 -apple-system,Arial,sans-serif;color:#fff;padding-right:26px}
.mcard .ml{font-size:13px;color:#b8c4d6;margin-top:3px}.mcard .ms{font-size:12px;color:#8fa3bd;margin-top:3px}
.mcard .mx{position:absolute;top:6px;right:8px;border:0;background:transparent;color:#8fa3bd;font-size:22px;line-height:1;padding:4px 8px}
.mcard .mdir{display:inline-block;margin-top:9px;padding:7px 14px;border-radius:99px;background:#fff;color:#05070a;font:700 12px -apple-system,Arial,sans-serif;text-decoration:none;letter-spacing:.04em}
.cmapw .leaflet-bar{border:0!important;box-shadow:none!important}
.cmapw .leaflet-bar a{background:rgba(6,10,17,.82)!important;color:#cfe3ff!important;border:1px solid #1d2a3a!important;border-radius:12px!important;margin-bottom:6px;width:34px;height:34px;line-height:32px;backdrop-filter:blur(8px)}
.cmapw .leaflet-top.leaflet-right{top:6px;right:6px}
.cmapw .leaflet-control-attribution{background:rgba(6,10,17,.7)!important;color:#5f7089!important;font-size:8px!important;border-radius:8px 0 0 0}

/* v169 fill viewport under the browser bar */
html,body{height:100%;min-height:100dvh;margin:0;background:#000}

/* v170 house always lit */
.solar .hs,.solar.off .hs,.solar.pend .hs,.solar.on .hs{filter:none!important;opacity:1!important}
.solar .hs.touch{filter:brightness(1.35) saturate(1.3) drop-shadow(0 0 14px #2d8cff)!important}

/* v175 lighter house */
.solar .hs,.solar.off .hs,.solar.pend .hs,.solar.on .hs{filter:drop-shadow(0 0 12px rgba(90,160,255,.4))!important}
.solar .hs.touch{filter:brightness(1.3) saturate(1.25) drop-shadow(0 0 16px #2d8cff)!important}

/* v177 installable app polish */
html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;background:#000}
body{-webkit-touch-callout:none;-webkit-text-size-adjust:100%}
.insthint{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 12px);z-index:60;background:#15171b;border:1px solid #2a2d33;border-radius:16px;padding:14px 16px;color:#f2f3f5;font:500 14px/1.4 -apple-system,Arial,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.6);display:flex;gap:12px;align-items:center}
.insthint b{display:block;font-size:15px;margin-bottom:2px}
.insthint button{margin-left:auto;border:0;background:#f2f3f5;color:#111;font:600 13px -apple-system,Arial,sans-serif;padding:8px 14px;border-radius:99px;flex:none}

/* v178 house lower */
.solar .hs{translate:0 12px}
@media (min-width:900px){.solar .hs{translate:0 9px}}

/* v179 logo lockup header */
.brand .wm,html.dk .brand .wm{width:min(46vw,236px)!important;height:auto!important;margin:0 auto}
.top .brand{margin-left:0!important;justify-content:center}
/* v180 entry gate */
#connect{background:#000!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:50}
.entry{background:none!important;border:0!important;box-shadow:none!important;display:flex;flex-direction:column;align-items:center;gap:22px;width:min(86vw,360px);text-align:center}
.entry .elogo{width:min(70vw,300px);height:auto}
.entry .esub{font-size:11px;letter-spacing:.32em;color:#8a8a8f}
.entry .tbtn{display:block;width:100%;margin-top:34px;padding:16px 0;border-radius:10px;background:#e31937;color:#fff;font:600 16px/1 -apple-system,"Helvetica Neue",Arial,sans-serif;text-decoration:none;letter-spacing:.02em}
.entry .enote{font-size:12px;color:#6d6d72;margin:0}

/* v181 mark only */
.brand .wm,html.dk .brand .wm{width:auto!important;height:36px!important}
.entry .elogo{width:auto!important;height:84px!important}
/* v182 text name */
.top .brand{display:flex!important;align-items:center;justify-content:center;gap:12px}
.wt{font-family:"Gotham","Montserrat","Avenir Next","Helvetica Neue",Futura,Arial,sans-serif;font-weight:300;letter-spacing:.5em;color:#fff;font-size:15px;line-height:1;white-space:nowrap;margin-right:-.5em}
.erow{display:flex;align-items:center;gap:14px}
.entry .elogo{height:56px!important}
.entry .wt{font-size:20px}
.top .brand .wm{margin:0!important}
.wt{letter-spacing:.38em;margin-right:-.38em}
.entry .wt{font-size:18px}

/* v183 wide landscape layout (Tesla screen / tablets) */
@media (min-width:900px) and (orientation:landscape){
#app{max-width:min(1500px,96vw)!important;padding-left:3vw!important;padding-right:3vw!important;padding-bottom:calc(env(safe-area-inset-bottom) + 92px)!important;display:grid!important;grid-template-columns:1fr 1fr;column-gap:5vw;grid-auto-rows:auto;align-content:start;row-gap:0}
#app>*{margin-top:0!important}
.top{grid-column:1/-1;grid-row:1}
.tabs{grid-column:1/-1;grid-row:2;justify-self:center;width:min(760px,100%)}
.stage{grid-column:1;grid-row:3;padding-top:14px!important;align-self:end}
.cmp{display:none}
.nums{grid-column:1;grid-row:4;margin-top:10px!important}
.bar{grid-column:1;grid-row:5;margin-top:48px!important}
.wire{display:none!important}
.solar{grid-column:2;grid-row:3/6;align-self:center;margin-top:0!important}
.stog{grid-column:2;grid-row:6}
.line{grid-column:2;grid-row:6;align-self:start}
.dt{grid-column:1/-1;grid-row:7;justify-self:center;margin-top:10px!important}
.details{grid-column:1/-1;grid-row:8}
.plan{grid-column:1/-1;grid-row:9;justify-self:center;width:min(420px,100%);margin-top:12px!important}
.carimg{width:min(94%,66vh)!important}
.stage .spin,.stage .cable{width:min(94%,66vh)!important;left:calc((100% - min(94%,66vh))/2)!important}
.solar .hs{height:27vh!important}
.solar .snums{width:100%}
}
@media (min-width:900px) and (orientation:landscape){
#app{align-content:center!important}
.stage .cable,.stage .spin,.wire{display:none!important}
.dt{grid-column:1;grid-row:6;justify-self:center}
.plan{grid-column:2;grid-row:6;width:min(380px,100%);justify-self:center;margin-top:6px!important}
.stog{grid-column:2;grid-row:7}.line{grid-column:2;grid-row:7}
.details{grid-column:1/-1;grid-row:8}
.nums strong,.solar .snums strong{font-size:34px!important}
.solar .hs{height:29vh!important}
.stage{padding-top:6px!important}
.tabs{width:min(820px,100%)}
}
@media (min-width:900px) and (orientation:landscape){
.cmp{display:block!important;grid-column:2;grid-row:6;justify-self:center;margin-top:48px!important}
.wirev,#wirev,.wirev *{display:none!important}
.stage{padding-bottom:16px!important}
.line{grid-row:7}
}
@media (min-width:900px) and (orientation:landscape){.cmp,.cmp button,.cmp .cmpp{min-width:300px;white-space:nowrap}.cmp{width:auto}}
/* v184 plan button between car and house on wide */
@media (min-width:900px) and (orientation:landscape){
.cmp{grid-column:1/-1!important;grid-row:3/6!important;justify-self:center!important;align-self:center!important;margin:0!important;z-index:3;width:auto}
.cmp,.cmp button,.cmp .cmpp{min-width:0!important}
.cmp button,.cmp .cmpp,.cmp a{width:176px;white-space:normal;padding:12px 14px}
}
/* v185 caps */
#lead,.cmp button,.cmp .cmpp,.cmpb,.cmp a{text-transform:uppercase;letter-spacing:.06em}
.gsp{text-transform:uppercase!important;letter-spacing:.06em!important;font-size:14px!important}
@media (min-width:900px) and (orientation:landscape){.cmp .gsp,.cmp button{width:auto!important;white-space:nowrap!important;padding:13px 18px!important}}
/* v186 big plan button on Tesla layout */
@media (min-width:900px) and (orientation:landscape){
#app{column-gap:9vw!important}
.carimg{width:min(90%,62vh)!important}
.cmp .gsp,.cmp button{width:230px!important;min-height:88px;white-space:normal!important;padding:18px 20px!important;font-size:22px!important;font-weight:700!important;line-height:1.2;border-radius:14px!important;letter-spacing:.08em!important}
}
/* v187 align car and house rows on Tesla layout */
@media (min-width:900px) and (orientation:landscape){
.solar{align-self:end!important;position:relative}
.solar .stap{position:absolute;left:0;right:0;top:100%;margin:4px 0 0!important}
.nums,.solar .snums{height:84px!important;min-height:84px;align-items:flex-start!important;margin-top:0!important}
.nums>div,.solar .snums>div{align-self:flex-start}
.nums{margin-top:6px!important}
.bar,.solar .sbar{margin-top:8px!important;margin-bottom:0!important}
.stage{align-self:end}
}
@media (min-width:900px) and (orientation:landscape){.solar{transform:translateY(-6px)}}
/* v188 header higher, car/house same height */
@media (min-width:900px) and (orientation:landscape){
#app{align-content:start!important;padding-top:calc(env(safe-area-inset-top) + 6px)!important}
.stage{margin-top:34px!important}
}
@media (min-width:900px) and (orientation:landscape){
#app>.stage{margin-top:56px!important}
.carimg{width:min(92%,66vh)!important}
.solar .hs{height:30.2vh!important}
}
@media (min-width:900px) and (orientation:landscape){.solar{transform:translateY(3px)}.solar .snums{transform:translateY(13px)}}
@media (min-width:900px) and (orientation:landscape){
.stage{min-height:0}
.line{min-height:22px;white-space:nowrap}
}
/* v191 shared-row grid: car and house cells use the same rows, independent of content and viewport */
@media (min-width:900px) and (orientation:landscape){
#app{--hero:clamp(150px,28vh,320px);align-content:start!important;grid-template-rows:auto auto var(--hero) 92px auto auto auto auto auto!important;align-items:start}
.stage,.solar,.nums,.bar,.solar .snums{transform:none!important;translate:none!important}
.stage{grid-column:1!important;grid-row:3!important;height:var(--hero)!important;min-height:0!important;margin-top:0!important;padding:0!important;display:flex;align-items:flex-end;justify-content:center;align-self:stretch!important;position:relative}
#app>.stage{margin-top:0!important}
.stage .carimg{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;margin:0!important;object-fit:contain;object-position:center bottom}
.stage .name{position:absolute;left:0;right:0;top:100%;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.solar{display:contents!important}
.solar .hs{grid-column:2!important;grid-row:3!important;justify-self:center;align-self:end;height:var(--hero)!important;width:auto!important;max-width:100%!important;max-height:var(--hero)!important;margin:0!important;object-fit:contain;object-position:center bottom}
.nums{grid-column:1!important;grid-row:4!important;height:92px!important;min-height:0!important;margin:0!important;align-self:start;align-items:start!important;overflow:hidden}
.solar .snums{grid-column:2!important;grid-row:4!important;height:92px!important;min-height:0!important;margin:0!important;align-self:start;align-items:start!important;width:100%;overflow:hidden}
.nums>div,.solar .snums>div{align-self:start;min-width:0}
.nums strong,.solar .snums strong{line-height:1.1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nums strong.sm,.solar .snums strong.sm{padding-top:14px}
.bar{grid-column:1!important;grid-row:5!important;margin:0 4px!important;align-self:start}
.solar .sbar{grid-column:2!important;grid-row:5!important;margin:0 4px!important;align-self:start;width:auto}
.solar .stap{grid-column:2!important;grid-row:6!important;position:static!important;margin:6px 0 0!important;justify-self:center;align-self:start}
.dt{grid-row:6!important}.line,.stog{grid-row:7!important}
.cmp{grid-row:3/6!important}
.details{grid-row:8!important}.plan{grid-row:9!important}
}
/* v191 centre whole block between pinned heading and bottom bar; caption row space */
@media (min-width:900px) and (orientation:landscape){
#app{align-content:center!important;padding-top:calc(env(safe-area-inset-top) + 64px)!important;min-height:100vh;box-sizing:border-box}
.top{position:fixed!important;top:6px;left:0;right:0;grid-row:auto!important;z-index:4}
#app{grid-template-rows:auto var(--hero) 100px auto auto auto auto auto!important}
.tabs{grid-row:1!important}.stage,.solar .hs{grid-row:2!important}.nums,.solar .snums{grid-row:3!important;height:100px!important;padding-top:26px!important;box-sizing:border-box}
.bar,.solar .sbar{grid-row:4!important}.dt,.solar .stap{grid-row:5!important}.line,.stog{grid-row:6!important}.cmp{grid-row:2/5!important}.details{grid-row:7!important}.plan{grid-row:8!important}
}
@media (min-width:900px) and (orientation:landscape){.tabs{margin-bottom:22px!important}}
@media (min-width:900px) and (orientation:landscape){.tabs{width:fit-content!important;min-width:560px;max-width:100%;justify-self:center!important;display:flex!important;justify-content:center!important;gap:18px}.tabs button{flex:0 0 auto!important}}
@media (min-width:900px) and (orientation:landscape){.stage,.nums,.bar,.dt{translate:-36px 0!important}}
@media (min-width:900px) and (orientation:landscape){.solar .sbar{translate:none!important}}
@media (min-width:900px) and (orientation:landscape){.solar .hs,.solar .snums,.solar .sbar,.solar .stap,.line,.stog{translate:36px 0!important}}
@media (min-width:900px) and (orientation:landscape){.top{top:30px!important}}
/* v195 yellow energy line car -> house on wide layout */
.wireh{display:none}
@media (min-width:900px) and (orientation:landscape){
.wireh{display:block!important;grid-column:1/-1;grid-row:2;align-self:start;justify-self:stretch;margin:calc(var(--hero)*.5) 33% 0 37%;height:3px;border-radius:3px;background:rgba(200,205,215,.35);overflow:hidden;position:relative;z-index:1;pointer-events:none;filter:drop-shadow(0 0 3px rgba(255,196,0,.8))}
.wireh i{position:absolute;inset:0;background:linear-gradient(to right,transparent 0,#ffb400 50%,transparent 100%) 0 0/200% 100% no-repeat;animation:whflow 1.6s linear infinite}
@keyframes whflow{from{background-position:200% 0}to{background-position:-100% 0}}
}
@media(prefers-reduced-motion:reduce){.wireh i{animation:none}}
@media (min-width:900px) and (orientation:landscape){.wireh{margin:calc(var(--hero)*.5) 30% 0 38%!important}}
@media (min-width:900px) and (orientation:landscape){#app>.wireh{margin-top:calc(var(--hero)*.5)!important}}
@media (min-width:900px) and (orientation:landscape){.stage,.nums,.bar,.dt{translate:-60px 0!important}.bar{margin-left:32px!important}.solar .sbar{translate:36px 0!important;margin-left:4px!important}#app>.wireh{margin-left:34%!important;margin-right:29.5%!important}}
@media (min-width:900px) and (orientation:landscape){.solar .hs{translate:136px 0!important}}
@media (min-width:900px) and (orientation:landscape){#app>.wireh{margin-right:22.5%!important}}
@media (min-width:900px) and (orientation:landscape){.top{top:56px!important}#app{padding-top:calc(env(safe-area-inset-top) + 110px)!important}}
@media (min-width:900px) and (orientation:landscape){.tabs{min-width:700px!important;gap:30px!important;padding:6px 28px!important}.tabs button{font-size:21px!important;font-weight:600!important;padding:12px 14px!important;white-space:nowrap}.tabs button svg{width:30px!important;height:30px!important}}
@media (min-width:900px) and (orientation:landscape){.top{top:80px!important}#app{padding-top:calc(env(safe-area-inset-top) + 150px)!important}}
@media (min-width:900px) and (orientation:landscape){#app{--hero:clamp(140px,24vh,300px)!important;padding-top:calc(env(safe-area-inset-top) + 178px)!important}.top{top:106px!important}.stage{translate:-100px 0!important}.tabs button{padding:8px 14px!important}}
@media (min-width:900px) and (orientation:landscape){.tabs{min-width:600px!important;gap:22px!important;padding:2px 20px!important}.tabs button{font-size:18px!important;padding:6px 12px!important}.tabs button svg{width:24px!important;height:24px!important}#app>.wireh{margin-left:30%!important}}
@media (min-width:900px) and (orientation:landscape){#app>.wireh{margin-left:29%!important;margin-right:21.5%!important;margin-top:calc(var(--hero)*.28)!important}}
@media (min-width:900px) and (orientation:landscape){.solar .hs{translate:165px 10px!important}#app>.wireh{margin-left:28%!important;margin-right:17%!important;margin-top:calc(var(--hero)*.32)!important}}
@media (min-width:900px) and (orientation:landscape){.stage{z-index:2!important}.solar .hs{position:relative;z-index:2}#app>.wireh{z-index:1!important;margin-left:27%!important;margin-right:14%!important}}
@media (min-width:900px) and (orientation:landscape){#app>.tabs{margin-top:-26px!important}}
@media (min-width:900px) and (orientation:landscape){.cmp{translate:0 -122px!important}.cmp .gsp,.cmp button{width:auto!important;min-height:46px!important;white-space:nowrap!important;padding:10px 22px!important;font-size:17px!important}}
@media (min-width:900px) and (orientation:landscape){
.appl .abody{max-width:1120px!important;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-content:start;align-items:start}
.appl .abody>.atop,.appl .abody>.anote,.appl .abody>.shero,.appl .abody>.csseg,.appl .abody>.sseg{grid-column:1/-1}
.appl .abody>#alist,.appl .abody>#cbody{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-items:start}
.appl .abody>#cbody>*{min-width:0}
.appl .abody .scard{margin:8px 0}
}
@media (min-width:900px) and (orientation:landscape){
.sell-x{}
.appl .abody>.shero{grid-column:1!important;grid-row:3/span 4}
.appl .abody>.scard{grid-column:2!important}
#share .abody>#cbody{grid-template-columns:1fr 1fr}
.cmp{translate:0 -124px!important}
.cmp .gsp,.cmp button{min-height:60px!important;padding:0 46px!important;font-size:20px!important;border-radius:16px!important;letter-spacing:.1em!important;box-shadow:0 8px 28px rgba(60,100,240,.45)!important}
}
@media (min-width:900px) and (orientation:landscape){.cmp .gsp{width:310px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;text-align:center;text-indent:.1em}}
@media (min-width:900px) and (orientation:landscape){
.cmp{position:relative}
.cmp .cmpb{min-height:0!important;width:auto!important;padding:6px 14px!important;font-size:13px!important}
.cmp:has(.gsp:not([hidden])) .cmpb,.cmp:has(.gsp:not([hidden])) .cmpp,.cmp:has(.gsp:not([hidden])) .cmpr{position:absolute;left:50%;top:100%;translate:-50% 0;margin-top:30px;white-space:nowrap}
}
@media (min-width:900px) and (orientation:landscape){#app>.wireh,.wireh{display:none!important}}
@media (min-width:900px) and (orientation:landscape){.cmp{translate:0 -92px!important}}
.acl{display:none}
@media (min-width:900px) and (orientation:landscape){
#alist{grid-template-columns:repeat(3,1fr)!important;gap:14px!important;margin-top:10px}
.acat.hide{display:none!important}
.acat{margin:0!important;--c:#3b82f6;position:relative}
.acat[data-k=lighting]{--c:#ffb020}.acat[data-k=large]{--c:#3b82f6}.acat[data-k=small]{--c:#14b8a6}.acat[data-k=kitchen]{--c:#fb7a24}.acat[data-k=security]{--c:#ef4444}.acat[data-k=energy]{--c:#22c55e}.acat[data-k=ent]{--c:#a855f7}.acat[data-k=health]{--c:#ec4899}.acat[data-k=gateway]{--c:#22d3ee}
.acath{height:104px;padding:0 18px!important;border-radius:22px;border:1px solid var(--c);background:linear-gradient(100deg,var(--c),#0b0b0d 75%);box-shadow:0 0 14px color-mix(in srgb,var(--c) 40%,transparent);position:relative;overflow:hidden;align-items:flex-start;flex-direction:column;justify-content:center;gap:2px}
.acath::after{content:"";position:absolute;right:0;top:0;bottom:0;width:52%;background:var(--img) right center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);mask-image:linear-gradient(90deg,transparent,#000 40%);pointer-events:none}
.acat[data-k=lighting]{--img:url(/cat-lighting.webp)}.acat[data-k=large]{--img:url(/cat-large.webp)}.acat[data-k=small]{--img:url(/cat-small.webp)}.acat[data-k=kitchen]{--img:url(/cat-kitchen.webp)}.acat[data-k=security]{--img:url(/cat-security.webp)}.acat[data-k=energy]{--img:url(/cat-energy.webp)}.acat[data-k=ent]{--img:url(/cat-ent.webp)}.acat[data-k=health]{--img:url(/cat-health.webp)}.acat[data-k=gateway]{--img:url(/cat-gateway.webp)}
.acath .actt b{font-size:21px;color:#fff}
.acath .acn{margin:0!important;font-size:13px!important;color:#fff!important;order:2}
.acath .acn::after{content:" devices"}
.acath .ach,.acath>span:last-child{display:none!important}
.acat.open .acatb{display:block;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,86vw);max-height:78vh;overflow:auto;z-index:60;background:#0b0b0d;border:1px solid var(--c);border-radius:22px;box-shadow:0 0 0 100vmax rgba(0,0,0,.78),0 0 40px color-mix(in srgb,var(--c) 40%,transparent);padding:10px}
.acat.open .acl{display:block;margin:2px 0 8px auto;background:#23252a;color:#fff;border:0;border-radius:16px;padding:8px 20px;font-weight:700;font-size:14px}
}
@media (min-width:900px) and (orientation:landscape){
.acath .actt b{font-size:18px!important;white-space:nowrap}
.acat[data-k=lighting]{order:1}.acat[data-k=large]{order:2}.acat[data-k=small]{order:3}.acat[data-k=kitchen]{order:4}.acat[data-k=security]{order:5}.acat[data-k=energy]{order:6}.acat[data-k=ent]{order:7}.acat[data-k=health]{order:8}.acat[data-k=gateway]{order:9}
}
@media (min-width:900px) and (orientation:landscape){
.acat[data-k=freq]{grid-column:1/-1;order:0;--c:#3ddc84}
.acat[data-k=freq] .acath,.acat[data-k=freq] .acl{display:none!important}
.acat[data-k=freq] .acatb{display:block!important;position:static!important;transform:none!important;width:auto!important;max-height:none!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.acat[data-k=freq] .acard{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:none!important;border:0!important;padding:0!important}
.acat[data-k=freq] .arow{height:104px;border:1px solid var(--c)!important;border-radius:22px;position:relative;overflow:hidden;padding:0 20px;background:linear-gradient(100deg,var(--c),#0b0b0d 75%);box-shadow:0 0 16px #3ddc8455}
.acat[data-k=freq] .arow:nth-child(1){--c:#ffb020;--img:url(/cat-lighting.webp)}
.acat[data-k=freq] .arow:nth-child(2){--c:#a855f7;--img:url(/cat-ent.webp)}
.acat[data-k=freq] .arow::after{content:"";position:absolute;right:0;top:0;bottom:0;width:48%;background:var(--img) right center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);mask-image:linear-gradient(90deg,transparent,#000 40%);pointer-events:none}
.acat[data-k=freq] .atx{position:relative;z-index:1}.acat[data-k=freq] .atx strong{font-size:22px;color:#fff}.acat[data-k=freq] .atx small{color:#fff}
.acat[data-k=freq] .abtn{position:relative;z-index:2}
}
@media (min-width:900px) and (orientation:landscape){.acat[data-k=freq]{display:none!important}}

/* v206 - Appliances tiles: Tesla app-icon style (his pick, concept 3) */
@media (min-width:900px) and (orientation:landscape){
.acath{height:118px!important;border-radius:18px!important;border:1px solid #2e3036!important;background:linear-gradient(180deg,#1e1f24,#121316)!important;box-shadow:0 3px 10px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:10px!important}
.acath::after{display:none!important}
.acath::before{content:"";width:44px;height:44px;background-position:center;background-repeat:no-repeat;background-size:40px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.acat[data-k=lighting] .acath::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e8eaed%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%2018h6M10%2021h4%22%2F%3E%3Cpath%20d%3D%22M12%203a6%206%200%200%200-3.3%2011c.7.6%201.3%201.6%201.3%202.6V17h4v-.4c0-1%20.6-2%201.3-2.6A6%206%200%200%200%2012%203z%22%2F%3E%3C%2Fsvg%3E")}
.acat[data-k=large] .acath::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e8eaed%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%223%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%225%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M6%206.5h3%22%2F%3E%3C%2Fsvg%3E")}
.acat[data-k=small] .acath::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e8eaed%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M12%2010c0-3%201-6%204-6%202%200%203%201.5%203%203%200%202.5-3%204-7%203zM14%2012c3%200%206%201%206%204%200%202-1.5%203-3%203-2.5%200-4-3-3-7zM12%2014c0%203-1%206-4%206-2%200-3-1.5-3-3%200-2.5%203-4%207-3zM10%2012c-3%200-6-1-6-4%200-2%201.5-3%203-3%202.5%200%204%203%203%207z%22%2F%3E%3C%2Fsvg%3E")}
.acat[data-k=kitchen] .acath::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e8eaed%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%208h11v7a5%205%200%200%201-5%205h-1a5%205%200%200%201-5-5V8z%22%2F%3E%3Cpath%20d%3D%22M16%209h2a2.5%202.5%200%200%201%200%205h-2M8%204.5c0%201-1%201-1%202M12%204.5c0%201-1%201-1%202%22%2F%3E%3C%2Fsvg%3E")}
.acat[data-k=security] .acath::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e8eaed%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l7%203v5c0%204.5-3%208.5-7%2010-4-1.5-7-5.5-7-10V6l7-3z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2211%22%20r%3D%222.4%22%2F%3E%3Cpath%20d%3D%22M12%2013.4v3%22%2F%3E%3C%2Fsvg%3E")}
.acat[data-k=energy] .acath::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e8eaed%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222.5%22%20y%3D%228%22%20width%3D%2216%22%20height%3D%229%22%20rx%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M21.5%2011v3%22%2F%3E%3Cpath%20d%3D%22M12.8%209.5l-3%203.2h2.4l-1%203.3%203.4-3.6h-2.4l1.6-2.9z%22%20fill%3D%22%23e8eaed%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E")}
.acat[data-k=ent] .acath::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e8eaed%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M9%2021h6%22%2F%3E%3C%2Fsvg%3E")}
.acat[data-k=health] .acath::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e8eaed%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020s-7.5-4.7-7.5-10A4.3%204.3%200%200%201%2012%207a4.3%204.3%200%200%201%207.5%203c0%205.3-7.5%2010-7.5%2010z%22%2F%3E%3Cpath%20d%3D%22M7%2012h3l1.5-2.5%202%204L15%2012h2%22%2F%3E%3C%2Fsvg%3E")}
.acat[data-k=gateway] .acath::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e8eaed%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2010a12%2012%200%200%201%2016%200M7%2013.5a7.5%207.5%200%200%201%2010%200M10%2017a3%203%200%200%201%204%200%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2219.4%22%20r%3D%221.1%22%20fill%3D%22%23e8eaed%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E")}
.acath .actt{order:2;text-align:center}
.acath .actt b{font-size:15px!important;font-weight:500!important;color:#e8eaed!important;white-space:normal!important;line-height:1.15!important}
.acath .acn{display:none!important}
.acat.open .acatb{border-radius:18px!important}
}
/* v207 - centre the Appliances screen on Tesla */
@media (min-width:900px) and (orientation:landscape){
#appl .abody{max-width:1040px!important;align-content:start!important;margin-top:48px!important}
}
/* v207 - Charge Share widescreen on Tesla */
@media (min-width:900px) and (orientation:landscape){
#share .abody{max-width:100%!important;width:100%!important}
#share .cmapc{grid-column:1/-1}
#cmap{height:56vh!important}
}

/* Trip Planning: route handoff, no simulated charging stops. */
#share .csseg{display:flex;flex-wrap:wrap;gap:4px}
#share .csseg button{white-space:nowrap;flex:1 1 auto}
.trip-title{font-size:32px;line-height:1.12;margin:20px 0 12px;letter-spacing:-.7px}
.trip-label{display:block;font-size:12px;color:#a9adb5;margin:14px 0 6px}
.trip-input{display:block;box-sizing:border-box;width:100%;max-width:100%;background:#101114;border:1px solid #35373e;border-radius:12px;color:#fff;padding:13px;font:inherit;font-size:16px}
.trip-input:focus{outline:2px solid #92baff;outline-offset:2px}
.trip-step{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid #292b31}
.trip-step>span{color:#8ca9d6;font-size:13px;padding-top:3px}
.trip-step b{font-size:16px;font-weight:500}.trip-step p{margin:5px 0 0}
@media(min-width:900px) and (orientation:landscape){#share .trip-card{margin-top:8px!important;padding:22px!important}.trip-title{font-size:36px}}
/* v210 - raised Tesla-style Home controls, landscape only. */
@media (min-width:900px) and (orientation:landscape){
#app>#tabs{margin-top:-72px!important}
#app .cmp .gsp,#app>.plan,#app>.dt,#app .act,#app .cartog{
background:linear-gradient(180deg,#25272c,#131418)!important;border:1px solid #35383e!important;border-radius:16px!important;color:#eceef2!important;box-shadow:0 5px 12px #0009,inset 0 1px 0 #ffffff12!important;letter-spacing:.02em!important}
#app .cmp .gsp:active,#app>.plan:active,#app>.dt:active{background:#111215!important;box-shadow:inset 0 2px 5px #0009!important}
#app>.nums{gap:10px!important}
#app>.nums>div,#app .snums>div{background:linear-gradient(180deg,#202227,#121316);border:1px solid #2e3036;border-radius:15px;padding:10px 12px;box-shadow:0 3px 10px #0007,inset 0 1px 0 #ffffff0c}
#app>.dt{padding:11px 18px!important;min-height:44px}
#app .act{display:inline-block;padding:8px 16px!important;margin-top:8px!important}
}
@media (min-width:900px) and (orientation:landscape){
#app>#tabs{position:absolute!important;top:20px!important;left:50%!important;transform:translateX(-50%);margin:0!important}
#app>.nums{translate:-30px 0!important}
}
@media (min-width:900px) and (orientation:landscape){#app>#tabs{position:fixed!important;top:20px!important;bottom:auto!important;grid-area:auto!important;z-index:10!important}}
@media (min-width:900px) and (orientation:landscape){html.vopen #app>#tabs{visibility:hidden!important;pointer-events:none!important}}
/* v211 - Home navigation below the brand, blue solar-plan action. */
@media (min-width:900px) and (orientation:landscape){
#app>#tabs{top:180px!important}
#app .cmp .gsp,#app>.plan{background:linear-gradient(180deg,#3f79ed,#2861d1)!important;border-color:#5689ef!important;color:#fff!important;box-shadow:0 5px 16px #124bb655,inset 0 1px 0 #ffffff30!important}
}
/* v212 - give the Home menu more space below the brand. */
@media (min-width:900px) and (orientation:landscape){
#app>#tabs{top:204px!important}
#app>.stage,#app>.cmp,#app>.nums,#app>.bar,#app>.dt,#app>.line{position:relative;top:24px}
#app>.solar{position:relative;top:24px}
}
@media (min-width:900px) and (orientation:landscape){#app>.solar .hs,#app>.solar .snums,#app>.solar .sbar,#app>.solar .stap{position:relative!important;top:24px!important}}
/* v213 - thicker blue solar-plan action. */
@media (min-width:900px) and (orientation:landscape){#app .cmp .gsp{min-height:80px!important;font-weight:800!important;font-size:21px!important}}

/* v215 - owner-chosen car name and real identity details. */
#stage .name{white-space:normal!important;overflow:visible!important;line-height:1.2}
#stage .name>strong{display:block;font-size:15px;color:#ddd;font-weight:600}
#stage .name>small{display:block;font-size:11px;margin:3px 0;color:#969aa3}
.car-more{background:#202227;border:1px solid #373a42;color:#e3e6ec;border-radius:8px;font-size:11px;padding:4px 12px;cursor:pointer}
.car-detail-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,88vw);box-sizing:border-box;padding:24px;background:#141518;color:#eee;border:1px solid #373a42;border-radius:22px;z-index:200;box-shadow:0 0 0 100vmax #000c;max-height:85vh;overflow:auto}
.car-detail-panel h2{font-size:22px;margin:0 0 16px}.car-detail-panel>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #303239}.car-detail-panel span{color:#a4a8b0;font-size:13px}.car-detail-panel b{font-size:14px;font-weight:500;text-align:right}.car-detail-panel button{background:#292c32;color:#fff;border:1px solid #414550;border-radius:9px;padding:7px 11px;cursor:pointer}.car-detail-panel p{color:#969aa3;font-size:12px;line-height:1.5}.car-detail-panel .car-close{width:100%;margin-top:10px;padding:12px}
@media(min-width:900px) and (orientation:landscape){#app>.nums,#app>.solar .snums{padding-top:70px!important;height:144px!important}#app{grid-template-rows:auto var(--hero) 144px auto auto auto auto auto!important}}
@media(max-width:899px){#app>.nums{margin-top:68px!important}}
@media(max-width:899px){#app>.nums{margin-top:1vh!important}}
.lab-field{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;color:#a9adb5;font-size:13px;border-bottom:1px solid #2c2e34}.lab-field input,.lab-card select{box-sizing:border-box;background:#202227;border:1px solid #3c3f47;border-radius:9px;color:#fff;padding:10px;font:inherit;max-width:58%;color-scheme:dark}.lab-card select{max-width:100%;width:100%}.lab-total{font-size:25px;font-weight:600;color:#eee;margin:22px 0}.lab-card .anote{line-height:1.6}
/* v226 manual solar only: original layout kept */
#manual-solar-entry{display:flex;align-items:center;gap:6px;position:relative;z-index:6;margin:14px auto 0;padding:11px 18px;min-height:44px;border:1px solid #35383e;border-radius:16px;background:linear-gradient(180deg,#25272c,#131418);color:#eceef2;box-shadow:0 5px 12px #0009,inset 0 1px 0 #ffffff12;cursor:pointer;font:inherit;font-size:13px;letter-spacing:.02em}#manual-solar-badge{position:relative;display:block;text-align:center;color:#dbbd77;font:11px -apple-system,BlinkMacSystemFont,sans-serif;margin:8px 0}#manual-solar-badge[hidden]{display:none!important}#manual-solar-panel{position:fixed;z-index:300;inset:5vh auto auto 50%;transform:translateX(-50%);width:min(460px,calc(100vw - 32px));max-height:88vh;overflow:auto;box-sizing:border-box;background:#15181d;color:#e5e9ee;border:1px solid #444c58;border-radius:18px;padding:22px;box-shadow:0 0 0 100vmax #000b;font:14px/1.6 -apple-system,BlinkMacSystemFont,sans-serif}#manual-solar-panel header{display:flex;align-items:flex-start;gap:16px;justify-content:space-between}#manual-solar-panel h2{font-size:22px;line-height:1.3;margin:0 0 12px}#manual-solar-panel button{cursor:pointer;background:#2a3038;color:#fff;border:1px solid #596271;border-radius:8px;padding:10px 14px;min-height:42px}#manual-solar-panel label{display:block;margin-top:14px;font-size:13px}#manual-solar-panel input{box-sizing:border-box;width:100%;min-height:44px;background:#232830;color:#fff;border:1px solid #555e6c;border-radius:8px;padding:12px;font:inherit}#manual-solar-panel .ms-label{color:#e6c77b;font-size:12px}#manual-solar-panel .ms-note{color:#a9b3c0;font-size:12px;line-height:1.6}#manual-solar-panel .ms-primary{display:block;width:100%;margin:14px 0;background:#2f67d4}#manual-solar-panel #ms-status{font-size:13px;color:#bed4f4}.solar.manual-entered #snums strong.sm{font-size:16px!important}
@media(min-width:900px){#manual-solar-entry{grid-column:2!important;grid-row:5!important;align-self:start!important;justify-self:center!important;margin:22px auto 0!important;min-height:44px!important;padding:11px 18px!important}#manual-solar-badge{display:none!important}.solar.manual-entered #solartxt{align-self:start!important;margin-top:0!important}}@media(max-width:899px){#manual-solar-entry{margin:8px auto 90px!important;z-index:25!important}#manual-solar-badge{display:none!important}.solar.manual-entered #solartxt{margin-bottom:0!important}} 
@media(min-width:900px){#manual-solar-entry{margin-top:24px!important}.solar.manual-entered #solartxt{width:100%!important;text-align:center!important;white-space:normal!important;font-size:10px!important}}
/* v227: isolated appliance demo and guide */
.plug-demo-wrap{margin:16px 0 24px}.plug-demo-card{background:#13161b;border:1px solid #3c434f;border-radius:16px;padding:20px;margin-bottom:14px;color:#e8ecf2;font:14px/1.6 -apple-system,BlinkMacSystemFont,sans-serif}.plug-demo-card h2{font-size:20px;font-weight:500;margin:0 0 12px;line-height:1.3}.plug-demo-card p{margin:8px 0 14px}.plug-demo-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.plug-demo-title>span{border:1px solid #b79b58;color:#e1c581;padding:2px 10px;border-radius:20px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.plug-demo-card button{background:#292f38;border:1px solid #626d7d;border-radius:8px;padding:10px 16px;min-height:44px;color:white;cursor:pointer;font:13px -apple-system,BlinkMacSystemFont,sans-serif}.plug-demo-card button.pd-primary{background:#2d64cb;border-color:#5685df}.plug-demo-card [hidden]{display:none!important}.pd-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #353c46;padding:14px 0}.pd-row small{display:block;color:#b2bdcc;font-size:12px}.plug-demo-card button.pd-on{background:#28744c;border-color:#5daf83}.pd-times{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}.pd-times input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:10px;background:#252b33;border:1px solid #66707e;border-radius:7px;color:#fff;font:inherit;min-height:44px}.pd-times label{font-size:12px}.plug-demo-card .pd-note{font-size:12px;color:#abb6c5;line-height:1.6}#pd-status{padding:12px;background:#202731;border-radius:8px;color:#dbe8f8}.plug-demo-card ol{padding-left:22px}.plug-demo-card li{margin-bottom:18px}.pd-link-note{border-top:1px solid #465060;padding-top:16px}.pd-link-note>b{color:#e1c581}#appl .plug-demo-wrap{grid-column:1/-1!important}#appl .plug-demo-wrap .plug-demo-card{max-width:780px;margin-left:auto;margin-right:auto}
html.vopen #manual-solar-entry{visibility:hidden!important;pointer-events:none!important}@media(max-width:600px){#appl .abody{padding-right:20px!important;box-sizing:border-box!important}.plug-demo-card{padding:16px;box-sizing:border-box;max-width:100%!important}}
/* v232: demo solar connection on entered-details house */
.ms-sun-lines{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:2}.ms-sun-lines[hidden]{display:none!important}.ms-sun-lines .ms-sun circle{fill:#ffc400}.ms-sun-lines .ms-sun path{stroke:#ffc400;stroke-width:3;stroke-linecap:round}.ms-sun-lines .ms-line{fill:none;stroke:#ffc400;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:5 12;filter:drop-shadow(0 0 3px rgba(255,196,0,.75))}.ms-sun-lines .ms-dot{fill:#ffc400}.solar.manual-entered{outline:1px solid rgba(255,196,0,.35);outline-offset:2px;border-radius:12px}@media(prefers-reduced-motion:no-preference){.ms-sun-lines .ms-line{animation:msflow 1.4s linear infinite}.ms-sun-lines .ms-line.l2{animation-duration:1.9s}@keyframes msflow{to{stroke-dashoffset:-17}}}
/* v232: Appliances tab - let the list scroll further down so the last cards clear the bottom edge */
#appl .abody{padding-bottom:calc(env(safe-area-inset-bottom) + 140px)!important;scroll-padding-bottom:calc(env(safe-area-inset-bottom) + 140px)}
/* v232: Demo connected lamp for new customers */
.demo-pill{border:1px solid #b79b58;color:#e1c581;padding:2px 8px;border-radius:20px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;flex:none}
/* v232 fix: anchor demo sun-lines to the house image */
.solar{position:relative}.ms-sun-lines{left:0;top:0;width:0;height:0}
/* v232: demo lamp card stays inline (never the open-category modal) */
.acat.ademo .acatb{display:block!important;position:static!important;transform:none!important;width:auto!important;max-height:none!important;overflow:visible!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.acat.ademo .acath{cursor:default}
/* v233: lit demo energy line house-to-car with demo kW label (replaces sun) */
.ms-wire{position:absolute;left:0;top:0;pointer-events:none;z-index:3;overflow:visible}.ms-wire[hidden]{display:none!important}.ms-el-base{fill:none;stroke:rgba(255,196,0,.45);stroke-width:2.2;stroke-linecap:round}.ms-el-flow{fill:none;stroke:#ffc400;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:6 26;filter:drop-shadow(0 0 3px #ffb400)}.ms-el-a,.ms-el-b{fill:#ffc400}@media(prefers-reduced-motion:no-preference){.ms-el-flow{animation:mswdash 1.1s linear infinite}@keyframes mswdash{to{stroke-dashoffset:32}}}.ms-kw{position:absolute;z-index:4;transform:translate(-50%,-50%);background:#111;border:1px solid #b7891f;color:#ffd24a;border-radius:99px;padding:4px 12px;font:600 12px -apple-system,BlinkMacSystemFont,sans-serif;pointer-events:none;white-space:nowrap}.ms-kw[hidden]{display:none!important}.ms-kw .d{font-size:9px;letter-spacing:.12em;color:#e1c581;text-transform:uppercase;margin-right:6px}
/* v234: lit demo energy bar under house stats with demo kW label (arc removed) */
.sbar.demo-lit{overflow:visible}.sbar.demo-lit #sfill{background:linear-gradient(to right,rgba(255,180,0,.25),#ffc400,rgba(255,180,0,.25)) 0 0/200% 100% no-repeat!important;animation:whflow 1.6s linear infinite;box-shadow:0 0 8px rgba(255,196,0,.8)}@media(prefers-reduced-motion:reduce){.sbar.demo-lit #sfill{animation:none}}.sbar .ms-kw2{position:absolute;left:50%;top:-24px;transform:translateX(-50%);background:#111;border:1px solid #b7891f;color:#ffd24a;border-radius:99px;padding:3px 10px;font:600 11px -apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap;pointer-events:none;z-index:5}.sbar .ms-kw2 .d{font-size:9px;letter-spacing:.12em;color:#e1c581;text-transform:uppercase;margin-right:6px}
.aadd{display:block;width:calc(100% - 32px);margin:10px 16px;padding:12px;border:1px dashed #3a3f47;border-radius:12px;background:none;color:#24c78a;font-size:14px;text-align:center;cursor:pointer}
.aadd:active{background:#1b1d20}
.aun{margin-left:8px;padding:6px 10px;border:none;border-radius:8px;background:none;color:#7b808a;font-size:12px;cursor:pointer}
.aun:active{color:#e06c6c}
.acatsel{margin:0 8px;padding:8px;border:1px solid #3a3f47;border-radius:8px;background:#1b1d20;color:#e8eaed;font-size:13px;max-width:140px}
#claimpanel{margin:10px 16px;padding:6px 0}
.aclim .abtn{flex:none}

#a2hs{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:9999;display:flex;align-items:center;gap:10px;background:#1b1d20;border:1px solid #3a3f47;border-radius:12px;padding:12px 14px;color:#e8eaed;font-size:13px;line-height:1.45;box-shadow:0 6px 24px rgba(0,0,0,.5)}
#a2hs button{flex:none;background:none;border:none;color:#7b808a;font-size:20px;line-height:1;padding:4px 6px;cursor:pointer}

.ftog{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px auto 0;background:none;border:0;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#aab0b9;cursor:pointer;padding:6px 10px}
.ftog .sw{width:38px;height:22px;border-radius:99px;background:#333;position:relative;transition:background .25s;flex:none}
.ftog .sw i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s}
.ftog.on .sw{background:#24c78a}
.ftog.on .sw i{transform:translateX(16px)}
#fbanner{position:fixed;left:12px;right:12px;top:calc(10px + env(safe-area-inset-top));z-index:9998;background:#10281c;border:1px solid #24c78a;border-radius:12px;padding:12px 14px;color:#e8fff4;display:flex;flex-direction:column;gap:2px;box-shadow:0 6px 24px rgba(0,0,0,.5)}
#fbanner b{font-size:14px}
#fbanner span{font-size:12px;color:#9fd8bd}
#fbanner[hidden]{display:none}

.svbig{font-size:52px;font-weight:800;color:#24c78a;letter-spacing:-.02em;margin:6px 0 2px}
.svline{font-size:14px;color:#e8eaed;margin:0 0 8px}
.svnote{font-size:12px;color:#9aa0a8;line-height:1.5;margin:0 0 14px}

.sclabel{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#9aa0a8;margin:14px 0 6px;text-align:left}
.scrow{display:flex;gap:8px;flex-wrap:wrap}
.scpick{flex:1;min-width:90px;padding:10px 8px;border-radius:10px;border:1px solid #2a2d31;background:#17191c;color:#e8eaed;font-size:13px;cursor:pointer}
.scpick.on{border-color:#24c78a;color:#24c78a;background:#0e1f18}
.scverdict p{font-size:13px;color:#c9ced4;line-height:1.5;margin:0 0 8px;text-align:left}
.scconsent{display:flex;gap:8px;align-items:flex-start;margin:12px 0 6px;text-align:left}
.scconsent input{margin-top:2px}
.scconsent span{font-size:11px;color:#9aa0a8;line-height:1.5}

.bdrow{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #22252a;text-align:left}
.bdrow.me .bdname{color:#24c78a}
.bdrank{width:22px;height:22px;border-radius:50%;background:#1b1d20;color:#9aa0a8;font-size:11px;display:flex;align-items:center;justify-content:center;flex:none}
.bdrow:first-child .bdrank{background:#24c78a;color:#000}
.bdname{flex:1;font-size:14px;color:#e8eaed;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdkwh{font-size:13px;color:#9aa0a8;font-variant-numeric:tabular-nums}
.bdnote{font-size:12px;color:#9aa0a8;line-height:1.5;margin:10px 0 0;text-align:left}

.apbody{display:block;max-width:520px;margin:0 auto;text-align:center;padding:8px 16px 24px;justify-self:center;width:100%}
.apstatus{font-size:26px;font-weight:700;margin:18px 0 4px;color:#e8eaed}
.apstatus.on{color:#3d9bff}
.apstatus.off{color:#9aa0a8}
.apsub{font-size:14px;color:#9aa0a8;margin-bottom:18px}
.apscore{background:#17191c;border-radius:16px;padding:22px 16px;margin-bottom:18px}
.apbig{font-size:56px;font-weight:800;color:#fff;letter-spacing:-.02em}
.apbiglbl{font-size:13px;color:#9aa0a8;margin-top:2px}
.apsub2{font-size:13px;color:#3d9bff;margin-top:10px}
.apshare{margin-top:12px;background:none;border:1px solid #3d9bff;color:#3d9bff;border-radius:20px;padding:8px 18px;font-size:13px;cursor:pointer}
.apctl{background:#17191c;border-radius:16px;padding:16px;margin-bottom:18px;text-align:left}
.aprow{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#e8eaed;padding:8px 0}
.aprow b{font-variant-numeric:tabular-nums}
.apnote{font-size:11px;color:#565b63;margin-top:6px}
input[type=range]#aplimit{width:100%;accent-color:#3d9bff;margin:6px 0}
.swt{width:46px;height:26px;border-radius:13px;background:#2a2d31;border:none;position:relative;cursor:pointer;flex:none}
.swt i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#9aa0a8;transition:all .2s}
.swt.on{background:#3d9bff}
.swt.on i{left:23px;background:#fff}
.apcta{width:100%;background:#3d9bff;color:#fff;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:10px}
.apcta:disabled{background:#2a2d31;color:#565b63;cursor:default}
.apstop{width:100%;background:none;color:#3d9bff;border:1px solid #3d9bff;border-radius:12px;padding:14px;font-size:15px;cursor:pointer;margin-bottom:12px}
.apstop:disabled{border-color:#2a2d31;color:#565b63;cursor:default}
.apstate{font-size:12px;color:#9aa0a8}
.aperr{font-size:12px;color:#e0a040;margin-top:8px;line-height:1.5}

.appl .abody.apbody{display:block;max-width:520px}

.comfort{grid-column:1/-1;background:#17191c;border-radius:16px;padding:16px;margin:10px 0 14px;text-align:left}
.comfort h2{margin:0 0 4px;font-size:17px;font-weight:700;color:#e8eaed}
.cfnote{font-size:12px;color:#9aa0a8;line-height:1.5;margin:0 0 12px}
.cfrow{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.cfrow select{flex:1;min-width:120px;background:#0f1113;border:1px solid #2a2d31;color:#e8eaed;border-radius:10px;padding:10px;font-size:14px}
.cfon{flex:1;min-width:100px;background:#3d9bff;color:#fff;border:none;border-radius:10px;padding:11px;font-size:14px;font-weight:600;cursor:pointer}
.cfon:disabled{background:#2a2d31;color:#565b63}
.cfoff{flex:1;min-width:90px;background:none;border:1px solid #3d9bff;color:#3d9bff;border-radius:10px;padding:11px;font-size:14px;cursor:pointer}
.cfoff:disabled{border-color:#2a2d31;color:#565b63}
.cfstate{font-size:13px;min-height:18px;margin:2px 0 6px}
.cflimit{font-size:11px;color:#565b63;line-height:1.5;margin:0}

.aphow{background:#17191c;border-radius:12px;padding:14px 18px;margin:0 0 18px;text-align:left;color:#c9ced4;font-size:14px;line-height:1.6}
.aphow summary{cursor:pointer;font-weight:600;color:#e8eaed;min-height:24px}
.aphow ol{padding-left:22px;margin:10px 0}
.aphow li{padding:2px 0}
.aphow p{margin:8px 0 0;color:#e0a040;font-size:13px}

.tabs button[data-ara-menu]{display:none!important}

.batteryhome{grid-column:1/-1;background:#17191c;border:1px solid #25282c;border-radius:16px;padding:18px 20px;margin:8px 0;text-align:left;min-width:0}
.batteryhome h2{font-size:18px;color:#e8eaed;margin:0 0 6px;font-weight:600}
.batteryhome p{font-size:13px;line-height:1.5;color:#9aa0a8;margin:0 0 12px}
.batteryreadings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center;margin:18px 0 8px}
.batteryreadings span{display:block;font-size:12px;color:#9aa0a8}
.batteryreadings strong{display:block;font-size:28px;color:#e8eaed;margin:4px 0}
.batteryhome p.batteryempty{text-align:center;font-size:12px}
.batterybrands{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.batterybrands>div{background:#101214;border-radius:10px;padding:12px}
.batterybrands span{display:block;font-size:14px;color:#e8eaed}
.batterybrands small{display:block;font-size:11px;line-height:1.5;color:#9aa0a8;margin-top:4px}
@media(max-width:480px){.batterybrands{grid-template-columns:1fr}}

.batterybrands{max-height:420px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#464b53 #17191c;padding-right:4px}
.batterybrands>div{min-height:74px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
#battery-goodwe{margin-top:10px;background:#3d9bff;color:white;border:0;border-radius:8px;padding:9px 22px;font-size:13px;cursor:pointer}

#batteryhome[hidden],.provider-form[hidden],#battery-goodwe-form[hidden],.provider-form .alpha-code[hidden]{display:none!important}
#manual-solar-panel .batteryhome{margin:24px 0 0;padding:16px}
#manual-solar-panel .batterybrands{max-height:none;overflow:visible;grid-template-columns:1fr}
.batterybrands button{margin:10px 4px 0 0;background:#3d9bff;color:#fff;border:0;border-radius:8px;padding:9px 14px;cursor:pointer}
.provider-form{width:100%;margin-top:12px}
.provider-form label{display:block;font-size:12px;color:#c9ced4;margin:8px 0}
.provider-form input:not([type=checkbox]){box-sizing:border-box;width:100%;background:#080a0c;border:1px solid #444;border-radius:8px;color:#fff;padding:10px;margin-top:5px}
.provider-form .provider-consent{display:flex;gap:8px;align-items:flex-start;line-height:1.5}
.provider-form p{font-size:12px;margin:8px 0}
.provider-readings{color:#a6d2ff!important}
.se-attribution{width:112px;background:#fff;padding:7px;border-radius:4px;margin-top:10px}
#battery-goodwe-form .card{max-width:none;width:auto;padding:8px 0;background:transparent;box-shadow:none}

#manual-solar-panel .provider-form input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px;display:inline-block;padding:0;margin:2px 0 0;appearance:auto}
#manual-solar-panel .provider-form .provider-consent{display:flex!important;align-items:flex-start;gap:8px}
#manual-solar-panel .provider-form .se-attribution{width:112px;height:auto}

.homefree{grid-column:1/-1;border-radius:16px;background:#17191c;padding:16px 18px;margin:10px 0 16px;text-align:left}
.homefree h2{font-size:18px;color:#e8eaed;margin:0 0 8px}.homefree p,.homefree small{font-size:12px;color:#9aa0a8;line-height:1.5;margin:6px 0}.homefree .hf-window{color:#72b4ff;font-size:15px}
.hf-plugs{margin:14px 0;color:#c9ced4;font-size:13px}.hf-plugs label{display:flex;gap:10px;padding:8px 0;align-items:center}.hf-plugs input{width:18px;height:18px}
.hf-actions{display:flex;gap:10px}.hf-actions button{flex:1;background:#3d9bff;border:0;color:#fff;border-radius:10px;padding:12px;font-size:13px}.hf-actions button:disabled{background:#292d33;color:#828995}

/* v267 solar + battery package chooser, within existing quote sheet. */
#scsheet [hidden]{display:none!important}#scsheet .sform:has(#scpackages:not([hidden])){max-width:1040px;width:100%}.scpkg-eyebrow{font-size:11px;letter-spacing:.16em;color:#999;margin:0 0 12px}.scpkg-intro{color:#aaa;line-height:1.5;margin:12px 0 26px}.scpkg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.scpkg{background:#151515;border:1px solid #333;border-radius:18px;padding:24px 20px;display:flex;flex-direction:column;text-align:left;min-width:0}.scpkg h2{font-size:22px;font-weight:500;margin:0 0 18px}.scpkg-price{font-size:30px;font-weight:600;margin:0;letter-spacing:-.03em}.scpkg-price span{display:block;font-size:12px;letter-spacing:0;font-weight:400;color:#aaa;margin-bottom:6px}.scpkg-installed{font-size:11px;color:#999;margin:7px 0 20px}.scpkg ul{padding:0;list-style:none;margin:0 0 16px;line-height:1.6;font-size:14px}.scpkg li+li{margin-top:8px}.scpkg-note{font-size:12px;color:#aaa;line-height:1.5;margin:0 0 16px}.scpkg-terms{font-size:11px;color:#aaa;line-height:1.5;margin:auto 0 20px}.scpkg-choose{border:0;border-radius:7px;min-height:46px;background:#eee;color:#111;font:600 13px system-ui;padding:12px;cursor:pointer;width:100%}.scchosen{background:#181818;border:1px solid #444;border-radius:12px;padding:16px;text-align:left;margin:18px 0}.scchosen p{font-size:14px;line-height:1.5}.scchosen small{display:block;font-size:12px;line-height:1.5;color:#aaa}.scpkg-choose:focus-visible{outline:2px solid #8cc;outline-offset:4px}@media(max-width:760px){.scpkg-grid{grid-template-columns:1fr}.scpkg{padding:22px}.scpkg-terms{margin-top:4px}#scsheet .sform{padding:24px 18px}.scpkg-price{font-size:30px}}

#scsheet{overflow-y:auto;align-items:start;padding:32px 16px;box-sizing:border-box}#scsheet[hidden]{display:none!important}#scsheet>.sform{margin:auto;box-sizing:border-box;flex-shrink:0}#scsheet .scpkg{color:#f2f3f5}#scsheet .scpkg-price{color:#f2f3f5}@media(max-width:760px){#scsheet>.sform:has(#scpackages:not([hidden])){width:100%;max-width:430px}}

#scsheet{z-index:60}#scguest{display:block;margin:16px auto 0;color:#ddd;min-height:44px}html:not(.dk) #scsheet .scpkg h2{color:#f2f3f5}
#scsheet .scpkg .scpkg-price{font-size:30px;line-height:1.2;font-weight:600;color:#f2f3f5}#scsheet .scpkg .scpkg-installed{font-size:11px}#scsheet .scpkg .scpkg-note{font-size:12px}#scsheet .scpkg .scpkg-terms{font-size:11px}#scsheet .sform{border-radius:20px}
body:has(#scsheet:not([hidden])) .updbar,body:has(#scsheet:not([hidden])) #installbar,body:has(#scsheet:not([hidden])) .installbar,body:has(#scsheet:not([hidden])) .pwa-tip{display:none!important}
body:has(#scsheet:not([hidden])) .insthint{display:none!important}
body:has(#scsheet:not([hidden])) #a2hs{display:none!important}

.scpkg-figure{margin:-24px -20px 20px}.scpkg-figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:17px 17px 0 0}.scpkg-figure figcaption{font-size:10px;line-height:1.5;color:#aaa;padding:9px 14px 0}@media(max-width:760px){.scpkg-figure{margin:-22px -22px 20px}}
/* v269 photo-led minimal package UI. Preserve the existing app palette. */
#scsheet{background:rgba(0,0,0,.96);padding:40px 20px}#scsheet>.sform{border:0;border-radius:0;background:#090909;padding:32px 28px}#scsheet h1{font-size:36px;line-height:1.15;font-weight:500;letter-spacing:-.025em;margin:0 0 14px}#scsheet .scpkg-intro{font-size:14px;line-height:1.6;margin-bottom:32px}#scsheet .scpkg-grid{gap:24px}#scsheet .scpkg{background:transparent;border:0;border-radius:0;padding:0;overflow:hidden}#scsheet .scpkg-figure{margin:0 0 24px}#scsheet .scpkg-figure img{border-radius:0}#scsheet .scpkg-figure figcaption{padding:10px 0 0;font-size:10px;color:#9b9d9f}#scsheet .scpkg h2{font-size:25px;font-weight:500;letter-spacing:-.02em;margin:0 0 18px}#scsheet .scpkg .scpkg-price{font-size:30px}#scsheet .scpkg-price span{font-size:12px}#scsheet .scpkg ul{font-size:13px;line-height:1.6}#scsheet .scpkg-note{padding-bottom:12px}#scsheet .scpkg .scpkg-terms{line-height:1.6}#scsheet .scpkg-choose,#scsheet #scsend,#scsheet #scnext{background:#3e6ae1;color:#fff;border-radius:4px;min-height:44px;font:500 13px system-ui;letter-spacing:.01em;box-shadow:none}#scsheet .scpkg-choose:hover,#scsheet #scsend:hover{background:#3457b1}#scsheet .slink{min-height:44px;font-size:13px;color:#b5b6b8;text-decoration:underline;text-underline-offset:4px}#scsheet .scchosen{border:0;border-top:1px solid #393b3d;border-bottom:1px solid #393b3d;border-radius:0;background:none;padding:20px 0;margin:24px 0}#scsheet .sform input:not([type=checkbox]){border-radius:4px;background:#171a20;border:1px solid #393b3d;min-height:48px}#scsheet .scconsent{font-size:12px;line-height:1.7;color:#b5b6b8}#scsheet #scsend:disabled{opacity:.45;cursor:not-allowed}#scsheet .sclabel{font-size:11px;letter-spacing:.08em}#scsheet #scstep2{padding-top:4px}@media(max-width:760px){#scsheet{padding:28px 20px}#scsheet>.sform{padding:8px 0;max-width:430px;width:100%}#scsheet h1{font-size:32px}#scsheet .scpkg-grid{gap:44px}#scsheet .scpkg-figure{margin:0 0 22px}#scsheet .scpkg-figure img{width:100%}#scsheet .scpkg{padding:0}#scsheet .scpkg-terms{margin-bottom:22px}#scsheet .scpkg-choose{margin-bottom:4px}}

.scpkg-detail{margin:0 0 24px}.scpkg-detail img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.scpkg-detail figcaption{font-size:10px;line-height:1.5;color:#9b9d9f;padding:10px 0 0}

.sctag{margin:14px 0 0;color:#8a8a8f;font-size:13px;line-height:1.5;text-align:center;max-width:300px}
html.dk .sctag{color:#aab0b9}

.scmtag{margin:0 auto 12px;max-width:300px;color:#8a8d93;font-size:13px;line-height:1.4;letter-spacing:.02em;text-align:center}

@media (min-width:900px) and (orientation:landscape){.scmtag{margin-top:36px}}
.powerwall-steps{margin:10px 0 0;padding-left:16px;font-size:11px;line-height:1.5;color:#9aa0a8}
.powerwall-steps li{margin:6px 0}
.powerwall-steps b{color:#e8eaed;font-weight:600}
.powerwall-guide{display:inline-block;margin:8px 0 0;font-size:11px;color:#3d9bff}
/* VPP graphical screen */
#vpp .vscene{display:block;width:100%;height:auto;margin:14px 0 6px}
#vpp .vfl{stroke-dasharray:3 10;animation:vflow 1.2s linear infinite}
@keyframes vflow{to{stroke-dashoffset:-13}}
#vpp .vherotext{margin-top:8px}
#vpp .vppgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0}
#vpp .vbene{grid-template-columns:repeat(3,1fr)}
#vpp .vtile{background:#0e0f11;border:1px solid #23252a;border-radius:20px;padding:16px 12px;text-align:center}
#vpp .vtile b{display:block;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;margin:10px 0 4px;color:#f2f3f5}
#vpp .vtile small{color:#9aa0a8;font-size:12px;line-height:1.4;display:block}
#vpp .vglyph{width:52px;height:52px;margin:0 auto;display:block}
#vpp .vsteps{margin:14px 0;padding:18px 18px 10px;border-radius:20px;background:#0e0f11;border:1px solid #23252a}
#vpp .vstep{display:flex;gap:12px;align-items:flex-start;margin:12px 0}
#vpp .vstep strong{display:block;font-size:14px}
#vpp .vstep small{color:#9aa0a8;font-size:12px}
#vpp .vnum{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:#0b3d28;background:linear-gradient(135deg,#a8f5cd,#24c78a)}
@media (max-width:420px){#vpp .vbene{grid-template-columns:1fr 1fr 1fr;gap:8px}#vpp .vbene .vtile{padding:12px 8px}#vpp .vbene .vtile b{font-size:10px}}
@media (min-width:900px) and (orientation:landscape){
  #vpp .abody>.vppgrid:not(.vbene){grid-column:2!important}
  #vpp .abody>.vsteps,#vpp .abody>.vbene{grid-column:1/-1}
}
/* VPP Tesla-style pass */
#vpp .abody>.atop h1{font-weight:700;letter-spacing:-.02em}
#vpp .apre{color:#7aa2ff;border-color:#2d4a8f}
#vpp .shero{background:radial-gradient(130% 100% at 50% 0%,#12202e 0%,#0b0d10 55%);border:0;border-radius:24px;padding:26px 22px 18px;text-align:center}
#vpp .shero .sl{color:#7aa2ff}
#vpp .shero .searn{color:#9aa0a8}
#vpp .shero .vherotext{color:#9aa0a8;text-align:center;max-width:420px;margin:10px auto 0}
#vpp .vtile{background:#101114;border:0;border-radius:18px;padding:20px 12px}
#vpp .vtile b{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;margin:12px 0 3px}
#vpp .vtile small{color:#8a8d93}
#vpp .vglyph{width:60px;height:60px}
#vpp .vsteps{background:#101114;border:0;border-radius:18px;padding:20px 18px 12px}
#vpp .vsteps .schead b{text-transform:none;letter-spacing:0;font-size:15px}
#vpp .vnum{background:linear-gradient(135deg,#7aa2ff,#3e6ae1);color:#fff}
#vpp .vstep strong{font-weight:600}
#vpp .shero .sbig{justify-content:center}
#vpp .shero .sl{display:block;text-align:center}
/* VPP photoreal hero */
#vpp .vhero-vis{position:relative;width:220px;height:220px;margin:6px auto 2px;display:grid;place-items:center}
#vpp .vhero-vis img{width:180px;height:auto;filter:drop-shadow(0 0 30px rgba(62,106,225,.5))}
#vpp .vhero-vis::before{content:'';position:absolute;inset:6px;border-radius:50%;border:2px solid rgba(122,162,255,.4);animation:vring 3s ease-in-out infinite}
#vpp .vhero-vis::after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(61,220,132,.16)}
@keyframes vring{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.06);opacity:.35}}
#vpp .vhero-vis{width:280px;height:280px}
#vpp .vhero-vis img{width:235px}
/* VPP energy-flow hero */
#vpp .vflow{display:block;width:100%;max-width:340px;height:auto;margin:10px auto 0}
/* Shopping (list only) */
.shopnote{margin:2px 0 12px;color:#9aa0a8;font-size:13px}
.shopgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.shoptile{position:relative;background:#101114;border:0;border-radius:16px;padding:18px 12px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;color:#f2f3f5;font:inherit}
.shoptile:active{transform:scale(.98)}
.shopglyph{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:28px}
.shopname{font-weight:600;font-size:14px}
.shopbadge{position:absolute;top:10px;right:10px;background:#3e6ae1;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;padding:0 5px}
#shopitems,#shoplistcard{margin-bottom:12px}
.shoplisthead{display:flex;justify-content:space-between;align-items:baseline;padding:2px 2px 8px}
.shoplisthead b{font-size:15px}
.shoplisthead .sl2{font-size:12px;color:#8a8d93}
.shoprow{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;border-top:1px solid #1d2025;font-size:14px}
.shoprow:first-of-type{border-top:0}
.shopadd{width:30px;height:30px;border-radius:50%;border:0;background:#3e6ae1;color:#fff;font-size:18px;font-weight:700;cursor:pointer}
.shopstep{display:inline-flex;align-items:center;gap:10px}
.shopstep button{width:28px;height:28px;border-radius:50%;border:1px solid #2b2f36;background:transparent;color:#f2f3f5;font-size:15px;cursor:pointer}
.shopstep b{min-width:16px;text-align:center}
#shopclear{margin-top:10px;background:transparent;border:1px solid #2b2f36;color:#c8ccd3;border-radius:999px;padding:8px 18px;font:inherit;font-size:13px;cursor:pointer}
.shopglyph{overflow:hidden}
.shopglyph img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
@media (min-width:900px) and (orientation:landscape){
#shop .abody>.shopnote{grid-column:1/-1}
#shop #shopgrid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#shop .abody>.scard{grid-column:auto!important}
#shop .shoptile{flex-direction:row;justify-content:flex-start;gap:14px;padding:14px 16px;text-align:left}
#shop .shopglyph{width:64px;height:64px;flex:0 0 auto}
}
.shopcredit{font-size:10px;color:#565a61;line-height:1.6;padding:2px 2px 10px;margin:0}
.shopcredit a{color:#7d8189;text-decoration:underline;text-underline-offset:2px}
@media (min-width:900px) and (orientation:landscape){#shop .shopcredit{grid-column:1/-1}}
/* VPP partner connect (Origin) */
#vpp .vprov{margin:14px 0;padding:18px;border-radius:18px;background:#101114}
#vpp .vprov .schead{display:flex;justify-content:space-between;align-items:center;gap:10px}
#vpp .vprov .schead b{font-size:15px}
#vpp .vprow{display:flex;gap:12px;align-items:center;margin:14px 0}
#vpp .vpdot{flex:none;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#ff7a45,#d61f26)}
#vpp .vpmeta{flex:1;min-width:0}
#vpp .vpmeta strong{display:block;font-size:14px;font-weight:600}
#vpp .vpmeta small{color:#8a8d93;font-size:12px;line-height:1.4;display:block}
#vpp .vpstat{font-size:11px;color:#9aa0a8;border:1px solid #2a2c31;border-radius:999px;padding:3px 10px;white-space:nowrap}
#vpp .vpbtn{width:100%;padding:12px;border:0;border-radius:12px;background:#1c1e22;color:#5c6066;font-weight:600;font-size:14px;cursor:not-allowed}
#vpp .vpnote{margin:10px 2px 0;color:#8a8d93;font-size:12px;line-height:1.5}
@media (min-width:900px) and (orientation:landscape){#vpp .abody>.vprov{grid-column:1/-1}}

/* Charge Yourself (food while charging) */
#food .fcontrols{display:flex;justify-content:center}
#food .fgo{margin:8px auto 2px}
.fchips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 2px 2px}
.fchip{border:1px solid #2a2d33;background:#101114;color:#c7ccd4;border-radius:99px;padding:7px 12px;font-size:13px;cursor:pointer}
.fchip.on{background:#3E6AE1;border-color:#3E6AE1;color:#fff}
.fstat{margin-top:8px}
#fmapwrap{margin:8px 0 10px}
#fmap{height:300px;border-radius:16px;overflow:hidden;background:#101114;position:relative;z-index:0}
.fsea{display:block;margin:10px auto 0;border:1px solid #2a2d33;background:#101114;color:#e8eaee;border-radius:10px;padding:11px 18px;font:600 14px -apple-system,BlinkMacSystemFont,"SF Pro Text",Arial,sans-serif;cursor:pointer}
.fsea:active{transform:scale(.98)}
.frow{display:block;width:100%;text-align:left;background:#101114;border:0;border-radius:14px;padding:12px 14px;margin:0 0 8px;color:#f2f3f5;font:inherit;cursor:pointer}
.frow:active{transform:scale(.99)}
.frow b{display:block;font-size:15px;font-weight:600}
.frow .fmeta{display:block;font-size:12.5px;color:#9aa0a8;margin-top:2px}
.frow .fhours{display:block;font-size:11.5px;color:#6b7078;margin-top:2px}
.fcredit{font-size:10px;color:#565a61;line-height:1.6;padding:2px 2px 10px;margin:0}
.fcredit a{color:#7d8189;text-decoration:underline;text-underline-offset:2px}
#food .abody>.fcontrols,#food .abody>.fchips,#food .abody>.fstat,#food .abody>#fmapwrap,#food .abody>#flist,#food .abody>.fcredit{grid-column:1/-1}
#food .apre{white-space:nowrap;align-self:flex-start;margin-top:6px}

/* Charge Yourself standalone page */
.foodpage{min-height:100vh;background:#000;color:#f2f3f5;padding:calc(env(safe-area-inset-top) + 4px) 22px 40px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Arial,sans-serif}
.foodpage .abody{max-width:560px;margin:0 auto;padding-bottom:0}
.fbrand{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0 0}
.fbrand img{height:26px;width:auto;display:block}
.fbrand span{font:600 13px -apple-system,BlinkMacSystemFont,"SF Pro Text",Arial,sans-serif;letter-spacing:.34em;color:#e8eaee}
@media (min-width:900px){.foodpage .abody{max-width:640px}}
