:root {
  color-scheme: light;
  --ink: #211a35;
  --muted: #6f6780;
  --accent: #8058db;
  --accent-soft: #eee7ff;
  --pink-soft: #fff0f7;
  --border: #e7def4;
  --surface: rgba(255,255,255,.94);
  --shadow: 0 18px 48px rgba(76,48,118,.11);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background: linear-gradient(145deg, #f8f5ff, #fff9fc 55%, #f7f5fb);
}
.page { width: min(100% - 1.25rem, 760px); margin: 0 auto; padding: 2rem 0 3rem; }
.hero { margin-bottom: 1rem; padding: 1.6rem; border: 1px solid var(--border); border-radius: 26px; background: linear-gradient(120deg, var(--accent-soft), var(--pink-soft)); box-shadow: var(--shadow); }
.eyebrow { margin: 0 0 .35rem; color: var(--accent); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
h1,h2 { margin: 0; letter-spacing: -.035em; }
h1 { font-size: clamp(2rem, 8vw, 3.2rem); }
h2 { font-size: 1.2rem; }
.date { margin: .5rem 0 0; color: var(--muted); font-weight: 650; }
.notice,.card { border: 1px solid var(--border); border-radius: 22px; background: var(--surface); box-shadow: var(--shadow); }
.notice { padding: 1.25rem; color: var(--muted); text-align: center; }
.card { padding: 1.25rem; }
.hidden { display: none; }
.featured-templates { margin-top: 1rem; }
.section-heading { display: flex; gap: 1rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.total { min-width: 2.6rem; padding: .5rem .7rem; color: var(--accent); background: var(--accent-soft); border-radius: 999px; text-align: center; }
.graduate-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; align-items: start; }
.graduate-list { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.graduate-list li { display: flex; min-width: 0; gap: .6rem; align-items: center; justify-content: space-between; padding: .9rem 1rem; border: 1px solid var(--border); border-radius: 16px; background: #fff; }
.graduate-list strong { min-width: 0; overflow-wrap: anywhere; }
.country { flex: none; padding: .25rem .5rem; color: var(--accent); background: var(--accent-soft); border-radius: 999px; font-size: .74rem; font-weight: 800; }
.featured-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:.65rem; margin:0; padding:0; list-style:none; }
.featured-list li { min-width:0; }
.featured-list a { display:block; width:100%; padding:.65rem .8rem; color:#fff; background:var(--accent); border-radius:11px; font-size:.8rem; font-weight:800; text-align:center; text-decoration:none; }
.featured-list a:hover { background:#6944c5; }
.featured-list a:focus-visible { outline:3px solid rgba(128,88,219,.3); outline-offset:2px; }
@media (max-width:560px) {
  .page { padding-top: .65rem; }
  .hero { padding: 1.25rem; border-radius: 22px; }
  .graduate-columns { grid-template-columns: 1fr; }
  .featured-list { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto!important; transition: none!important; } }
