/* Princess Aubrey — Learning Kingdom */
.home-play-actions {display:flex; flex-direction:column; align-items:center; gap:11px;}
.learning-entry-button {border:3px solid #fff; border-radius:23px; min-height:78px; padding:13px 32px 9px; background:linear-gradient(115deg,#7950c7,#a66ded 56%,#e485dc); box-shadow:0 7px 0 #6040a1,0 14px 23px #7846c055; color:#fff; font-weight:1000; font-size:clamp(19px,2.9vw,25px); text-shadow:0 1px 3px #64309a52; transition:transform .13s;}
.learning-entry-button small {display:block; font-size:12px; font-weight:800; margin-top:4px; letter-spacing:.02em;}
.learning-entry-button:active,.learning-card:active,.lesson-choice:active {transform:translateY(3px) scale(.985);}
.home-play-actions .primary-button {font-size:clamp(17px,2.3vw,21px); min-height:54px; padding:9px 26px; box-shadow:0 5px 0 #bc3981,0 11px 22px #e774b154;}
.kingdom-view,.lesson-view,.grownup-view,.lesson-finish-view {flex-direction:column; background:linear-gradient(145deg,#fffaff,#fff7ff 45%,#eef9ff); border:4px solid white; border-radius:34px; padding:clamp(16px,2.8vw,32px); box-shadow:var(--shadow); isolation:isolate; overflow:hidden;}
.kingdom-bubbles {position:absolute; top:10px; right:24%; color:#e8b8ee; letter-spacing:1.7em; pointer-events:none; opacity:.65;}
.learning-header {display:flex; justify-content:space-between; align-items:flex-start; gap:12px; position:relative; z-index:1;}
.learning-eyebrow {display:inline-block; background:#f8e9ff; padding:8px 13px; border-radius:99px; color:#9550b1; font-size:12px; letter-spacing:.07em; font-weight:1000;}
.learning-header h2 {font-size:clamp(29px,4.7vw,47px); line-height:1.05; letter-spacing:-.055em; color:#66388e; margin:12px 0 8px; max-width:700px;}
.learning-header h2 em {font-style:normal; color:#ed64ac;}
.learning-header p {font-size:clamp(13px,1.7vw,16px); font-weight:700; margin:0 0 12px; color:#946b9e;}
.kingdom-banner {min-height:117px; display:flex; align-items:center; gap:18px; background:linear-gradient(100deg,#f2e1ff,#fff2fb 58%,#e6f8f0); border:2px solid #f4d6fa; border-radius:25px; padding:7px 20px; box-shadow:0 8px 26px #9160ad1e; margin:12px 0 21px; position:relative; overflow:hidden;}
.kingdom-banner img {height:112px; width:93px; object-fit:contain; object-position:bottom; align-self:flex-end; filter:drop-shadow(0 5px 6px #6e408522);}
.kingdom-banner strong {display:block; color:#74409b; font-size:clamp(20px,2.8vw,29px); font-weight:1000;}
.kingdom-banner span {display:block; margin-top:6px; color:#94629c; font-size:13px; font-weight:750;}
.kingdom-banner .banner-sparkle {margin-left:auto;font-size:50px; opacity:.78; color:#eeb44f;}
.learning-games-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; position:relative; z-index:2;}
.learning-card {position:relative; overflow:hidden; border:3px solid white; border-radius:25px; padding:17px 13px 18px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; color:#66388b; text-align:center; min-height:184px; box-shadow:0 7px 0 var(--card-shadow,#e6b3ce),0 15px 24px #aa72b733; transition:transform .15s;}
.theme-coral {background:linear-gradient(160deg,#ffebec,#ffdef0);--card-shadow:#e8afca;}
.theme-mint {background:linear-gradient(160deg,#e4ffef,#cff8e6);--card-shadow:#9edbbf;}
.theme-violet {background:linear-gradient(160deg,#ede4ff,#e7d8ff);--card-shadow:#cab2e8;}
.theme-gold {background:linear-gradient(160deg,#fff7d7,#ffeabc);--card-shadow:#eed698;}
.theme-sky {background:linear-gradient(160deg,#e8f7ff,#d5edff);--card-shadow:#a7cdea;}
.theme-pink {background:linear-gradient(160deg,#fff0f7,#ffdce9);--card-shadow:#ecb9d3;}
.learning-card-decoration {position:absolute; top:12px; right:12px; color:#fbbada; font-size:17px;}
.learning-card-icon {height:74px; width:86px; display:grid; place-items:center; border-radius:25px; background:#fff9; box-shadow:inset 0 2px 6px #fff,0 3px 10px #9a6fa322; font-size:51px; filter:drop-shadow(0 3px 0 #ffffff50);}
.learning-card strong {font-size:clamp(16px,2vw,21px); font-weight:1000; line-height:1.1; margin-top:6px;}
.learning-card small {font-size:12px; font-weight:750; color:#966c9f;}
.learning-card-cta {border-radius:12px; background:white; padding:5px 13px; font-size:13px; font-weight:950; color:#a44e92; margin-top:7px;}
.kingdom-bottom-actions {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px; margin-top:27px;}
.kingdom-classic {background:#fff; color:#9e428d; border:2px solid #f6d2ea; border-radius:18px; padding:12px 19px; min-height:48px; font-size:15px; font-weight:900;}
.grownups-link {background:transparent; border:1px solid transparent; color:#9a7d9c; font-size:13px; font-weight:850; padding:14px; border-radius:16px;}
.grownups-link.holding {background:#efe0ff; border-color:#b47ed8;}
.lesson-topline {display:flex; align-items:center; justify-content:space-between; gap:8px;}
.lesson-topline .plain-button {min-height:48px;}
.lesson-badge {padding:9px 13px; border-radius:99px; background:#f2eaff; color:#9456b3; font-size:12px; font-weight:900; text-align:center;}
.lesson-titleline {display:flex; align-items:center; gap:13px; margin-top:12px;}
.lesson-icon {display:grid; place-items:center; width:65px; height:65px; background:#fff0db; border-radius:20px; font-size:37px;}
.lesson-titleline h2 {margin:0; font-size:clamp(24px,4vw,34px); line-height:1.1; color:#66358c;}
.lesson-titleline p {margin:4px 0 0; color:#a071a6; font-size:13px; font-weight:800;}
.lesson-progress {margin-left:auto; background:white; border:2px solid #f0d8f3; border-radius:19px; padding:9px 14px; color:#aa6eaf; font-size:16px; white-space:nowrap;}
.lesson-progress strong {color:#8245a4; font-size:23px;}
.lesson-stars {min-height:35px; text-align:center; font-size:27px; line-height:1.25; color:#f0b443; letter-spacing:.2em; margin:9px auto 3px;}
.lesson-world {position:relative; border:4px solid #fff; outline:2px solid #eddcf7; border-radius:31px; background:linear-gradient(#c6efff 0%,#e4f9ff 56%,#e7f4d1 56%,#bef0c5 100%); box-shadow:0 15px 28px #9968b820; min-height:465px; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:19px clamp(12px,2vw,25px) 20px; overflow:hidden; isolation:isolate;}
.lesson-world:after {content:''; display:block; position:absolute; bottom:-45px; left:-12%; width:125%; height:130px; border-radius:55% 55% 0 0; background:#8ad8ab; z-index:-1;}
.lesson-cloud {position:absolute; font-size:55px; color:#fff; opacity:.45; z-index:-1; pointer-events:none;}.lesson-cloud-1{left:6%;top:16%;}.lesson-cloud-2{right:15%;top:25%;}
.lesson-prompt-wrap {width:100%; display:flex; justify-content:center; position:relative; z-index:5;}
.lesson-prompt {background:#fffcff; border:3px solid #fff; border-radius:24px; padding:14px 22px; color:#673789; text-align:center; font-weight:1000; font-size:clamp(18px,3.2vw,28px); line-height:1.2; max-width:750px; box-shadow:0 8px 20px #82619724;}
.lesson-choice-grid {position:relative; z-index:3; flex:1; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:clamp(10px,2vw,25px); align-content:center; width:min(100%,840px); padding:15px 68px 30px 0; min-height:265px;}
.lesson-choice {background:linear-gradient(160deg,#fff,#fff1fa); border:4px solid #fff; border-radius:27px; width:clamp(125px,17vw,175px); min-height:176px; padding:12px 9px 10px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; box-shadow:0 8px 0 #c6a7e0,0 15px 26px #7f4f9540; transition:transform .16s,border-color .16s,box-shadow .16s; color:#713992; flex-shrink:0; touch-action:manipulation;}
.lesson-choice:disabled {cursor:default; opacity:.95;}
.lesson-choice.is-correct {border-color:#72dba1; background:#e9fff5; box-shadow:0 6px 0 #83d7b0,0 12px 22px #8acaaf2a; transform:scale(1.03);}
.lesson-choice.try-again {animation:gentleWiggle .45s ease-in-out; border-color:#ffcb88;}
.lesson-choice.gentle-hint {outline:5px solid #ffd268; outline-offset:3px; animation:hintGlow 1.2s ease-in-out infinite alternate;}
.choice-art {min-height:104px; display:grid; place-items:center; font-size:clamp(63px,8vw,93px); line-height:1.1;}
.choice-art.letter-art {font-size:clamp(85px,10vw,114px); color:#9252c8; font-weight:1000; text-shadow:3px 5px 0 #e7d6f9;}
.choice-name {font-size:clamp(13px,1.75vw,17px); font-weight:1000; line-height:1.15;}
.balloon-color {display:block; height:94px; width:77px; border-radius:50% 50% 46% 46%; background:radial-gradient(circle at 28% 25%,#ffffffcf 0%,transparent 26%),var(--balloon-color); box-shadow:inset -9px -10px 13px #3f164526,0 4px 4px #946bae40; position:relative;}
.balloon-color:after {content:''; position:absolute; top:calc(100% - 1px); left:calc(50% - 5px); border-left:5px solid transparent; border-right:5px solid transparent; border-top:12px solid var(--balloon-color);}
.css-shape {width:91px; height:91px; background:#a46bdf; filter:drop-shadow(0 5px 2px #7e52a547);}
.css-shape-circle {border-radius:50%;background:#ff9d67;}
.css-shape-square {border-radius:7px;background:#7cbedc;}
.css-shape-triangle {clip-path:polygon(50% 3%,99% 96%,1% 96%); background:#f6bd42;}
.css-shape-star {clip-path:polygon(50% 0%,62% 35%,98% 35%,69% 57%,79% 95%,50% 73%,21% 95%,31% 57%,2% 35%,38% 35%);background:#ffcf52;}
.css-shape-heart {clip-path:polygon(50% 93%,3% 44%,3% 24%,12% 8%,27% 3%,42% 10%,50% 23%,58% 10%,73% 3%,88% 8%,97% 24%,97% 44%);background:#f977b6;}
.css-shape-rectangle {height:70px; width:105px; background:#8bddaa; border-radius:6px;}
.lesson-aubrey {position:absolute; z-index:2; right:-9px; bottom:-12px; width:clamp(105px,18vw,180px); height:clamp(160px,25vw,270px); pointer-events:none; filter:drop-shadow(0 9px 8px #7f60a648);}
.lesson-aubrey img {width:100%;height:100%;object-fit:contain;object-position:bottom;animation:float 3.2s ease-in-out infinite;}
.lesson-feedback {position:relative; z-index:4; min-height:45px; background:#fffafdef; border-radius:17px; color:#a166a4; text-align:center; padding:10px 16px; margin:0 auto 13px; font-size:clamp(13px,2vw,18px); font-weight:900; max-width:calc(100% - 100px);}
.lesson-feedback.feedback-success {color:#2f9872;background:#effff7;}
.lesson-controls {display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:10px; padding:15px 4px 2px;}
.learning-reassure {font-weight:900; font-size:13px; color:#ae72a2;}
.small-soft-button {background:white; color:#98539f; font-size:14px; font-weight:900; padding:12px 18px; border:2px solid #f1d5ee; border-radius:17px; min-height:45px;}
.lesson-choice-grid.counting-choices {max-width:800px; gap:12px; padding:20px 85px 26px 0;}
.counting-choice {width:clamp(76px,11vw,107px); min-height:clamp(75px,11vw,102px); border-radius:24px; box-shadow:0 5px 0 #c5a3db,0 9px 15px #9e62ae33; padding:3px; position:relative;}
.count-emoji {font-size:clamp(40px,5vw,63px); line-height:1.1;}
.counting-choice.is-counted {background:#e6fff3; border-color:#78dbac; box-shadow:none; transform:scale(.88);}
.count-number {position:absolute; top:-13px; right:-7px; border-radius:50%; padding:4px 9px; background:#f7b840; border:2px solid #fff; font-weight:1000; color:#61347e; font-size:19px;}
.lesson-finish-view {align-items:center; justify-content:center; gap:15px; text-align:center; background:radial-gradient(circle at 50% 20%,#fff,#fff2fd 56%,#e9e5ff);}
.lesson-celebrate-stars {font-size:clamp(30px,5vw,48px);}
.lesson-finish-hero {height:215px; max-width:220px; filter:drop-shadow(0 10px 8px #a17ebc66);}
.lesson-finish-hero img {height:100%;width:100%;object-fit:contain;}
.lesson-finish-view h2 {color:#7542a0; font-size:clamp(32px,5vw,54px); letter-spacing:-.04em; margin:5px 0 0;}
.lesson-finish-view p {margin:0;color:#98639f; font-size:17px;font-weight:800;}
.earned-sticker {background:linear-gradient(115deg,#ffe68f,#fff0bf); color:#82569e; padding:14px 23px; font-size:clamp(17px,2.4vw,23px); font-weight:1000; border:4px solid #fff; border-radius:23px; box-shadow:0 6px 0 #e9cb87;}
.lesson-finish-message {font-size:14px;color:#96639d;font-weight:750;}
.lesson-finish-view .primary-button {min-height:60px; font-size:21px;}
.grownup-view {gap:13px;background:linear-gradient(145deg,#fff,#fff8fd);}
.grownup-toolbar {display:flex;justify-content:space-between;align-items:center;gap:12px;}
.grownup-toolbar h2 {color:#66368c;font-size:clamp(22px,3vw,34px);margin:0;}
.grownup-view>p {margin:0;color:#8e6996;line-height:1.5;max-width:800px;font-size:15px;}
.grownup-settings {background:#f9effe;border-radius:22px;padding:19px;display:flex;flex-direction:column;gap:9px;}
.grownup-settings label {font-weight:950;color:#784399;}
.grownup-settings select {width:100%;max-width:430px; min-height:48px;padding:9px 12px;background:white;border:2px solid #e4cce9;border-radius:14px;font:inherit;color:#65358b;font-size:15px;font-weight:800;}
.settings-note {font-size:12px;color:#956a9c;font-weight:650;}
.grownup-summary {display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.grownup-summary>div {border:2px solid #f1e1f2; border-radius:20px; padding:16px; background:white; display:flex; flex-direction:column;gap:4px; align-items:center; font-size:22px;}
.grownup-summary strong {font-size:34px;color:#864e9d; font-variant-numeric:tabular-nums;}
.grownup-summary span {font-size:12px;font-weight:850;color:#a16ca5;text-align:center;}
.grownup-progress {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.progress-card {background:white;border:2px solid #efe2f5;border-radius:18px;display:flex;align-items:center;gap:11px;padding:13px;}
.progress-icon {font-size:27px;background:#f8edff;padding:9px;border-radius:12px;}
.progress-card>div:nth-child(2) {display:flex; flex:1;min-width:0;flex-direction:column;gap:5px;}
.progress-card strong {font-size:13px;color:#744498;}
.progress-card span {font-size:11px;line-height:1.4;color:#976c9c;}
.progress-card small {font-size:11px;color:#a17c9f;}
.grownup-actions {display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:5px;}.grownup-actions span {font-size:12px;color:#9c769c;}
@keyframes gentleWiggle {25%{transform:translateX(-4px);}75%{transform:translateX(4px);}}
@keyframes hintGlow {to {outline-color:#f3a8d7;box-shadow:0 10px 0 #c6a7e0,0 12px 26px #7f4f9560;}}
@media(max-width:720px) {
  .kingdom-view,.lesson-view,.grownup-view,.lesson-finish-view {padding:13px 11px; border-radius:24px;}
  .learning-header h2 {font-size:clamp(27px,6vw,36px);}
  .learning-header>.plain-button {padding:9px 10px;font-size:12px;}
  .kingdom-banner {min-height:80px; padding:4px 10px; gap:9px; margin:8px 0 14px;}
  .kingdom-banner img {height:83px;width:64px;}
  .kingdom-banner strong {font-size:17px;}
  .kingdom-banner span {font-size:10px;}
  .kingdom-banner .banner-sparkle {font-size:23px;}
  .learning-games-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .learning-card {min-height:168px;padding:12px 5px 13px;border-radius:19px;}
  .learning-card-icon {width:66px;height:67px;font-size:39px;border-radius:19px;}
  .learning-card strong {font-size:15px;}
  .learning-card small {font-size:10px;}
  .learning-card-cta {font-size:12px;}
  .kingdom-bottom-actions {margin-top:22px;}
  .kingdom-classic,.grownups-link {font-size:12px;padding:10px;}
  .lesson-topline .plain-button {padding:10px;font-size:12px;}
  .lesson-repeat span {display:none;}
  .lesson-badge {font-size:10px;padding:8px;}
  .lesson-icon {height:54px;width:54px;font-size:30px;}
  .lesson-titleline h2 {font-size:24px;}
  .lesson-progress {padding:5px 9px;}
  .lesson-world {min-height:455px;padding:14px 10px 10px;}
  .lesson-choice-grid {padding:18px 80px 27px 0;gap:9px;width:100%;}
  .lesson-choice {width:clamp(98px,27vw,139px);min-height:151px;border-radius:19px;padding:5px;gap:4px;}
  .choice-art {min-height:94px;font-size:63px;}
  .choice-art.letter-art {font-size:79px;}
  .choice-name {font-size:12px;}
  .balloon-color {width:65px;height:81px;}
  .css-shape {height:75px;width:75px;}.css-shape-rectangle {height:60px;width:88px;}
  .lesson-aubrey {right:-18px;width:125px;height:205px;}
  .lesson-feedback {max-width:calc(100% - 65px);margin-left:0;font-size:13px;padding:9px;}
  .lesson-choice-grid.counting-choices {padding:12px 67px 22px 0;gap:7px;}
  .counting-choice {width:clamp(67px,18vw,87px);min-height:69px;border-radius:17px;}
  .count-emoji {font-size:40px;}
  .lesson-controls {align-items:center;}
  .learning-reassure {font-size:11px;}
  .grownup-progress {grid-template-columns:1fr;}
  .grownup-summary {gap:5px;}.grownup-summary>div {padding:8px;font-size:17px;}.grownup-summary strong {font-size:27px;}.grownup-summary span {font-size:10px;}
}
@media(max-width:390px) {
  .home-play-actions .primary-button {font-size:17px;}
  .learning-entry-button {font-size:18px;}
  .lesson-choice-grid {padding-right:60px;}
  .lesson-choice {width:100px;min-height:141px;}
  .lesson-aubrey {width:110px;height:180px;}
  .lesson-choice-grid.counting-choices {padding-right:49px;}
  .counting-choice {width:65px;min-height:65px;}
}
@media(max-height:680px) and (max-width:720px) { .lesson-world {min-height:410px;} .lesson-prompt {font-size:17px;} }
@media(prefers-reduced-motion:reduce){.lesson-aubrey img,.lesson-choice.gentle-hint{animation:none;}}
