:root{--bg:#faf9f5;--panel:#fffefb;--ink:#2b2a27;--ink2:#3f3d38;--muted:#5f5b52;--line:#e9e4d8;--accent:#cc785c;--accent-d:#a24e2b;--soft:#f3f0e8;--ok:#3d8f6d;--radius:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
a{color:var(--accent-d);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:760px;margin:0 auto;padding:0 18px}
header.site{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:10}
.nav{display:flex;align-items:center;gap:14px;height:58px}
.brand{font-weight:800;font-size:19px;letter-spacing:-.3px;color:var(--ink)}.brand b{color:var(--accent)}
.nav .sp{flex:1}.nav a.small{color:var(--muted);font-size:14px;font-weight:600}
.search{width:100%;max-width:400px;position:relative}
.search input{width:100%;padding:9px 13px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit;background:var(--panel)}
.search input:focus{outline:0;border-color:var(--accent)}
.search .res{position:absolute;top:112%;left:0;right:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 34px rgba(43,42,39,.13);max-height:340px;overflow:auto;display:none;z-index:20}
.search .res a{display:block;padding:9px 13px;color:var(--ink);border-bottom:1px solid var(--soft);font-size:14px}.search .res a:hover{background:var(--soft);text-decoration:none}
main{padding:26px 0 40px}
.crumb{font-size:13px;color:var(--muted);margin-bottom:14px}
h1{font-size:29px;letter-spacing:-.5px;margin-bottom:8px;line-height:1.18}
.lead{color:var(--ink2);margin-bottom:22px;font-size:16px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--panel);box-shadow:0 1px 2px rgba(43,42,39,.03)}
.calc .row{margin-bottom:15px}
.calc label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}
.calc .hint{font-size:12px;color:var(--muted);font-weight:400}
.calc .field{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:border-color .15s;background:#fff}
.calc .field:focus-within{border-color:var(--accent)}
.calc input,.calc select{border:0;outline:0;padding:12px 13px;font-size:16px;font-family:inherit;width:100%;background:transparent;color:var(--ink)}
.calc .unit{display:flex;align-items:center;padding:0 13px;background:var(--soft);color:var(--muted);font-size:14px;border-left:1px solid var(--line);white-space:nowrap}
.calc .err{color:#b3341f;font-size:12px;min-height:14px;margin-top:3px}
.results{margin-top:6px;border-top:1px solid var(--line);padding-top:18px}
.results .primary{background:linear-gradient(180deg,#fbeee7,#f7e4d8);border:1px solid #eaccbb;border-radius:12px;padding:16px 18px;margin-bottom:12px}
.results .primary .k{font-size:12px;color:var(--accent-d);font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.results .primary .v{font-size:32px;font-weight:800;letter-spacing:-.6px;color:var(--ink)}
.results .primary .hint{color:var(--ink2);font-size:13px;margin-top:3px}
.results .grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.results .cell{background:var(--soft);border-radius:10px;padding:12px 14px}
.results .cell .k{font-size:12px;color:var(--muted);font-weight:600}.results .cell .v{font-size:18px;font-weight:700}
/* chart + schedule */
.chartwrap{display:flex;gap:20px;align-items:center;margin-top:16px;flex-wrap:wrap}
.legend{font-size:13px;color:var(--ink2)}.legend b{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px;vertical-align:middle}
.pdfbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.btn{font-family:inherit;font-size:14px;font-weight:700;padding:10px 16px;border-radius:10px;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink)}
.btn:hover{border-color:var(--accent);text-decoration:none}
.btn.primary{background:var(--accent-d);border-color:var(--accent-d);color:#fff}.btn.primary:hover{background:#88401f}
.tabler{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tabler .head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--soft);font-weight:700;font-size:14px}
.tabler .scroll{max-height:0;overflow:hidden;transition:max-height .3s ease}
.tabler.open .scroll{max-height:520px;overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:9px 14px;text-align:right;border-top:1px solid var(--line)}
th:first-child,td:first-child{text-align:left}
thead th{position:sticky;top:0;background:var(--panel);color:var(--muted);font-size:12px}
.formula{margin:8px 0 4px;padding:14px;background:var(--soft);border-radius:10px;overflow-x:auto}
.formula svg{display:block;margin:0 auto;max-width:100%;height:auto}
.section{margin-top:32px}.section h2{font-size:20px;margin-bottom:10px;letter-spacing:-.2px}
.section h3{font-size:16px;margin:16px 0 6px}.section p{color:var(--ink2);margin-bottom:12px}
.section ul{margin:0 0 12px 20px;color:var(--ink2)}.section li{margin-bottom:5px}
.faq details{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:8px;background:var(--panel)}
.faq summary{font-weight:700;cursor:pointer}.faq p{margin-top:8px;margin-bottom:0}
.related{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.related a{border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-weight:600;font-size:14px;color:var(--ink);background:var(--panel)}
.related a:hover{border-color:var(--accent);text-decoration:none}
.adslot{margin:34px 0 6px;border:1px dashed #d9cbb6;border-radius:12px;background:var(--soft);text-align:center;padding:22px 16px}
.adslot .lbl{font-size:11px;color:#6e685c;text-transform:uppercase;letter-spacing:1px}
.adslot a{font-weight:800;font-size:18px}.adslot p{color:var(--muted);font-size:13px;margin-top:2px}
.hero{text-align:center;padding:26px 0 10px}.hero h1{font-size:33px}.hero p{color:var(--muted);margin-top:6px}
.cats{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cat{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:var(--panel)}
.cat h3{font-size:16px;margin-bottom:10px}.cat ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.cat li a{font-size:14px;color:var(--ink2);font-weight:500}.cat .more{font-size:13px;color:var(--muted);margin-top:8px;display:inline-block}
footer.site{border-top:1px solid var(--line);margin-top:30px;padding:24px 0;color:var(--muted);font-size:13px}
footer .flex{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
footer a{color:var(--muted);font-weight:600}footer .promo{color:var(--accent-d);font-weight:800}
@media(max-width:640px){.cats,.results .grid,.related{grid-template-columns:1fr}h1{font-size:24px}.hero h1{font-size:27px}}
@media print{header.site,.pdfbar,.adslot,.related,.search,footer .promo,.section.faq{display:none!important}.card{border:0;box-shadow:none;padding:0}.tabler .scroll{max-height:none!important;overflow:visible!important}body{background:#fff}}
.crumb a,.lead a,.section p a,.section li a,.faq a,footer .flex a{text-decoration:underline;text-underline-offset:2px}
.nav a,.brand,.related a,.btn,.search .res a,.cat li a,.adslot a,.tabler .head{text-decoration:none}
.tabler .scroll{content-visibility:auto;contain-intrinsic-size:auto 480px}
.section{content-visibility:auto;contain-intrinsic-size:auto 220px}
