/* WattLong — shared styles. Plain CSS, no framework. */
:root{
  --ink:#1a2332; --muted:#5a6577; --line:#d9dee7; --bg:#f7f8fa; --card:#fff;
  --brand:#0b5fa5; --brand-dark:#084a82; --ok:#157347; --bad:#b02a37;
  --warn-bg:#fff6e0; --ok-bg:#e9f7ef; --bad-bg:#fdeeee; --radius:10px;
}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6}
a{color:var(--brand)}
a:hover{color:var(--brand-dark)}
.wrap{max-width:880px;margin:0 auto;padding:0 18px}
header.site{background:var(--card);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding-top:12px;padding-bottom:12px}
.logo{font-size:1.45rem;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--brand)}
nav.main{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.95rem}
nav.main a{color:var(--muted);text-decoration:none;font-weight:600}
nav.main a:hover{color:var(--brand)}
main{padding:26px 0 10px}
h1{font-size:1.9rem;line-height:1.25;margin:.2em 0 .45em;letter-spacing:-.01em}
h2{font-size:1.3rem;margin:1.4em 0 .5em}
h3{font-size:1.08rem;margin:1.2em 0 .4em}
.lede{font-size:1.08rem;color:var(--muted);max-width:65ch}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin:18px 0}
label{display:block;font-weight:600;margin:14px 0 5px}
label:first-child{margin-top:0}
select,input[type=number],input[type=text]{width:100%;padding:10px 12px;font-size:1rem;
  border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
input[type=range]{width:100%}
.row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media(max-width:640px){.row{grid-template-columns:1fr}}
.checkline{display:flex;gap:10px;align-items:flex-start;margin:12px 0}
.checkline input{width:auto;margin-top:5px}
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:8px;
  padding:11px 20px;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--brand-dark);color:#fff}
.btn.secondary{background:#fff;color:var(--brand);border:1px solid var(--brand)}
.btn.small{padding:7px 13px;font-size:.92rem}
.result{border-radius:var(--radius);padding:18px 20px;margin:18px 0;border:1px solid var(--line);background:var(--card)}
.result .big{font-size:2rem;font-weight:800;line-height:1.2}
.result.ok{background:var(--ok-bg);border-color:#bfe6cf}
.result.bad{background:var(--bad-bg);border-color:#f3c2c6}
.result .fail-msg{font-size:1.25rem;font-weight:800;color:var(--bad)}
.assump{background:var(--warn-bg);border:1px solid #ecd9a0;border-radius:var(--radius);padding:14px 18px;margin:18px 0;font-size:.95rem}
.assump p{margin:.3em 0}
.disc{font-size:.86rem;color:var(--muted);border-top:1px solid var(--line);margin-top:22px;padding-top:10px}
table{border-collapse:collapse;width:100%;margin:14px 0;font-size:.97rem}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:#eef1f6;font-weight:700}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.tablewrap{overflow-x:auto}
.tools{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
@media(max-width:640px){.tools{grid-template-columns:1fr}}
.tool{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px;text-decoration:none;color:var(--ink)}
.tool:hover{border-color:var(--brand)}
.tool b{font-size:1.05rem;color:var(--brand)}
.tool p{margin:.35em 0 0;color:var(--muted);font-size:.95rem}
.loadrow{display:grid;grid-template-columns:1fr 84px 34px;gap:8px;align-items:end;margin:8px 0}
.loadrow .rm{background:#fff;border:1px solid var(--line);border-radius:8px;height:42px;cursor:pointer;font-size:1rem}
.small{font-size:.9rem;color:var(--muted)}
.tag{display:inline-block;background:#eef1f6;border:1px solid var(--line);border-radius:20px;
  padding:1px 10px;font-size:.82rem;font-weight:600;color:var(--muted);margin-right:6px}
footer.site{border-top:1px solid var(--line);margin-top:34px;padding:20px 0 34px;color:var(--muted);font-size:.9rem}
footer.site nav{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:8px}
footer.site a{color:var(--muted)}
details{margin:10px 0}
summary{cursor:pointer;font-weight:600}
.faq p{margin:.2em 0 .9em}
