.home-screen{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;height:100vh;max-height:100vh;background:var(--bg-white);color:var(--text-dark);overflow:hidden}.home-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;height:3.5rem;padding:.625rem 1rem;padding-top:max(.625rem,env(safe-area-inset-top));padding-bottom:max(.625rem,env(safe-area-inset-bottom));gap:.75rem;border-bottom:3px solid var(--border-color)}.home-header-left{flex-shrink:0}.home-header-right{display:flex;align-items:center;gap:.75rem}.home-header-streak{display:flex;align-items:center;gap:.25rem;font-family:var(--font-display);font-size:.875rem;font-weight:500;color:var(--text-muted)}.home-profile-wrapper{position:relative}.home-profile-avatar{width:2.25rem;height:2.25rem;border-radius:50%;background:#7c3aed;color:#fff;border:2px solid #1F2937;font-family:var(--font-display);font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease-out;line-height:1}.home-profile-avatar:hover{opacity:.85}.home-profile-avatar:active{opacity:.7}.home-profile-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:14rem;padding:.875rem;background:var(--bg-white);border:var(--border-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-offset-small);z-index:50;display:flex;flex-direction:column;gap:.5rem;animation:dropdownFade .15s ease-out}.profile-dropdown-label{font-family:var(--font-display);font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.profile-dropdown-input{width:100%;padding:.5rem .625rem;border:1.5px solid var(--border-color);border-radius:.375rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-dark);background:var(--bg-light);outline:none;transition:border-color .15s ease-out}.profile-dropdown-input:focus{border-color:#7c3aed}.profile-dropdown-save{padding:.4375rem .75rem;background:#7c3aed;border:none;border-radius:.375rem;color:#fff;font-family:var(--font-display);font-size:.8125rem;font-weight:600;cursor:pointer;transition:opacity .15s ease-out;align-self:flex-end}.profile-dropdown-save:hover{opacity:.85}.profile-dropdown-save:active{opacity:.7}.profile-carousel{display:flex;align-items:center;gap:.25rem}.profile-carousel-arrow{width:2rem;height:2rem;border:1.5px solid var(--border-color);border-radius:.375rem;background:var(--bg-light);color:var(--text-dark);font-size:1.125rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s ease-out;-webkit-tap-highlight-color:transparent}.profile-carousel-arrow:hover{border-color:#7c3aed;color:#7c3aed}.profile-carousel-arrow:active{background:var(--color-primary-light)}.profile-carousel-name{flex:1;text-align:center;font-family:var(--font-display);font-size:.9375rem;font-weight:500;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .25rem}.profile-dropdown-toggle{background:none;border:none;padding:0;font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);cursor:pointer;text-align:center;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease-out}.profile-dropdown-toggle:hover{color:#7c3aed}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.home-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.5rem;min-height:0;padding:1.5rem 1.25rem 1rem;overflow:hidden}.home-greeting{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;background:var(--bg-white);border:var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-offset);padding:1.5rem;width:100%;max-width:320px}.home-greeting-line{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-dark);line-height:1.2}.home-greeting-subline{font-family:var(--font-display);font-size:.9375rem;font-weight:400;color:var(--text-muted);line-height:1.4}.home-welcome-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;background:var(--bg-white);border:var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-offset);padding:1.5rem;width:100%;max-width:320px}.home-welcome-heading{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-dark);line-height:1.2}.home-welcome-subtext{font-family:var(--font-display);font-size:.9375rem;font-weight:400;color:var(--text-muted);line-height:1.4}.home-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%;max-width:320px;align-items:stretch}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;background:var(--bg-white);border:var(--border-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-offset-small);padding:1rem 1.25rem;justify-content:center}.stat-number{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:#7c3aed}.stat-label{font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.home-challenge-button{padding:.875rem 2rem;background:var(--color-primary);border:var(--border-primary);border-radius:var(--border-radius-md);color:#fff;font-family:var(--font-display);font-size:1.0625rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-offset);transition:all .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.home-challenge-button:not(:disabled):hover{opacity:.9}.home-challenge-button:not(:disabled):active{box-shadow:var(--shadow-offset-tiny);transform:translate(2px,2px)}.home-challenge-button:disabled{opacity:.5;cursor:not-allowed}.home-recent-results{flex-shrink:0;display:none;flex-direction:column;gap:.625rem;align-items:center}.recent-results-title{font-size:.75rem;font-weight:600;font-family:var(--font-display);letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase;margin:0}.recent-results-grid{display:flex;gap:.5rem;justify-content:center}.result-dot{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-white);border:1.5px solid var(--border-color);border-radius:50%;font-size:.875rem;font-weight:700;color:var(--text-dark)}.result-dot--completed{background:var(--color-sage);border-color:var(--color-sage);color:#fff}.result-dot--missed{opacity:.4;color:var(--text-muted)}.result-day{font-size:.75rem;font-weight:600;color:var(--text-muted);text-align:center;margin-top:.25rem}@media(prefers-reduced-motion:reduce){.home-challenge-button:hover{transform:none}.home-profile-dropdown{animation:none}}.keyboard{display:flex;flex-direction:column;gap:3px;padding:.2rem .3rem;background:var(--bg-white);width:100%;align-items:center;overflow:visible}.keyboard-row{display:flex;gap:3px;justify-content:center}.keyboard-key{height:36px;width:clamp(1.75rem,8vw,2.25rem);padding:0;border:1.5px solid var(--border-color);border-radius:.375rem;background:var(--bg-white);color:var(--text-dark);font-family:inherit;font-size:clamp(.625rem,2.5vw,.75rem);font-weight:600;cursor:pointer;box-shadow:0 1px 2px #0000000d;transition:all .1s ease-out;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0}.keyboard-key:not(:disabled):hover{background:var(--bg-card);border-color:var(--subject-accent);transform:translateY(-1px);box-shadow:0 2px 6px var(--subject-accent-glow, rgba(139, 92, 246, .2))}.keyboard-key:not(:disabled):active{background:var(--bg-card);border-color:var(--subject-accent);transform:translateY(0);box-shadow:0 1px 2px #0000000d}.keyboard-key:disabled{opacity:.4;cursor:not-allowed}.keyboard-backspace{height:36px;width:clamp(2.625rem,12vw,3.375rem);padding:0;border:1.5px solid var(--border-color);border-radius:.375rem;background:var(--bg-white);color:var(--text-dark);font-family:inherit;font-size:clamp(.875rem,3vw,1rem);cursor:pointer;box-shadow:0 1px 2px #0000000d;transition:all .1s ease-out;display:flex;align-items:center;justify-content:center;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0}.keyboard-backspace:not(:disabled):hover{background:var(--bg-card);border-color:var(--subject-accent);transform:translateY(-1px);box-shadow:0 2px 6px var(--subject-accent-glow, rgba(139, 92, 246, .2))}.keyboard-backspace:not(:disabled):active{background:var(--bg-card);border-color:var(--subject-accent);transform:translateY(0);box-shadow:0 1px 2px #0000000d}.keyboard-backspace:disabled{opacity:.4;cursor:not-allowed}.keyboard-submit{display:none}@keyframes keyPress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.keyboard-key:active,.keyboard-submit:active,.keyboard-backspace:active{animation:keyPress .1s ease-out}.keyboard-key:focus-visible,.keyboard-submit:focus-visible,.keyboard-backspace:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.letter-grid{display:grid;gap:var(--grid-gap, .375rem);grid-template-columns:repeat(var(--word-length, 5),1fr);width:100%;max-width:100%;justify-items:center;align-items:center;flex:1;overflow:visible}.letter-box{aspect-ratio:1;width:100%;max-width:3rem;min-width:1.75rem;background-color:var(--bg-white);border:1.5px solid #1F2937;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:clamp(.625rem,3.5vw,1rem);font-weight:700;color:var(--text-dark);transition:all .3s ease-out;position:relative}.letter-grid[data-word-length="5"]{--word-length: 5;--grid-gap: .375rem}.letter-grid[data-word-length="6"]{--word-length: 6;--grid-gap: .375rem}.letter-grid[data-word-length="7"]{--word-length: 7;--grid-gap: .375rem}.letter-grid[data-word-length="8"]{--word-length: 8;--grid-gap: .375rem}.letter-grid[data-word-length="9"]{--word-length: 9;--grid-gap: .3125rem}.letter-grid[data-word-length="10"]{--word-length: 10;--grid-gap: .25rem}.letter-grid[data-word-length="11"]{--word-length: 11;--grid-gap: .25rem}.letter-grid[data-word-length="12"]{--word-length: 12;--grid-gap: .25rem}.letter-grid[data-word-length="13"]{--word-length: 13;--grid-gap: .25rem}.letter-grid[data-word-length="14"]{--word-length: 14;--grid-gap: .25rem}.letter-grid[data-word-length="15"]{--word-length: 15;--grid-gap: .25rem}.letter-grid[data-word-length="16"]{--word-length: 16;--grid-gap: .25rem}.letter-box-text{display:block;line-height:1}.letter-box--empty{background-color:var(--bg-white);border-color:#1f2937;color:transparent;box-shadow:none}.letter-box--filled{background-color:var(--bg-white);border:2px solid var(--subject-accent);color:var(--text-dark);box-shadow:2px 2px 0 var(--subject-accent)}.letter-box--correct{background:#22c55e;border:2px solid #1F2937;color:#fff;box-shadow:2px 2px #1f2937;animation:correctFlip .6s ease-out}.letter-box--wrong{animation:wrongFlash .5s ease-out;background-color:#ef4444;border:2px solid #1F2937;color:#fff;box-shadow:2px 2px #1f2937}.letter-box--cursor{border:2px solid #1F2937;box-shadow:2px 2px #1f2937;animation:cursorPulse 1.5s ease-in-out infinite}.letter-box--cursor:after{content:"";position:absolute;width:2px;height:60%;background-color:var(--subject-accent);animation:cursorBlink 1s ease-in-out infinite}@keyframes correctFlip{0%{transform:rotateX(0);background:var(--bg-white);border-color:#1f2937}50%{transform:rotateX(90deg)}to{transform:rotateX(0);background:#22c55e;border-color:#1f2937}}@keyframes wrongFlash{0%{background-color:#dc26264d;border-color:#dc2626;transform:scale(1)}50%{background-color:#dc2626cc;border-color:#dc2626;transform:scale(1.05)}to{background-color:#dc2626cc;border-color:#dc2626;transform:scale(1)}}@keyframes cursorPulse{0%,50%,to{opacity:1}}@keyframes cursorBlink{0%,49%{opacity:1}50%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.letter-box{animation:none;transition:background-color .2s ease-out,border-color .2s ease-out}.letter-box--correct,.letter-box--wrong,.letter-box--cursor{animation:none}.letter-box--cursor:after{animation:none;opacity:.7}}.hint-panel{display:flex;flex-direction:column;gap:.4rem;width:100%;flex-shrink:0;overflow:visible}.hint-pills{display:flex;gap:.25rem;justify-content:center}.hint-pill{flex:1;padding:.1875rem .0625rem;border:1.5px solid #1F2937;border-radius:var(--border-radius-sm);background:var(--bg-white);color:var(--text-dark);font-family:inherit;font-size:.625rem;font-weight:700;cursor:pointer;text-align:center;line-height:1.2;transition:all .15s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.0625rem;flex-shrink:0;box-shadow:1px 1px #1f2937}.hint-pill--available{border-color:var(--hint-accent);border-width:1.5px;color:var(--hint-accent);background:var(--bg-white);box-shadow:1px 1px 0 var(--hint-accent)}.hint-pill--available:hover{background:var(--hint-accent-light)}.hint-pill--available:active{box-shadow:0 0 0 var(--hint-accent);transform:translate(1px,1px)}.hint-pill--revealed{border-color:var(--hint-accent);border-width:1.5px;background:var(--hint-accent);color:#fff;opacity:.7;cursor:default;box-shadow:1px 1px 0 var(--hint-accent)}.hint-pill--disabled{border-color:#d1d5db;background:#f3f4f6;color:#9ca3af;opacity:1;cursor:not-allowed;box-shadow:1px 1px #d1d5db}.hint-pill-cost{font-size:.625rem;font-weight:600;opacity:.85}.hint-panel--english{--hint-accent: #F97316;--hint-accent-light: rgba(249, 115, 22, .08)}.hint-panel--science{--hint-accent: #22C55E;--hint-accent-light: rgba(34, 197, 94, .08)}.hint-panel--history{--hint-accent: #f59e0b;--hint-accent-light: rgba(245, 158, 11, .08)}.hint-panel--geography{--hint-accent: #06b6d4;--hint-accent-light: rgba(6, 182, 212, .08)}.hint-panel--maths{--hint-accent: #a855f7;--hint-accent-light: rgba(168, 85, 247, .08)}@media(prefers-reduced-motion:reduce){.hint-pill{transition:none}}.top-bar{position:relative;height:3.5rem;padding:.625rem 1rem;background:var(--bg-white);border-bottom:3px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;overflow:hidden}.top-bar--english{border-bottom-color:#f97316}.top-bar--science{border-bottom-color:#22c55e}.top-bar--history{border-bottom-color:#f59e0b}.top-bar--geography{border-bottom-color:#06b6d4}.top-bar--maths{border-bottom-color:#a855f7}.top-bar-left{flex-shrink:0;display:flex;align-items:center;gap:.5rem}.top-bar-mascot{height:32px;width:auto;flex-shrink:0}.top-bar-logo{font-size:.875rem;font-weight:700;letter-spacing:.05em;color:var(--color-sage);text-transform:uppercase}.top-bar-progress{flex:1;display:flex;align-items:center;justify-content:center;gap:1rem}.progress-dots{display:flex;gap:.5rem}.progress-dot{width:6px;height:6px;border-radius:50%;background:var(--border-color);transition:background .3s ease-out}.progress-dot--completed{background:var(--color-sage)}.top-bar-timer{font-size:1.375rem;font-weight:700;font-family:var(--font-display);color:var(--text-dark);min-width:3ch;text-align:right;flex-shrink:0;transition:color .3s ease-out}.top-bar-timer--warning{color:#f59e0b}.top-bar-timer--critical{color:#dc2626;animation:timerPulseCritical .4s ease-in-out infinite}@keyframes timerPulseCritical{0%,to{opacity:1}50%{opacity:.6}}@media(max-width:640px){.top-bar{padding:max(.5rem,env(safe-area-inset-top)) 1rem .5rem 1rem;gap:.75rem}.progress-dots{gap:.375rem}.progress-dot{width:5px;height:5px}}.game-screen{display:flex;flex-direction:column;height:100vh;height:100dvh;height:100svh;max-height:100vh;max-height:100dvh;max-height:100svh;background:var(--bg-white);color:var(--text-dark);overflow:hidden}.game-screen--english{--subject-accent: #F97316;--subject-accent-light: rgba(249, 115, 22, .1);--subject-accent-glow: rgba(249, 115, 22, .4);--subject-accent-glow-strong: rgba(249, 115, 22, .6)}.game-screen--science{--subject-accent: #22C55E;--subject-accent-light: rgba(34, 197, 94, .1);--subject-accent-glow: rgba(34, 197, 94, .4);--subject-accent-glow-strong: rgba(34, 197, 94, .6)}.game-screen-content{flex-grow:1;flex-shrink:1;overflow-y:auto;overflow-x:hidden;padding:.25rem .5rem .375rem;display:flex;flex-direction:column;gap:.375rem;align-items:center;justify-content:flex-start;min-height:0}.game-screen-section-bottom{flex-shrink:0;display:flex;flex-direction:column;width:100%;background:var(--bg-white);overflow:visible;padding-bottom:env(safe-area-inset-bottom)}.game-screen-definition{width:100%;max-width:24rem;flex-shrink:0;padding:.75rem 1rem;text-align:center;background:var(--bg-white);border:var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-offset);margin-bottom:0;max-height:40vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.game-screen-definition::-webkit-scrollbar{width:6px}.game-screen-definition::-webkit-scrollbar-track{background:transparent}.game-screen-definition::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.game-screen-definition::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.definition-text{font-family:var(--font-display);font-size:.9375rem;font-weight:500;color:#1f2937;line-height:1.5}.game-screen-revealed-hints{width:100%;max-width:24rem;flex-shrink:0;display:flex;flex-direction:column;gap:.375rem;text-align:center;padding:.375rem 1rem;min-height:auto;justify-content:flex-start;border-top:1.5px solid transparent;transition:border-color .2s ease-out}.game-screen--english .game-screen-revealed-hints{border-top-color:#f97316}.game-screen--science .game-screen-revealed-hints{border-top-color:#22c55e}.game-screen--history .game-screen-revealed-hints{border-top-color:#f59e0b}.game-screen--geography .game-screen-revealed-hints{border-top-color:#06b6d4}.game-screen--maths .game-screen-revealed-hints{border-top-color:#a855f7}.revealed-hint-text{font-family:var(--font-display);font-size:.9375rem;font-weight:500;color:var(--text-dark);line-height:1.5;animation:hintTextFade .2s ease-out}@keyframes hintTextFade{0%{opacity:0}to{opacity:1}}.game-screen-anagram{width:100%;max-width:24rem;flex-shrink:0;display:flex;justify-content:center;padding:.375rem 1rem;min-height:auto;background:transparent;border-top:1.5px solid transparent;transition:border-color .2s ease-out}.game-screen-anagram--hidden{visibility:hidden;border-top-color:transparent}.game-screen-anagram--revealed{animation:anagramReveal .2s ease-out}.game-screen--english .game-screen-anagram--revealed{border-top-color:#f97316}.game-screen--science .game-screen-anagram--revealed{border-top-color:#22c55e}.game-screen--history .game-screen-anagram--revealed{border-top-color:#f59e0b}.game-screen--geography .game-screen-anagram--revealed{border-top-color:#06b6d4}.game-screen--maths .game-screen-anagram--revealed{border-top-color:#a855f7}@keyframes anagramReveal{0%{opacity:0}to{opacity:1}}.anagram-letters{display:grid;gap:var(--grid-gap, .25rem);grid-template-columns:repeat(var(--word-length, 5),1fr);width:100%;max-width:100%;justify-items:center;align-items:center}.anagram-tile{display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;max-width:2.5rem;min-width:1.5rem;background:var(--subject-accent-light);border:1px solid var(--subject-accent);border-radius:.25rem;font-size:.6rem;font-weight:600;color:var(--subject-accent)}.game-screen-grid{width:100%;display:flex;justify-content:center;align-items:center;flex-shrink:0;padding:.5rem;background:transparent;border:none;border-radius:0}.game-screen-hints{width:100%;max-width:24rem;height:auto;flex-shrink:0;overflow:visible;padding:.375rem 1rem .25rem;background:transparent;border:none;border-radius:0;margin:0}.game-screen-keyboard{flex-shrink:0;background:#f8f8f8;padding:0 .5rem .375rem;display:flex;flex-direction:column;gap:.375rem;align-items:center;width:100%;overflow:visible;border:none}.game-screen-buttons{display:flex;gap:.5rem;width:100%;max-width:24rem;padding:0;flex-shrink:0}.game-screen-submit-button{flex:1;padding:.5rem 1rem;background:var(--color-primary);border:var(--border-primary);border-radius:var(--border-radius-md);color:#fff;font-family:var(--font-display);font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-offset-small);transition:all .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center}.game-screen-submit-button:not(:disabled):hover{opacity:.9}.game-screen-submit-button:not(:disabled):active{box-shadow:var(--shadow-offset-tiny);transform:translate(1px,1px)}.game-screen-submit-button:disabled{opacity:.5;cursor:not-allowed}.game-screen-reveal-button{flex:1;padding:.5rem 1rem;background:var(--bg-white);border:2px solid var(--color-primary);border-radius:var(--border-radius-md);color:var(--color-primary);font-family:var(--font-display);font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:2px 2px 0 var(--color-primary);transition:all .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center}.game-screen-reveal-button:not(:disabled):hover{opacity:.9}.game-screen-reveal-button:not(:disabled):active{box-shadow:1px 1px 0 var(--color-primary);transform:translate(1px,1px)}.game-screen-reveal-button:disabled{opacity:.5;cursor:not-allowed}.game-screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;animation:overlayFadeIn .3s ease-out;padding:1.5rem}.overlay-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;background:var(--bg-white);padding:2rem 1.5rem;border-radius:var(--border-radius-lg);border:var(--border-primary);box-shadow:var(--shadow-offset);max-width:340px;text-align:center}.overlay-header{font-size:1.5rem;font-weight:600;font-family:var(--font-display);color:#dc2626}.overlay-word{font-size:2.5rem;font-weight:700;font-family:var(--font-display);color:var(--color-sage);letter-spacing:-.02em}.overlay-definition{font-size:.9rem;line-height:1.6;color:var(--text-muted)}.overlay-button{margin-top:.5rem;padding:.875rem 1.5rem;background:var(--color-primary);border:var(--border-primary);border-radius:var(--border-radius-md);color:#fff;font-family:var(--font-display);font-size:1rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-offset-small);transition:all .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;display:flex;align-items:center;justify-content:center}.overlay-button:not(:disabled):hover{opacity:.9}.overlay-button:not(:disabled):active{box-shadow:var(--shadow-offset-tiny);transform:translate(2px,2px)}.overlay-button:disabled{opacity:.5;cursor:not-allowed}.game-screen-anagram[data-word-length="5"] .anagram-letters{--word-length: 5;--grid-gap: .375rem}.game-screen-anagram[data-word-length="6"] .anagram-letters{--word-length: 6;--grid-gap: .375rem}.game-screen-anagram[data-word-length="7"] .anagram-letters{--word-length: 7;--grid-gap: .375rem}.game-screen-anagram[data-word-length="8"] .anagram-letters{--word-length: 8;--grid-gap: .375rem}.game-screen-anagram[data-word-length="9"] .anagram-letters{--word-length: 9;--grid-gap: .3125rem}.game-screen-anagram[data-word-length="10"] .anagram-letters{--word-length: 10;--grid-gap: .25rem}.game-screen-anagram[data-word-length="11"] .anagram-letters{--word-length: 11;--grid-gap: .25rem}.game-screen-anagram[data-word-length="12"] .anagram-letters{--word-length: 12;--grid-gap: .25rem}.game-screen-anagram[data-word-length="13"] .anagram-letters{--word-length: 13;--grid-gap: .25rem}.game-screen-anagram[data-word-length="14"] .anagram-letters{--word-length: 14;--grid-gap: .25rem}.game-screen-anagram[data-word-length="15"] .anagram-letters{--word-length: 15;--grid-gap: .25rem}.game-screen-anagram[data-word-length="16"] .anagram-letters{--word-length: 16;--grid-gap: .25rem}.game-screen-success{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:successFadeIn .3s ease-out;z-index:100;pointer-events:none}.success-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;background:var(--bg-white);padding:2rem;border-radius:1rem;box-shadow:0 10px 40px #0000001a}.success-icon{font-size:4rem;animation:successBounce .6s cubic-bezier(.34,1.56,.64,1)}.success-score{font-size:2rem;font-weight:700;font-family:var(--font-display);color:var(--color-sage);animation:fadeInUp .6s ease-out .2s both}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes successFadeIn{0%{opacity:0}to{opacity:1}}@keyframes successBounce{0%{transform:scale(0) rotate(-10deg);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.timer--warning,.timer--critical,.game-screen-success,.success-icon,.success-score{animation:none}}@media(min-height:500px)and (orientation:landscape){.game-screen-keyboard{max-height:30vh}}.learn-card-screen{display:flex;flex-direction:column;height:100dvh;background:var(--bg-white);overflow:hidden}.learn-card{display:flex;flex-direction:column;flex:1;padding:1.25rem 1rem 1rem;background:var(--bg-white);color:var(--text-dark);overflow:hidden}.learn-card--english{--subject-accent: #F97316;--subject-accent-light: rgba(249, 115, 22, .1)}.learn-card--science{--subject-accent: #22C55E;--subject-accent-light: rgba(34, 197, 94, .1)}.learn-card--history{--subject-accent: #f59e0b;--subject-accent-light: rgba(245, 158, 11, .1)}.learn-card--geography{--subject-accent: #06b6d4;--subject-accent-light: rgba(6, 182, 212, .1)}.learn-card--maths{--subject-accent: #a855f7;--subject-accent-light: rgba(168, 85, 247, .1)}.learn-card-fixed-header{display:flex;flex-direction:column;gap:.5rem;align-items:center;flex-shrink:0;margin-bottom:.75rem}.learn-card-word-section{display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:wordReveal .6s ease-out}.learn-card-word{font-size:clamp(2rem,calc(3rem - var(--word-length, 0) * .15rem),3rem);font-weight:700;color:var(--subject-accent);line-height:1.1;text-align:center;word-break:break-word;font-family:var(--font-display)}.learn-card-meta{display:flex;align-items:center;gap:.5rem}.learn-card-score{font-size:1.125rem;font-weight:600;font-family:var(--font-display);color:var(--text-muted)}.learn-card-progress{display:flex;gap:.5rem;justify-content:center}.learn-card-progress-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);opacity:.3;transition:opacity .2s ease-out}.learn-card-progress-dot--filled{opacity:1;background:var(--subject-accent);width:10px;height:10px}.learn-card-step-label{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-bottom:.75rem;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--subject-accent)}.learn-card-step-icon{font-size:1.375rem}.learn-card-step-text{font-family:var(--font-display)}.learn-card-content-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:1.5rem 1rem;background:var(--bg-white);border:var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-offset);margin:0 auto;max-width:340px;width:100%;min-height:0;overflow:hidden}.learn-card-content-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;gap:.75rem;opacity:0;pointer-events:none;transition:opacity .15s ease-out;position:absolute;top:0;right:0;bottom:0;left:0}.learn-card-content-item--visible{opacity:1;pointer-events:auto;position:relative;inset:auto}.learn-card-section{display:flex;flex-direction:column;gap:.5rem;text-align:center;max-width:20rem;flex-shrink:0}.learn-card-section-label{font-size:.75rem;font-weight:700;font-family:var(--font-display);letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase;margin:0}.learn-card-text{font-size:1rem;line-height:1.6;color:var(--text-dark);margin:0}.learn-card-sentence{background:var(--bg-light);padding:1rem;border-left:4px solid #1F2937;border-radius:.25rem}.sentence-text{display:block}.sentence-word{font-weight:700;color:var(--subject-accent);background:var(--subject-accent-light);padding:.125rem .375rem;border-radius:.25rem}.learn-card-content-prompt{font-size:.875rem;color:var(--text-muted);font-family:var(--font-display);font-weight:400;margin-top:auto;flex-shrink:0}.learn-card-footer-button{width:12rem;padding:.875rem 1.5rem;margin-top:auto;background:var(--color-primary);border:var(--border-primary);border-radius:var(--border-radius-md);color:#fff;font-family:var(--font-display);font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-offset-small);transition:all .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;align-self:center;display:flex;align-items:center;justify-content:center}.learn-card-footer-button:not(:disabled):hover{opacity:.9}.learn-card-footer-button:not(:disabled):active{box-shadow:var(--shadow-offset-tiny);transform:translate(1px,1px)}.learn-card-footer-button:disabled{opacity:.5;cursor:not-allowed}@keyframes wordReveal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.learn-card-word-section{animation:none}.learn-card-content-item{transition:none}.learn-card-footer-button:hover{transform:none}}.daily-summary{display:flex;flex-direction:column;gap:.875rem;height:100vh;height:100dvh;height:100svh;max-height:100vh;max-height:100dvh;max-height:100svh;padding:1.25rem 1rem;padding-bottom:max(1.25rem,calc(.75rem + env(safe-area-inset-bottom)));background:var(--bg-white);color:var(--text-dark);max-width:480px;margin:0 auto;overflow:hidden}.daily-summary-header{display:flex;flex-direction:column;gap:.25rem;text-align:center}.daily-summary-title{font-size:1.75rem;font-weight:600;font-family:var(--font-display);color:var(--text-dark);animation:headerReveal .6s ease-out;line-height:1.2}.daily-summary-date{font-size:.8rem;font-weight:600;letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase}.daily-summary-banner{display:flex;gap:0;background:var(--bg-white);border:var(--border-primary);border-radius:var(--border-radius-lg);overflow:hidden;animation:streakBounce .8s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-offset)}.banner-section{flex:1;display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;gap:1rem}.banner-streak{border-right:2px solid #1F2937}.banner-score{justify-content:space-between}.streak-icon{font-size:2.5rem}.streak-text{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.streak-number{font-size:2rem;font-weight:700;font-family:var(--font-display);color:#7c3aed;line-height:1}.streak-label{font-size:.875rem;color:var(--text-dark);font-weight:600;font-family:var(--font-body)}.score-text{display:flex;flex-direction:column;align-items:center;gap:.25rem}.score-number{font-size:1.75rem;font-weight:700;font-family:var(--font-display);color:#7c3aed;line-height:1}.score-label{font-size:.75rem;color:var(--text-dark);font-weight:600;font-family:var(--font-body)}.button-row{display:flex;gap:.75rem;margin-top:auto}.daily-summary-share-button{flex:1;padding:.875rem 1rem;background:var(--color-primary);color:#fff;border:var(--border-primary);border-radius:var(--border-radius-md);font-family:var(--font-display);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-offset);display:flex;align-items:center;justify-content:center;min-height:44px}.daily-summary-share-button:not(:disabled):hover{opacity:.9}.daily-summary-share-button:not(:disabled):active{box-shadow:var(--shadow-offset-tiny);transform:translate(2px,2px)}.daily-summary-share-button:disabled{opacity:.5;cursor:not-allowed}.word-results-card{display:flex;flex-direction:column;background:var(--bg-white);border:2px solid #1F2937;border-radius:12px;box-shadow:3px 3px #1f2937;overflow:hidden;animation:wordResultsCardSlide .5s ease-out}.word-result-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 1rem;animation:wordResultRowSlide .4s ease-out backwards}.word-result-row:not(:last-child){border-bottom:1px solid #E5E7EB}.word-result-row:nth-child(1){animation-delay:.1s}.word-result-row:nth-child(2){animation-delay:.2s}.word-result-row:nth-child(3){animation-delay:.3s}.word-result-row:nth-child(4){animation-delay:.4s}.word-result-row:nth-child(5){animation-delay:.5s}.word-result-name{font-size:.95rem;font-weight:700;color:var(--text-dark);flex:1;text-align:left}.word-result-subject{font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.3rem .5rem;border-radius:4px;text-transform:capitalize;line-height:1;white-space:nowrap;flex-shrink:0}.word-result-subject--english{background:#f97316;color:#fff}.word-result-subject--science{background:#22c55e;color:#fff}.word-result-subject--history{background:#f59e0b;color:#fff}.word-result-subject--geography{background:#06b6d4;color:#fff}.word-result-subject--maths{background:#a855f7;color:#fff}.word-result-hints{font-size:.55rem;color:#f59e0b;line-height:1}.word-result-score{font-size:1.25rem;font-weight:600;font-family:var(--font-display);color:#f59e0b;text-align:right;white-space:nowrap;flex-shrink:0}.daily-summary-total{display:none}.total-label{font-size:.875rem;font-weight:700;letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase}.total-score{display:flex;align-items:baseline;justify-content:center;gap:.5rem}.total-score-value{font-size:3rem;font-weight:700;font-family:var(--font-display);color:#f59e0b;line-height:1}.total-score-max{font-size:1.5rem;font-weight:600;color:var(--text-muted)}.daily-summary-share-text{display:none}.daily-summary-finish-button{flex:1;padding:.875rem 1rem;background:var(--color-primary);border:var(--border-primary);border-radius:var(--border-radius-md);color:#fff;font-family:var(--font-display);font-size:.85rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-offset);transition:all .2s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;min-height:44px}.daily-summary-finish-button:not(:disabled):hover{opacity:.9}.daily-summary-finish-button:not(:disabled):active{box-shadow:var(--shadow-offset-tiny);transform:translate(2px,2px)}.daily-summary-finish-button:disabled{opacity:.5;cursor:not-allowed}@keyframes headerReveal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes streakBounce{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes streakFlame{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes wordResultsCardSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes wordResultRowSlide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes totalScoreReveal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.daily-summary-title,.daily-summary-streak,.word-results-card,.word-result-row,.daily-summary-total,.streak-icon{animation:none}.daily-summary-finish-button:hover,.daily-summary-share-button:hover{transform:none}}:root{--color-primary: #7C3AED;--color-primary-light: rgba(124, 58, 237, .1);--color-english: #F97316;--color-english-light: rgba(249, 115, 22, .1);--color-english-rgb: 249, 115, 22;--color-science: #22C55E;--color-science-light: rgba(34, 197, 94, .1);--color-science-rgb: 34, 197, 94;--color-history: #f59e0b;--color-history-light: rgba(245, 158, 11, .1);--color-history-rgb: 245, 158, 11;--color-geography: #06b6d4;--color-geography-light: rgba(6, 182, 212, .1);--color-geography-rgb: 6, 182, 212;--color-maths: #a855f7;--color-maths-light: rgba(168, 85, 247, .1);--color-maths-rgb: 168, 85, 247;--color-correct: #22C55E;--color-wrong: #EF4444;--color-streak: #F59E0B;--color-sage: #7C3AED;--color-sage-light: rgba(124, 58, 237, .1);--color-blue: #F97316;--color-blue-light: rgba(249, 115, 22, .1);--bg-light: #FAFAFA;--bg-white: #ffffff;--bg-card: #F3F4F6;--text-dark: #1f2937;--text-muted: #6b7280;--text-light: #9ca3af;--border-color: #e5e7eb;--border-dark: #1F2937;--border-primary: 2px solid #1F2937;--border-small: 1.5px solid #1F2937;--shadow-offset: 3px 3px 0px #1F2937;--shadow-offset-small: 2px 2px 0px #1F2937;--shadow-offset-tiny: 1px 1px 0px #1F2937;--border-radius-lg: 12px;--border-radius-md: 8px;--border-radius-sm: 6px;--font-display: "Fredoka", sans-serif;--font-body: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:light;height:100%}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-light);color:var(--text-dark);line-height:1.6;overflow-x:hidden;height:100%}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;max-width:480px;margin:0 auto;box-shadow:1px 0 0 var(--border-color),-1px 0 0 var(--border-color)}@media(min-height:900px){#root{max-height:850px;margin:auto}}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}.display-font{font-family:var(--font-display);font-weight:700}button{font-family:inherit;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.screen-enter{animation:fadeIn .3s ease-out}.screen-enter-active{animation:slideInUp .3s ease-out}html{scroll-behavior:smooth}::-moz-selection{background:var(--color-blue-light);color:var(--text-dark)}::selection{background:var(--color-blue-light);color:var(--text-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}*:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}.neo-card{background:var(--bg-white);border:var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-offset)}.neo-button{background:var(--color-primary);border:var(--border-primary);border-radius:var(--border-radius-md);color:#fff;font-family:var(--font-display);font-weight:600;padding:.875rem 2rem;cursor:pointer;box-shadow:var(--shadow-offset);transition:all .2s ease-out;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:48px}.neo-button:not(:disabled):hover{opacity:.9}.neo-button:not(:disabled):active{box-shadow:var(--shadow-offset-tiny);transform:translate(2px,2px)}.neo-button:disabled{opacity:.5;cursor:not-allowed}.neo-button-secondary{background:var(--bg-white);border:2px solid var(--color-primary);border-radius:var(--border-radius-md);color:var(--color-primary);font-family:var(--font-display);font-weight:600;padding:.875rem 2rem;cursor:pointer;box-shadow:2px 2px 0 var(--color-primary);transition:all .2s ease-out;display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-height:48px}.neo-button-secondary:not(:disabled):hover{opacity:.9}.neo-button-secondary:not(:disabled):active{box-shadow:1px 1px 0 var(--color-primary);transform:translate(1px,1px)}.neo-button-secondary:disabled{opacity:.5;cursor:not-allowed}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.neo-button:active,.neo-button-secondary:active{transform:none}}
