:root{--primary: #006591;--on-primary: #ffffff;--primary-container: #0ea5e9;--on-primary-container: #003751;--primary-fixed: #c9e6ff;--primary-fixed-dim: #89ceff;--on-primary-fixed: #001e2f;--on-primary-fixed-variant: #004c6e;--secondary: #795900;--on-secondary: #ffffff;--secondary-container: #ffc329;--on-secondary-container: #6f5100;--secondary-fixed: #ffdf9f;--secondary-fixed-dim: #f9bd22;--on-secondary-fixed: #261a00;--on-secondary-fixed-variant: #5c4300;--tertiary: #006e2f;--on-tertiary: #ffffff;--tertiary-container: #00b351;--on-tertiary-container: #003c16;--tertiary-fixed: #6bff8f;--tertiary-fixed-dim: #4ae176;--on-tertiary-fixed: #002109;--on-tertiary-fixed-variant: #005321;--error: #ba1a1a;--on-error: #ffffff;--error-container: #ffdad6;--on-error-container: #93000a;--surface: #f6faff;--on-surface: #171c20;--surface-dim: #d6dae0;--surface-bright: #f6faff;--surface-container-lowest: #ffffff;--surface-container-low: #f0f4fa;--surface-container: #eaeef4;--surface-container-high: #e4e8ee;--surface-container-highest: #dee3e9;--on-surface-variant: #3e4850;--surface-variant: #dee3e9;--inverse-surface: #2c3135;--inverse-on-surface: #edf1f7;--inverse-primary: #89ceff;--outline: #6e7881;--outline-variant: #bec8d2;--surface-tint: #006591;--background: #f6faff;--on-background: #171c20;--font-family: "Nunito Sans", sans-serif;--unit: 8px;--xs: 8px;--sm: 16px;--md: 24px;--lg: 40px;--xl: 64px;--gutter: 24px;--margin-mobile: 20px;--margin-desktop: 80px;--radius-sm: .5rem;--radius: 1rem;--radius-md: 1.5rem;--radius-lg: 2rem;--radius-xl: 3rem;--radius-full: 9999px;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .08);--shadow-md: 0 8px 24px rgba(0, 101, 145, .12);--shadow-lg: 0 20px 50px rgba(0, 101, 145, .15);--shadow-xl: 0 32px 64px -12px rgba(0, 101, 145, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-weight:600;font-size:18px;line-height:26px;color:var(--on-surface);background-color:var(--background);overflow-x:hidden;min-height:100vh}#root{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;display:block}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(2deg)}}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes pulse-node{0%{box-shadow:0 0 #00659166}70%{box-shadow:0 0 0 20px #00659100}to{box-shadow:0 0 #00659100}}@keyframes bounce-subtle{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.02)}}@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes move-stripes{0%{background-position:0 0}to{background-position:60px 0}}.animate-float{animation:float 6s ease-in-out infinite}.animate-sparkle{animation:sparkle 2s infinite ease-in-out}.animate-bounce-juicy{animation:bounce-subtle 2s ease-in-out infinite}.node-active{animation:pulse-node 2s infinite}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--sm);font-size:1.25rem;color:var(--primary)}.app-loading .app-loading__icon{font-size:3rem}.top-bar{position:fixed;top:0;left:0;right:0;z-index:50;padding:var(--sm) var(--sm) 0;pointer-events:none}.top-bar__inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;pointer-events:auto}.top-bar__brand{display:flex;align-items:center;gap:var(--xs);background:var(--surface-container-lowest);padding:12px 24px;border-radius:var(--radius);box-shadow:var(--shadow-sm);border-bottom:4px solid var(--primary-fixed)}.top-bar__logo{font-weight:900;font-size:28px;line-height:36px;color:var(--primary)}.top-bar__stats{display:flex;gap:12px;background:var(--surface-container-lowest);padding:8px;border-radius:var(--radius);box-shadow:var(--shadow-sm);border-bottom:4px solid var(--surface-variant)}.stat-chip{display:flex;align-items:center;gap:8px;padding:6px 16px;border-radius:var(--radius-sm);transition:transform .2s ease,box-shadow .2s ease}.stat-chip:hover{transform:scale(1.08)}.stat-chip--xp{background:var(--primary-fixed);color:var(--on-primary-fixed)}.stat-chip--coins{background:var(--secondary-fixed);color:var(--on-secondary-fixed)}.stat-chip--streak{background:var(--error-container);color:var(--on-error-container)}.stat-chip--level{background:var(--tertiary-fixed);color:var(--on-tertiary-fixed)}.stat-chip .stat-chip__icon{font-size:1.5rem;line-height:1}.stat-chip__value{font-weight:900;font-size:18px;line-height:22px;letter-spacing:.03em}.map-page{min-height:100vh}.map-container{background:linear-gradient(to bottom,var(--primary-fixed),var(--surface));position:relative;overflow-x:hidden;min-height:120vh;padding-top:100px;padding-bottom:var(--xl)}.map-cloud{position:absolute;border-radius:var(--radius-full);background:#fff;box-shadow:var(--shadow-sm);opacity:.6}.map-cloud--1{width:120px;height:60px;top:160px;left:10%}.map-cloud--2{width:160px;height:80px;top:256px;right:15%}.map-cloud--3{width:100px;height:50px;top:400px;left:60%}.map-cloud--4{width:140px;height:70px;top:520px;right:5%}.map-tree{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;pointer-events:none}.map-tree--1{top:30%;right:10%}.map-tree--2{top:60%;left:8%}.map-tree__top{width:80px;height:80px;background:var(--tertiary-container);border-radius:60% 40% 50% 50%;position:relative;box-shadow:0 8px 24px #0065911f;border-bottom:6px solid var(--tertiary)}.map-tree__top:after{content:"";position:absolute;top:12px;left:20px;width:12px;height:12px;background:#ef4444;border-radius:50%;box-shadow:16px 20px #ef4444,-8px 30px #ef4444}.map-tree__trunk{width:16px;height:40px;background:var(--secondary);border-radius:0 0 4px 4px}.map-nodes{position:relative;z-index:10;max-width:800px;margin:0 auto;padding:0 var(--margin-mobile) 100px;display:flex;flex-direction:column;align-items:center}.map-path-node-group{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:16px}.map-connector{position:relative;width:100%;height:80px;display:flex;align-items:flex-start;justify-content:center}.map-connector--right{justify-content:flex-end;padding-right:20px}.map-connector--left{justify-content:flex-start;padding-left:20px}.map-connector__line{width:60%;height:12px;background:repeating-linear-gradient(90deg,var(--secondary-container) 0,var(--secondary-container) 14px,transparent 14px,transparent 28px);border-radius:var(--radius-full);opacity:.9;margin-top:36px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.map-connector__dot{position:absolute;width:20px;height:20px;background:var(--secondary-fixed-dim);border:3px solid white;border-radius:var(--radius-full);opacity:1;top:32px;box-shadow:0 4px 6px #00000026}.map-connector--right .map-connector__dot{right:20px}.map-connector--left .map-connector__dot{left:20px}.map-node-wrapper{display:flex;margin-bottom:var(--lg)}.map-node-wrapper--left{justify-content:flex-start;width:100%}.map-node-wrapper--right{justify-content:flex-end;width:100%}.rolling-hills{position:absolute;bottom:0;left:0;width:100%;height:200px;z-index:1;pointer-events:none;overflow:hidden}.hills{position:absolute;bottom:0;width:200%;height:100%}.hills--back{fill:var(--tertiary-container);opacity:.4;animation:float 8s ease-in-out infinite}.hills--front{fill:var(--tertiary);height:80%;opacity:.3;animation:float 8s ease-in-out infinite}.stage-node{position:relative;display:flex;flex-direction:column;align-items:center}.stage-node__circle{width:96px;height:96px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);position:relative;font-size:1.5rem;color:#fff}.stage-node--completed .stage-node__circle{background:linear-gradient(135deg,var(--tertiary-fixed),var(--tertiary-container));border-bottom:6px solid var(--on-tertiary-fixed-variant);cursor:pointer}.stage-node--completed .stage-node__circle:hover{transform:scale(1.1);transition:transform .2s ease}.stage-node--current .stage-node__circle{background:linear-gradient(135deg,var(--primary-container),var(--primary));border-bottom:6px solid var(--on-primary-container);width:128px;height:128px;cursor:pointer;box-shadow:var(--shadow-md)}.stage-node--unlocked .stage-node__circle{background:linear-gradient(135deg,var(--primary-fixed-dim),var(--primary));border-bottom:6px solid var(--on-primary-container);cursor:pointer}.stage-node--locked .stage-node__circle{background:var(--surface-container-highest);border-bottom:6px solid var(--outline-variant);opacity:.8;cursor:not-allowed}.stage-node--locked .stage-node__lock-emoji{font-size:2rem;line-height:1}.stage-node__number{font-family:var(--font-family);font-weight:900;font-size:1.5rem}.stage-node--completed .stage-node__number{font-size:1rem}.stage-node--current .stage-node__number{font-size:2rem}.stage-node__avatar{position:absolute;top:-96px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:20;animation:float 6s ease-in-out infinite}.stage-node__avatar-icon{width:64px;height:64px;background:var(--secondary-fixed);border:4px solid white;border-radius:var(--radius-full);overflow:hidden;box-shadow:0 0 0 4px var(--primary-container);display:flex;align-items:center;justify-content:center}.stage-node__you-badge{background:var(--primary);color:#fff;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;padding:4px 12px;border-radius:var(--radius-full);margin-top:8px}.stage-node__stars{position:absolute;top:-24px;left:50%;transform:translate(-50%);display:flex;gap:2px}.stage-node__stars .star{color:var(--secondary-fixed-dim);font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.stage-node__stars .star--2{font-size:2rem;margin-top:-4px}.stage-node__check{position:absolute;bottom:-16px;right:-16px;background:var(--tertiary);border-radius:var(--radius-full);padding:4px;border:2px solid white}.stage-node__sparkle{position:absolute;top:-16px;right:-16px}.stage-node__label{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);white-space:nowrap;font-weight:900;font-size:16px;letter-spacing:.05em}.stage-node__label--completed{color:var(--on-surface-variant)}.stage-node__label--current{color:var(--primary);font-size:24px;line-height:32px}.stage-node__label--locked{color:var(--on-surface-variant)}.juicy-button-press{transition:transform .1s ease,box-shadow .1s ease}.juicy-button-press:active{transform:translateY(4px);box-shadow:0 2px #0000001a!important}.progress-bar{width:100%;max-width:672px;margin-bottom:var(--lg)}.progress-bar__labels{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--xs)}.progress-bar__label{font-weight:900;font-size:16px;letter-spacing:.05em;color:var(--on-surface-variant)}.progress-bar__pct{font-weight:900;font-size:16px;letter-spacing:.05em;color:var(--primary)}.progress-bar__track{height:24px;width:100%;background:var(--surface-container-highest);border-radius:var(--radius-full);overflow:hidden;box-shadow:inset 0 2px 4px #0000001a;border:2px solid white}.progress-bar__fill{height:100%;background:var(--tertiary-container);border-radius:var(--radius-full);position:relative;transition:width .5s ease;box-shadow:0 0 15px #00b35180}.progress-bar__glow{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:#fff;border-radius:var(--radius-full);opacity:.5;animation:pulse-node 2s infinite}.candy-progress{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:30px 30px;animation:move-stripes 2s linear infinite}.question-card{width:100%;max-width:768px;background:var(--surface-container-lowest);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--lg) var(--md);border-bottom:8px solid var(--surface-container-highest);position:relative;overflow:hidden}.float-island{animation:float 6s ease-in-out infinite}.question-card__sparkle{position:absolute;top:var(--sm);left:var(--sm)}.question-card__sparkle-icon{font-size:2.5rem;opacity:.4}.question-card__equation{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.question-card__num{font-weight:900;font-size:2.5rem;color:var(--primary);min-width:48px;text-align:center}.question-card__num--unknown{color:var(--outline-variant)}.question-card__op-text{font-weight:900;font-size:2rem;color:var(--primary);opacity:.6}.question-card__content{display:flex;flex-direction:column;align-items:center;gap:var(--lg)}.question-card__groups{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--md)}.question-card__group{display:flex;gap:8px;background:#ffdad64d;padding:var(--sm);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:center}.question-emoji:hover{transform:scale(1.1)}.question-card__op{font-weight:900;font-size:3rem;color:var(--primary)}.question-card__answer-box{width:96px;height:96px;background:var(--surface-container);border:4px dashed var(--outline-variant);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.question-card__answer-q{font-weight:900;font-size:2.5rem;color:var(--outline-variant)}.question-card__text{font-weight:900;font-size:32px;line-height:40px;color:var(--on-surface);text-align:center}.answer-grid{margin-top:var(--xl);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gutter);width:100%;max-width:896px;position:relative}@media (min-width: 768px){.answer-grid{grid-template-columns:repeat(4,1fr)}}.answer-btn{background:#fff;border-bottom:8px solid var(--surface-container-highest);border-radius:var(--radius);padding:var(--md);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:all .2s ease;position:relative}.answer-btn:hover:not(:disabled){border-color:var(--primary-fixed-dim)}.answer-btn:hover:not(:disabled) .answer-btn__value{color:var(--primary)}.answer-btn:active:not(:disabled){transform:translateY(4px);box-shadow:none}.answer-btn--selected{border-color:var(--primary-fixed-dim)}.answer-btn--correct{background:var(--tertiary-container);border-bottom:8px solid var(--on-tertiary-fixed-variant);box-shadow:var(--shadow-md);transform:scale(1.05)}.answer-btn--correct .answer-btn__value{color:#fff}.answer-btn--wrong{background:var(--error-container);border-bottom:8px solid var(--on-error-container)}.answer-btn--wrong .answer-btn__value{color:var(--error)}.answer-btn__value{font-weight:900;font-size:32px;line-height:40px;color:var(--on-surface);transition:color .2s ease}.answer-btn__badge{position:absolute;top:-12px;right:-12px;width:32px;height:32px;background:var(--secondary-container);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.answer-grid__feedback{position:absolute;bottom:-48px;left:50%;transform:translate(-50%);font-weight:800;font-size:1.5rem;white-space:nowrap;animation:float 3s ease-in-out infinite}.answer-grid__feedback--correct{color:var(--tertiary)}.answer-grid__feedback--wrong{color:var(--on-surface-variant)}.stage-page{min-height:100vh;display:flex;flex-direction:column}.stage-page__content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:100px var(--margin-mobile) var(--xl);display:flex;flex-direction:column;align-items:center}.stage-page__error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--md);font-size:1.5rem;color:var(--on-surface-variant)}.stage-page__actions{margin-top:var(--xl);display:flex;flex-direction:column;align-items:center;gap:var(--sm)}.juicy-button--primary{display:flex;align-items:center;gap:var(--sm);background:var(--tertiary-container);color:#fff;padding:var(--sm) var(--xl);border-radius:var(--radius);font-weight:800;font-size:24px;line-height:32px;box-shadow:0 8px #00000026;transition:all .1s ease;border-bottom:8px solid var(--on-tertiary-fixed-variant)}.juicy-button--primary:active{transform:translateY(4px);box-shadow:0 4px #00000026}.juicy-button--secondary{display:flex;align-items:center;gap:var(--sm);background:var(--primary-fixed);color:var(--primary);padding:var(--sm) var(--lg);border-radius:var(--radius);font-weight:800;font-size:1.25rem;box-shadow:0 6px 0 0 var(--primary-fixed-dim);transition:all .1s ease;border-bottom:6px solid var(--primary-fixed-dim)}.juicy-button--secondary:active{transform:translateY(3px);box-shadow:0 3px 0 0 var(--primary-fixed-dim)}.completed-page{min-height:100vh;overflow:hidden;position:relative;background:var(--background)}.completed-page__content{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px var(--margin-mobile) var(--xl)}.completed-card{background:var(--surface-container-lowest);border-radius:var(--radius);padding:var(--lg) var(--md);text-align:center;max-width:672px;width:100%;box-shadow:var(--shadow-xl);position:relative}.island-card{box-shadow:0 32px 64px -12px #00659126}.completed-card__trophy{margin-bottom:var(--lg);position:relative}.completed-card__trophy-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--secondary-fixed-dim);opacity:.15;filter:blur(64px);border-radius:var(--radius-full);transform:scale(1.5)}.completed-card__trophy-icon{position:relative}.completed-card__sparkle{position:absolute;font-size:1.5rem!important;color:var(--secondary)!important}.completed-card__sparkle--1{top:0;left:25%;animation:sparkle 1.5s infinite}.completed-card__sparkle--2{bottom:16px;right:25%;font-size:2rem!important;animation:sparkle 1.5s infinite .5s}.completed-card__title{margin-bottom:var(--lg)}.completed-card__heading{font-weight:900;font-size:28px;line-height:36px;color:var(--primary);display:flex;align-items:center;justify-content:center;gap:var(--xs)}@media (min-width: 768px){.completed-card__heading{font-size:48px;line-height:56px;letter-spacing:-.02em}}.completed-card__stars{color:var(--secondary-fixed-dim)}.completed-card__subtitle{font-weight:700;font-size:20px;line-height:28px;color:var(--on-surface-variant);margin-top:var(--xs)}.completed-card__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sm);margin-bottom:var(--lg)}.completed-card__stat{background:var(--primary-fixed);border-radius:var(--radius-sm);padding:var(--sm);border-bottom:4px solid var(--primary);display:flex;flex-direction:column;align-items:center}.completed-card__stat:last-child{background:var(--secondary-fixed);border-bottom-color:var(--secondary)}.completed-card__stat-value{font-weight:800;font-size:24px;line-height:32px;color:var(--primary)}.completed-card__stat:last-child .completed-card__stat-value{color:var(--secondary)}.completed-card__stat-label{font-weight:900;font-size:16px;letter-spacing:.05em;color:var(--on-primary-fixed-variant);opacity:.7}.completed-card__stat:last-child .completed-card__stat-label{color:var(--on-secondary-fixed-variant);opacity:.7}.completed-card__progress{width:100%;margin-bottom:var(--xl)}.completed-card__progress-track{width:100%;height:32px;background:var(--surface-container-high);border-radius:var(--radius-full);overflow:hidden;position:relative}.completed-card__progress-fill{height:100%;background:var(--tertiary-container);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;transition:width 1s ease;background-image:repeating-linear-gradient(45deg,var(--tertiary-container),var(--tertiary-container) 10px,var(--tertiary-fixed-dim) 10px,var(--tertiary-fixed-dim) 20px)}.completed-card__progress-glow{width:16px;height:16px;background:#fff;border-radius:var(--radius-full);opacity:.4;animation:pulse-node 2s infinite;box-shadow:0 0 15px #fffc}.completed-card__actions{display:flex;flex-direction:column;align-items:center;gap:var(--md)}.completed-card__replay{font-weight:900;font-size:16px;letter-spacing:.05em;color:var(--on-surface-variant);padding:8px 24px;transition:color .2s ease}.completed-card__replay:hover{color:var(--primary)}.success-toast{position:fixed;top:96px;left:50%;transform:translate(-50%) translateY(-100px);z-index:50;transition:transform .7s ease-out}.success-toast--visible{transform:translate(-50%) translateY(0)}.success-toast__inner{background:var(--surface-container-lowest);border:4px solid var(--tertiary-fixed);box-shadow:var(--shadow-md);border-radius:var(--radius);padding:var(--sm) var(--lg);display:flex;align-items:center;gap:var(--sm)}.success-toast__icon{background:var(--tertiary-container);color:#fff;border-radius:var(--radius-full);padding:8px}.success-toast__title{font-weight:800;font-size:24px;color:var(--tertiary)}.success-toast__sub{color:var(--on-surface-variant);font-size:.875rem}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50}.confetti-piece{position:absolute;top:-10vh;z-index:10;animation:confetti-fall linear forwards}.falling-stars{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.falling-stars__item{position:absolute;animation:float 6s ease-in-out infinite;font-size:2rem;color:var(--secondary-fixed-dim);opacity:.5}@media (max-width: 768px){.top-bar__inner{flex-direction:column;gap:var(--xs)}.top-bar__stats{flex-wrap:wrap;justify-content:center}.top-bar__logo{font-size:1.25rem}.stat-chip{padding:2px 8px}.stat-chip__value{font-size:.75rem}.question-card{padding:var(--sm)}.question-card__op{font-size:2rem}.question-emoji{font-size:1.75rem}.question-card__answer-box{width:64px;height:64px}.question-card__text{font-size:1.25rem;line-height:1.75rem}.completed-card__heading{font-size:1.5rem;line-height:2rem}.stage-node__circle{width:72px;height:72px}.stage-node--current .stage-node__circle{width:96px;height:96px}.stage-node__label{font-size:.75rem}.stage-node__label--current{font-size:1rem}}@media (min-width: 768px){.question-card{padding:var(--xl)}}@keyframes shake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-6px)}30%,70%{transform:translate(6px)}}.answer-btn--shake{animation:shake .5s ease-in-out}.answer-btn--reveal-correct{outline:3px solid var(--tertiary);outline-offset:2px}@keyframes score-float-up{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-60px) scale(1.2)}}.score-popups{position:fixed;top:50%;left:50%;transform:translate(-50%);z-index:100;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px}.score-popup{display:flex;gap:12px;animation:score-float-up 1.2s ease-out forwards;font-weight:900;font-size:1.75rem;text-shadow:0 2px 8px rgba(0,0,0,.15)}.score-popup--xp{color:var(--primary)}.score-popup--coins{color:var(--secondary)}.live-score{display:flex;align-items:center;gap:8px;background:var(--surface-container-lowest);padding:8px 20px;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);font-size:1rem;font-weight:700;color:var(--on-surface-variant);margin-bottom:var(--sm);border:2px solid var(--primary-fixed)}.live-score strong{color:var(--primary);font-weight:900;font-size:1.1rem}.live-score__divider{opacity:.3}.answer-grid__banner{grid-column:1 / -1;text-align:center;padding:12px 24px;border-radius:var(--radius);font-weight:800;font-size:1.35rem;animation:bounce-subtle 2s ease-in-out infinite}.answer-grid__banner--correct{background:var(--tertiary-fixed);color:var(--on-tertiary-fixed)}.answer-grid__banner--wrong{background:var(--primary-fixed);color:var(--on-primary-fixed-variant)}.answer-grid__banner-shake{display:inline-block;font-size:1.5rem;margin-right:8px;animation:shake .5s ease-in-out}.completed-card__breakdown{width:100%;max-width:320px;margin:0 auto var(--md);padding:var(--sm);background:var(--surface-container);border-radius:var(--radius-sm)}.completed-card__breakdown-row{display:flex;justify-content:space-between;padding:4px 8px;font-size:.9rem;color:var(--on-surface-variant)}.completed-card__breakdown-value{font-weight:800;color:var(--primary)}.completed-card__breakdown-row--total{border-top:2px solid var(--outline-variant);margin-top:4px;padding-top:8px;font-weight:900;font-size:1rem;color:var(--on-surface)}.completed-card__breakdown-row--total .completed-card__breakdown-value{color:var(--tertiary);font-size:1.1rem}.completed-card__stat-emoji{font-size:2.5rem;margin-bottom:4px}.completed-card__stat-value--big{font-size:2.5rem!important;line-height:1.1!important}.completed-card__progress-label{text-align:center;font-weight:700;font-size:.85rem;color:var(--on-surface-variant);margin-top:8px;opacity:.7}.completed-card__trophy-emoji{font-size:8rem;line-height:1;display:block}.continue-arrow{font-size:1.5rem;font-weight:900}.stage-node__check-svg .stage-node__check-path{stroke-dasharray:24;stroke-dashoffset:24;animation:draw-check .6s ease-out .2s forwards}@keyframes draw-check{to{stroke-dashoffset:0}}.stage-node__lock-emoji{font-size:2rem;line-height:1}.stage-node__sparkle-emoji{font-size:1.75rem;line-height:1}.stage-node__star{font-size:1.5rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.stage-node__star--2{font-size:2rem;margin-top:-4px}.stage-node__avatar-icon{font-size:2.5rem;line-height:1}.success-toast__icon span{font-size:1.5rem;line-height:1}.question-emoji{font-size:2.5rem;transition:transform .2s ease;animation:float 3s ease-in-out infinite}.question-emoji:hover{transform:scale(1.15)}.question-card__group{display:flex;gap:8px;background:#ffdad64d;padding:var(--sm);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:center;max-width:280px}.stage-node__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}@keyframes wobble{0%,to{transform:translate(0)}15%,45%,75%{transform:translate(-8px) rotate(-2deg)}30%,60%,90%{transform:translate(8px) rotate(2deg)}}.animate-wobble{animation:wobble .5s ease-in-out}.map-toast{position:fixed;top:90px;left:50%;transform:translate(-50%);z-index:1000;pointer-events:none;animation:float 5s ease-in-out infinite}.map-toast__inner{display:flex;align-items:center;gap:12px;background:#fff;padding:14px 22px;border-radius:var(--radius);box-shadow:var(--shadow-lg);border-bottom:6px solid var(--error);border-left:2px solid var(--error-container);border-right:2px solid var(--error-container)}.map-toast__icon{font-size:1.5rem}.map-toast__message{font-family:var(--font-family);font-weight:800;font-size:1rem;color:var(--on-surface)}.stage-page--locked{background:linear-gradient(to bottom,var(--primary-fixed),var(--surface))}.stage-page__locked{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:var(--md);margin-top:80px}.locked-card{background:#fff;border-radius:var(--radius-lg);padding:var(--lg);max-width:480px;width:100%;text-align:center;box-shadow:var(--shadow-lg);border-bottom:8px solid var(--outline-variant);border-left:2px solid var(--surface-container-high);border-right:2px solid var(--surface-container-high);animation:float 6s ease-in-out infinite}.locked-card__lock-emoji{font-size:4.5rem;display:inline-block;margin-bottom:var(--md)}.locked-card__title{font-family:var(--font-family);font-size:1.75rem;font-weight:900;color:var(--on-surface);margin-bottom:var(--sm)}.locked-card__text{font-size:1.1rem;line-height:1.6;color:var(--on-surface-variant);margin-bottom:var(--lg)}.locked-card__actions{display:flex;justify-content:center}.question-card__story-box{background:linear-gradient(135deg,#c9e6ff,#f6faff);border:4px solid var(--primary-fixed-dim);border-radius:var(--radius);padding:16px var(--md);margin-bottom:var(--sm);max-width:90%;box-shadow:var(--shadow-sm);position:relative;text-align:center;border-bottom:6px solid var(--primary)}.question-card__story-text{font-family:var(--font-family);font-weight:800;font-size:1.15rem;line-height:1.5;color:var(--on-primary-fixed-variant);margin:0}.question-card__groups--cartoon{gap:var(--lg)!important}.question-card__cartoon-operand{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;padding:12px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);border-bottom:6px solid var(--outline-variant);border-left:2px solid var(--surface-container-high);border-right:2px solid var(--surface-container-high);min-width:120px}.question-card__cartoon-number{font-family:var(--font-family);font-weight:900;font-size:3rem;color:var(--primary);line-height:1}.question-card__cartoon-mascot{position:relative;width:70px;height:70px;margin-top:4px}.mascot-image-small{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full);border:3px solid white;box-shadow:var(--shadow-sm);background:var(--primary-fixed)}.mascot-badge{position:absolute;bottom:-4px;right:-4px;background:#fff;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);font-size:1.25rem;border:2px solid var(--primary-fixed)}.question-card__answer-box--cartoon{width:110px!important;height:110px!important;border:6px dashed var(--primary-container)!important;background:var(--primary-fixed)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)}.question-card__answer-box--cartoon .question-card__answer-q{color:var(--primary)!important;font-size:3rem!important}.top-bar__welcome{font-size:.95rem;font-weight:800;color:var(--primary);background:#fff;padding:4px 12px;border-radius:var(--radius-full);margin-left:12px;border:2px solid var(--primary-fixed-dim);box-shadow:var(--shadow-sm);display:inline-block;white-space:nowrap}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#001e2f99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;justify-content:center;align-items:center;padding:var(--md)}.onboarding-modal{background:#fff;border-radius:var(--radius-lg);padding:var(--lg);max-width:520px;width:100%;box-shadow:var(--shadow-lg);border-bottom:8px solid var(--primary);border-left:2px solid var(--primary-fixed-dim);border-right:2px solid var(--primary-fixed-dim);text-align:center}.onboarding-modal__title{font-family:var(--font-family);font-size:1.8rem;font-weight:900;color:var(--primary);margin-bottom:8px}.onboarding-modal__subtitle{font-size:1.1rem;color:var(--on-surface-variant);margin-bottom:var(--lg)}.onboarding-modal__form{display:flex;flex-direction:column;gap:var(--md)}.form-group{display:flex;flex-direction:column;text-align:left;gap:8px}.form-label{font-weight:800;font-size:1rem;color:var(--on-surface)}.form-input{width:100%;padding:12px 16px;font-size:1.1rem;border-radius:var(--radius);border:3px solid var(--outline-variant);font-family:inherit;font-weight:700;outline:none;transition:border-color .2s ease}.form-input:focus{border-color:var(--primary)}.mascot-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sm);margin-top:4px}.mascot-selector__option{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--surface-container-low);padding:12px;border-radius:var(--radius);border:3px solid transparent;transition:all .2s ease;font-family:var(--font-family);font-weight:800;font-size:.85rem;color:var(--on-surface-variant)}.mascot-selector__option:hover{background:var(--surface-container-high);transform:translateY(-2px)}.mascot-selector__option--selected{background:var(--primary-fixed)!important;border-color:var(--primary)!important;color:var(--primary)!important;box-shadow:var(--shadow-sm)}.mascot-selector__img{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-full);border:2px solid white;box-shadow:var(--shadow-sm)}.btn-large{width:100%;padding:16px!important;font-size:1.25rem!important;margin-top:var(--sm)}
