.mascot-art{display:inline-grid;place-items:center;line-height:0}.mascot-art>svg{width:100%;height:auto;overflow:visible;animation:mascot-bob 3.4s ease-in-out infinite}.mascot-wave{transform-origin:172px 178px;animation:mascot-wave 2.8s ease-in-out infinite}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes mascot-wave{0%,to{transform:rotate(-52deg)}50%{transform:rotate(-32deg)}}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:18px 0;flex-wrap:wrap;position:relative;z-index:1}.header-left{display:flex;align-items:center;gap:var(--space-sm)}.brand{display:flex;align-items:center;gap:10px;background:var(--paper);padding:8px 20px 8px 10px;border-radius:999px;border:var(--sticker-border);box-shadow:0 5px 0 var(--shadow-ink);transition:transform .2s;transform:rotate(-1.2deg)}.brand:hover{transform:rotate(0) translateY(-2px)}.brand-emoji{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sun-soft);border:2.5px solid var(--ink);overflow:visible}.brand-emoji .mascot-art{width:34px;margin-top:8px}.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:4px}.brand-lockup small{font-size:10px;letter-spacing:2px;color:var(--ink-faint);text-transform:uppercase;font-weight:800}.brand-text{font-family:var(--font-display);font-size:21px;letter-spacing:.5px;color:var(--ink)}.icon-btn{width:46px;height:46px;border-radius:50%;background:var(--paper);border:var(--sticker-border);box-shadow:0 4px 0 var(--shadow-ink);font-size:22px;font-weight:800;display:grid;place-items:center;transition:transform .15s,box-shadow .15s}.icon-btn:hover{transform:translate(-2px)}.icon-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--shadow-ink)}.header-title{font-family:var(--font-heading);font-weight:800;font-size:24px;color:var(--ink)}.header-badges{display:flex;align-items:center;gap:8px}.header-pill{background:var(--paper);border:2.5px solid var(--ink);border-radius:999px;padding:7px 13px;color:var(--ink);font-size:13px;box-shadow:0 3px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s}.header-pill:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--shadow-ink)}.header-premium{background:var(--sun);color:var(--ink);border:2.5px solid var(--ink);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800;box-shadow:0 3px 0 var(--sun-deep),0 3px 0 2.5px var(--ink);transition:transform .15s}.header-premium:hover{transform:translateY(-2px) rotate(-1deg)}.header-admin{color:var(--ink-faint);font-size:12px;font-weight:800;text-decoration:underline}.header-profile{padding:7px 12px;border:2.5px solid var(--ink);border-radius:999px;background:var(--sky-soft);color:var(--ink);font-size:13px;font-weight:800;box-shadow:0 3px 0 var(--shadow-ink)}.header-parent{color:var(--ink-faint);font-size:12px;font-weight:800;text-decoration:underline}@media (max-width: 640px){.header{padding:12px 0}.header-pill,.header-premium{padding:6px 10px;font-size:12px}.header-admin,.header-parent{display:none}.header-title{order:3;width:100%;text-align:center;font-size:20px}}.language-selector{padding:var(--space-md) var(--space-sm) var(--space-lg)}.welcome-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:940px;min-height:250px;margin:0 auto 38px;padding:32px 40px;position:relative;border:4px solid var(--ink);border-radius:32px;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.5) 0,transparent 42%),linear-gradient(150deg,var(--sun) 0%,#FFB65E 55%,var(--coral) 100%);box-shadow:0 10px 0 var(--ink),0 10px 26px #33306b33}.welcome-hero:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:3px dashed rgba(255,255,255,.55);border-radius:24px;pointer-events:none}.welcome-hero-copy{position:relative;z-index:1;max-width:560px}.welcome-kicker{display:inline-block;padding:5px 12px;border:2.5px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:800;letter-spacing:1.5px;box-shadow:0 3px 0 var(--shadow-ink)}.welcome-hero h2{margin:14px 0 8px;font-family:var(--font-display);font-size:clamp(32px,5.4vw,54px);line-height:.98;color:var(--paper);letter-spacing:.5px;text-shadow:3px 3px 0 var(--ink),6px 6px 0 rgba(51,48,107,.22)}.welcome-hero h2 strong{color:var(--sun-soft)}.welcome-hero p{max-width:400px;color:var(--ink);font-size:17px;font-weight:700}.welcome-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.welcome-stats span{padding:7px 13px;border:2.5px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:700;box-shadow:0 3px 0 var(--shadow-ink)}.welcome-stats b{color:var(--berry-deep);font-size:17px}.welcome-characters{display:flex;align-items:flex-end;align-self:stretch;padding-top:16px}.welcome-characters .mascot-art{width:92px;margin-left:-20px;filter:drop-shadow(0 5px 0 rgba(51,48,107,.18))}.welcome-characters .mascot-art:nth-child(2){width:104px;z-index:1}.welcome-characters .mascot-art:nth-child(3){width:96px;z-index:2;transform:translateY(-10px)}.welcome-characters .mascot-art:nth-child(4){width:100px;z-index:1}.welcome-characters .mascot-art:nth-child(5){transform:scaleX(-1)}.choose-heading{display:flex;align-items:flex-end;justify-content:space-between;max-width:920px;margin:0 auto;text-align:left}.choose-heading .section-title{margin:8px 0 0;text-align:left;font-size:clamp(26px,4vw,38px)}.choose-heading .section-subtitle{margin:3px 0 0;text-align:left}.choose-mark{display:grid;place-items:center;width:62px;height:62px;border:var(--sticker-border);border-radius:20px;background:var(--sun-soft);font-size:32px;transform:rotate(-6deg);box-shadow:0 5px 0 var(--shadow-ink)}.languages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:18px;margin:var(--space-md) auto 0;max-width:920px}.lang-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 14px 16px;background:var(--paper);border:var(--sticker-border);border-radius:22px;box-shadow:0 6px 0 var(--shadow-ink);transition:transform .2s,box-shadow .2s;position:relative;min-height:250px}.lang-card:after{content:"MAIN";position:absolute;top:12px;right:12px;padding:3px 8px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:9px;font-weight:800;letter-spacing:1px}.lang-card:nth-child(odd){transform:rotate(-1.5deg)}.lang-card:nth-child(2n){transform:rotate(1.5deg)}.lang-card:hover{transform:rotate(0) translateY(-6px);box-shadow:0 12px 0 var(--shadow-ink)}.lang-card:active{transform:rotate(0) translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}.lang-card:nth-child(1){background:var(--coral-soft)}.lang-card:nth-child(2){background:var(--sun-soft)}.lang-card:nth-child(3){background:var(--leaf-soft)}.lang-card:nth-child(4){background:var(--berry-soft)}.lang-card:nth-child(5){background:var(--peach-soft)}.lang-mascot{display:grid;place-items:center;width:110px;height:108px;margin-bottom:2px}.lang-mascot .mascot-art{width:108px}.lang-flag{font-size:26px;line-height:1;filter:drop-shadow(0 2px 0 rgba(51,48,107,.2))}.lang-name{font-family:var(--font-heading);font-weight:800;color:var(--ink);font-size:20px;line-height:1.1}.lang-native{color:var(--ink-soft);font-size:14px;font-weight:700}.lang-cta{margin-top:8px;padding:5px 14px;border:2.5px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:800;box-shadow:0 3px 0 var(--shadow-ink)}@media (max-width: 640px){.language-selector{padding:14px 4px 22px}.welcome-hero{min-height:0;padding:24px 20px;margin-bottom:26px;border-radius:26px}.welcome-hero h2{font-size:33px}.welcome-hero p{font-size:15px}.welcome-characters{display:none}.choose-heading .section-title{font-size:25px}.choose-heading .section-subtitle{font-size:15px}.choose-mark{width:48px;height:48px;font-size:25px}.languages-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lang-card{padding:14px 8px;border-radius:18px;min-height:210px}.lang-mascot{width:84px;height:84px}.lang-mascot .mascot-art{width:84px}.lang-flag{font-size:22px}.lang-name{font-size:17px}.lang-native{font-size:13px}.lang-cta{font-size:12px;padding:4px 11px}}.progress-bar-container{background:var(--paper);border:var(--sticker-border);border-radius:var(--radius-md);box-shadow:0 5px 0 var(--shadow-ink);padding:14px var(--space-md);margin:var(--space-sm) 0}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.level-title{font-family:var(--font-heading);font-weight:800;font-size:18px;color:var(--ink)}.current-level{padding:2px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--berry-soft);font-weight:800;color:var(--ink);font-size:14px}.progress-fill{width:100%;height:18px;background:var(--cream);border:2.5px solid var(--ink);border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:repeating-linear-gradient(115deg,var(--sun) 0 12px,var(--sun-deep) 12px 24px);transition:width .5s ease-in-out}.adventure-hub{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.world-map-card{display:flex;justify-content:space-between;gap:14px;padding:20px;border:4px solid var(--ink);border-radius:var(--radius-lg);background:linear-gradient(150deg,var(--berry) 0%,#A28BF0 100%);color:var(--paper);box-shadow:0 7px 0 var(--ink)}.world-map-copy{min-width:0}.hub-kicker{display:inline-block;padding:3px 10px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:800;letter-spacing:1.4px}.world-map-card h3,.mission-card h3,.collection-card h3{margin:8px 0 4px;color:inherit;font-family:var(--font-display);font-size:24px;line-height:1.1}.world-map-card h3{text-shadow:2px 2px 0 rgba(51,48,107,.45)}.world-map-card p{color:#ffffffe6;font-size:13.5px;font-weight:700}.world-mascot{display:grid;align-content:center;justify-items:center;min-width:104px}.world-mascot .mascot-art{width:100px}.world-mascot small{margin-top:-4px;padding:3px 10px;border:2px solid var(--ink);border-radius:999px;background:var(--sun);color:var(--ink);font-size:12px;font-weight:800}.world-path{display:flex;align-items:center;gap:6px;margin-top:18px}.world-path i{width:22px;height:4px;border-radius:2px;background:#ffffff80}.world-stop{display:grid;place-items:center;width:40px;height:40px;border:2.5px solid var(--ink);border-radius:50%;background:var(--paper);font-size:20px;box-shadow:0 3px #33306b66}.world-stop.done{background:var(--sun)}.mission-card,.collection-card{padding:18px;border:var(--sticker-border);border-radius:var(--radius-lg);background:var(--paper);box-shadow:0 6px 0 var(--shadow-ink)}.hub-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mission-card h3,.collection-card h3{color:var(--ink);font-size:22px}.hub-heading>span{display:grid;place-items:center;width:46px;height:46px;border:2.5px solid var(--ink);border-radius:15px;background:var(--sun-soft);font-size:24px;transform:rotate(6deg)}.mission-list{display:grid;gap:9px;margin-top:12px}.mission-item{display:grid;grid-template-columns:36px 1fr 22px;align-items:center;gap:9px;padding:10px;border:2.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--cream);text-align:left;box-shadow:0 3px 0 var(--shadow-ink);transition:transform .15s}.mission-item:hover{transform:translateY(-2px)}.mission-item.done{background:var(--leaf-soft)}.mission-item>span{font-size:22px;text-align:center}.mission-item strong,.mission-item small{display:block;color:var(--ink)}.mission-item strong{font-size:13.5px}.mission-item small{color:var(--ink-soft);font-size:11.5px;font-weight:700}.mission-item>b{color:var(--berry-deep)}.mission-bar{height:8px;margin-top:5px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);overflow:hidden}.mission-bar i{display:block;height:100%;background:var(--berry)}.collection-card{grid-column:1 / -1}.collection-row{display:flex;gap:10px;margin-top:12px;overflow:auto;padding-bottom:4px}.collection-row button{display:grid;justify-items:center;gap:2px;min-width:74px;padding:10px 7px;border:2.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--cream);box-shadow:0 3px 0 var(--shadow-ink);transition:transform .15s}.collection-row button:hover{transform:translateY(-3px)}.collection-row button span{font-size:28px}.collection-row button small{color:var(--ink-soft);font-size:11.5px;font-weight:800}.collection-row .collection-more{background:var(--berry-soft)}@media (max-width: 720px){.adventure-hub{grid-template-columns:minmax(0,1fr)}.collection-card{grid-column:auto}.world-map-card{min-height:180px;flex-wrap:wrap}.world-map-copy{flex:1 1 60%}.world-mascot{min-width:76px}.world-mascot .mascot-art{width:74px}.world-path{flex-wrap:wrap;gap:5px}.world-path i{width:14px}.world-stop{width:34px;height:34px;font-size:17px}}.language-home{display:flex;flex-direction:column;gap:var(--space-md);animation:pop-in .35s ease-out}.mascot-hero{display:flex;gap:var(--space-lg);align-items:center;padding:var(--space-md) var(--space-lg);border:4px solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 8px 0 var(--ink);flex-wrap:wrap;position:relative}.hero-kicker{display:inline-block;padding:4px 11px;border:2.5px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-weight:800;font-size:13px;box-shadow:0 3px 0 var(--shadow-ink)}.mascot-emoji{width:168px;flex:0 0 auto;filter:drop-shadow(0 6px 0 rgba(51,48,107,.16))}.mascot-emoji .mascot-art{width:168px}.mascot-info{flex:1;min-width:240px}.mascot-info h2{margin-top:8px;font-family:var(--font-display);font-size:34px;line-height:1.05;color:var(--ink)}.mascot-species{color:var(--ink-soft);font-size:15px;font-weight:700;margin-bottom:var(--space-sm)}.greeting-box{position:relative;background:var(--paper);border:3px solid var(--ink);border-radius:20px;padding:14px 18px;margin-bottom:var(--space-sm);box-shadow:0 4px 0 var(--shadow-ink)}.greeting-box:before,.greeting-box:after{content:"";position:absolute;top:26px;left:-14px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:15px solid var(--ink)}.greeting-box:after{left:-9px;border-right-color:var(--paper)}.greeting-box p{font-size:19px;font-weight:800}.greeting-translation{color:var(--ink-soft);font-weight:700!important;font-size:15px!important}.speak-btn{background:var(--sun);padding:10px 22px;border:var(--sticker-border);border-radius:999px;font-weight:800;box-shadow:0 4px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s}.speak-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--shadow-ink)}.speak-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--shadow-ink)}.streak-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--sun-soft);border:var(--sticker-border);border-radius:var(--radius-md);padding:12px var(--space-md);box-shadow:0 5px 0 var(--shadow-ink);flex-wrap:wrap}.streak-emoji{font-size:28px}.streak-text{font-family:var(--font-heading);font-weight:800;font-size:20px;color:var(--ink)}.streak-best{font-size:14px;color:var(--ink-soft);font-weight:700}.home-section{display:flex;flex-direction:column;gap:var(--space-sm)}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.section-helper{color:var(--ink-soft);font-size:15px;font-weight:700}.section-sticker{display:grid;place-items:center;width:54px;height:54px;border:var(--sticker-border);border-radius:18px;background:var(--paper);font-size:28px;transform:rotate(5deg);box-shadow:0 4px 0 var(--shadow-ink)}.home-section-title{font-family:var(--font-display);font-size:26px;color:var(--ink);letter-spacing:.3px}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:var(--space-sm)}.category-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-md) var(--space-sm);border:var(--sticker-border);border-radius:var(--radius-md);box-shadow:0 5px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s;width:100%;min-height:150px}.category-card:hover{transform:translateY(-4px);box-shadow:0 9px 0 var(--shadow-ink)}.category-card:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}.category-emoji{font-size:42px;filter:drop-shadow(0 3px 0 rgba(51,48,107,.12))}.category-name{font-family:var(--font-heading);font-weight:800;font-size:18px;color:var(--ink)}.category-count{padding:2px 10px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);font-size:12px;font-weight:800;color:var(--ink)}.activity-menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-sm)}.activity-menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--space-md) var(--space-sm);border:var(--sticker-border);border-radius:var(--radius-md);box-shadow:0 5px 0 var(--shadow-ink);text-align:left;transition:transform .15s,box-shadow .15s;min-height:150px}.activity-menu-item:hover{transform:translateY(-4px);box-shadow:0 9px 0 var(--shadow-ink)}.activity-menu-item:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}.activity-menu-icon{display:grid;place-items:center;width:52px;height:52px;border:2.5px solid var(--ink);border-radius:16px;background:var(--paper);font-size:28px}.activity-menu-title{margin-top:4px;font-family:var(--font-heading);font-weight:800;font-size:19px;color:var(--ink);line-height:1.15}.new-badge{display:inline-block;margin-left:7px;padding:2px 7px;border:2px solid var(--ink);border-radius:999px;background:var(--coral);color:var(--paper);font-family:var(--font-body);font-size:9px;font-weight:800;vertical-align:middle}.activity-menu-desc{font-size:14px;color:var(--ink-soft);font-weight:700}.back-home-btn{align-self:center;padding:12px var(--space-lg);background:var(--paper);border:var(--sticker-border);border-radius:999px;font-weight:800;box-shadow:0 5px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s}.back-home-btn:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--shadow-ink)}.back-home-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}@media (max-width: 640px){.language-home{gap:18px}.mascot-hero{padding:20px 16px;gap:var(--space-sm);text-align:center;justify-content:center}.mascot-emoji,.mascot-emoji .mascot-art{width:128px}.mascot-info{min-width:0;width:100%}.mascot-info h2{font-size:27px}.greeting-box{padding:12px 14px}.greeting-box:before,.greeting-box:after{display:none}.greeting-box p{font-size:17px}.section-heading-row{align-items:flex-start}.section-sticker{width:44px;height:44px;font-size:23px}.home-section-title{font-size:22px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-card{min-height:130px;padding:14px 8px}.category-emoji{font-size:34px}.category-name{font-size:16px}.activity-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.activity-menu-item{min-height:142px;padding:14px 12px}.activity-menu-icon{width:44px;height:44px;font-size:24px}.activity-menu-title{font-size:16px}.activity-menu-desc{font-size:12.5px;line-height:1.3}}.activity-page{display:flex;flex-direction:column;gap:var(--space-md);animation:pop-in .35s ease-out}.activity-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.activity-page-header h2{font-family:var(--font-display);font-size:27px;color:var(--ink);flex:1;text-align:center;letter-spacing:.3px}.back-btn{padding:10px 18px;background:var(--paper);border:var(--sticker-border);border-radius:999px;font-weight:800;box-shadow:0 4px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s;white-space:nowrap}.back-btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--shadow-ink)}.back-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}.counter{padding:6px 14px;border:2.5px solid var(--ink);border-radius:999px;background:var(--paper);font-weight:800;color:var(--ink);font-size:14px;white-space:nowrap;box-shadow:0 3px 0 var(--shadow-ink)}.control-btn{padding:12px 24px;border:var(--sticker-border);border-radius:999px;font-weight:800;font-size:17px;box-shadow:0 5px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s}.control-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 var(--shadow-ink)}.control-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--shadow-ink)}.control-btn.primary{background:var(--berry);color:var(--paper)}.control-btn.secondary{background:var(--paper);color:var(--ink)}.control-btn.speak{background:var(--sun);color:var(--ink)}@media (max-width: 640px){.activity-page-header h2{font-size:21px}}.flashcard{width:100%;max-width:420px;height:330px;perspective:1200px;cursor:pointer;margin:0 auto}.flashcard-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .55s cubic-bezier(.4,.1,.2,1);transform-style:preserve-3d}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:4px solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 8px 0 var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);gap:var(--space-xs)}.flashcard-front{background:var(--sun-soft)}.flashcard-back{background:var(--leaf-soft);transform:rotateY(180deg)}.card-emoji{font-size:96px;filter:drop-shadow(0 5px 0 rgba(51,48,107,.14))}.card-word{font-family:var(--font-display);font-size:36px;color:var(--ink);letter-spacing:.3px}.card-hint{padding:3px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);font-size:13px;font-weight:800;color:var(--ink)}.card-translation{font-family:var(--font-display);font-size:38px;color:var(--ink)}.card-pronounce{font-size:17px;color:var(--ink-soft);font-weight:700}.learned-badge{background:var(--leaf);color:var(--paper);border:2.5px solid var(--ink);padding:4px 14px;border-radius:999px;font-size:14px;font-weight:800;animation:stamp .4s ease-out}.card-controls{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.card-dots{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.dot{width:14px;height:14px;border-radius:50%;border:2.5px solid var(--ink);background:var(--paper);transition:all .25s}.dot.active{background:var(--sun);transform:scale(1.35)}.dot.done{background:var(--leaf)}.game-instruction{text-align:center;color:var(--ink-soft);font-size:17px;font-weight:700}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);max-width:520px;margin:0 auto}.memory-card{aspect-ratio:1;border:var(--sticker-border);border-radius:var(--radius-md);background:var(--sky-soft);box-shadow:0 5px 0 var(--shadow-ink);font-size:40px;font-weight:800;color:var(--ink);display:grid;place-items:center;transition:transform .25s,background .25s,box-shadow .25s;min-height:92px}.memory-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 0 var(--shadow-ink)}.memory-card.revealed{background:var(--paper);transform:translateY(-2px)}.memory-card.matched{background:var(--leaf-soft);animation:stamp .4s ease-out}.win-banner{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);background:var(--paper);border:4px solid var(--ink);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:0 8px 0 var(--ink);text-align:center;font-weight:800;font-size:18px;animation:pop-in .35s ease-out}@media (max-width: 640px){.memory-grid{grid-template-columns:repeat(3,1fr);gap:10px}.memory-card{font-size:30px;min-height:72px}}.quiz-progress{display:flex;flex-direction:column;gap:8px;font-weight:800;color:var(--ink-soft);font-size:15px}.quiz-bar{height:16px;background:var(--paper);border:2.5px solid var(--ink);border-radius:999px;overflow:hidden}.quiz-bar-fill{height:100%;background:var(--leaf);transition:width .35s ease}.quiz-question{text-align:center;padding:var(--space-sm)}.quiz-emoji{font-size:96px;display:block;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 5px 0 rgba(51,48,107,.14))}.quiz-question p{font-family:var(--font-display);font-size:24px;color:var(--ink);margin-top:var(--space-xs)}.quiz-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);max-width:520px;margin:0 auto}.quiz-option{padding:var(--space-md) var(--space-sm);border:var(--sticker-border);border-radius:var(--radius-md);background:var(--paper);box-shadow:0 5px 0 var(--shadow-ink);font-weight:800;font-size:19px;color:var(--ink);transition:transform .15s,background .2s,box-shadow .15s}.quiz-option:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 0 var(--shadow-ink)}.quiz-option:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}.quiz-option.correct{background:var(--leaf);color:var(--paper);animation:stamp .35s ease-out}.quiz-option.wrong{background:var(--coral);color:var(--paper)}.quiz-feedback{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);font-weight:800;font-size:19px;text-align:center}.result-screen{text-align:center;padding:var(--space-lg);background:var(--paper);border:4px solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 8px 0 var(--ink);display:flex;flex-direction:column;gap:var(--space-sm);align-items:center;animation:pop-in .35s ease-out}.result-emoji{font-size:84px}.result-screen h2{font-family:var(--font-display);font-size:32px;color:var(--ink)}.result-score{padding:6px 20px;border:2.5px solid var(--ink);border-radius:999px;background:var(--sun-soft);font-size:24px;font-weight:800}.result-message{color:var(--ink-soft);font-size:18px;font-weight:700}.result-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}@media (max-width: 640px){.quiz-options{grid-template-columns:1fr}}.writing-card{max-width:480px;margin:0 auto;background:var(--paper);border:4px solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 8px 0 var(--ink);padding:var(--space-lg) var(--space-md);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.writing-emoji{font-size:92px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 5px 0 rgba(51,48,107,.14))}.writing-prompt{display:flex;align-items:center;gap:var(--space-sm)}.writing-word{font-family:var(--font-display);font-size:32px;color:var(--ink)}.speak-mini{width:46px;height:46px;border-radius:50%;border:var(--sticker-border);background:var(--sun);font-size:22px;box-shadow:0 4px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s}.speak-mini:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--shadow-ink)}.speak-mini:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}.writing-hint{color:var(--ink-soft);font-size:15px;font-weight:700}.writing-input{width:100%;padding:14px 18px;border-radius:999px;border:3px solid var(--ink);background:var(--cream);font-family:var(--font-body);font-size:20px;font-weight:800;color:var(--ink);text-align:center;outline:none;box-shadow:inset 0 3px #33306b12;transition:background .2s}.writing-input:focus{background:var(--sun-soft)}.writing-input::placeholder{color:var(--ink-faint);font-weight:700}.writing-feedback{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);font-weight:800;font-size:18px;text-align:center}.writing-feedback.correct{color:var(--leaf-deep)}.writing-feedback.wrong{color:var(--coral-deep)}.story-picker{display:flex;gap:var(--space-sm);flex-wrap:wrap}.story-pick{padding:10px 18px;border:var(--sticker-border);border-radius:999px;background:var(--paper);box-shadow:0 4px 0 var(--shadow-ink);font-weight:800;transition:transform .15s,background .2s,box-shadow .15s}.story-pick:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--shadow-ink)}.story-pick.active{background:var(--sun)}.comic-book{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-md)}.comic-panel{position:relative;background:var(--paper);border:5px solid var(--ink);border-radius:24px;box-shadow:10px 10px 0 var(--shadow-ink);padding:var(--space-lg) var(--space-md);display:flex;flex-direction:column;align-items:center;gap:var(--space-md);overflow:hidden;min-height:440px;justify-content:center}.comic-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(51,48,107,.07) 2px,transparent 2px);background-size:18px 18px;pointer-events:none}.comic-effect{position:absolute;font-size:52px;animation:float 3s ease-in-out infinite;pointer-events:none;filter:drop-shadow(0 4px 0 rgba(51,48,107,.16))}.comic-effect.top-left{top:12px;left:16px}.comic-effect.bottom-right{bottom:12px;right:16px}.comic-scene{width:176px;height:176px;border-radius:50%;border:4px solid var(--ink);background:var(--sun-soft);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 0 var(--shadow-ink)}.comic-emoji{font-size:100px;border:0;background:transparent;cursor:pointer;transition:transform .2s}.comic-emoji:hover{transform:scale(1.08) rotate(-4deg)}.comic-emoji.found{filter:drop-shadow(0 0 12px var(--sun))}.find-hint{padding:3px 11px;border:2px solid var(--ink);border-radius:999px;background:var(--sun-soft);color:var(--ink);font-size:12px;font-weight:800}.story-reward{padding:13px;border:2.5px solid var(--ink);border-radius:16px;background:var(--leaf-soft);color:var(--ink);font-weight:700;text-align:center;box-shadow:0 4px 0 var(--shadow-ink)}.story-reward strong{color:var(--coral-deep)}.comic-speech{position:relative;background:var(--sun-soft);border:4px solid var(--ink);border-radius:20px;padding:var(--space-md) var(--space-lg);max-width:90%;text-align:center}.comic-speech-arrow{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:18px solid var(--ink)}.comic-text{font-family:var(--font-display);font-size:26px;color:var(--ink);line-height:1.3}.comic-caption{border:2.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--cream);padding:12px var(--space-md);text-align:center}.comic-translation{color:var(--ink-soft);font-size:18px;font-weight:700}.comic-listen{position:absolute;top:16px;right:16px;width:52px;height:52px;border-radius:50%;border:var(--sticker-border);background:var(--paper);font-size:24px;box-shadow:0 4px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s;z-index:1}.comic-listen:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--shadow-ink)}.story-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.page-indicator{padding:6px 14px;border:2.5px solid var(--ink);border-radius:999px;background:var(--paper);font-weight:800;font-size:14px;color:var(--ink)}@media (max-width: 640px){.comic-panel{padding:var(--space-md) 14px;min-height:400px;box-shadow:6px 6px 0 var(--shadow-ink)}.comic-text{font-size:21px}.comic-emoji{font-size:84px}.comic-scene{width:142px;height:142px}.comic-effect{font-size:38px}}.song-picker{display:flex;gap:var(--space-sm);flex-wrap:wrap}.song-pick{padding:10px 18px;border:var(--sticker-border);border-radius:999px;background:var(--paper);box-shadow:0 4px 0 var(--shadow-ink);font-weight:800;transition:transform .15s,background .2s,box-shadow .15s}.song-pick:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--shadow-ink)}.song-pick.active{background:var(--sun)}.song-card{max-width:560px;margin:0 auto;background:var(--paper);border:4px solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 8px 0 var(--ink);padding:var(--space-lg) var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.song-title{font-family:var(--font-display);font-size:29px;color:var(--ink);text-align:center}.song-subtitle{text-align:center;color:var(--ink-soft);font-size:16px;font-weight:700;margin-top:-12px}.song-lyrics{display:flex;flex-direction:column;gap:10px}.song-line{border:2.5px solid var(--ink);border-radius:var(--radius-sm);padding:12px 16px;background:var(--cream)}.song-line:nth-child(odd){background:var(--sky-soft)}.song-line:nth-child(2n){background:var(--bubble-soft)}.song-line-text{font-size:20px;font-weight:800;color:var(--ink)}.song-line-translation{font-size:15px;color:var(--ink-soft);font-weight:700}.song-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.tracing-layout{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);max-width:640px;margin:0 auto}.tracing-guide{display:flex;align-items:center;gap:var(--space-sm)}.tracing-letter{font-family:var(--font-display);font-size:84px;color:var(--ink);animation:float 3s ease-in-out infinite}.tracing-canvas-wrap{position:relative;width:100%;max-width:520px;display:flex;justify-content:center}.tracing-canvas{position:relative;z-index:1;background:repeating-linear-gradient(var(--paper) 0 30px,rgba(79,184,232,.22) 30px 32px);border:4px solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 7px 0 var(--ink);touch-action:none;cursor:crosshair}.tracing-ghost{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:150px;color:#33306b1c;pointer-events:none;-webkit-user-select:none;user-select:none}.tracing-info{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.tracing-romanization{padding:4px 16px;border:2.5px solid var(--ink);border-radius:999px;background:var(--sky-soft);font-family:var(--font-heading);font-weight:800;font-size:24px;color:var(--ink)}.tracing-example{font-size:18px;color:var(--ink-soft);font-weight:700}.tracing-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.tracing-nav{display:flex;gap:var(--space-sm);justify-content:center;width:100%}.tracing-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--leaf);color:var(--paper);border:var(--sticker-border);font-weight:800;padding:13px 26px;border-radius:999px;box-shadow:0 6px 0 var(--shadow-ink);animation:stamp .35s ease-out;z-index:40}.listening-question{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.listen-big{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 38px;background:var(--sun);border:4px solid var(--ink);border-radius:999px;font-family:var(--font-heading);font-weight:800;font-size:22px;color:var(--ink);box-shadow:0 7px 0 var(--ink);transition:transform .15s,box-shadow .15s}.listen-big:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 0 var(--ink)}.listen-big:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 var(--ink)}.listen-big-icon{font-size:42px;animation:wiggle 1.6s ease-in-out infinite}.listen-hint{color:var(--ink-soft);font-size:15px;font-weight:700}.listening-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(134px,1fr));gap:var(--space-sm)}.listening-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-md) var(--space-sm);background:var(--paper);border:var(--sticker-border);border-radius:var(--radius-md);box-shadow:0 5px 0 var(--shadow-ink);transition:transform .15s,background .2s,box-shadow .15s}.listening-option:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 9px 0 var(--shadow-ink)}.listening-option:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}.listening-option.correct{background:var(--leaf-soft);animation:stamp .35s ease-out}.listening-option.wrong{background:var(--coral-soft)}.listening-emoji{font-size:48px}.listening-word{font-weight:800;color:var(--ink)}.phrase-card{max-width:520px;margin:0 auto;background:var(--paper);border:4px solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 8px 0 var(--ink);padding:var(--space-lg) var(--space-md);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.phrase-emoji{font-size:82px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 5px 0 rgba(51,48,107,.14))}.phrase-original{font-family:var(--font-display);font-size:33px;color:var(--ink);line-height:1.15}.phrase-pronunciation{padding:3px 14px;border:2.5px solid var(--ink);border-radius:999px;background:var(--sky-soft);color:var(--ink);font-size:17px;font-weight:800}.phrase-translation{color:var(--ink-soft);font-size:20px;font-weight:700;margin-bottom:var(--space-sm)}.phrase-picker{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}.phrase-pick{width:54px;height:54px;border-radius:50%;border:var(--sticker-border);background:var(--paper);box-shadow:0 4px 0 var(--shadow-ink);font-size:24px;transition:transform .15s,box-shadow .15s}.phrase-pick:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--shadow-ink)}.phrase-pick.active{background:var(--sun);transform:translateY(-2px) rotate(-4deg)}.phrase-nav{display:flex;gap:var(--space-sm);justify-content:center}.alphabet-detail{display:flex;align-items:center;gap:var(--space-lg);background:var(--paper);border:4px solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 8px 0 var(--ink);padding:var(--space-md) var(--space-lg);flex-wrap:wrap;justify-content:center}.alphabet-big{display:grid;place-items:center;min-width:150px;min-height:150px;border:4px solid var(--ink);border-radius:var(--radius-md);background:var(--sun-soft);box-shadow:0 6px 0 var(--shadow-ink);font-family:var(--font-display);font-size:96px;line-height:1;color:var(--ink);animation:float 3s ease-in-out infinite;text-align:center}.alphabet-info{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:200px}.alphabet-romanization{padding:4px 16px;border:2.5px solid var(--ink);border-radius:999px;background:var(--sky-soft);font-family:var(--font-heading);font-weight:800;font-size:24px;color:var(--ink)}.alphabet-example{font-size:20px;color:var(--ink-soft);font-weight:700}.alphabet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px}.alphabet-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--paper);border:var(--sticker-border);border-radius:var(--radius-sm);box-shadow:0 4px 0 var(--shadow-ink);transition:transform .15s,background .2s,box-shadow .15s}.alphabet-cell:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--shadow-ink)}.alphabet-cell:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}.alphabet-cell.active{background:var(--sun)}.alphabet-cell-letter{font-family:var(--font-display);font-size:36px;color:var(--ink);line-height:1.1}.alphabet-cell-example{font-size:13px;color:var(--ink-soft);font-weight:700;text-align:center;word-break:break-word}@media (max-width: 640px){.alphabet-detail{padding:var(--space-md) 14px;gap:var(--space-md)}.alphabet-big{min-width:118px;min-height:118px;font-size:72px}.alphabet-info{align-items:center;text-align:center;min-width:0}.alphabet-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:9px}.alphabet-cell-letter{font-size:29px}}.new-game-board{display:grid;gap:20px;max-width:720px;margin:0 auto}.game-instructions{padding:14px 18px;border:2.5px solid var(--ink);border-radius:18px;background:var(--paper);color:var(--ink);font-weight:700;text-align:center;box-shadow:0 4px 0 var(--shadow-ink)}.target-card{display:grid;gap:8px;justify-items:center;padding:24px;border:4px solid var(--ink);border-radius:var(--radius-lg);background:linear-gradient(150deg,var(--berry) 0%,#A28BF0 100%);color:var(--paper);box-shadow:0 7px 0 var(--ink);cursor:pointer;transition:transform .15s,box-shadow .15s}.target-card:hover{transform:translateY(-3px);box-shadow:0 10px 0 var(--ink)}.target-card:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ink)}.target-card small{color:#ffffffe6;font-size:13px;font-weight:800}.target-card strong{font-family:var(--font-display);font-size:33px;text-shadow:2px 2px 0 rgba(51,48,107,.45)}.target-card span{padding:4px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:800}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.choice-button{display:grid;gap:5px;justify-items:center;min-height:128px;padding:17px;border:var(--sticker-border);border-radius:var(--radius-md);background:var(--paper);box-shadow:0 5px 0 var(--shadow-ink);font-weight:800;color:var(--ink);transition:transform .15s,background .2s,box-shadow .15s}.choice-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 9px 0 var(--shadow-ink)}.choice-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}.choice-button span{font-size:50px}.choice-button.correct{background:var(--leaf-soft);animation:stamp .35s ease-out}.choice-button.wrong{background:var(--coral-soft)}.choice-button small{font-size:13px;color:var(--ink-soft);font-weight:700}.game-feedback{text-align:center;padding:15px;border:2.5px solid var(--ink);border-radius:18px;background:var(--sun-soft);color:var(--ink);font-weight:800;box-shadow:0 4px 0 var(--shadow-ink)}.game-feedback .control-btn{display:block;margin:12px auto 0}.game-result{display:grid;justify-items:center;gap:12px;padding:36px 20px;border:4px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);box-shadow:0 8px 0 var(--ink);text-align:center;animation:pop-in .35s ease-out}.game-result>span{font-size:80px}.game-result h2{font-family:var(--font-display);font-size:31px;color:var(--ink)}.game-result p{color:var(--ink-soft);font-weight:700}.score-big{padding:6px 20px;border:2.5px solid var(--ink);border-radius:999px;background:var(--sun-soft);font-family:var(--font-display);font-size:26px;color:var(--ink)!important}.dress-stage{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.dress-character{display:grid;place-items:center;min-height:300px;padding:12px;border:4px solid var(--ink);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 78%,var(--sun-soft) 0 46%,var(--sky-soft) 100%);box-shadow:0 7px 0 var(--ink)}.dress-character .mascot-art{width:210px}.dress-items{display:grid;gap:10px}.dress-item{display:flex;align-items:center;gap:11px;padding:13px;border:2.5px solid var(--ink);border-radius:16px;background:var(--paper);color:var(--ink);font-weight:800;box-shadow:0 4px 0 var(--shadow-ink);text-align:left;transition:transform .15s,background .2s}.dress-item:hover{transform:translateY(-2px)}.dress-item span{font-size:34px}.dress-item small{display:block;color:var(--ink-soft);font-size:11.5px;font-weight:700}.dress-item.selected{background:var(--sun-soft)}.dress-item.selected small{color:var(--leaf-deep);font-weight:800}.dress-finish{justify-self:center}.recipe-card{display:grid;gap:8px;padding:20px;border:var(--sticker-border);border-radius:var(--radius-lg);background:var(--sun-soft);box-shadow:0 6px 0 var(--shadow-ink);text-align:center}.recipe-card span{font-size:58px}.recipe-card strong{font-family:var(--font-display);font-size:25px;color:var(--ink)}.recipe-card small{color:var(--ink-soft);font-weight:700}.recipe-steps{display:flex;justify-content:center;gap:7px;margin-top:5px}.recipe-steps i{width:28px;height:10px;border:2px solid var(--ink);border-radius:999px;background:var(--paper)}.recipe-steps i.active{background:var(--coral)}.maze-path{display:flex;justify-content:center;gap:12px}.maze-path span{display:grid;place-items:center;width:48px;height:48px;border:2.5px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font-weight:800;box-shadow:0 4px 0 var(--shadow-ink)}.maze-path span.active{background:var(--berry);color:var(--paper)}.detective-scene{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:22px;border:4px solid var(--ink);border-radius:var(--radius-lg);background:linear-gradient(var(--sky-soft),var(--leaf-soft));box-shadow:0 7px 0 var(--ink)}.detective-object{display:grid;place-items:center;min-height:100px;border:2.5px solid var(--ink);border-radius:18px;background:var(--paper);font-size:52px;box-shadow:0 4px 0 var(--shadow-ink);transition:transform .2s,background .2s}.detective-object:hover:not(:disabled){transform:translateY(-3px) rotate(-3deg);background:var(--sun-soft)}.detective-object.correct{background:var(--leaf-soft);animation:stamp .35s ease-out}.detective-object.wrong{background:var(--coral-soft)}@media (max-width: 580px){.choice-grid,.dress-stage{grid-template-columns:1fr}.dress-character{min-height:240px}.dress-character .mascot-art{width:168px}.detective-scene{grid-template-columns:repeat(2,1fr);padding:14px}.target-card strong{font-size:27px}}.quest-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#33306b80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:quest-fade .2s ease-out}.quest-panel{width:min(620px,100%);max-height:min(720px,92vh);overflow:auto;position:relative;padding:28px 24px;border:4px solid var(--ink);border-radius:var(--radius-lg);background:var(--cream);box-shadow:0 10px 0 var(--ink),0 22px 46px #33306b4d;animation:quest-pop .3s ease-out}.quest-close{position:absolute;top:14px;right:16px;width:40px;height:40px;border:2.5px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font-size:26px;line-height:1;box-shadow:0 3px 0 var(--shadow-ink)}.quest-heading{display:flex;align-items:center;gap:16px;padding-right:42px}.quest-map{display:grid;place-items:center;width:76px;height:76px;flex:0 0 auto;border:var(--sticker-border);border-radius:24px;background:var(--leaf-soft);font-size:42px;transform:rotate(-5deg);box-shadow:0 5px 0 var(--shadow-ink)}.quest-kicker{display:inline-block;padding:3px 10px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:800;letter-spacing:1.6px}.quest-heading h2{margin-top:6px;color:var(--ink);font-family:var(--font-display);font-size:32px;line-height:1.05}.quest-heading p:last-child{color:var(--ink-soft);font-size:15px;font-weight:700}.quest-stats{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 14px}.quest-stats span{padding:7px 13px;border:2.5px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:800;box-shadow:0 3px 0 var(--shadow-ink)}.quest-list{display:grid;gap:12px}.quest-card{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:14px;border:var(--sticker-border);border-radius:var(--radius-md);background:var(--paper);box-shadow:0 5px 0 var(--shadow-ink)}.quest-card.quest-done{background:var(--leaf-soft)}.quest-icon{display:grid;place-items:center;width:52px;height:52px;border:2.5px solid var(--ink);border-radius:16px;background:var(--sun-soft);font-size:28px}.quest-title-row{display:flex;justify-content:space-between;gap:8px;align-items:center}.quest-title-row h3{color:var(--ink);font-size:17px}.quest-title-row span{color:var(--sun-deep);font-size:13px;font-weight:800}.quest-content p{color:var(--ink-soft);font-size:13px;font-weight:700;line-height:1.3}.quest-progress{height:9px;margin-top:8px;overflow:hidden;border:2px solid var(--ink);border-radius:999px;background:var(--cream)}.quest-progress span{display:block;height:100%;background:var(--leaf);transition:width .3s ease}.quest-action{min-width:88px;padding:10px;border:2.5px solid var(--ink);border-radius:999px;background:var(--berry);color:var(--paper);font-size:13px;font-weight:800;box-shadow:0 4px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s}.quest-action:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--shadow-ink)}.quest-action:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shadow-ink)}@keyframes quest-fade{0%{opacity:0}to{opacity:1}}@keyframes quest-pop{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 520px){.quest-panel{padding:22px 14px 16px;border-radius:22px}.quest-heading h2{font-size:26px}.quest-map{width:62px;height:62px;font-size:33px}.quest-card{grid-template-columns:44px 1fr}.quest-icon{width:44px;height:44px;font-size:23px}.quest-action{grid-column:2;justify-self:start}}.premium-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:18px;background:#33306b85;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.premium-panel{width:min(550px,100%);max-height:92vh;overflow:auto;position:relative;padding:28px 24px;border:4px solid var(--ink);border-radius:var(--radius-lg);background:var(--cream);box-shadow:0 10px 0 var(--ink),0 22px 46px #33306b4d;animation:pop-in .3s ease-out}.premium-close{position:absolute;top:13px;right:15px;width:40px;height:40px;border:2.5px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font-size:25px;box-shadow:0 3px 0 var(--shadow-ink)}.premium-hero{display:flex;align-items:center;gap:14px;padding-right:42px}.premium-hero>span{display:grid;place-items:center;width:68px;height:68px;flex:0 0 auto;border:var(--sticker-border);border-radius:20px;background:var(--sun);font-size:36px;transform:rotate(-6deg);box-shadow:0 5px 0 var(--shadow-ink)}.premium-kicker{display:inline-block;padding:3px 10px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:800;letter-spacing:1.5px}.premium-panel h2{margin-top:6px;color:var(--ink);font-family:var(--font-display);font-size:29px;line-height:1.05}.premium-copy{margin:18px 0 14px;color:var(--ink-soft);font-size:15px;font-weight:700}.premium-price{display:inline-block;margin:12px 0;padding:8px 20px;border:var(--sticker-border);border-radius:999px;background:var(--sun-soft);color:var(--ink);font-family:var(--font-display);font-size:28px;box-shadow:0 4px 0 var(--shadow-ink)}.premium-price small{color:var(--ink-soft);font-family:var(--font-body);font-size:13px;font-weight:700}.premium-preview-button{padding:9px 14px;border:2.5px solid var(--ink);border-radius:999px;color:var(--ink);background:var(--berry-soft);font-weight:800;box-shadow:0 3px 0 var(--shadow-ink)}.premium-preview{margin:12px 0;padding:13px;border:2.5px solid var(--ink);border-radius:16px;background:var(--sun-soft);color:var(--ink);font-size:13px;font-weight:700}.premium-preview p{margin:5px 0}.premium-preview small{color:var(--ink-soft)}.premium-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.premium-benefits span{padding:7px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:800}.premium-form{display:grid;gap:12px}.premium-form label{display:grid;gap:5px;color:var(--ink);font-size:14px;font-weight:800}.premium-form input{width:100%;padding:12px 14px;border:2.5px solid var(--ink);border-radius:14px;background:var(--paper);font:inherit;font-weight:700;color:var(--ink);outline:none}.premium-form input:focus{background:var(--sun-soft)}.premium-submit{margin-top:4px;padding:13px 16px;border:var(--sticker-border);border-radius:999px;background:var(--berry);color:var(--paper);font-weight:800;box-shadow:0 5px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s}.premium-submit:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--shadow-ink)}.premium-submit:active{transform:translateY(3px);box-shadow:0 1px 0 var(--shadow-ink)}.premium-error{color:var(--coral-deep);font-size:13px;font-weight:800}.premium-success{margin-top:12px;color:var(--leaf-deep);font-weight:800}.premium-note{margin-top:16px;color:var(--ink-faint);font-size:12px;font-weight:700}.premium-active{margin-top:20px;padding:16px;border:2.5px solid var(--ink);border-radius:18px;background:var(--leaf-soft);color:var(--ink);box-shadow:0 4px 0 var(--shadow-ink)}.premium-active p{margin:3px 0 10px;color:var(--ink-soft);font-weight:700}.premium-active button,.license-row button{padding:7px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:800}.license-list{display:grid;gap:9px;margin-top:20px}.license-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;border:2.5px solid var(--ink);border-radius:14px;background:var(--paper)}.license-row div{display:grid;gap:2px}.license-row small{color:var(--ink-soft);font-weight:700}.license-row button{color:var(--coral-deep)}@media (max-width: 520px){.premium-panel{padding:23px 16px;border-radius:22px}.premium-panel h2{font-size:25px}}.profile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;padding:18px;background:#33306b85;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-panel{width:min(520px,100%);position:relative;padding:28px 24px;border:4px solid var(--ink);border-radius:var(--radius-lg);background:var(--cream);box-shadow:0 10px 0 var(--ink),0 22px 46px #33306b4d;animation:pop-in .3s ease-out}.profile-close{position:absolute;top:13px;right:15px;width:40px;height:40px;border:2.5px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font-size:25px;box-shadow:0 3px 0 var(--shadow-ink)}.profile-kicker{display:inline-block;padding:3px 10px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:800;letter-spacing:1.5px}.profile-panel h2{margin-top:6px;color:var(--ink);font-family:var(--font-display);font-size:30px}.profile-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 14px}.profile-card{display:grid;gap:3px;justify-items:center;padding:14px 7px;border:2.5px solid var(--ink);border-radius:18px;background:var(--paper);box-shadow:0 4px 0 var(--shadow-ink);transition:transform .15s}.profile-card:hover{transform:translateY(-3px)}.profile-card.active{background:var(--sun-soft)}.profile-card span{font-size:38px}.profile-card strong{color:var(--ink);font-size:14px}.profile-card small{color:var(--berry-deep);font-size:11px;font-weight:800}.profile-add,.profile-submit{width:100%;padding:13px;border:var(--sticker-border);border-radius:999px;background:var(--berry);color:var(--paper);font-weight:800;box-shadow:0 5px 0 var(--shadow-ink);transition:transform .15s,box-shadow .15s}.profile-add:hover,.profile-submit:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--shadow-ink)}.profile-form{display:grid;gap:11px}.profile-form label{display:grid;gap:5px;color:var(--ink);font-size:14px;font-weight:800}.profile-form input{padding:12px;border:2.5px solid var(--ink);border-radius:14px;background:var(--paper);font:inherit;font-weight:700;color:var(--ink);outline:none}.profile-form input:focus{background:var(--sun-soft)}.avatar-picker{display:flex;gap:8px;flex-wrap:wrap}.avatar-picker button{width:46px;height:46px;border:2.5px solid var(--ink);border-radius:14px;background:var(--paper);font-size:24px;box-shadow:0 3px 0 var(--shadow-ink)}.avatar-picker button.selected{background:var(--sun);transform:rotate(-5deg)}.profile-note{margin-top:15px;color:var(--ink-faint);font-size:12px;font-weight:700}@media (max-width: 520px){.profile-panel{padding:23px 16px;border-radius:22px}.profile-list{grid-template-columns:repeat(2,1fr)}}.parent-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;padding:18px;background:#33306b85;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.parent-panel{width:min(620px,100%);max-height:92vh;overflow:auto;position:relative;padding:28px 24px;border:4px solid var(--ink);border-radius:var(--radius-lg);background:var(--cream);box-shadow:0 10px 0 var(--ink),0 22px 46px #33306b4d;animation:pop-in .3s ease-out}.parent-close{position:absolute;top:13px;right:15px;width:40px;height:40px;border:2.5px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font-size:25px;box-shadow:0 3px 0 var(--shadow-ink)}.parent-kicker{display:inline-block;padding:3px 10px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:800;letter-spacing:1.5px}.parent-panel h2{margin-top:6px;color:var(--ink);font-family:var(--font-display);font-size:31px}.parent-intro{color:var(--ink-soft);font-weight:700}.parent-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.parent-stats div{display:grid;gap:2px;padding:14px 10px;border:2.5px solid var(--ink);border-radius:18px;background:var(--paper);text-align:center;box-shadow:0 4px 0 var(--shadow-ink)}.parent-stats div:nth-child(1){background:var(--sun-soft)}.parent-stats div:nth-child(2){background:var(--leaf-soft)}.parent-stats div:nth-child(3){background:var(--bubble-soft)}.parent-stats b{color:var(--ink);font-family:var(--font-display);font-size:28px}.parent-stats span{color:var(--ink-soft);font-size:12px;font-weight:800}.parent-report{padding:18px 16px;border:2.5px solid var(--ink);border-radius:20px;background:var(--paper);box-shadow:0 4px 0 var(--shadow-ink)}.parent-report h3{color:var(--ink);font-size:18px;margin-bottom:12px}.report-row{display:grid;grid-template-columns:40px 1fr 65px;align-items:center;gap:9px;margin:11px 0;color:var(--ink-soft);font-size:13px;font-weight:700}.report-row>div{height:12px;overflow:hidden;border:2px solid var(--ink);border-radius:999px;background:var(--cream)}.report-row i{display:block;height:100%;background:var(--leaf)}.report-row b{font-size:12px;text-align:right;color:var(--ink)}.parent-tip{margin-top:14px;padding:13px;border:2.5px solid var(--ink);border-radius:16px;background:var(--sun-soft);color:var(--ink);font-size:13px;font-weight:700}.parent-note{margin-top:15px;color:var(--ink-faint);font-size:12px;font-weight:700}@media (max-width: 520px){.parent-panel{padding:23px 16px;border-radius:22px}.parent-panel h2{font-size:26px}.parent-stats b{font-size:23px}.parent-stats div{padding:10px 5px}}.app-container{max-width:1080px;margin:0 auto;padding:0 var(--space-sm) var(--space-lg);position:relative}.ambient-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.ambient-sun{position:absolute;top:6vh;right:7vw;display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:var(--sun);border:3px solid var(--ink);font-size:46px;box-shadow:0 6px 0 var(--shadow-ink);animation:sun-breathe 5s ease-in-out infinite}.ambient-cloud{position:absolute;width:128px;height:38px;border-radius:40px;background:#ffffffe6;box-shadow:0 5px #33306b14;animation:cloud-drift 34s linear infinite}.ambient-cloud:before,.ambient-cloud:after,.ambient-cloud i{content:"";position:absolute;display:block;border-radius:50%;background:inherit}.ambient-cloud:before{width:54px;height:54px;left:22px;bottom:8px}.ambient-cloud:after{width:70px;height:70px;left:55px;bottom:6px}.ambient-cloud i:nth-child(1){width:45px;height:45px;left:86px;bottom:8px}.ambient-cloud i:nth-child(2){display:none}.ambient-cloud i:nth-child(3){display:none}.cloud-one{top:16vh;left:-150px;animation-duration:38s}.cloud-two{top:34vh;left:-190px;transform:scale(.72);opacity:.75;animation-duration:52s;animation-delay:-20s}.ambient-birds{position:absolute;color:#33306b66;font-size:23px;font-weight:800;letter-spacing:-8px;animation:bird-glide 28s linear infinite}.bird-one{top:25vh;left:-70px}.bird-two{top:42vh;left:-170px;font-size:17px;animation-duration:36s;animation-delay:-15s}.ambient-balloon{position:absolute;font-size:34px;filter:drop-shadow(0 3px 0 rgba(51,48,107,.18));animation:balloon-rise 12s ease-in-out infinite}.balloon-one{left:12vw;bottom:-50px}.balloon-two{right:11vw;bottom:5vh;font-size:25px;animation-delay:-6s}.ambient-leaf{position:absolute;font-size:28px;filter:drop-shadow(0 2px 0 rgba(51,48,107,.14));animation:leaf-sway 7s ease-in-out infinite}.leaf-one{top:60vh;left:5vw}.leaf-two{top:72vh;right:6vw;font-size:22px;animation-delay:-3s}.ambient-bubble{position:absolute;width:22px;height:22px;border-radius:50%;border:3px solid var(--ink);opacity:.14;animation:bubble-rise 9s ease-in-out infinite}.bubble-one{left:7vw;bottom:10vh;background:var(--coral)}.bubble-two{right:18vw;bottom:25vh;width:14px;height:14px;background:var(--berry);animation-delay:-4s}@keyframes sun-breathe{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.06) rotate(4deg)}}@keyframes cloud-drift{0%{transform:translate(0)}to{transform:translate(calc(100vw + 260px))}}@keyframes bird-glide{0%{transform:translate(0)}to{transform:translate(calc(100vw + 180px))}}@keyframes balloon-rise{0%,to{transform:translateY(20px) rotate(-4deg);opacity:.2}50%{transform:translateY(-120px) rotate(5deg);opacity:.6}}@keyframes leaf-sway{0%,to{transform:translate(0) rotate(-12deg)}50%{transform:translate(12px,-18px) rotate(12deg)}}@keyframes bubble-rise{0%,to{transform:translateY(12px);opacity:.08}50%{transform:translateY(-18px);opacity:.16}}.main-content{padding-top:var(--space-sm);position:relative;z-index:1}.section-title{font-family:var(--font-heading);font-size:clamp(30px,5vw,46px);font-weight:800;color:var(--ink);text-align:center;margin-bottom:var(--space-xs);letter-spacing:-.5px}.section-subtitle{text-align:center;color:var(--ink-soft);font-size:18px;margin-bottom:var(--space-lg)}@media (max-width: 640px){.section-title{font-size:27px}}:root{--ink: #33306B;--ink-soft: #5D5A8F;--ink-faint: rgba(51, 48, 107, .55);--shadow-ink: rgba(51, 48, 107, .16);--paper: #FFFDF5;--cream: #FFF6E3;--sun: #FFC94D;--sun-deep: #E8A72E;--sun-soft: #FFF0BF;--coral: #FF7A70;--coral-deep: #D9544A;--coral-soft: #FFD9D2;--leaf: #45C878;--leaf-deep: #2E9C58;--leaf-soft: #CFF4DC;--berry: #8B6FE8;--berry-deep: #6A4FC7;--berry-soft: #E2DBFF;--sky: #4FB8E8;--sky-deep: #2E8FC0;--sky-soft: #CDEBFB;--peach-soft: #FFE6C7;--bubble-soft: #FFDCE9;--dark-text: var(--ink);--white: var(--paper);--success: var(--leaf);--error: var(--coral);--font-display: "Luckiest Guy", "Baloo 2", cursive;--font-heading: "Baloo 2", "Nunito", sans-serif;--font-body: "Nunito", "Baloo 2", sans-serif;--space-xs: 8px;--space-sm: 16px;--space-md: 24px;--space-lg: 32px;--space-xl: 48px;--radius-sm: 14px;--radius-md: 20px;--radius-lg: 28px;--sticker-border: 3px solid var(--ink);--shadow-sm: 0 4px 0 var(--shadow-ink);--shadow-md: 0 6px 0 var(--shadow-ink);--shadow-lg: 0 9px 0 var(--shadow-ink)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);font-weight:600;background:linear-gradient(180deg,#6fcbf3,#a8e4fa 38%,#dff4fd 60%,#fdebc8);background-attachment:fixed;min-height:100vh;color:var(--ink);overflow-x:hidden;font-size:18px;line-height:1.5}#root{width:100%;min-height:100vh}button{font-family:var(--font-body);font-weight:700;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:4px solid var(--sun);outline-offset:3px}input{font-family:var(--font-body)}::selection{background:var(--sun-soft)}h1,h2,h3{font-family:var(--font-heading);font-weight:800}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pop-in{0%{transform:scale(.85) rotate(-2deg);opacity:0}70%{transform:scale(1.03) rotate(.5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes stamp{0%{transform:scale(1.5) rotate(-6deg);opacity:0}70%{transform:scale(.95) rotate(1deg);opacity:1}to{transform:scale(1) rotate(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
