/* A colourful learning space with calm reading and assessment surfaces. */
body{background:#f9f9f3;background-image:radial-gradient(#dfe8ec 1px,transparent 1px);background-size:24px 24px;color:#243952}
aside{background:#fffefa;border-right:2px solid #e7ebf2}.logo{color:#2956bf}.logo span{color:#b77800}.slogan{color:#586b80}.sidefoot{color:#52677b}.sidefoot:before{content:'';display:block;width:120px;height:95px;background:url('/illustrations/riko.svg') center/contain no-repeat;margin-bottom:12px}
nav button{color:#52637b;transition:background .18s,transform .18s}nav button.active{background:#e8efff;box-shadow:inset 4px 0 #466bdd;color:#244da7}nav button:hover{background:#f0f4ff}.muted{color:#586b80}.notice{color:#586b80}.pill{color:#50627b}.eyebrow{color:#50678a}.badge{color:#725208;background:#fff0b8;border:1px solid #f0d678}
.hero{background:linear-gradient(120deg,#2858c6,#4079de);border:2px solid #d0dfff;box-shadow:0 7px 0 #dfe7f4;position:relative;gap:20px}.hero>div{position:relative}.hero p{color:#fff}.hero small{color:#e9f1ff}.welcome-hero{min-height:295px}.welcome-copy{flex:1;min-width:0}.welcome-art{width:clamp(220px,32vw,350px);flex-shrink:0;position:relative}.welcome-art img{display:block;width:100%;height:auto}.mascot-label{position:absolute;bottom:0;right:15%;background:#fff9dc;color:#4a4974;font-size:12px;font-weight:bold;border-radius:20px;padding:7px 15px;transform:rotate(-3deg)}
.btn{box-shadow:0 3px 0 #1a4299;min-height:44px;transition:transform .15s,box-shadow .15s}.btn.yellow{box-shadow:0 3px 0 #dba730;background:#ffdc70}.btn.secondary{box-shadow:0 3px 0 #d4def0;background:#ecf2ff;color:#254fa7}.btn:active{transform:translateY(2px);box-shadow:none}.btn:disabled{box-shadow:none}.card{border:2px solid #e4eaf1;box-shadow:0 4px 0 #e9edf3;border-radius:22px}.subject{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 40%,var(--subject-tint));border-bottom:5px solid var(--subject-accent);min-height:220px}.subject .icon{width:64px;height:64px;font-size:35px;border-radius:20px;transform:rotate(-5deg);border:2px solid #fff;box-shadow:0 4px 0 #2439520c}.subject h3{font-size:18px;position:relative}.subject:after{content:'↗';position:absolute;right:20px;top:20px;border-radius:50%;width:30px;height:30px;background:#fff;display:grid;place-items:center;color:#49617a}.subject .progress i{background:var(--subject-accent)}.subject:hover{box-shadow:0 9px 20px #344b7414;transform:translateY(-3px)}.progress{height:10px;background:#e7edf5;border:1px solid #dce4ee;border-radius:20px}.progress i{background:#299782}
.learning-trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0}.trail-stop{display:flex;align-items:center;gap:13px;text-align:left;border:2px solid #d9e5ed;border-radius:19px;padding:17px;background:#fff;color:#243952;min-width:0}.trail-stop:nth-child(1){background:#eff8ed;border-color:#c8e4c2}.trail-stop:nth-child(2){background:#fff6dc;border-color:#f0ddb0}.trail-stop:nth-child(3){background:#f2ecff;border-color:#ddd0f2}.trail-stop b{display:block;font-size:16px}.trail-stop small{display:block;line-height:1.5;color:#526278;margin-top:3px}.trail-number{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#fff;font-size:23px;flex-shrink:0}.learning-stats .card:nth-child(1){background:#edf6ff;border-color:#d7e8fa}.learning-stats .card:nth-child(2){background:#fff7dd;border-color:#eee0b6}.learning-stats .card:nth-child(3){background:#f2edfc;border-color:#e0d7ee}.stat{color:#254269}.daily-card{background:#fff7df;border:2px solid #ead7a7;border-radius:22px;box-shadow:0 4px 0 #eee7d3}.daily-card h3:before{content:'🎯 ';}.daily-card .eyebrow{color:#805b12}.visual-banner{background:linear-gradient(110deg,#e9f7f1,#f1edff);border:2px solid #d6e6df}.visual-hub-hero{border:2px solid #d4e4ef}.visual-lab-card{border-width:2px;box-shadow:0 4px 0 #e5ebf1}.visual-lab-card:nth-child(3n+1) .visual-lab-picture{background:#e8f7ee}.visual-lab-card:nth-child(3n+2) .visual-lab-picture{background:#fff2d7}.visual-lab-card:nth-child(3n) .visual-lab-picture{background:#eee9fc}.visual-lab-picture{border-radius:18px}.curriculum-banner{background:#f1f8ed;border:2px solid #d8e8ce}.step{background:#fff0bd;border:2px solid #edda9a;color:#795813}.example{background:#f0f6ff}.lesson .card{box-shadow:0 4px 0 #e9edf3}.answers button{min-height:64px;background:#fff;border-width:2px;box-shadow:0 3px 0 #e5ebf4}.answers button:hover:not(:disabled){background:#f0f5ff;border-color:#557bd8}.result-celebration{background:radial-gradient(circle at 10% 12%,#ffe6a0 0 5px,transparent 6px),radial-gradient(circle at 90% 22%,#b6e5d7 0 7px,transparent 8px),radial-gradient(circle at 15% 75%,#dacdf6 0 6px,transparent 7px),#fffdf4}.result-celebration .stat{font-size:34px}.result-mascot{width:150px;height:113px;object-fit:contain;display:block;margin:0 auto 10px}
@media(min-width:651px){.welcome-art{animation:mascot-arrive .65s ease-out both}@keyframes mascot-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1000px){.learning-trail{gap:9px}.trail-stop{padding:13px;gap:9px}.trail-stop small{font-size:11px}.welcome-art{width:230px}}
@media(max-width:650px){aside{background:#fffefa}.hero.welcome-hero{display:grid;grid-template-columns:minmax(0,1fr) 108px;padding:22px 18px;gap:4px;min-height:230px}.welcome-hero h1{font-size:25px}.welcome-hero small{font-size:9px;letter-spacing:1px}.welcome-hero p{font-size:13px}.welcome-hero .btn{padding:12px 15px;font-size:13px}.welcome-art{width:132px;margin-left:-14px;align-self:center}.mascot-label{font-size:9px;right:5%;padding:5px 9px;bottom:-7px}.learning-trail{gap:7px;margin:20px 0}.trail-stop{flex-direction:column;align-items:flex-start;padding:12px 10px;gap:9px}.trail-stop b{font-size:13px}.trail-stop small{font-size:11px}.trail-number{height:32px;width:32px;font-size:19px;border-radius:10px}.subject{min-height:225px;padding:16px 13px}.subject h3{font-size:16px;line-height:1.4}.subject .icon{width:54px;height:54px;font-size:29px}.subject:after{right:12px;top:15px;width:25px;height:25px}.subject .muted{font-size:12px}.learning-stats .card{padding:15px 12px}.learning-stats .muted{font-size:12px}nav{padding-bottom:calc(5px + env(safe-area-inset-bottom));background:#fffefa}main{margin-bottom:calc(75px + env(safe-area-inset-bottom))}.visual-banner-illustration{align-self:center}.result-celebration .btn{margin-top:9px}}
@media(max-width:360px){.hero.welcome-hero{grid-template-columns:1fr}.welcome-art{width:150px;margin:8px auto}.learning-trail{gap:5px}.trail-stop{padding:10px 7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff}.card,.daily-card,.hero{box-shadow:none}.learning-trail,.welcome-art,.result-mascot{display:none}.worksheet .card{background:#fff;border:1px solid #bbb}}
@media(min-width:651px) and (max-height:900px){.sidefoot:before{display:none}.slogan{margin-bottom:22px}nav button{padding:12px;margin-bottom:5px}}@media(min-width:651px) and (max-height:680px){aside{overflow-y:auto}.sidefoot{position:static;margin-top:20px}}
