:root{--bg:#fff;--bg-soft:#f8fafc;--text:#0f172a;--text-muted:#475569;--text-soft:#64748b;--text-fade:#94a3b8;--border:#e2e8f0;--link:#2563eb;--cat-arithmetic:#2563eb;--cat-arithmetic-soft:#eff6ff;--cat-memory:#d97706;--cat-memory-soft:#fffbeb;--cat-logic:#7c3aed;--cat-logic-soft:#f5f3ff;--radius-sm:.5rem;--radius-lg:1rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.shell{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 4rem}header.site{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}header.site .brand{align-items:baseline;gap:.5rem;display:flex}header.site .brand-name{letter-spacing:-.01em;color:var(--text);font-size:1.25rem;font-weight:700}header.site .brand-name a{color:inherit;text-decoration:none}header.site .by{color:var(--text-soft);font-size:.8rem}header.site .by a{color:inherit;border-bottom:1px dashed var(--text-fade);text-decoration:none}header.site .by a:hover{color:var(--text)}header.site nav a{color:var(--text-muted);font-size:.9rem;text-decoration:none}header.site nav a:hover{color:var(--text)}.hero{text-align:center;border-radius:var(--radius-lg);background:radial-gradient(circle at 15% 20%,#2563eb14,#0000 50%),radial-gradient(circle at 85% 30%,#d9770614,#0000 50%),radial-gradient(circle at 50% 90%,#7c3aed14,#0000 60%);margin-bottom:3rem;padding:3rem 1rem 3.5rem;position:relative;overflow:hidden}.hero .app-icon{border-radius:22px;width:96px;height:96px;margin-bottom:1.5rem;box-shadow:0 8px 24px #0f172a2e}.hero h1{letter-spacing:-.02em;color:var(--text);max-width:700px;margin:0 auto 1rem;font-size:clamp(2rem,5vw,3rem);line-height:1.15}.hero .lede{color:var(--text-muted);max-width:540px;margin:0 auto 2rem;font-size:1.125rem}.hero-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.hero-meta{color:var(--text-soft);margin-top:1.25rem;font-size:.85rem}.badge{background:var(--text);color:#fff;border-radius:var(--radius-sm);border:1px solid var(--text);flex:0 0 192px;align-items:center;gap:.65rem;padding:.55rem 1.1rem;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex;position:relative}.badge:hover{background:#1e293b;transform:translateY(-1px)}.badge .badge-icon{width:22px;height:22px;display:block}.badge .badge-text{white-space:nowrap;flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.badge .badge-small{text-transform:uppercase;letter-spacing:.06em;opacity:.85;font-size:.65rem}.badge .badge-large{letter-spacing:-.005em;font-size:1rem;font-weight:600}.badge.badge-soon{background:var(--bg-soft);border:1px dashed var(--text-fade);color:var(--text-soft);cursor:default}.badge.badge-soon:hover{transform:none}.screens{justify-content:center;gap:1.25rem;display:flex}.screens img{border:1px solid var(--border);border-radius:28px;width:250px;height:auto;box-shadow:0 12px 32px #0f172a1f}main section{margin-bottom:3rem}main h1{letter-spacing:-.01em;color:var(--text);margin-bottom:.5rem;font-size:1.75rem}main h2{letter-spacing:-.01em;color:var(--text);margin-bottom:.5rem;font-size:1.5rem}main h3{color:var(--text-muted);margin-bottom:.5rem;font-size:1.05rem}main p{color:var(--text-muted);margin-bottom:.75rem}main .section-lede{color:var(--text-soft);max-width:640px;margin-bottom:1.5rem}.tracks{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.track{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-soft);color:var(--text);align-items:center;gap:.5rem;padding:.4rem .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.track.arithmetic{background:var(--cat-arithmetic-soft);border-color:var(--cat-arithmetic);color:var(--cat-arithmetic)}.track.memory{background:var(--cat-memory-soft);border-color:var(--cat-memory);color:var(--cat-memory)}.track.logic{background:var(--cat-logic-soft);border-color:var(--cat-logic);color:var(--cat-logic)}.track-count{color:inherit;font-variant-numeric:tabular-nums;background:#ffffffb3;border-radius:999px;padding:.05rem .45rem;font-size:.78rem;font-weight:700}button.track{appearance:none;cursor:pointer;font-family:inherit;transition:box-shadow .15s,transform 60ms}button.track:active{transform:translateY(1px)}button.track:focus-visible{outline-offset:2px;outline:2px solid}.track.is-active{box-shadow:0 0 0 2px}.chip-list{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:.4rem .85rem;font-family:inherit;font-size:.875rem;line-height:1.3;display:inline-block;position:relative}button.chip{cursor:pointer;transition:border-color .15s,background .15s,transform 60ms}button.chip:hover{border-color:var(--link);background:var(--bg-soft)}button.chip:active{transform:translateY(1px)}button.chip:focus-visible{outline:2px solid var(--link);outline-offset:2px}.chip-list-games.is-filtering .chip{transition:opacity .2s,border-color .2s,box-shadow .2s}.chip.is-dimmed{opacity:.3}.chip.is-match[data-cat=arithmetic]{border-color:var(--cat-arithmetic);box-shadow:0 0 0 1px var(--cat-arithmetic)}.chip.is-match[data-cat=memoryAttention]{border-color:var(--cat-memory);box-shadow:0 0 0 1px var(--cat-memory)}.chip.is-match[data-cat=logic]{border-color:var(--cat-logic);box-shadow:0 0 0 1px var(--cat-logic)}.section-hint{color:var(--text-soft);margin-bottom:.85rem;font-size:.85rem}.section-more{margin-top:1rem;font-size:.95rem;font-weight:600}.section-more a{color:var(--link);text-decoration:none}.section-more a:hover{text-decoration:underline}.chip-new{background:var(--link);color:#fff;text-transform:uppercase;letter-spacing:.04em;pointer-events:none;border-radius:999px;padding:.05rem .4rem;font-size:.6rem;font-weight:700;line-height:1.4;position:absolute;top:-.5rem;right:-.35rem}body.modal-open{overflow:hidden}.modal-overlay{z-index:50;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.modal-overlay.is-open{display:flex}.modal{background:var(--bg);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:85vh;padding:1.5rem;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0f172a40}.modal-overlay.is-open .modal{animation:.16s ease-out modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.modal-close{background:var(--bg-soft);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:flex;position:absolute;top:.75rem;right:.75rem}.modal-close:hover{background:var(--border);color:var(--text)}.modal-close:focus-visible{outline:2px solid var(--link);outline-offset:2px}.modal-head{align-items:center;gap:.75rem;margin-bottom:1rem;padding-right:2rem;display:flex}.modal-emoji{font-size:2rem;line-height:1}.modal-head-text{flex-direction:column;gap:.15rem;display:flex}.modal-head h3{font-size:1.25rem}.modal-cat{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);font-size:.75rem;font-weight:600}.modal-cat.cat-arithmetic{color:var(--cat-arithmetic)}.modal-cat.cat-memoryAttention{color:var(--cat-memory)}.modal-cat.cat-logic{color:var(--cat-logic)}.modal-body p{color:var(--text-muted);line-height:1.6}.modal-types{flex-direction:column;gap:.4rem;margin:.75rem 0 0;padding-left:1.1rem;display:flex}.modal-types li{color:var(--text-muted);line-height:1.5}.modal-examples-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);margin:1.1rem 0 .4rem;font-size:.8rem;font-weight:700}.modal-examples{background:var(--bg-soft);border-radius:var(--radius-sm);color:var(--text);white-space:pre-wrap;margin:0;padding:.75rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.5;overflow-x:auto}.modal-science{background:var(--bg-soft);border-radius:var(--radius-sm);color:var(--text-soft);margin:0;padding:.75rem .9rem;font-size:.85rem;line-height:1.55}.modal-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin:0 0 .85rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.modal-badge-free,.course-badge-free{background:var(--cat-arithmetic-soft);color:var(--cat-arithmetic)}.modal-badge-premium,.course-badge-premium{background:var(--cat-memory-soft);color:var(--cat-memory)}.modal-lessons{color:var(--text-muted);margin:.5rem 0 0;padding-left:1.4rem;line-height:1.6}.modal-lessons li{margin-bottom:.2rem}.modal-exam-note{color:var(--text-soft);margin-top:1rem;font-size:.85rem}@media (prefers-reduced-motion:reduce){.modal-overlay.is-open .modal{animation:none}}.features{grid-template-columns:repeat(2,1fr);gap:.5rem 1.25rem;margin:0;list-style:none;display:grid}.features li{color:var(--text-muted);padding-left:1.5rem;position:relative}.features li:before{content:"✓";color:var(--cat-arithmetic);font-weight:700;position:absolute;left:0}.screens-compete{margin-top:1.75rem}.faq details{border-bottom:1px solid var(--border)}.faq details:first-of-type{border-top:1px solid var(--border)}.faq summary{cursor:pointer;color:var(--text);padding:1rem 2rem 1rem 0;font-weight:600;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--text-soft);font-size:1.25rem;font-weight:400;transition:transform .15s;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.faq details[open] summary:after{content:"−"}.faq summary:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:var(--radius-sm)}.faq details>p{color:var(--text-muted);max-width:640px;margin:0 0 1rem;padding-right:2rem;line-height:1.6}.crumb{color:var(--text-soft);margin-bottom:1.5rem;font-size:.85rem}.crumb a{color:var(--text-soft);text-decoration:none}.crumb a:hover{color:var(--text);text-decoration:underline}.crumb span[aria-hidden]{color:var(--text-fade);margin:0 .35rem}.course-hero{text-align:center;margin-bottom:3rem}.course-hero h1{letter-spacing:-.02em;color:var(--text);max-width:700px;margin:0 auto 1rem;font-size:clamp(1.75rem,4.5vw,2.5rem);line-height:1.15}.course-hero .lede{color:var(--text-muted);max-width:600px;margin:0 auto 1.75rem;font-size:1.0625rem}.course-hero .hero-cta{margin-bottom:2.5rem}.course-group-title{letter-spacing:-.01em;color:var(--text);margin:2.5rem 0 1.25rem;font-size:1.35rem}#course-list>.course-group-title:first-child{margin-top:0}.course-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.course-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);padding:1.25rem 1.35rem}.course-card-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.4rem;display:flex}.course-card-head h3{color:var(--text);margin:0;font-size:1.1rem}.course-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;flex:none;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.course-card-desc{color:var(--text-muted);margin:0 0 .5rem;line-height:1.5}.course-card-count{color:var(--text-soft);margin:0 0 .75rem;font-size:.8rem;font-weight:600}.course-card-lessons-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);margin:0 0 .4rem;font-size:.72rem;font-weight:700}.course-card-lessons{color:var(--text-muted);margin:0;padding-left:1.3rem;line-height:1.55}.course-card-lessons li{margin-bottom:.15rem}.lesson-free{text-transform:uppercase;letter-spacing:.04em;color:var(--cat-arithmetic);background:var(--cat-arithmetic-soft);white-space:nowrap;border-radius:999px;margin-left:.5rem;padding:.05rem .4rem;font-size:.65rem;font-weight:700}.course-hero .course-meta{justify-content:center;align-items:center;gap:.6rem;margin:0 0 1.75rem;display:flex}.course-count{color:var(--text-soft);font-size:.85rem;font-weight:600}.course-syllabus,.course-more{max-width:640px;margin:0 auto 2.5rem}.course-syllabus h2,.course-more h2{letter-spacing:-.01em;color:var(--text);margin:0 0 1rem;font-size:1.25rem}.course-syllabus .course-card-lessons{font-size:1rem;line-height:1.7}.course-more .chip-list{gap:.5rem}.course-more .chip{text-decoration:none}.certificate{max-width:600px;margin:0 auto}.cert-card{text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 0%, #2563eb0f, transparent 60%), var(--bg);padding:2.5rem 2rem}.cert-seal{text-transform:uppercase;letter-spacing:.06em;color:var(--cat-arithmetic);background:var(--cat-arithmetic-soft);border-radius:999px;margin-bottom:1.5rem;padding:.3rem .8rem;font-size:.75rem;font-weight:700;display:inline-block}.cert-kicker{letter-spacing:-.01em;color:var(--text);margin-bottom:1.5rem;font-size:1.5rem}.cert-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin-bottom:.25rem;font-size:.8rem}.cert-name{color:var(--text);margin-bottom:1.25rem;font-size:1.75rem;font-weight:700}.cert-course{color:var(--cat-arithmetic);margin-bottom:1.75rem;font-size:1.35rem;font-weight:600}.cert-meta{border-top:1px solid var(--border);justify-content:center;gap:2.5rem;margin:0;padding-top:1.5rem;display:flex}.cert-row dt{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);margin-bottom:.2rem;font-size:.75rem}.cert-row dd{color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:600}.cert-cta{text-align:center;margin-top:2rem}.cert-cta-lead{color:var(--text-muted);margin-bottom:1rem;font-size:1.05rem;font-weight:600}.cert-notfound h1{margin-bottom:.75rem;font-size:1.5rem}.cert-notfound p{color:var(--text-muted);margin-bottom:1.5rem}.game-types{color:var(--text-muted);margin:.5rem 0 0;padding-left:1.3rem;line-height:1.7}.game-types li{margin-bottom:.3rem}.game-examples{white-space:pre-wrap;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:1rem 1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;line-height:1.8;overflow-x:auto}footer{border-top:1px solid var(--border);color:var(--text-fade);margin-top:3rem;padding-top:2rem;font-size:.875rem}.footer-cols{grid-template-columns:1.4fr 1fr 1fr;gap:1.5rem 2rem;margin-bottom:1.5rem;display:grid}.footer-brand .brand-name{letter-spacing:-.01em;color:var(--text);font-size:1.1rem;font-weight:700}.footer-brand .brand-name a{color:inherit;text-decoration:none}.footer-brand .by{color:var(--text-soft);margin-top:.35rem;font-size:.8rem;display:block}.footer-brand .by a{color:inherit;border-bottom:1px dashed var(--text-fade);text-decoration:none}.footer-col{flex-direction:column;gap:.55rem;display:flex}footer a{color:var(--text-soft);text-decoration:none}footer a:hover{color:var(--text)}footer .copy{text-align:center;border-top:1px solid var(--border);padding-top:1.25rem;font-size:.8rem}@media (max-width:560px){.footer-cols{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}.about-hero{text-align:center;padding:2.5rem 1rem 2rem}.monogram{background:linear-gradient(135deg, var(--cat-arithmetic), var(--cat-logic));color:#fff;letter-spacing:-.05em;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:1.25rem;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:2.5rem;font-weight:700;display:inline-flex}.about-hero h1{letter-spacing:-.02em;margin-bottom:.25rem;font-size:2rem}.about-hero .tagline{color:var(--text-soft);font-size:1rem}main .about-body{max-width:640px;margin:0 auto}main .about-body p{margin-bottom:1rem}a{color:var(--link)}header.site nav{align-items:center;gap:.75rem;display:flex}.lang-switch{align-items:center;gap:.1rem;display:inline-flex}.lang-switch button,.lang-switch .lang-link{appearance:none;font:inherit;color:var(--text-fade);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin:0;padding:.2rem .4rem;font-size:.8rem;line-height:1;text-decoration:none}.lang-switch button:hover,.lang-switch .lang-link:hover{color:var(--text)}.lang-switch button.active,.lang-switch .lang-link.active{color:var(--text);background:var(--bg-soft);font-weight:700}.legal-note{color:var(--text-soft);margin-top:.25rem}@media (max-width:720px){header.site{flex-wrap:wrap;gap:.5rem 1rem}header.site nav{gap:.5rem}.hero{padding:2.25rem 1rem 2.5rem}.hero .app-icon{border-radius:17px;width:72px;height:72px;margin-bottom:1.25rem}.screens{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;justify-content:flex-start;margin:0 -1.25rem;padding-bottom:.75rem;padding-left:1.25rem;padding-right:1.25rem;overflow-x:auto}.screens img{scroll-snap-align:center;flex:none;width:218px}.features,.course-grid{grid-template-columns:1fr}.hero-cta{gap:.5rem}.hero-cta .badge{flex:0 170px;gap:.5rem;padding:.45rem .85rem}.hero-cta .badge .badge-icon{width:18px;height:18px}.hero-cta .badge .badge-small{font-size:.58rem}.hero-cta .badge .badge-large{font-size:.9rem}}
