:root{--teal:#2aab8f;--teal2:#1f8f77;--ink:#4a4a4a;--dk:#3b3b3b;--gray:#f3f3f3;--line:#dcdcdc;--f:"Open Sans","Segoe UI",Arial,sans-serif;box-sizing:border-box}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 var(--f)}
a{color:var(--teal2)}a:hover{color:var(--dk)}
.w{max-width:1100px;margin:0 auto;padding:0 20px}
.top{position:sticky;top:0;z-index:6;background:#fff;border-bottom:1px solid #e6e6e6}
.top .w{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.logo{display:block;line-height:0}.logo img{display:block;height:58px;width:auto}
.menu{display:flex;gap:22px;align-items:center;font-weight:600;font-size:14px;flex-wrap:wrap}.menu a{color:#555;text-decoration:none}.menu a:hover{color:var(--teal)}
.pg{padding-top:22px;padding-bottom:50px;max-width:860px}
.bc{font-size:13px;color:#777;margin-bottom:8px}.bc a{color:#666}
h1{font-size:clamp(28px,4.5vw,40px);line-height:1.15;color:var(--dk);margin:6px 0 14px;letter-spacing:-.01em}
h2{font-size:22px;color:var(--dk);margin:34px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.lead{font-size:18px;color:#444}
.meta{font-size:13px;color:#777;margin:10px 0 18px}
.note{background:#f1f8f6;border-left:4px solid var(--teal);padding:12px 16px;margin:16px 0;font-size:15px}
.formula{background:var(--gray);border:1px solid var(--line);border-radius:4px;padding:14px 16px;margin:12px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;overflow-x:auto;color:#222}
.formula div+div{margin-top:8px}
table.t{border-collapse:collapse;width:100%;margin:12px 0;font-size:15px}table.t th,table.t td{border:1px solid var(--line);padding:8px 12px;text-align:left}table.t th{background:var(--gray)}
details{border:1px solid var(--line);border-radius:4px;margin:8px 0;background:#fff}summary{cursor:pointer;padding:12px 16px;font-weight:700;color:var(--dk)}details p{margin:0;padding:0 16px 14px}
.rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:0;list-style:none}
.rel a{display:block;border:1px solid var(--line);border-radius:4px;padding:12px 14px;text-decoration:none;color:var(--dk);font-weight:700}.rel a span{display:block;font-weight:400;font-size:13px;color:#666;margin-top:2px}.rel a:hover{border-color:var(--teal)}
.disc{font-size:13px;color:#666;border-top:1px solid var(--line);margin-top:30px;padding-top:14px}
mark.todo{background:#fff3b0;padding:0 4px}
/* calculator */
.cp{background:#3b3b3b;border-radius:10px;color:#fff;margin:18px 0 6px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.18);border-top:5px solid var(--teal)}
.cp-h{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.cp-h h2{margin:0;padding:0;border:0;color:#fff;font-size:18px}
.cp-h button{border:1px solid rgba(255,255,255,.35);background:none;color:#fff;border-radius:999px;padding:5px 12px;font:700 12px var(--f);cursor:pointer}
.cp-b{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:18px}@media(max-width:700px){.cp-b{grid-template-columns:1fr}}
.cp label{display:block;font-size:12px;font-weight:700;color:#d6d6d6;margin:12px 0 5px}.cp label:first-child{margin-top:0}
.in{display:flex;align-items:center;border:1px solid #777;border-radius:4px;background:#2b2b2b;padding:0 12px}.in:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(42,171,143,.25)}
.in input{flex:1;min-width:0;border:0;background:transparent;color:#fff;padding:10px 0;font:600 17px var(--f);outline:0}.in span{color:#bbb;font-size:13px;padding-left:8px}
#cpR{background:#2b2b2b;border-radius:6px;padding:16px}
.r{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14px;color:#d5d5d5}.r:last-child{border:0}.r b{color:#fff;text-align:right}
.r.big{display:block;padding:0 0 14px;margin-bottom:4px}.r.big span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.r.big b{display:block;text-align:left;font-size:clamp(28px,5vw,36px);color:#57d6b8;font-weight:800;line-height:1.15;margin-top:4px}
.dn{display:flex;align-items:center;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}.dn svg{width:112px;flex:none}.dn text{fill:#fff;font-family:sans-serif;font-weight:800}
.dl{flex:1}.dl div{display:flex;align-items:center;gap:8px;font-size:13px;color:#d5d5d5;margin:5px 0}.dl b{margin-left:auto;color:#fff}.dl i{width:10px;height:10px;border-radius:2px;display:inline-block}
.wa{display:block;text-align:center;background:#25D366;color:#053d1a;font-weight:700;font-size:14px;border-radius:8px;padding:11px 16px;text-decoration:none;margin-top:12px}.wa:hover{background:#1fbd5a;color:#053d1a}
.cp-n{padding:0 18px 16px;font-size:12.5px;color:#bdbdbd}
/* footer */
.foot{background:#333;color:#bdbdbd;padding:34px 0 26px;font-size:13px}.foot .w{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:26px}@media(max-width:800px){.foot .w{grid-template-columns:1fr 1fr}}@media(max-width:480px){.foot .w{grid-template-columns:1fr}}
.foot h4{margin:0 0 10px;color:#fff;font-size:13px}.foot a{display:block;color:#fff;text-decoration:none;margin:5px 0}.foot a::before{content:"› ";color:var(--teal);font-weight:800}.foot p{margin:0 0 8px}.fl{display:block;height:54px;width:auto;margin:0 0 10px}
.static h2{margin-top:28px}.static ul{padding-left:22px}.static li{margin:4px 0}
form.rep label{display:block;font-weight:700;font-size:14px;margin:14px 0 4px;color:var(--dk)}form.rep input,form.rep select,form.rep textarea{width:100%;padding:10px 12px;border:1px solid #bbb;border-radius:4px;font:inherit}
.btn{display:inline-block;background:var(--teal);color:#fff;border:0;border-radius:4px;padding:11px 20px;font:700 14px var(--f);cursor:pointer;text-decoration:none;margin-top:16px}.btn:hover{background:var(--teal2);color:#fff}
