/* ManilaOpenHouse Home Power Planner. Light default; dark ONLY via :root[data-theme="dark"]. */
.pw-wrap{--pw:#b45309;--pw2:#fbbf24;--pw-green:#15803d;--pw-ink:#292524;--pw-soft:#fef3c7;--pw-paper:#f0fdf4;--pw-night:#1c1917;--pw-warn:#b91c1c;--pw-ok:#15803d;
--pw-text:#1c1917;--pw-bg:#fffbf2;--pw-card:#ffffff;--pw-line:#e2d3b0;--pw-mut:#57534e;--pw-btn:#b45309;--pw-btntx:#ffffff;--pw-warnbg:#fef2f2;--pw-warnln:#fca5a5;
--s1:#b45309;--s2:#15803d;--s3:#1d4ed8;--s4:#7c3aed;--s5:#be185d;--s6:#0e7490;--s7:#a16207;--s8:#57534e}
:root[data-theme="dark"] .pw-wrap{--pw:#fbbf24;--pw2:#fcd34d;--pw-green:#4ade80;--pw-ink:#fde68a;--pw-soft:#2a2410;--pw-paper:#1f2a22;--pw-night:#0c0a09;--pw-warn:#fca5a5;--pw-ok:#86efac;
--pw-text:#f5f0e6;--pw-bg:#12100e;--pw-card:#1c1917;--pw-line:#44392a;--pw-mut:#c7bba5;--pw-btn:#fbbf24;--pw-btntx:#1c1917;--pw-warnbg:#3b1316;--pw-warnln:#7f1d1d;
--s1:#fbbf24;--s2:#4ade80;--s3:#93c5fd;--s4:#c4b5fd;--s5:#f9a8d4;--s6:#67e8f9;--s7:#fde047;--s8:#d6d3d1}
:root[data-theme="dark"]{background:#12100e;color-scheme:dark}
:root[data-theme="dark"] .pw-wrap input,:root[data-theme="dark"] .pw-wrap select,:root[data-theme="dark"] .pw-wrap button{background:var(--pw-card);color:var(--pw-text);border-color:var(--pw-line)}
:root[data-theme="dark"] .pw-wrap .btn-p{background:var(--pw-btn);color:var(--pw-btntx);border-color:var(--pw-btn)}
:root[data-theme="dark"] .pw-wrap svg [stroke="#292524"]{stroke:#fde68a}
*{box-sizing:border-box}
html,body{margin:0;background:#fffbf2}
body{font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.pw-wrap{background:var(--pw-bg);color:var(--pw-text);min-height:100vh;min-height:100dvh;overflow-x:hidden}
.pw-wrap a{color:var(--pw-ink);text-underline-offset:2px}
.hd{display:flex;align-items:center;gap:10px;padding:6px 12px;padding-top:calc(6px + env(safe-area-inset-top));background:var(--pw-night);color:#f5f0e6;border-bottom:1px solid var(--pw-line)}
.hd a{color:#f5f0e6}
.hd-logo{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.hd-logo img{height:30px;width:auto;display:block}
.hd-title{margin:0;font-size:1rem;font-weight:600;flex:1 1 auto;min-width:0;line-height:1.2}
.hd-title b{color:#fbbf24}
.hd-nav{display:flex;gap:8px;align-items:center;flex:0 0 auto}
.hd-back{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.btn{font:inherit;font-size:.92rem;font-weight:600;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--pw-line);background:var(--pw-card);color:var(--pw-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:6px}
.btn:hover{border-color:var(--pw)}
.btn[disabled]{opacity:.5;cursor:default}
.btn-p,.pw-wrap a.btn-p{background:var(--pw-btn);border-color:var(--pw-btn);color:var(--pw-btntx)}
.hd .btn{background:transparent;color:#f5f0e6;border-color:#6b5d44}
.hd .btn-p{background:#fbbf24;color:#1c1917;border-color:#fbbf24}
.banner{margin:0;padding:10px 14px;background:var(--pw-paper);border-bottom:1px solid var(--pw-line);font-size:.92rem;color:var(--pw-text)}
.main{max-width:980px;margin:0 auto;padding:14px 14px 28px}
.badges{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}
.badge{padding:8px 12px;border-radius:10px;background:var(--pw-warnbg);border:1px solid var(--pw-warnln);color:var(--pw-text);font-size:.9rem}
.steps{display:none;gap:4px;margin:6px 0 14px;padding:0;list-style:none}
.steps li{flex:1 1 0;min-width:0}
.stp{width:100%;min-height:52px;border:1px solid var(--pw-line);background:var(--pw-card);color:var(--pw-ink);border-radius:10px;font:inherit;font-size:.78rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;line-height:1.2}
.stp b{font-size:1rem}
.stp[aria-current="step"]{background:var(--pw-btn);color:var(--pw-btntx);border-color:var(--pw-btn)}
.stp.done:not([aria-current="step"]){border-color:var(--pw)}
.step{background:var(--pw-card);border:1px solid var(--pw-line);border-radius:14px;padding:14px;margin:0 0 14px}
.step h2{margin:0 0 6px;font-size:1.25rem;color:var(--pw-ink)}
.step h3{margin:16px 0 6px;font-size:1.05rem;color:var(--pw-ink)}
.intro{margin:0 0 12px;color:var(--pw-text)}
.js .steps{display:flex}.js .stepnav{display:flex}.js .step{display:none}
.js .step.on{display:block}
.grid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:640px){.grid{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr 1fr}}
.f{display:flex;flex-direction:column;gap:3px;font-size:.88rem;color:var(--pw-text)}
.f span{font-weight:600}
.f small{color:var(--pw-mut);font-weight:400}
.f input,.f select,.dt{font:inherit;font-size:16px;min-height:44px;padding:6px 10px;border:1px solid var(--pw-line);border-radius:8px;background:var(--pw-card);color:var(--pw-text);width:100%}
.f input[type=range]{padding:0;accent-color:var(--pw)}
.ck{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.92rem}
.ck input{width:22px;height:22px;accent-color:var(--pw)}
.out{margin-top:12px}
.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0}
@media (min-width:760px){.kv{grid-template-columns:repeat(4,1fr)}}
.tile{background:var(--pw-soft);border:1px solid var(--pw-line);border-radius:10px;padding:8px 10px}
.tile small{display:block;color:var(--pw-mut);font-size:.78rem}
.tile b{font-size:1.15rem;color:var(--pw-ink)}
.note{font-size:.86rem;color:var(--pw-mut);margin:6px 0}
.yes{color:var(--pw-ok);font-weight:700}
.no{color:var(--pw-warn);font-weight:700}
.pw-redbox{background:var(--pw-warnbg);border:2px solid var(--pw-warn);border-radius:10px;padding:10px 12px;margin:10px 0;font-weight:600;color:var(--pw-text)}
.pw-okbox{background:var(--pw-soft);border:1px solid var(--pw-ok);border-radius:10px;padding:10px 12px;margin:10px 0;color:var(--pw-text)}
.pw-chip{display:inline-block;padding:2px 10px;border-radius:99px;border:1px solid var(--pw-line);background:var(--pw-soft);font-size:.8rem;color:var(--pw-ink);margin:2px 4px 2px 0}
.pw-chip.warn{border-color:var(--pw-warn);background:var(--pw-warnbg)}
.pw-kind{display:inline-block;padding:0 7px;border-radius:99px;font-size:.72rem;border:1px solid var(--pw-line);background:var(--pw-soft);color:var(--pw-ink);margin-left:4px}
.pw-unv{font-weight:700;color:var(--pw-warn)}
.chart{width:100%;height:auto;display:block}
.chart text{fill:var(--pw-mut);font-size:11px;font-family:inherit}
.chart .ax{stroke:var(--pw-line);fill:none}
.chart .grid-l{stroke:var(--pw-line);stroke-dasharray:3 3}
.chart .dem{stroke:var(--pw-warn);stroke-width:2;stroke-dasharray:6 4;fill:none}
.chart .cur{font-weight:700;fill:var(--pw-text)}
.chart .cap{fill:url(#pw-hatch)}
.chart .ln1{stroke:var(--s1);stroke-width:2;fill:none}.chart .ln2{stroke:var(--s2);stroke-width:2;fill:none}
.chart .fogb{fill:var(--s8);opacity:.35}
.s1{fill:var(--s1)}.s2{fill:var(--s2)}.s3{fill:var(--s3)}.s4{fill:var(--s4)}.s5{fill:var(--s5)}.s6{fill:var(--s6)}.s7{fill:var(--s7)}.s8{fill:var(--s8)}
.sw{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px}
.sw.s1{background:var(--s1)}.sw.s2{background:var(--s2)}.sw.s3{background:var(--s3)}.sw.s4{background:var(--s4)}.sw.s5{background:var(--s5)}.sw.s6{background:var(--s6)}.sw.s7{background:var(--s7)}.sw.s8{background:var(--s8)}
.legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.82rem;margin:6px 0;color:var(--pw-text)}
.hb{display:grid;grid-template-columns:minmax(110px,1.1fr) 3fr;gap:4px 10px;align-items:center;font-size:.85rem;margin:6px 0}
.hb .tr{position:relative;height:14px;background:var(--pw-soft);border-radius:7px;border:1px solid var(--pw-line)}
.hb .br{position:absolute;top:0;bottom:0;border-radius:7px;background:var(--s1);min-width:3px}
.hb .br.c2{background:var(--s2)}.hb .br.c8{background:var(--s8)}
.hb .vl{grid-column:2;color:var(--pw-mut);margin-top:-2px}
.mgrid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:760px){.mgrid{grid-template-columns:1fr 1fr}}
.mcard{border:1px solid var(--pw-line);border-radius:12px;padding:10px;background:var(--pw-card)}
.mcard.on{border-color:var(--pw);box-shadow:0 0 0 1px var(--pw)}
.mcard h4{margin:0;font-size:1rem;color:var(--pw-ink)}
.mcard .hint{color:var(--pw-mut);font-size:.8rem;margin:2px 0 6px}
.mres{margin-top:8px;font-size:.88rem;border-top:1px dashed var(--pw-line);padding-top:6px}
.mres b{color:var(--pw-ink)}
.tw{overflow:auto;-webkit-overflow-scrolling:touch}
.tbl{border-collapse:collapse;width:100%;font-size:.88rem}
.tbl th,.tbl td{border-bottom:1px solid var(--pw-line);padding:6px 8px;text-align:left;vertical-align:top;color:var(--pw-text)}
.tbl th{color:var(--pw-ink);font-size:.8rem}
.tbl tr.sel td{background:var(--pw-soft);font-weight:600}
.big{font-size:2.4rem;font-weight:800;color:var(--pw-ink);line-height:1.1}
.pl{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.pl .pw-chip{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;font:inherit;font-size:.88rem;padding:0 14px}
.pl .pw-chip[aria-pressed="true"]{background:var(--pw-btn);color:var(--pw-btntx);border-color:var(--pw-btn)}
.gw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--pw-line);border-radius:10px;background:var(--pw-soft)}
.gin{position:relative;min-width:640px;padding:0}
.gax{position:absolute;top:0;height:100%;border-left:1px dashed var(--pw-line);font-size:.7rem;color:var(--pw-mut);padding-left:3px}
.gb{position:absolute;height:26px;border-radius:6px;border:0;color:#fff;font:inherit;font-size:.74rem;text-align:left;padding:0 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:var(--s1);min-width:6px}
.gb:nth-child(3n+2){background:var(--s2)}.gb:nth-child(3n){background:var(--s3)}
.gb[aria-pressed="true"]{outline:3px solid var(--pw-text)}
:root[data-theme="dark"] .pw-wrap .gb{color:#1c1917;background:var(--s1)}
:root[data-theme="dark"] .pw-wrap .gb:nth-child(3n+2){background:var(--s2)}
:root[data-theme="dark"] .pw-wrap .gb:nth-child(3n){background:var(--s3)}
.cp{background:var(--pw-paper);border:1px solid var(--pw-line);border-radius:10px;padding:10px 12px;margin:10px 0;min-height:48px}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.stat{font-size:.88rem;color:var(--pw-mut);min-height:1.3em}
.sh{width:100%;font:inherit;font-size:16px;min-height:44px;padding:6px 10px;border:1px solid var(--pw-line);border-radius:8px;background:var(--pw-card);color:var(--pw-text)}
.stepnav{display:none;justify-content:space-between;gap:8px;margin:0 0 18px}
.js .noscript-only{display:none}
.ns{background:var(--pw-paper);border:1px solid var(--pw-line);border-radius:10px;padding:10px 14px;margin:10px 0}
.series{max-width:980px;margin:0 auto 14px;padding:0 14px}
.series div{background:var(--pw-card);border:1px solid var(--pw-line);border-radius:12px;padding:12px 14px}
.series h2{margin:0 0 6px;font-size:1rem;color:var(--pw-ink)}
.series ul{margin:0;padding-left:20px}
.series li{margin:4px 0}
.ft{max-width:980px;margin:0 auto;padding:6px 14px calc(24px + env(safe-area-inset-bottom));font-size:.84rem;color:var(--pw-mut)}
#print-list{display:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (max-width:520px){.hd{gap:6px;padding-left:8px;padding-right:8px}.hd-title{font-size:.9rem}.hd-back{display:none}.hd .btn{padding:0 8px;font-size:.8rem}}

.hb .br.hatch{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.45) 0 3px,transparent 3px 6px)}
.sl{display:flex;align-items:center;gap:10px}.sl input[type=range]{flex:1 1 auto;min-height:44px}.sl output{min-width:4.5em;text-align:right;font-weight:700;color:var(--pw-ink)}
.cklist{display:grid;grid-template-columns:1fr;gap:6px}
@media (min-width:640px){.cklist{grid-template-columns:1fr 1fr}}
.ap{display:grid;grid-template-columns:1fr 64px 64px;gap:6px;align-items:center;border:1px solid var(--pw-line);border-radius:8px;padding:4px 8px;font-size:.86rem;background:var(--pw-card)}
.ap.on{border-color:var(--pw);background:var(--pw-soft)}
.ap input{font:inherit;font-size:16px;min-height:44px;width:100%;padding:2px 6px;border:1px solid var(--pw-line);border-radius:6px;background:var(--pw-card);color:var(--pw-text)}
.ap small{color:var(--pw-mut);display:block}
.apl{display:grid;grid-template-columns:1fr 64px 64px;gap:6px;font-size:.74rem;color:var(--pw-mut);padding:0 8px}
.bk{display:inline-block;padding:1px 9px;border-radius:99px;font-size:.78rem;font-weight:700;border:1px solid}
.bk.y{color:var(--pw-ok);border-color:var(--pw-ok);background:var(--pw-paper)}
.bk.n{color:var(--pw-warn);border-color:var(--pw-warn);background:var(--pw-warnbg)}
.tiles3{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:640px){.tiles3{grid-template-columns:repeat(3,1fr)}}
.tr3{border:1px solid var(--pw-line);border-radius:10px;padding:10px;background:var(--pw-card)}
.tr3.sel{border-color:var(--pw);box-shadow:0 0 0 2px var(--pw)}
.tr3.red{border-color:var(--pw-warn)}
.tr3 h4{margin:0 0 4px;font-size:.92rem;color:var(--pw-ink)}
.tr3 .big{font-size:1.9rem}
.tr3 button{font:inherit;min-height:44px;background:none;border:0;color:var(--pw-ink);text-decoration:underline;cursor:pointer;padding:0}
