@charset "UTF-8";:root{--bg:#fff7ed;--ink:#1f2937;--primary:#7c3aed;--accent:#06b6d4;--sun:#fbbf24;--card:#ffffff;--danger:#dc2626}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left,#fde68a 0 18rem,transparent 19rem),linear-gradient(135deg,#eef2ff,#fef3c7 55%,#ecfeff);font-family:Inter,ui-rounded,system-ui,sans-serif;font-size:18px}body.dyslexia{font-family:Comic Sans MS,Trebuchet MS,Verdana,sans-serif;letter-spacing:.04em;line-height:1.7}a{color:inherit}button,input,select,a.big{min-height:48px;font:inherit}button,a.big{border:0;border-radius:1rem;padding:.8rem 1rem;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;box-shadow:0 5px #0002}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid var(--sun);outline-offset:3px}input,select{width:100%;border:3px solid #ddd6fe;border-radius:1rem;padding:.75rem;background:#fff}.skip{position:absolute;left:-999px;top:.5rem;background:#fff;padding:.5rem;z-index:3}.skip:focus{left:.5rem}.topbar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:1fr max-content;gap:.65rem .75rem;align-items:center;padding:.7rem clamp(1rem,3vw,2rem);background:#fffe;backdrop-filter:blur(12px);border-bottom:3px solid #ede9fe;box-shadow:0 10px 24px #6d28d912}.brand{font-weight:900;text-decoration:none;font-size:1.15rem;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.brand-mark{width:2.25rem;height:2.25rem;border-radius:.8rem;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;box-shadow:0 5px #0002}.nav{grid-column:1/-1;grid-row:2;display:flex;gap:.35rem;align-items:center;justify-content:flex-start;overflow-x:auto;scrollbar-width:thin;padding:.15rem .05rem .35rem}.nav a,.pill{border-radius:999px;padding:.55rem .8rem;text-decoration:none;background:#f3e8ff;white-space:nowrap}.nav a{display:inline-flex;align-items:center;gap:.35rem;font-weight:800}.nav a.active{background:var(--primary);color:#fff;box-shadow:0 4px #0002}.nav-actions{display:flex;gap:.4rem;align-items:center;justify-content:flex-end}.warn{background:#fee2e2;color:#991b1b}.shell{width:min(1120px,100%);margin:0 auto;padding:clamp(1rem,3vw,2rem)}h1{font-size:clamp(2rem,6vw,4rem);line-height:1;margin:.2rem 0 1rem}h2{margin-top:0}.card,.tile,.mini-card{background:var(--card);border:3px solid #ede9fe;border-radius:2rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 14px 30px #6d28d920}.mini-card{border-radius:1.4rem;padding:1rem;box-shadow:0 8px 18px #6d28d914}.hero{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem;overflow:hidden}.eyebrow,.badge{color:#5b21b6;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0}.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tile{min-height:150px;text-decoration:none;display:grid;place-items:center;text-align:center;transition:transform .15s ease}.tile:hover,.tile:focus-visible{transform:translateY(-4px) rotate(-1deg)}.tile span,.huge{font-size:clamp(3rem,8vw,5rem);margin:.25rem 0}.primary{background:var(--primary);color:#fff}.big:not(.primary){background:#dbeafe;color:#1e3a8a}.login{display:grid;gap:.65rem;min-width:min(360px,100%)}.meter{height:1.4rem;overflow:hidden;border-radius:999px;background:#e5e7eb;border:2px solid #c4b5fd}.meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--primary))}.state{padding:1rem;border-radius:1rem;background:#fffbeb}.error{background:#fee2e2;color:#991b1b}.reward{text-align:center;position:relative}.reward:not(.locked):after,.confetti{content:"\2728";animation:float 2.5s infinite ease-in-out;font-size:2rem}.locked{filter:grayscale(.8);opacity:.75}.profile{max-width:640px;display:grid;gap:1rem;overflow:hidden}.profile-header{display:flex;gap:1rem;align-items:center;min-width:0}.profile-header h2{margin:.15rem 0;overflow-wrap:anywhere}.profile-avatar{width:clamp(5rem,18vw,7rem);height:clamp(5rem,18vw,7rem);border-radius:1.5rem;object-fit:cover;border:4px solid #ede9fe;background:#f3e8ff;flex:0 0 auto;box-shadow:0 8px 18px #6d28d920}.profile-avatar-fallback{display:grid;place-items:center;font-size:clamp(2.75rem,8vw,4.5rem)}.profile-actions{display:grid;gap:.75rem}.compact{margin:.35rem 0 0;padding:.65rem .8rem}.path-list{display:grid;gap:.75rem;margin-top:1rem}.path-step{display:grid;gap:.2rem;padding:1rem;border:3px solid #ddd6fe;border-radius:1.25rem;text-decoration:none;background:linear-gradient(135deg,#f5f3ff,#ecfeff);box-shadow:0 6px #0001}.path-step:hover,.path-step:focus-visible{transform:translateY(-2px)}.subject-shelves{display:grid;gap:1rem;margin-top:1rem}.shelf{padding:0;overflow:hidden}.shelf summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;padding:1rem clamp(1rem,3vw,1.5rem);font-weight:900}.shelf summary small{color:#5b21b6;font-weight:800}.shelf .grid{padding:0 clamp(1rem,3vw,1.5rem) 1.25rem}.mini-card h3{margin:.35rem 0}@keyframes float{50%{transform:translateY(-8px) rotate(6deg)}}@media (max-width: 720px){body{font-size:16px}.topbar{align-items:center;gap:.55rem}.brand span:last-child{max-width:58vw;overflow:hidden;text-overflow:ellipsis}.nav a{padding:.55rem .75rem}.hero{display:block}}@media (max-width: 430px){.brand span:last-child{display:none}.brand-mark{width:2.5rem;height:2.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
