:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;background:radial-gradient(circle at top,#fffbcc 0,#ffd6e8 35%,#b3e9ff);color:#13334c;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem}.app-header{text-align:center;margin-bottom:1rem}.app-header h1{font-size:2.5rem;margin:0}.app-header-game{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;text-align:left;margin-bottom:1rem;width:100%;max-width:480px}.game-header-left{flex:1;min-width:0}.game-header-title{font-size:1.75rem;margin:0}.level-name{margin:.25rem 0 0;font-size:1rem;font-weight:700;color:#083042}.level-best-accuracy{margin:.15rem 0 0;font-size:.9rem;font-weight:600;color:#13334c}.game-header-right{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}.change-level-btn{padding:.4rem .75rem;font-size:.9rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;background:#4dd0e1;color:#083042;box-shadow:0 4px #0097a7}.change-level-btn:hover{background:#26c6da}.game-header-buttons{display:flex;gap:.4rem}.game-stats-row{display:flex;gap:.5rem;margin-top:.4rem}.stat-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .5rem;font-size:.85rem;font-weight:700;border-radius:8px;background:#ffffffd9;color:#13334c;box-shadow:0 2px 6px #00000014}.coin-badge{color:#e67e22}.streak-badge{color:#d84315}.xp-bar-container{display:flex;align-items:center;gap:.4rem;margin-top:.35rem}.xp-level-badge{font-size:.8rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#7c4dff,#536dfe);padding:.15rem .45rem;border-radius:6px;white-space:nowrap}.xp-bar-track{flex:1;height:10px;background:#0000001a;border-radius:5px;overflow:hidden;min-width:80px}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#7c4dff,#536dfe,#448aff);border-radius:5px;transition:width .4s ease-out}.xp-bar-text{font-size:.7rem;font-weight:600;color:#555;white-space:nowrap;font-variant-numeric:tabular-nums}.mastery-progress{display:flex;align-items:center;gap:.4rem;margin-top:.3rem}.mastery-progress-label{font-size:.7rem;font-weight:600;color:#777;white-space:nowrap}.mastery-progress-track{flex:1;height:8px;background:#0000001a;border-radius:4px;overflow:hidden;min-width:60px}.mastery-progress-fill{height:100%;background:linear-gradient(90deg,#26c6da,#43a047);border-radius:4px;transition:width .4s ease-out}.practice-round-card{display:flex;flex-direction:column;align-items:center;gap:.4rem}.practice-round-title{font-size:1.1rem;font-weight:800;color:#ff9800}.practice-round-message{font-size:.95rem;color:#555}.levelup-inline-text{font-size:1.1rem;font-weight:800;color:#43a047}.levelup-inline-title{font-size:.95rem;color:#555}.timer-bar-track{width:100%;height:6px;background:#00000014;border-radius:3px;overflow:hidden}.timer-bar-fill{height:100%;border-radius:3px;transition:width .1s linear}.combo-display{text-align:center;font-weight:800;color:#ff6f00;animation:combo-pulse .4s ease-out}.combo-2,.combo-3,.combo-4{font-size:1rem}.combo-5,.combo-6,.combo-7{font-size:1.2rem;color:#e65100}.combo-8,.combo-9,.combo-10{font-size:1.5rem;color:#bf360c;text-shadow:0 0 8px rgba(255,111,0,.4)}@keyframes combo-pulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.message-row{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:1.5rem}.xp-float{font-size:.9rem;font-weight:800;color:#7c4dff;animation:xp-float-up 1.2s ease-out forwards}@keyframes xp-float-up{0%{transform:translateY(0);opacity:1}70%{transform:translateY(-12px);opacity:1}to{transform:translateY(-20px);opacity:0}}.achievement-popup{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:1000;animation:achievement-slide-in .4s ease-out}.achievement-popup-inner{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#1a237e,#283593);color:#fff;padding:.75rem 1.25rem;border-radius:16px;box-shadow:0 8px 32px #1a237e66;min-width:260px}.achievement-icon{font-size:2rem}.achievement-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.achievement-name{font-size:1.1rem;font-weight:700}.achievement-desc{font-size:.8rem;opacity:.85}@keyframes achievement-slide-in{0%{transform:translate(-50%,-100%);opacity:0}to{transform:translate(-50%);opacity:1}}.levelup-overlay{position:fixed;inset:0;z-index:999;background:#000000a6;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:fadeIn .2s ease-out}.levelup-content{text-align:center;animation:levelup-bounce .6s ease-out}.levelup-stars{font-size:3rem}.levelup-text{font-size:3rem;font-weight:900;background:linear-gradient(135deg,#ffd54f,#ff6f00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}.levelup-level{font-size:2rem;font-weight:800;color:#fff;margin-top:.25rem}@keyframes levelup-bounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.profile-button{padding:1rem 1.25rem;font-size:1.25rem;font-weight:600;border:none;border-radius:18px;cursor:pointer;background:#4dd0e1;color:#083042;box-shadow:0 8px #0097a7;transition:transform .1s ease,box-shadow .1s ease;touch-action:manipulation;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.profile-button:active{transform:translateY(4px);box-shadow:0 4px #0097a7}.profile-level-badge{font-size:.8rem;font-weight:800;background:#00000026;padding:.15rem .4rem;border-radius:6px}.profile-button-add{background:linear-gradient(135deg,#ffe66d,#ff9ff3);color:#1b1b1b;box-shadow:0 8px #e67e22;margin-top:.5rem;justify-content:center}.profile-button-add:active{box-shadow:0 4px #e67e22}.topic-name{margin:.25rem 0 0;font-size:1rem;font-weight:700;color:#083042}.subtitle{margin-top:.25rem;font-size:1.1rem}.unlocked-message{margin:.5rem 0 0;font-size:1rem;font-weight:700;color:#2e7d32}.lifetime-stats{margin:.25rem 0 0;font-size:.95rem;font-weight:600;color:#13334c}.batch-summary,.lifetime-in-summary{text-align:center;margin:0;font-weight:600;font-size:1.15rem;color:#13334c}.batch-summary{margin-bottom:.5rem}.batch-bonus{text-align:center;margin:0 0 .5rem;font-weight:700;font-size:1rem;color:#e67e22;animation:combo-pulse .4s ease-out}.lifetime-in-summary{margin-bottom:1rem;font-size:1rem}.picker-message{text-align:center;margin:0;color:#13334c}.profile-list{display:flex;flex-direction:column;gap:.75rem}.parent-link{align-self:center;margin-top:.5rem;padding:.4rem .75rem;font-size:.9rem;font-weight:600;border:none;background:none;color:#0097a7;cursor:pointer;text-decoration:underline}.pin-pad-overlay,.parent-panel-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.pin-pad-card,.parent-panel-card{background:#fff;border-radius:20px;padding:1.5rem;width:100%;max-width:360px;box-shadow:0 20px 50px #00000040;display:flex;flex-direction:column;gap:.75rem}.pin-pad-title,.parent-panel-title{margin:0;text-align:center;font-weight:700;color:#13334c}.pin-pad-dots{display:flex;justify-content:center;gap:.75rem;margin:.5rem 0}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid #4dd0e1;display:inline-block}.pin-dot-filled{background:#4dd0e1}.pin-pad-error{text-align:center;color:#d32f2f;font-weight:600;margin:0}.pin-pad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.pin-pad-key{min-height:56px;min-width:56px;font-size:1.5rem;font-weight:700;border:none;border-radius:14px;background:#4dd0e1;color:#083042;cursor:pointer;touch-action:manipulation}.pin-pad-key-muted{background:#e0e0e0;color:#444;font-size:1rem}.parent-panel-subtitle{margin:.5rem 0 0;font-size:1rem;color:#13334c}.parent-email-form,.add-kid-form{display:flex;flex-direction:column;gap:.5rem}.parent-label{font-size:.85rem;color:#13334c;font-weight:600}.parent-input{padding:.6rem .75rem;font-size:1rem;border:1px solid #cfd8dc;border-radius:10px}.parent-hint{margin:0;font-size:.85rem;color:#2e7d32}.switch-user{padding:.25rem .5rem;font-size:.95rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;background:#ffffffe6;color:#13334c;box-shadow:0 2px 6px #0000001a}.switch-user:hover{background:#fff}.parent-kid-list{display:flex;flex-direction:column;gap:.4rem}.parent-kid-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;border-radius:10px;background:#f4f7f9}.parent-kid-name{font-weight:600;color:#13334c}.kid-settings-button{min-height:44px;padding:0 .9rem;font-size:.9rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;background:#4dd0e1;color:#083042}.kid-settings-card{max-width:420px;max-height:85vh;overflow-y:auto}.kid-settings-subjects{display:flex;flex-direction:column;gap:.6rem}.kid-settings-subject-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.kid-settings-subject-label{display:flex;align-items:center;gap:.4rem;font-weight:600;color:#13334c;flex:1}.kid-settings-select{min-height:44px;flex:1.4;padding:.4rem .6rem;font-size:.95rem;border:1px solid #cfd8dc;border-radius:10px;background:#fff}.kid-settings-remove{margin-top:.5rem;padding-top:.75rem;border-top:1px solid #e0e0e0}.kid-settings-remove-button{min-height:44px;width:100%;padding:0 .9rem;font-size:.95rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;background:#ffebee;color:#d32f2f}.kid-settings-remove-button:disabled{opacity:.5;cursor:not-allowed}.kid-settings-remove-confirm{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.card{width:100%;max-width:480px;background:#fff;border-radius:24px;padding:1.75rem 1.5rem 1.5rem;box-shadow:0 14px 40px #0000001f;display:flex;flex-direction:column;gap:1rem}.question{text-align:center;font-size:2.5rem;font-weight:800;padding:1rem .75rem;border-radius:20px;background:linear-gradient(135deg,#ffe66d,#ff9ff3);color:#1b1b1b;transition:transform .2s ease,box-shadow .2s ease}.answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.answers-3{grid-template-columns:repeat(3,minmax(0,1fr))}.answer-button{border:none;border-radius:18px;padding:1.1rem .75rem;font-size:1.6rem;font-weight:700;cursor:pointer;background:#4dd0e1;color:#083042;box-shadow:0 10px #0097a7;transition:transform .1s ease,box-shadow .1s ease,background .15s ease;touch-action:manipulation}.answer-button:active{transform:translateY(4px);box-shadow:0 6px #0097a7}.answer-button:disabled{opacity:.7;cursor:default}.message{min-height:1.5rem;text-align:center;font-weight:600;font-size:1.1rem}.question-correct{animation:pop .35s ease-out}.question-wrong{animation:wobble .35s ease-out}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.05)}70%{transform:scale(.98)}to{transform:scale(1)}}@keyframes wobble{0%{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}.leaderboard{width:100%;max-width:480px;margin-top:1.25rem;background:#fff;border-radius:24px;padding:1.25rem 1.5rem;box-shadow:0 14px 40px #0000001f}.leaderboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.leaderboard-title{margin:0;font-size:1.25rem;font-weight:700;color:#13334c}.leaderboard-tabs{display:flex;gap:.25rem}.leaderboard-tab{padding:.2rem .5rem;font-size:.75rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;background:#0000000f;color:#555}.leaderboard-tab-active{background:#4dd0e1;color:#083042}.leaderboard-list{list-style:none;margin:0;padding:0}.leaderboard-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:12px;font-size:1rem;font-weight:600;color:#13334c}.leaderboard-row-current{background:linear-gradient(135deg,#ffe66d66,#ff9ff366)}.leaderboard-rank{min-width:1.5rem;font-weight:800;color:#083042}.leaderboard-rank-medal{font-size:1.2rem}.leaderboard-name{flex:1}.leaderboard-level-badge{font-size:.7rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#7c4dff,#536dfe);padding:.1rem .35rem;border-radius:4px}.leaderboard-stats,.leaderboard-accuracy{font-variant-numeric:tabular-nums}.leaderboard-xp{font-variant-numeric:tabular-nums;font-weight:700;color:#7c4dff}.level-picker{width:100%;max-width:480px;margin-bottom:1rem;background:#fff;border-radius:24px;padding:1rem 1.25rem;box-shadow:0 14px 40px #0000001f}.level-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.level-picker-title{margin:0;font-size:1.15rem;font-weight:700;color:#13334c}.level-picker-close{padding:.25rem .5rem;font-size:1.5rem;line-height:1;border:none;border-radius:8px;cursor:pointer;background:transparent;color:#13334c}.level-picker-close:hover{background:#0000000f}.level-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.level-picker-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;text-align:left;border:none;border-radius:12px;cursor:pointer;background:#e0f7fa;color:#083042;transition:background .15s ease;gap:.5rem}.level-picker-item:hover:not(:disabled){background:#b2ebf2}.level-picker-item-current{background:linear-gradient(135deg,#ffe66d,#ff9ff3);color:#1b1b1b}.level-picker-item-locked{background:#eceff1;color:#78909c;cursor:not-allowed}.level-picker-name{flex:1}.level-picker-right{display:flex;align-items:center;gap:.4rem}.level-picker-stars{font-size:.85rem;letter-spacing:1px}.level-picker-accuracy,.level-picker-locked{font-size:.9rem;font-variant-numeric:tabular-nums}.batch-retry-options{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-top:.5rem}.batch-retry-message{font-size:1.1rem;color:#ff9800;font-weight:600;margin:0 0 .3rem}.batch-continue-anyway{background:none;border:none;color:#888;font-size:.85rem;cursor:pointer;padding:.3rem .6rem;text-decoration:underline;margin-top:.2rem}.batch-continue-anyway:hover{color:#aaa}.subject-picker-subtitle{color:#666;font-weight:600;margin:.25rem 0 0}.subject-picker-grid{width:100%;max-width:480px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.subject-tile{min-height:120px;border:none;border-radius:20px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;cursor:pointer;touch-action:manipulation;color:#1b1b1b;background:linear-gradient(135deg,color-mix(in srgb,var(--subject-color) 55%,white),var(--subject-color));box-shadow:0 10px color-mix(in srgb,var(--subject-color) 65%,black);transition:transform .1s ease,box-shadow .1s ease}.subject-tile:active{transform:translateY(4px);box-shadow:0 6px color-mix(in srgb,var(--subject-color) 65%,black)}.subject-tile-icon{font-size:2rem}.subject-tile-name{font-weight:800;font-size:1.1rem}.subject-tile-level{font-size:.8rem;font-weight:600;text-align:center;opacity:.85}.subject-tile-mastery-track{width:90%;height:6px;border-radius:4px;background:#00000026;overflow:hidden}.subject-tile-mastery-fill{height:100%;background:#fff;border-radius:4px}.subject-tile-stars{font-size:.9rem;letter-spacing:.1rem}.passage-card{background:#f4f6ff;border-radius:18px;padding:.9rem 1rem;max-height:8rem;overflow-y:auto}.passage-title{margin:0 0 .4rem;font-weight:700;color:#13334c}.passage-text{font-size:.95rem;line-height:1.4;color:#333;white-space:pre-line}.typed-answer-row{display:flex;gap:.6rem}.typed-answer-input{flex:1;min-width:0;border:2px solid #ccc;border-radius:14px;padding:.75rem 1rem;font-size:1.2rem}.typed-answer-input:focus{outline:none;border-color:#4dd0e1}.typed-check-button{padding:.75rem 1.25rem;font-size:1.1rem}.feedback-detail{display:block;font-weight:500;font-size:.9rem;color:#666;margin-top:.2rem}.parent-dashboard-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:flex-start;justify-content:center;z-index:50;padding:1.5rem 1rem;overflow-y:auto}.parent-dashboard-card{background:#fff;border-radius:20px;padding:1.5rem;width:100%;max-width:900px;box-shadow:0 20px 50px #00000040;display:flex;flex-direction:column;gap:1rem}.dash-header{display:flex;align-items:center;justify-content:space-between}.dash-note{margin:0;padding:.6rem .9rem;border-radius:12px;background:#fff3cd;color:#6b5300;font-size:.9rem}.dash-empty{color:#6b7a90;text-align:center}.dash-kid-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:600px){.dash-kid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-kid-card{background:#f7f8fc;border-radius:16px;padding:1.1rem;display:flex;flex-direction:column;gap:.9rem}.dash-kid-head{display:flex;flex-direction:column;gap:.15rem}.dash-kid-name{font-size:1.2rem;font-weight:800;color:#13334c}.dash-kid-meta{font-size:.85rem;color:#6b7a90}.dash-subject-row{background:#fff;border-radius:14px;padding:.9rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 4px 14px #0000000f}.dash-subject-head{display:flex;align-items:center;gap:.4rem}.dash-subject-icon{font-size:1.1rem}.dash-subject-name{font-weight:700;color:#13334c;flex:1}.dash-chip-needs-help{background:#ffebee;color:#c62828;font-size:.75rem;font-weight:700;padding:.2rem .5rem;border-radius:999px}.dash-level-line{margin:0;font-size:.9rem;color:#37475e}.dash-mastery-bar{height:8px;border-radius:999px;background:#e5e9f2;overflow:hidden}.dash-mastery-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#26c6da,#43a047)}.dash-stat-line{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.85rem;color:#37475e}.dash-mini-bars{display:flex;align-items:flex-end;gap:.25rem;height:32px}.dash-mini-bar-col{flex:1;height:100%;display:flex;align-items:flex-end}.dash-mini-bar{width:100%;border-radius:4px 4px 0 0;background:#7c4dff;min-height:4px}.dash-transition{margin:0;font-size:.8rem;color:#6b7a90}
