/* Larger Playpen typography; retain existing illustration and control dimensions. */
body{font-size:18px;line-height:1.7}
h1,h2,h3{font-weight:800;text-wrap:pretty}
.brand{font-size:22px}.brand small{font-size:13px;line-height:1.5}.main-nav a{font-size:17px;line-height:1.5}.main-nav b{font-size:14px}
.sidebar-friend strong{font-size:17px}.sidebar-bottom,.page-footer{font-size:14px}
.topbar-label,.profile-button{font-size:17px}
.home-heading h1{font-size:34px;letter-spacing:0;line-height:1.5}.age-chip{font-size:14px;line-height:1.5}
.hero-badge{font-size:15px;line-height:1.5}.hero h2{font-size:48px;line-height:1.4;letter-spacing:0}
.button{font-size:18px;line-height:1.5}.hero-actions .button{font-size:18px;line-height:1.6}.hero-actions .hero-secondary{font-size:16px!important;line-height:1.575}
.hero-meta{font-size:15px;line-height:1.5;color:#526f88}.daily-mini small{font-size:14px;line-height:1.5;color:#546d84}.daily-mini strong{font-size:16px;line-height:1.5}
.floating-number{font-size:36px}.number-blocks b,.mini-train b{font-size:31px}
.text-link,.mini-stat>span{font-size:15px}.mini-stat strong{font-size:32px}.mini-stat strong small{font-size:15px}
.section-title h2{font-size:29px;letter-spacing:0;line-height:1.5}.activity-tag{font-size:13px;line-height:1.5}
.activity-label h3{font-size:25px;line-height:1.4;padding-left:0}
.round-arrow{top:17px;bottom:auto}
.review-card strong,.route-card strong{font-size:19px;line-height:1.5}.review-card small,.route-card small{font-size:14px;line-height:1.5}
.page-heading h1{font-size:35px;line-height:1.5}.page-heading p{font-size:17px}.page-heading .button{font-size:17px}
.filter-chip{font-size:16px;line-height:1.5}.puzzle-filters>span{font-size:14px}
.route-progress>span{font-size:16px}.route-progress small{font-size:14px;line-height:1.6}
.week-card summary small,.lesson small{font-size:13px;line-height:1.5}.week-card summary strong{font-size:24px;line-height:1.5}
.week-card summary em{font-size:16px;line-height:1.5}.week-count{font-size:17px}.lesson strong{font-size:18px;line-height:1.5}.lesson-result{font-size:15px}
.offline-note{font-size:16px;line-height:1.8}.offline-note strong{font-size:18px}
.badge-card h2{font-size:22px;line-height:1.5}.badge-card p{font-size:16px;line-height:1.7}.badge-card>span{font-size:14px}
.reward-hero>div>span,.reward-hero>p{font-size:17px;line-height:1.6}
.parent-stats span{font-size:16px;line-height:1.6}.parent-panel h2{font-size:24px}.small-muted{font-size:16px;line-height:1.8}
.skill-list strong,.routine span,.empty-state p,.history-list strong{font-size:17px;line-height:1.7}
.skill-list>div>span,.skill-list .text-link,.history-list span{font-size:15px}
.parent-panel .button,.routine strong,.setting-row,.parent-panel summary{font-size:18px}
.setting-row select,.science-content,.privacy-note,.danger-link{font-size:16px}
.game-title{font-size:18px;line-height:1.5}.game-progress>span{font-size:15px;line-height:1.5}
.game-question h2{font-size:36px;line-height:1.5}
.answer-option{font-size:46px;padding-block:12px}.word-options .answer-option{font-size:28px;line-height:1.5;padding-block:10px}
.board-instruction,.selection-count,.hand-instruction{font-size:17px;line-height:1.6;color:#516c84}
.hand-total strong{font-size:40px;line-height:1.15}.hand-total small{font-size:13px;line-height:1.2;color:#546f87}
.game-feedback,.hint-button,.game-footer .button,.check-solution{font-size:18px;line-height:1.5}
.hint-panel{font-size:17px;line-height:1.8}
.coplay-prompt,.small-button,.basket-label,.share-plate small,.balance-controls>span{font-size:16px;line-height:1.5}
.target-chip,.whole-label{font-size:19px}.target-chip b{font-size:32px}
.target-number{font-size:82px}.train-car{font-size:36px}.whole-label strong{font-size:40px}.mystery-box{font-size:48px}
.celebration h2,.small-dialog h2{font-size:34px;line-height:1.5}
.celebration>p,.session-note strong,.dialog-actions .button,.small-dialog p{font-size:18px;line-height:1.7}
.session-note span,.transfer-task,.toast{font-size:17px;line-height:1.7}
@media(max-width:1100px) and (min-width:571px){
 .brand{font-size:20px}.main-nav a{font-size:16px}.hero h2{font-size:43px}
 .hero-actions .button{font-size:17px}.hero-actions .hero-secondary{font-size:15px!important}
 .activity-label h3{font-size:23px}
}
@media(max-width:570px){
 /* Face the wave toward the free side so mobile buttons do not cover it. */
 .hero-character .spidey{transform:scaleX(-1)}
 .hero-character .spidey text{transform-box:fill-box;transform-origin:center;transform:scaleX(-1)}
 .main-nav a{font-size:14px;line-height:1.45}.topbar-label{font-size:20px}.profile-button{font-size:17px}
 .home-heading h1{font-size:29px}.age-chip{font-size:12px}
 .hero-badge{font-size:13px}.hero h2{font-size:42px;line-height:1.4}
 .hero-actions .button{font-size:18px;line-height:1.5}.hero-actions .hero-secondary{font-size:16px!important;line-height:1.5}.hero-meta{font-size:14px}
 .daily-mini strong{font-size:14px}.daily-mini small{font-size:12px}.mini-stat strong{font-size:29px}
 .mini-stat{padding-block:12px}.floating-number{font-size:24px}.number-blocks b,.mini-train b{font-size:28px}
 .mini-stat>span,.mini-stat strong small{font-size:12px}
 .section-title h2{font-size:28px}.section-title .text-link{font-size:14px}
 .activity-tag{font-size:12px}.activity-label h3{font-size:22px;line-height:1.4;padding-left:0}
 .activity-card{padding-bottom:16px}
 .round-arrow{top:13px;bottom:auto}
 .review-card strong,.route-card strong{font-size:18px}.review-card small,.route-card small{font-size:14px}
 .page-footer{font-size:13px}.page-heading h1{font-size:32px}.page-heading p{font-size:16px}.page-heading .button{font-size:16px}
 .filter-chip{font-size:15px}.puzzle-filters>span{font-size:13px}
 .week-card summary strong{font-size:22px}.week-card summary em{font-size:15px}.week-card summary small{font-size:13px}
 .lesson strong{font-size:16px}.lesson small{font-size:12px}.lesson-result{font-size:13px}
 .route-progress>span,.route-progress small{font-size:14px}.offline-note{font-size:15px}.offline-note strong{font-size:17px}
 .badge-card h2{font-size:20px}.badge-card p{font-size:15px}.badge-card>span{font-size:13px}
 .parent-stats span{font-size:14px}.parent-panel h2{font-size:23px}.parent-panel .button{font-size:16px}
 .skill-list strong{font-size:16px}.skill-list>div>span,.skill-list .text-link{font-size:13px}
 .setting-row,.parent-panel summary{font-size:17px}.privacy-note,.danger-link{font-size:15px}
 .game-title{font-size:16px}.game-progress>span{font-size:14px}.game-question h2{font-size:33px;line-height:1.5}
 .answer-option{font-size:42px;padding-block:10px}.word-options .answer-option{font-size:26px;padding-block:8px}
 .target-number{font-size:70px}.train-car{font-size:34px}.whole-label strong{font-size:36px}.mystery-box{font-size:42px}
 .board-instruction,.selection-count,.hand-instruction{font-size:16px;line-height:1.55}
 .hand-total strong{font-size:36px}.hand-total small{font-size:13px}
 .game-feedback,.hint-button,.game-footer .button,.check-solution{font-size:17px;line-height:1.5}.hint-panel{font-size:16px}
 .celebration h2,.small-dialog h2{font-size:31px}
 .dialog-actions .button,.small-dialog p,.celebration>p{font-size:17px}
 .transfer-actions .button{font-size:16px}
}
@media(max-width:350px){
 .home-heading h1{font-size:27px}.hero h2{font-size:38px}.hero-actions .button{font-size:17px}
 .hero-actions .hero-secondary{font-size:15px!important}.activity-label h3{font-size:20px}
 .activity-card{height:196px;display:flex;flex-direction:column;align-items:stretch;padding-bottom:15px}
 .activity-tag{align-self:flex-start}.activity-visual{flex-shrink:0;margin-block:1px}
 .activity-label{margin-top:auto}.activity-label h3{line-height:1.3}
 .activity-tag{font-size:11px}.daily-mini strong{font-size:13px}.daily-mini small{font-size:11px}
 .mini-stat strong{font-size:27px}.game-question h2{font-size:30px}.answer-option{font-size:38px;padding-block:9px}
}
