*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f6f0;color:#173d37;font:17px/1.7 system-ui,sans-serif}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,.button{cursor:pointer;display:inline-block;border:0;border-radius:9px;padding:12px 20px;background:#164e43;color:white;text-decoration:none}button:hover,.button:hover{background:#246756}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bb691b;outline-offset:3px}header,main,footer{max-width:1120px;margin:auto;padding:25px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d6ded5;gap:20px;flex-wrap:wrap}nav{display:flex;gap:22px;flex-wrap:wrap;font-size:15px}.brand{font-size:24px;font-weight:800;text-decoration:none}.brand b{color:#b66b29}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:55px;padding:55px 0}.eyebrow{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#63776a}h1{font-size:clamp(36px,5vw,62px);line-height:1.2;letter-spacing:-1.5px;margin:20px 0}h2{font-size:28px;line-height:1.4}h3{margin-top:0}.muted{color:#5a7065}.note{font-size:14px;border-inline-start:3px solid #c88b44;padding:10px 16px;background:#f2eadb}.panel{border:1px solid #d4dfd4;border-radius:18px;background:#fff;padding:28px}.hero .panel{background:#e5eddf;transform:rotate(-1deg);align-self:center}.large{font-size:48px;font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 40px}.card{display:block;border:1px solid #d4dfd4;border-radius:15px;background:white;padding:25px;text-decoration:none}.card:hover{border-color:#366d54}.num{font-size:13px;color:#8d632c}.tag{display:inline-block;background:#e3eadf;padding:3px 10px;border-radius:30px;font-size:12px}.rows{display:grid;gap:12px}.row{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}label{display:block;font-size:15px}input{display:block;width:100%;padding:12px;border:1px solid #a7bbae;border-radius:8px;color:#173d37;background:white}.actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.secondary{background:#e5eddf;color:#173d37}.result{margin-top:25px;background:#e5eddf;padding:22px;border-radius:10px;min-height:80px}section{margin:35px 0}footer{font-size:14px;border-top:1px solid #d6ded5}.skip{position:absolute;left:-1000px}.skip:focus{left:10px;top:0;background:white}table{width:100%;border-collapse:collapse}td,th{padding:12px;text-align:start;border-bottom:1px solid #d4dfd4}@media(max-width:720px){header,main,footer{padding:20px}.hero{grid-template-columns:1fr;gap:20px;padding:25px 0}.grid{grid-template-columns:1fr}.hero .panel{transform:none}.row{grid-template-columns:1fr 1fr auto}.panel{padding:20px}nav{gap:15px}h1{letter-spacing:-.5px}}@media print{header,footer,button,.note{display:none}body{background:white}.panel{border:0}}
select{font:inherit;width:100%;padding:12px;border:1px solid #a7bbae;border-radius:8px;background:white;color:#173d37;margin-top:6px}.selection{display:grid;grid-template-columns:1fr 1fr;gap:20px}.small{font-size:14px}.subject-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(95px,1fr) 90px;gap:16px;align-items:center;border-bottom:1px solid #e1e7df;padding:18px 0}.subject-name{font-weight:650}.coefficient{font-size:22px;text-align:center}.coefficient small{display:block;font-size:12px;font-weight:400}.subject-row input{min-width:0}.subject-row.custom{grid-template-columns:minmax(0,1.4fr) minmax(85px,1fr) minmax(75px,.7fr) auto}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}details{background:#eaf0e4;padding:18px;border-radius:12px}summary{cursor:pointer;font-weight:650}#rows{margin-top:22px}#preset-note{margin-bottom:15px}@media(max-width:600px){.selection{grid-template-columns:1fr}.subject-row{grid-template-columns:minmax(0,1.4fr) minmax(80px,1fr) 55px;gap:10px}.subject-row.custom{grid-template-columns:1fr 1fr}.subject-name{font-size:15px}.coefficient{font-size:20px}}
/* Shared visual refresh */
body { background: #f6f8fc; color: #142540; line-height: 1.6; }
header { border-color: #dce4f0; }
header nav a { text-decoration: none; font-weight: 600; }
header nav a:hover { text-decoration: underline; }
.brand b { color: #2455bc; }
.muted, .eyebrow { color: #50617a; }
button, .button { background: #2455bc; }
button:hover, .button:hover { background: #19449e; }
.secondary { background: #e7efff; color: #183b84; }
.secondary:hover { background: #d4e2ff; }
.panel, .card { border-color: #dce4f0; }
.card:hover { border-color: #2455bc; box-shadow: 0 6px 22px #17325b12; }
.card h3 { margin-block: .45em; line-height: 1.35; }
.tag, .result, details { background: #e9f0fd; }
.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 64px);
  align-items: center;
  padding: clamp(24px, 5vw, 62px);
  margin-block-start: 12px;
  border-radius: 26px;
  background: linear-gradient(120deg, #10254e, #203f81);
  color: #fff;
}
.home-hero h1 { margin-block: 10px 16px; font-size: clamp(34px, 5vw, 60px); }
.home-hero .eyebrow { color: #c1d5ff; }
.home-hero p { max-width: 54ch; }
.home-hero .button:not(.secondary) { background: #fff; color: #163873; }
.home-hero .button:hover { background: #dce8ff; }
.hero-topics { padding: 22px; border: 1px solid #ffffff50; border-radius: 16px; background: #ffffff12; }
.hero-topics h2 { margin: 0 0 12px; font-size: 20px; }
.hero-topics a { display: block; padding: 9px 0; }
@media (max-width: 720px) {
  .home-hero { grid-template-columns: 1fr; border-radius: 18px; }
  header nav { order: 1; flex-basis: 100%; gap: 10px 18px; }
}
@media print { .home-hero { background: white; color: #142540; } }
