/* css/style.css — SunSizer: clean, credible, mobile-first. No frameworks. */
:root{
  --ink:#1a2332; --muted:#5a6577; --accent:#1d6f4e; --accent-d:#175c40;
  --bg:#f7f8fa; --card:#ffffff; --line:#e2e6ec; --sky:var(--accent);
  --warn-bg:#fff8e6; --warn-line:#e8c34a; --safe-bg:#eef9ef; --safe-line:#7bc47f;
}
:root {
  --ink: #1f2923; --muted: #5d6a61; --bg: #f7f8f5; --surface: #ffffff;
  --border: #dde3da; --accent: #1d6f4e; --accent-ink: #ffffff;
  --accent-dark: #175c40; --accent-soft: #e6f2ec; --accent-d: #175c40;
  --card: var(--surface); --line: var(--border); --sky: var(--accent);
  --radius: 14px; --shadow: 0 8px 28px rgba(16, 24, 40, .10);
}

*{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}
/* ==== Unified design layer — FlintPass 2026-10-14 ==== */
body { font-size: 1.05rem; line-height: 1.65; color: var(--ink); background: var(--bg); }
h1 { font-size: 2.4rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: var(--ink); }
h2 { font-size: 1.55rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; color: var(--ink); }
h3 { font-size: 1.2rem; font-weight: 700; color: var(--ink); }
a { color: var(--accent-dark); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
header.site { background: var(--surface); color: var(--ink); border-bottom: 1px solid var(--border); }
header.site .brand { color: var(--ink); }
header.site h1 { color: var(--ink); }
header.site p { color: var(--muted); }
nav.tabs a { background: var(--accent-soft); color: var(--ink); }
nav.tabs a.active, nav.tabs a:hover { background: var(--accent); color: var(--accent-ink); }
.card { border-radius: 14px; border: 1px solid var(--border); }
.guide-card:hover { box-shadow: var(--shadow); }
button.calc { background: var(--accent); color: var(--accent-ink); border: 1px solid var(--accent); border-radius: 10px; font-weight: 600; }
button.calc:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
th { background: var(--accent-soft); color: var(--ink); }
th, td { border-color: var(--border); }
.article { max-width: 44rem; }
footer.site { background: #141a22; color: #c3cedd; }
footer.site a { color: #e6ecf5; }
@media (max-width: 640px) { table { display: block; overflow-x: auto; } }
