:root{
  --ink:#14202b;
  --muted:#5b6874;
  --line:#dbe4eb;
  --panel:#ffffff;
  --soft:#f5f8fa;
  --brand:#008da3;
  --brand-dark:#067385;
  --cyan:#23d6ed;
  --warn-bg:#fff4df;
  --shadow:0 18px 44px rgba(20,32,43,.10);
  --radius:8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--soft);color:var(--ink)}
header{background:#101b24;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.topbar{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:700;font-size:20px;letter-spacing:.2px}
.brand-mark{width:38px;height:38px;border:2px solid var(--brand);border-radius:50%;display:grid;place-items:center;color:var(--cyan)}
.menu{display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none}
.menu a{color:#d8e7ed;text-decoration:none;padding:12px 13px;border-bottom:3px solid transparent;font-size:14px;white-space:nowrap}
.menu a:hover,.menu a:focus,.menu a.active{color:#fff;border-bottom-color:var(--cyan);outline:none}
.hero{background:linear-gradient(180deg,#101b24 0,#152432 72%,var(--soft) 72%);color:#fff}
.hero-inner{max-width:1180px;margin:0 auto;padding:54px 20px 76px}
h1{font-size:48px;line-height:1.04;margin:0 0 16px;letter-spacing:0}
.lead{font-size:18px;line-height:1.6;max-width:760px;margin:0;color:#d8e7ed}
main{max-width:1180px;margin:-42px auto 0;padding:0 20px 46px}
.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.category-title{grid-column:1/-1;margin:12px 0 -4px;padding:12px 0 4px;border-bottom:1px solid var(--line);color:var(--brand-dark);font-weight:700;font-size:18px}
.tile{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;color:var(--ink);text-decoration:none;min-height:150px;box-shadow:0 8px 24px rgba(20,32,43,.06);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.tile:hover,.tile:focus{border-color:var(--brand);box-shadow:0 14px 32px rgba(20,32,43,.12);transform:translateY(-2px);outline:none}
.tile h2,.tile h3{margin:0 0 8px;font-size:21px}
.tile p{margin:0;color:var(--muted);line-height:1.5}
.calc-section{background:var(--panel);border:1px solid var(--line);border-left:10px solid var(--brand);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.section-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;margin-bottom:20px}
h2{margin:0 0 6px;font-size:28px;line-height:1.15;color:var(--ink)}
.section-head p{margin:0;color:var(--muted);line-height:1.5}
.formula{font-family:Consolas,Monaco,monospace;color:var(--brand-dark);font-weight:700;background:#edf9fb;border:1px solid #c7edf3;border-radius:6px;padding:10px 12px;white-space:nowrap}
form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}
.field{min-width:0}
label{display:block;margin:0 0 7px;font-size:13px;font-weight:700;color:var(--ink)}
.label-note{font-weight:400;color:var(--muted)}
input,select{width:100%;height:46px;border:1px solid #c7d3dc;border-radius:6px;padding:0 12px;background:#fff;color:var(--ink);font-size:16px}
input:focus,select:focus{border-color:var(--brand);outline:3px solid rgba(0,141,163,.16)}
.unit{font-size:12px;color:var(--muted);margin-top:5px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
button,.button{height:46px;border:0;border-radius:6px;padding:0 18px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
button:hover,.button:hover{background:var(--brand-dark)}
button.secondary,.button.secondary{background:#fff;color:var(--brand-dark);border:1px solid var(--brand)}
.result{align-self:stretch;background:#f8fbfd;border:1px solid var(--line);border-radius:var(--radius);padding:16px;min-height:116px}
.result strong{display:block;color:var(--brand-dark);font-size:14px;margin-bottom:10px}
pre{margin:0;white-space:pre-wrap;font-family:Arial,Helvetica,sans-serif;line-height:1.55;color:var(--ink)}
.parallel-highlight{display:inline-block;width:100%;padding:5px 8px;margin:2px 0;border-left:4px solid var(--brand);border-radius:6px;background:#dff7ee;color:#0e5039;font-weight:700}
.wide{grid-column:span 2}
.full{grid-column:1/-1}
.note{margin-top:16px;color:#5c420e;background:var(--warn-bg);border:1px solid #f0cd91;border-radius:6px;padding:11px 13px;font-size:13px;line-height:1.45}
.table-wrap{grid-column:1/-1;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
table{width:100%;border-collapse:collapse;min-width:520px}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
th{background:#f0f6f8;color:var(--ink)}
tr.is-selected td{background:#e6f8ed;font-weight:700}
footer{background:#101b24;color:#c7d3dc;margin-top:28px}
footer .inner{max-width:1180px;margin:0 auto;padding:22px 20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}
footer a{color:#d8e7ed}
@media (max-width:980px){
  .overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .result{grid-column:1/-1}
}
@media (max-width:640px){
  .topbar{align-items:flex-start;flex-direction:column;padding:12px 16px}
  .menu{width:100%;padding-bottom:2px}
  .menu a{padding:10px 9px}
  .hero{background:linear-gradient(180deg,#101b24 0,#152432 76%,var(--soft) 76%)}
  .hero-inner{padding:34px 16px 62px}
  h1{font-size:34px}
  .lead{font-size:16px}
  main{margin-top:-34px;padding:0 12px 30px}
  .overview{grid-template-columns:1fr}
  .calc-section{padding:18px 14px;border-left-width:7px}
  .section-head{grid-template-columns:1fr}
  h2{font-size:23px}
  .formula{white-space:normal}
  form{grid-template-columns:1fr;gap:13px}
  .wide{grid-column:auto}
  .actions button,.actions .button{width:100%}
  footer .inner{display:block}
}
