:root{
  --bg:#f7f8ff;--ink:#23304a;--muted:#667085;--card:#fff;
  --shadow:0 14px 34px rgba(35,48,74,.10);--radius:24px;--line:#e7e9f3
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);
  background:
    radial-gradient(circle at 12% 10%,rgba(255,217,102,.18),transparent 24rem),
    radial-gradient(circle at 90% 12%,rgba(113,196,255,.15),transparent 24rem),
    var(--bg);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif
}
a{color:inherit}
.shell{width:min(1180px,calc(100% - 28px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)
}
.topbar-inner{display:flex;align-items:center;gap:14px;min-height:64px}
.home-btn,.crumb,.pill,.activity-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.home-btn{
  padding:10px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);
  font-weight:800;box-shadow:0 4px 12px rgba(35,48,74,.05)
}
.crumbs{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-weight:650}
.crumb{white-space:nowrap}
.hero{padding:42px 0 22px}
.hero-card{
  border-radius:32px;padding:34px;box-shadow:var(--shadow);
  background:linear-gradient(135deg,#fff,#f1f5ff);border:1px solid #fff;
  position:relative;overflow:hidden
}
.hero-card:after{
  content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;
  border-radius:50%;background:rgba(255,255,255,.55)
}
.eyebrow{font-weight:900;color:#6b6ee8;letter-spacing:.02em}
h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.03;margin:.35rem 0 .8rem}
.hero p{max-width:780px;color:var(--muted);font-size:1.08rem;line-height:1.65;margin:0}
.section-title{font-size:1.45rem;margin:24px 0 14px}
.grade-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:42px
}
.grade-card{
  text-decoration:none;background:var(--card);border-radius:var(--radius);padding:24px;
  box-shadow:var(--shadow);border:1px solid var(--line);min-height:180px;
  display:flex;flex-direction:column;justify-content:space-between;
  transition:transform .18s ease,box-shadow .18s ease
}
.grade-card:hover,.grade-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px rgba(35,48,74,.14)}
.grade-mark{
  width:62px;height:62px;border-radius:20px;display:grid;place-items:center;
  font-weight:950;font-size:1.55rem;background:var(--grade-soft);color:var(--grade)
}
.grade-card h2{margin:18px 0 6px;font-size:1.25rem}
.grade-card p{margin:0;color:var(--muted)}
.grade-a{--grade:#2f9e62;--grade-soft:#e5f8ed}
.grade-b{--grade:#3283d7;--grade-soft:#e8f3ff}
.grade-g{--grade:#b08a00;--grade-soft:#fff7cc}
.grade-d{--grade:#ef8427;--grade-soft:#fff0e1}
.grade-e{--grade:#df4e5c;--grade-soft:#ffe9ec}
.grade-st{--grade:#8d5bd6;--grade-soft:#f2eaff}
.grade-hero{background:linear-gradient(135deg,var(--grade-soft),#fff)}
.stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pill{
  padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);
  color:var(--muted);font-weight:800;font-size:.92rem
}
.lesson-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:8px 0 46px
}
.lesson-card{
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;
  min-height:158px;box-shadow:0 8px 22px rgba(35,48,74,.07);
  display:flex;flex-direction:column
}
.lesson-card.active{
  border:2px solid color-mix(in srgb,var(--grade) 54%,white);
  box-shadow:0 12px 28px color-mix(in srgb,var(--grade) 14%,transparent)
}
.lesson-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lesson-num{font-size:1.08rem;font-weight:950}
.status{
  font-size:.8rem;font-weight:900;border-radius:999px;padding:6px 9px;
  background:#f1f3f8;color:#7a8191
}
.active .status{background:var(--grade-soft);color:var(--grade)}
.lesson-card p{color:var(--muted);line-height:1.45;margin:12px 0}
.activity-list{display:grid;gap:9px;margin-top:auto}
.activity-link{
  justify-content:center;padding:11px 12px;border-radius:14px;background:var(--grade);
  color:#fff;font-weight:900;text-align:center
}
.activity-link:hover,.activity-link:focus-visible{filter:brightness(.96)}
.note{
  margin:0 0 24px;padding:14px 16px;border-radius:16px;background:#fff8db;
  border:1px solid #f1dea0;color:#64551b;line-height:1.45
}
.footer{padding:22px 0 38px;color:var(--muted);text-align:center;font-size:.9rem}
:focus-visible{outline:4px solid rgba(89,110,255,.25);outline-offset:3px}
@media (max-width:900px){
  .grade-grid,.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .shell{width:min(100% - 18px,1180px)}
  .hero{padding-top:24px}.hero-card{padding:24px;border-radius:24px}
  .grade-grid,.lesson-grid{grid-template-columns:1fr}
  .topbar-inner{min-height:58px}.crumbs{font-size:.9rem}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
