:root{font-family:Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#13213b;background:#f7fbff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#dff3ff,transparent 30rem),#f7fbff}a{color:inherit}.home-shell,.page-shell{width:min(1120px,calc(100% - 28px));margin:0 auto}.home-shell{min-height:100vh;display:grid;place-items:center}.hero,.grade-hero{text-align:center;padding:44px 0 28px}.eyebrow{margin:0 0 8px;color:#3b82f6;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900}h1{font-size:clamp(3rem,13vw,6.4rem);line-height:.9;margin:0;letter-spacing:-.08em}.lead{margin:18px auto 0;max-width:620px;color:#546179;font-size:clamp(1.05rem,3vw,1.35rem);line-height:1.45}.grade-card{margin:34px auto 0;display:flex;align-items:center;gap:18px;width:min(460px,100%);padding:18px;border-radius:28px;text-decoration:none;background:#fff;box-shadow:0 20px 60px #2563eb24;border:2px solid #dbeafe;text-align:left;transition:transform .16s ease,box-shadow .16s ease}.grade-card:hover{transform:translateY(-3px);box-shadow:0 25px 70px #2563eb30}.grade-number{display:grid;place-items:center;width:82px;height:82px;border-radius:24px;background:#2563eb;color:#fff;font-size:3rem;font-weight:950}.grade-card strong{display:block;font-size:1.8rem}.grade-card small{display:block;margin-top:4px;color:#64748b;font-weight:700}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;backdrop-filter:blur(18px)}.back-link,.pill{border-radius:999px;background:#ffffffdb;border:1px solid #dbeafe;padding:10px 14px;text-decoration:none;font-weight:900;box-shadow:0 10px 30px #1d4ed814}.topic-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0 28px}.topic-nav a{text-decoration:none;font-weight:900;padding:10px 14px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,white);border:2px solid color-mix(in srgb,var(--accent) 35%,white)}.topic{margin:0 0 34px;padding:clamp(16px,3vw,26px);border-radius:34px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 13%,white),#fff);border:2px solid color-mix(in srgb,var(--accent) 22%,white);box-shadow:0 18px 50px #0f172a12;scroll-margin-top:78px}.topic-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}.topic-heading h2{margin:0;font-size:clamp(2rem,7vw,3.4rem);line-height:.94;letter-spacing:-.05em}.topic-heading span{color:color-mix(in srgb,var(--accent) 80%,#13213b);font-weight:950;background:#fff;border-radius:999px;padding:9px 12px;white-space:nowrap}.word-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.word-card{cursor:pointer;user-select:none;background:#fffffff0;border:3px solid transparent;border-radius:28px;padding:14px;text-align:center;box-shadow:0 12px 30px #0f172a12;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.word-card:hover,.word-card:focus-visible,.word-card.is-playing{transform:translateY(-3px) scale(1.01);border-color:var(--accent);outline:none;box-shadow:0 18px 42px color-mix(in srgb,var(--accent) 22%,transparent)}.image-frame{aspect-ratio:1;display:grid;place-items:center;border-radius:22px;background:#f8fafc;overflow:hidden;padding:0}.image-frame img{width:118%;height:118%;object-fit:contain}.word-card h3{margin:12px 0;text-transform:uppercase;font-size:clamp(1.35rem,5vw,2.05rem);letter-spacing:.03em}.listen-button{width:100%;border:0;border-radius:18px;padding:12px 10px;color:#fff;background:var(--accent);font-size:1rem;font-weight:950;cursor:pointer;box-shadow:inset 0 -3px #00000021}.listen-button span{margin-right:4px}@media(max-width:520px){.home-shell,.page-shell{width:min(100% - 18px,1120px)}.word-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.word-card{border-radius:22px;padding:10px}.listen-button{padding:10px 6px}}.topic-nav a{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05;gap:3px;text-transform:uppercase}.topic-nav a small{font-size:.72rem;color:#64748b;text-transform:none;font-weight:900}.topic-heading .eyebrow{color:color-mix(in srgb,var(--accent) 80%,#13213b)}
