:root{--bg:#fff8f0;--ink:#1d2333;--muted:#5b6478;--brand:#6c4cf1;--brand2:#ff7a59;--card:#fff;--line:#e8e2f5;--ok:#0a7a42}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
a{color:var(--brand)} .site{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:12px 20px;z-index:10;flex-wrap:wrap;gap:10px}
.logo{font-weight:900;font-size:24px;color:var(--ink);text-decoration:none}.site nav{display:flex;gap:16px;flex-wrap:wrap}.site nav a{color:var(--ink);text-decoration:none;font-weight:600}
main{max-width:1080px;margin:0 auto;padding:24px 18px 40px}.hero{padding:28px 0}.hero h1{font-size:clamp(32px,6vw,56px);line-height:1.05;margin:.2em 0}.lede{font-size:19px;color:var(--muted);max-width:700px}
.card,.tool-page{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 4px 20px rgba(80,60,180,.06)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:700px){.grid{grid-template-columns:1fr}}
label{display:block;font-weight:700;margin:10px 0}input,select{width:100%;padding:12px;border:1px solid #cfc8e8;border-radius:10px;font-size:16px;background:#fff}
button,.btn{display:inline-block;background:var(--brand);color:#fff;border:0;padding:12px 18px;border-radius:999px;font-weight:800;cursor:pointer;text-decoration:none}.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}
.result{background:#f3efff;border-radius:14px;padding:18px}.result strong{font-size:28px}.badge{display:inline-block;background:#ffe9e1;color:#8a3b12;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800}.badge.ok{background:#e2f5ea;color:var(--ok)}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{background:#faf8ff}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.tool-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.tool-card a{font-weight:800}
[hidden]{display:none!important}
.fine{font-size:13px;color:var(--muted)}footer{max-width:1080px;margin:0 auto;padding:20px;color:var(--muted);font-size:14px}
.check{display:flex;gap:10px;align-items:center}.check input{width:auto}
details{border-bottom:1px solid var(--line);padding:12px 0}summary{font-weight:800;cursor:pointer}
#calc-warn:empty{display:none!important}
