:root{
  --ink:#2b2350; --muted:#6b6790; --purple:#7c3aed; --purple-d:#5b21b6;
  --font:'Baloo Bhaijaan 2','Fredoka',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--font);color:var(--ink);min-height:100vh;
  background:#f1ecff linear-gradient(160deg,#dff3ff 0%,#f3e8ff 48%,#fff1d6 100%) fixed}
.wrap{max-width:980px;margin:0 auto;padding:16px 16px 32px}

.top{display:flex;align-items:center;gap:14px;background:#fff;border-radius:22px;padding:10px 14px;
  box-shadow:0 6px 0 #e4dcff,0 14px 30px rgba(76,29,149,.10)}
.brand{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;font-family:'Fredoka',sans-serif;font-weight:700;
  padding:10px 16px;border-radius:16px;font-size:20px;letter-spacing:.5px;white-space:nowrap;box-shadow:0 4px 0 #6d28d9;direction:ltr;text-decoration:none}
.teacher small{display:block;font-size:12px;color:var(--muted);font-weight:600}
.teacher b{color:var(--purple-d);font-weight:700;font-family:'Fredoka',sans-serif}
@media (max-width:480px){.brand{font-size:15px;padding:8px 12px}}

.hero{text-align:center;margin:34px 0 26px}
.hero h1{font-size:clamp(30px,6vw,46px);margin:0;color:var(--purple-d);line-height:1.2}
.hero p{color:var(--muted);font-size:clamp(17px,2.6vw,20px);margin:8px 0 0}

.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,3vw,24px)}
@media (max-width:620px){.tiles{grid-template-columns:1fr}}
.tile{position:relative;display:flex;align-items:center;gap:18px;background:#fff;border-radius:28px;padding:clamp(18px,3vw,26px);
  text-decoration:none;color:var(--ink);border:4px solid #fff;
  box-shadow:0 8px 0 var(--shadow),0 18px 36px rgba(76,29,149,.10);transition:transform .15s,border-color .15s}
.tile:hover{transform:translateY(-5px);border-color:var(--c)}
.tile:active{transform:translateY(3px);box-shadow:0 3px 0 var(--shadow)}
.tile:focus-visible{outline:4px solid var(--c);outline-offset:3px}
.icon{flex:none;width:clamp(78px,15vw,104px);aspect-ratio:1;border-radius:26px;display:grid;place-items:center;
  font-size:clamp(42px,8vw,58px);background:var(--bg);box-shadow:inset 0 -6px 0 rgba(0,0,0,.06)}
.tile h2{margin:0;font-size:clamp(22px,3.6vw,28px);line-height:1.25}
.tile p{margin:4px 0 0;color:var(--muted);font-weight:500;font-size:16px}
.tile .en{direction:ltr;unicode-bidi:isolate;font-family:'Fredoka',sans-serif;font-weight:600;color:var(--c)}
.badge{position:absolute;top:12px;left:14px;background:#fef3c7;color:#92400e;border:2px solid #fde68a;border-radius:999px;
  padding:2px 12px;font-size:13px;font-weight:700}

.letters{--c:#ef4444;--bg:#fee2e2;--shadow:#fecaca}
.numbers{--c:#3b82f6;--bg:#dbeafe;--shadow:#bfdbfe}
.teacher-tile{--c:#7c3aed;--bg:#ede9fe;--shadow:#ddd6fe}
.computer{--c:#16a34a;--bg:#dcfce7;--shadow:#bbf7d0}

.soon{background:#fff;border-radius:32px;padding:clamp(28px,6vw,56px) 20px;text-align:center;margin-top:28px;
  box-shadow:0 8px 0 #e4dcff,0 22px 50px rgba(76,29,149,.12)}
.soon .big{font-size:90px;line-height:1;animation:float 2.4s ease-in-out infinite}
.soon h1{color:var(--purple-d);font-size:clamp(28px,5vw,40px);margin:16px 0 6px}
.soon p{color:var(--muted);font-size:19px;margin:0 0 24px}
.btn{display:inline-block;font-weight:700;font-size:18px;border-radius:16px;padding:12px 24px;color:#fff;background:var(--purple);
  box-shadow:0 5px 0 #4c1d95;text-decoration:none}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 #4c1d95}

.foot{text-align:center;font-size:13px;color:#7c769e;margin-top:30px;font-weight:500}
@keyframes float{50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
