:root{--ink:#253329;--muted:#788279;--accent:#657b65;--accent-dark:#50664f;--soft:#edf1e9;--paper:#f5f6f2;--line:#e3e8df}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
header{min-height:76px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);padding:12px max(22px,calc((100% - 760px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
header b{font-size:15px}header small{font-weight:400;color:var(--muted)}
header .back-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--accent-dark);font-size:12px;font-weight:750;text-decoration:none}
header .back-link:hover{background:#e4ebdf}header .back-link:focus-visible,button:focus-visible{outline:3px solid #b9c8b3;outline-offset:3px}
header span{font-size:9px;letter-spacing:1px;color:var(--accent-dark);background:var(--soft);padding:8px 10px;border-radius:20px}
main{max-width:760px;margin:auto;padding:42px 20px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--accent);font-weight:900}
h1{font-size:clamp(38px,7vw,58px);letter-spacing:-2px;line-height:1.04;margin:8px 0}h1 em{font-family:Georgia,serif;color:var(--accent);font-weight:500}
.intro>p:last-child{color:var(--muted);line-height:1.7;max-width:560px;margin-bottom:26px}
.calculator{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,4vw,30px);box-shadow:0 18px 45px rgba(39,55,39,.06)}
label{display:block;font-weight:700;font-size:12px;margin:16px 0 7px}select,input[type=number]{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:12px;font:inherit;color:var(--ink)}select:focus,input[type=number]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(101,123,101,.13)}
input[type=range]{width:100%;accent-color:var(--accent)}output{float:right;color:var(--accent)}.check{display:flex;align-items:center;gap:10px;font-weight:500}.check input{accent-color:var(--accent);width:17px;height:17px}
.result{margin-top:24px;padding:20px;background:var(--soft);border-radius:13px}.result span,.result small{display:block;color:#667366;font-size:12px}.result strong{display:block;font-size:clamp(23px,5vw,32px);margin:8px 0;overflow-wrap:anywhere}.result small{line-height:1.6}
button{width:100%;margin-top:17px;background:var(--accent);color:#fff;border:0;border-radius:9px;padding:13px;font-weight:800;cursor:pointer}button:hover{background:var(--accent-dark)}
#message{font-size:12px;color:var(--accent-dark);min-height:18px;white-space:pre-line;overflow-wrap:anywhere}
aside{margin-top:16px;background:var(--soft);padding:15px;border-radius:10px;font-size:11px;line-height:1.7;color:#667366}
footer{text-align:center;padding:20px;color:#9aa398;font-size:10px;letter-spacing:1px}
@media(max-width:520px){header{gap:9px;padding:10px 18px}header b{flex:1 1 100%}header .back-link{flex:1}header span{white-space:nowrap}main{padding-top:30px}}
