:root{--bg:#f5f7f4;--ink:#10271f;--mut:#4a5d54;--ac:#0f6b4f;--soft:#e3f1ec;--ln:#d3dcd7;--card:#fff}
*{box-sizing:border-box}body{margin:0;font:1rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--ac)}.skip,.vh{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.hd{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--ln)}
.logo{font-weight:800;font-size:1.25rem;text-decoration:none;color:var(--ink)}.hd nav{display:flex;gap:14px;flex-wrap:wrap}.hd nav a{color:var(--ink);text-decoration:none;padding:6px 0;font-weight:600}
main{max-width:760px;margin:0 auto;padding:20px 16px 40px}h1{font-size:1.9rem;line-height:1.2;margin:.4em 0}h2{font-size:1.3rem;margin:1.6em 0 .5em}
.lead{color:var(--mut);font-size:1.08rem}.bc{font-size:.9rem;color:var(--mut)}
.calc,.res{background:var(--card);border:1px solid var(--ln);border-radius:10px;padding:16px}.calc{display:grid;gap:6px}
label{font-weight:600;margin-top:8px}input,select{font:inherit;padding:12px;border:1px solid #9fb0a8;border-radius:8px;width:100%;min-height:48px;background:#fff;color:var(--ink)}
button{font:inherit;font-weight:700;margin-top:14px;min-height:48px;border:0;border-radius:8px;background:var(--ac);color:#fff;cursor:pointer}
:focus-visible{outline:3px solid #f2b705;outline-offset:2px}
.res{margin-top:14px}.res:empty{display:none}.res dl{margin:0}.res dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--ln)}.res dl>div:first-child{font-size:1.25rem;font-weight:800;color:var(--ac)}.res dd{margin:0;text-align:right;font-weight:700}.err{color:#a1260f;margin:0;font-weight:600}
.fm{background:var(--soft);padding:12px;border-radius:8px;font-family:ui-monospace,Menlo,monospace;overflow-x:auto}
details{background:var(--card);border:1px solid var(--ln);border-radius:8px;padding:10px 14px;margin:8px 0}summary{cursor:pointer;font-weight:600}
.grid{list-style:none;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grid a{display:block;height:100%;padding:14px;background:var(--card);border:1px solid var(--ln);border-radius:10px;text-decoration:none;color:var(--ink)}.grid span{display:block;color:var(--mut);font-size:.92rem}
.ft{border-top:1px solid var(--ln);padding:20px 16px;text-align:center;color:var(--mut);font-size:.9rem}.ft a{margin:0 8px}
@media(min-width:700px){.calc{grid-template-columns:1fr 1fr;column-gap:16px}.calc button{grid-column:1/-1}h1{font-size:2.4rem}}
