/* css/style.css — SunSizer: clean, credible, mobile-first. No frameworks. */
:root{
  --ink:#1a2332; --muted:#5a6577; --accent:#e8a100; --accent-d:#b57d00;
  --bg:#f7f8fa; --card:#ffffff; --line:#e2e6ec; --sky:#0b6bcb;
  --warn-bg:#fff8e6; --warn-line:#e8c34a; --safe-bg:#eef9ef; --safe-line:#7bc47f;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
header.site{background:#101c2e;color:#fff;padding:1.4rem 1rem}
header.site .wrap, main.wrap, footer.site .wrap{max-width:900px;margin:0 auto}
header.site h1{margin:0 0 .3rem;font-size:1.7rem}
header.site p{margin:0;color:#c6d0de}
nav.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.9rem}
nav.tabs a{color:#fff;text-decoration:none;background:#23334d;padding:.45rem .9rem;border-radius:6px;font-size:.92rem}
nav.tabs a.active, nav.tabs a:hover{background:var(--accent);color:#101c2e}
main.wrap{padding:1.2rem 1rem 2rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.2rem;margin:0 0 1.2rem}
.card h2{margin-top:0;font-size:1.25rem}
label{display:block;font-weight:600;margin:.8rem 0 .3rem}
input[type=number],input[type=text],select{width:100%;padding:.6rem;border:1px solid var(--line);border-radius:6px;font-size:1rem;max-width:340px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media(max-width:560px){.row{grid-template-columns:1fr}}
button.calc{background:var(--accent);border:0;color:#101c2e;font-weight:700;padding:.7rem 1.4rem;border-radius:8px;font-size:1.05rem;cursor:pointer;margin-top:1rem}
button.calc:hover{background:var(--accent-d);color:#fff}
.result{background:#f2f6fc;border:1px solid #bcd3ef;border-radius:10px;padding:1.1rem;margin-top:1.1rem;display:none}
.result.show{display:block}
.result .big{font-size:2rem;font-weight:800;color:var(--sky)}
.result table{width:100%;border-collapse:collapse;margin-top:.6rem}
.result td,.result th{padding:.45rem .3rem;border-bottom:1px solid var(--line);text-align:left}
.result td:last-child{text-align:right;font-weight:600}
.callout{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:8px;padding:.9rem;margin:1rem 0;font-size:.95rem}
.callout.safe{background:var(--safe-bg);border-color:var(--safe-line)}
details{margin:.6rem 0;border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem;background:#fff}
summary{font-weight:700;cursor:pointer}
.guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}
.guide-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem}
.guide-card a{color:var(--sky);font-weight:700;text-decoration:none}
.leadbox{border:2px dashed #9aa7bb;border-radius:10px;padding:1rem;margin:1.2rem 0;background:#fafbfc;color:var(--muted)}
.affil{background:#f4f4f6;border:1px solid var(--line);border-radius:8px;padding:1rem;margin:1.2rem 0;font-size:.9rem;color:var(--muted)}
footer.site{background:#101c2e;color:#9fb0c7;padding:1.4rem 1rem;font-size:.88rem}
footer.site a{color:#c6d0de}
.note{font-size:.88rem;color:var(--muted)}
.math{font-family:ui-monospace,Menlo,monospace;background:#f0f3f7;padding:.6rem .8rem;border-radius:6px;font-size:.9rem;overflow-x:auto}
h2.article{font-size:1.5rem;margin-top:0}
ul.check li{margin-bottom:.4rem}