@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/lexend-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/lexend-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:swap;src:url(/fonts/material-symbols.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}:root{--color-bg-primary: #F8FAF9;--color-bg-secondary: #FFFFFF;--color-bg-card: #FFFFFF;--color-bg-elevated: #F0FDF4;--color-text-primary: #0E1B13;--color-text-secondary: #4A5578;--color-text-muted: #94A3B8;--text-color: var(--color-text-primary);--text-light: var(--color-text-secondary);--color-accent-primary: #FF9045;--color-accent-primary-hover: #F97316;--color-accent-secondary: #0E1B13;--color-accent-tertiary: #FFEDD5;--color-accent-quaternary: #B45309;--color-success: #58CC02;--color-warning: #F59E0B;--color-error: #EF4444;--color-surface-secondary: #F1F5F9;--color-surface-tertiary: #E2E8F0;--color-border: rgba(14, 27, 19, .08);--color-border-hover: rgba(14, 27, 19, .15);--color-dark-surface: #111827;--color-dark-text-primary: #F8FAFC;--color-dot-raised: #FF9045;--color-dot-unraised: #E2E8F0;--color-dot-border: #CBD5E1;--gradient-primary: linear-gradient(135deg, #FF9045 0%, #FB923C 100%);--gradient-card: linear-gradient(145deg, #FFFFFF 0%, #F8FAF9 100%);--shadow-sm: 0 1px 2px rgba(14, 27, 19, .05), 0 1px 4px rgba(14, 27, 19, .05);--shadow-md: 0 4px 8px rgba(14, 27, 19, .04), 0 12px 24px rgba(14, 27, 19, .06);--shadow-lg: 0 8px 16px rgba(14, 27, 19, .08), 0 24px 48px rgba(14, 27, 19, .1);--shadow-glow: 0 0 24px rgba(255, 144, 69, .25);color-scheme:light;--font-family: "Lexend", "Inter", -apple-system, sans-serif;--font-size-xs: .875rem;--font-size-sm: 1rem;--font-size-base: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-size-4xl: 3rem;--font-size-5xl: 3.5rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--screen-padding: var(--space-lg);--screen-bottom-extra: 100px;--lesson-layout-max-width: 30rem;--lesson-layout-padding-x: 1rem;--lesson-layout-header-padding-y: .5rem;--lesson-layout-header-gap: .5rem;--lesson-layout-content-padding-top: .25rem;--lesson-layout-content-padding-bottom: .5rem;--lesson-layout-title-gap: .75rem;--lesson-layout-section-gap: .5rem;--lesson-layout-footer-padding-y: .75rem;--lesson-layout-footer-gap: .75rem;--lesson-layout-action-height: 3rem;--radius-sm: .75rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .6s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .25s cubic-bezier(.34, 1.56, .64, 1);--touch-min: 48px;--color-primary-orange: #ff9045;--color-primary-orange-light: #ffedd5;--color-primary: var(--color-accent-primary);--primary-color: var(--color-accent-primary);--bg-color: rgba(0, 0, 0, .65)}@media(min-width:768px){:root{--lesson-layout-max-width: 48rem;--lesson-layout-padding-x: 2rem;--lesson-layout-section-gap: 1.5rem;--lesson-layout-title-gap: 1.5rem;--lesson-layout-footer-padding-y: 1.5rem;--lesson-layout-action-height: 4rem}}.high-contrast{--color-bg-primary: #000000;--color-bg-secondary: #0D0D0D;--color-bg-card: #141414;--color-bg-elevated: #1C1C1C;--color-text-primary: #FFFFFF;--color-text-secondary: #F5F5F5;--color-text-muted: #CCCCCC;--color-accent-primary: #FFD93D;--color-accent-primary-hover: #FFE066;--color-dot-raised: #FFD93D}.font-normal{font-size:100%}.font-large{font-size:112.5%}.font-extra-large{font-size:125%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background:var(--color-bg-primary);background-image:radial-gradient(var(--color-accent-primary) 15%,transparent 15%),radial-gradient(var(--color-accent-primary) 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;background-attachment:fixed;color:var(--color-text-primary);line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:-1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus:not(:focus-visible){outline:none}:focus-visible{outline:3px solid var(--color-accent-primary);outline-offset:2px}a,button,[role=button],input,select,textarea,.dot-btn,.continue-card,.back-btn{-webkit-tap-highlight-color:transparent}.continue-card:focus:not(:focus-visible),.back-btn:focus:not(:focus-visible),.btn:focus:not(:focus-visible),.icon-btn:focus:not(:focus-visible){outline:none}.app-container{max-width:500px;margin:0 auto;min-height:-webkit-fill-available;min-height:100dvh;position:relative;background:var(--color-bg-primary)}@media(min-width:768px){.app-container{max-width:800px}}.screen{display:none!important;flex-direction:column;min-height:-webkit-fill-available;min-height:100dvh;padding:var(--screen-padding);padding-bottom:calc(var(--screen-padding) + var(--screen-bottom-extra) + env(safe-area-inset-bottom));position:absolute;top:0;left:0;right:0;width:100%;opacity:0;transform:translateY(6px);visibility:hidden;transition:opacity .22s ease,transform .22s ease,visibility 0s .22s;z-index:1}.screen.active{display:flex!important;opacity:1;transform:translateY(0);visibility:visible;position:relative;z-index:10;transition:opacity .22s ease,transform .22s ease}.screen.active .section-header,.screen.active .settings-header-new,.screen.active .dashboard-header-new{animation:headerFade .24s ease both}@keyframes headerFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.screen.active .section-header,.screen.active .settings-header-new,.screen.active .dashboard-header-new{animation:none}.screen{transform:none;transition:opacity .01ms linear,visibility 0s}.screen.active{transform:none;transition:opacity .01ms linear}}.screen-content{flex:1;display:flex;flex-direction:column}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-lg);padding-top:var(--space-xl);width:100%;position:relative;z-index:10}.screen-header h1{flex:1;font-size:var(--font-size-lg);font-weight:700;text-align:center;color:var(--color-text-primary);margin:0}.spacer{width:48px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:0 var(--space-xl);height:56px;font-family:inherit;font-size:var(--font-size-base);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#0e1b13;background:var(--color-accent-primary);border:none;border-radius:var(--radius-full);cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);min-width:140px;position:relative;box-shadow:var(--shadow-md);margin-bottom:var(--space-xs);user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn:hover{transform:translateY(-2px);background:var(--color-accent-primary-hover);box-shadow:var(--shadow-lg)}.btn:active{transform:translateY(1px);box-shadow:var(--shadow-sm)}.btn-primary{background:var(--color-accent-primary);color:#0e1b13}.btn-secondary{background:#fff;color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:#f8faf9;border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.btn-large{height:64px;font-size:var(--font-size-lg);padding:0 var(--space-2xl);width:100%}.icon-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;border:1px solid rgba(14,27,19,.1);border-radius:50%;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.icon-btn:hover{background:var(--color-bg-elevated);transform:translateY(-2px);box-shadow:var(--shadow-md)}.icon-btn:active{transform:translateY(0)}.icon-btn svg{width:24px;height:24px}.text-btn{background:none;border:none;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);padding:var(--space-sm);cursor:pointer;text-decoration:none;font-weight:600}.text-btn:hover{color:var(--color-text-primary);text-decoration:underline}:root{--color-primary-orange: #ff9045;--color-primary-orange-light: #ffedd5}.welcome-screen{position:relative;overflow:hidden;background:var(--color-bg-primary);padding:0!important}.welcome-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(var(--color-primary-orange) 15%,transparent 15%),radial-gradient(var(--color-primary-orange) 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.04;pointer-events:none;z-index:0}.welcome-glow{position:absolute;top:-80px;right:-80px;width:240px;height:240px;background:#ff904526;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0}.welcome-header{position:relative;z-index:10;width:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);padding-top:var(--space-xl)}.braillito-logo{display:flex;align-items:center;gap:var(--space-sm)}.braille-cell-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.braille-cell-mini .dot{width:6px;height:6px;border-radius:50%}.braille-cell-mini .dot.filled{background:var(--color-text-primary)}.braille-cell-mini .dot.accent{background:var(--color-primary-orange)}.braillo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary)}.logo-svg{height:36px;width:auto;display:block}.welcome-header .logo-svg{height:56px}.dashboard-header-new .logo-svg{height:28px}.welcome-main{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 var(--space-lg);max-width:420px;margin:0 auto;width:100%}.mascot-container{position:relative;width:100%;display:flex;justify-content:center;margin-bottom:var(--space-xl)}.mascot-circle{position:relative;width:220px;height:220px;background:var(--color-primary-orange-light);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 60px #ff904533,inset 0 0 0 4px #fff;animation:mascotFloat 3s ease-in-out infinite;overflow:visible}.mascot-circle .robot-svg{overflow:visible}.robot-svg{width:160px;height:160px}.mascot-badge{position:absolute;right:10%;bottom:10%;background:var(--color-primary-orange);color:#fff;padding:12px;border-radius:16px;box-shadow:0 8px 24px #ff90454d;transform:rotate(12deg);z-index:20}.badge-icon{font-size:1.5rem;font-weight:700}.welcome-text{text-align:center;margin-bottom:var(--space-lg)}.welcome-title{font-size:2rem;font-weight:700;line-height:1.2;color:var(--color-text-primary);margin-bottom:var(--space-md);letter-spacing:-.02em}.welcome-subtitle{font-size:1.1rem;line-height:1.5;color:var(--color-text-secondary);max-width:320px;margin:0 auto}.welcome-footer{position:relative;z-index:10;width:100%;padding:var(--space-lg) var(--space-lg);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));max-width:420px;margin:0 auto}.welcome-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);border:none;border-radius:var(--radius-full);font-family:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease}.welcome-btn.primary{height:56px;padding:0 var(--space-xl);background:var(--color-primary-orange);color:#0e1b13;font-size:1.1rem;box-shadow:0 8px 24px #ff904559}.welcome-btn.primary:hover{background:#ff7a20;transform:scale(1.02)}.welcome-btn.primary:active{transform:scale(.98)}.welcome-btn.primary svg{width:20px;height:20px;transition:transform .2s ease}.welcome-btn.primary:hover svg{transform:translate(4px)}.welcome-btn.secondary{height:48px;padding:0 var(--space-lg);background:transparent;color:var(--color-text-primary);font-size:.875rem}.welcome-btn.secondary:hover{background:#0000000d}.high-contrast .welcome-screen{background:#000}.high-contrast .braille-cell-mini .dot.filled{background:#fff}.high-contrast .braillo-text{color:#fff}.high-contrast .mascot-circle{background:#1a1a1a;box-shadow:0 0 0 3px var(--color-primary-orange)}.high-contrast .welcome-title{color:#fff}.high-contrast .welcome-subtitle{color:#ccc}.high-contrast .welcome-btn.secondary{color:#fff}.high-contrast .welcome-btn.secondary:hover{background:#ffffff1a}.auth-screen{position:relative;overflow:hidden;background:var(--color-bg-primary);padding:0!important}.auth-header{position:relative;z-index:10;width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);padding-top:var(--space-xl)}.auth-main{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 var(--space-lg);max-width:420px;margin:0 auto;width:100%}.auth-step{display:none;flex-direction:column;align-items:center;text-align:center;width:100%;animation:fadeIn var(--transition-base)}.auth-step.active{display:flex}.auth-icon-circle{width:100px;height:100px;border-radius:50%;background:var(--color-primary-orange-light);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xl);box-shadow:0 12px 40px #ff904533}.auth-icon-circle .material-symbols-outlined{font-size:48px;color:var(--color-primary-orange)}.auth-icon-circle.success{background:#d1fae5}.auth-icon-circle.success .material-symbols-outlined{color:#059669}.auth-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-md);letter-spacing:-.02em}.auth-subtitle{font-size:1rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:var(--space-xl);max-width:320px}.auth-form{width:100%;display:flex;flex-direction:column;gap:var(--space-md)}.auth-input-group{width:100%}.auth-input{width:100%;height:56px;padding:0 var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-full);font-family:inherit;font-size:1rem;background:#fff;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);text-align:center}.auth-input:focus{outline:none;border-color:var(--color-primary-orange);box-shadow:0 0 0 4px #ff904526}.auth-input::placeholder{color:var(--color-text-muted)}.profile-step{display:none;flex-direction:column;align-items:center;width:100%;animation:fadeIn var(--transition-base);padding-bottom:120px}.profile-step.active{display:flex;animation:slideInRight .35s ease-out}.profile-step.exiting{display:flex;animation:slideOutLeft .3s ease-in forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}.onboarding-progress{display:flex;gap:var(--space-sm);width:100%;padding:0 var(--space-lg);margin-bottom:var(--space-lg)}.profile-step>.onboarding-progress{margin-bottom:0}.progress-segment{flex:1;height:10px;border-radius:var(--radius-full);background:#0e1b131a;transition:background .3s ease}.progress-segment.active,.progress-segment.completed{background:var(--color-primary-orange)}.profile-mascot-section{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-md);width:100%;height:100px;margin-top:0;min-height:120px}.speech-bubble{position:relative;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-md);max-width:240px;min-height:60px;display:flex;align-items:center;animation:bubbleIn .4s cubic-bezier(.175,.885,.32,1.275);align-self:center;margin-top:-12px}.speech-bubble p{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);text-align:center;line-height:1.4;margin:0}.speech-bubble .highlight{color:var(--color-primary-orange)}.speech-bubble:after{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%) rotate(45deg);width:16px;height:16px;background:#fff;border-left:2px solid rgba(14,27,19,.08);border-bottom:2px solid rgba(14,27,19,.08)}.profile-mascot-mini{width:80px;height:80px}.profile-mascot-mini .robot-svg{width:100%;height:100%}.profile-mascot-large{width:75px;height:75px;flex-shrink:0;overflow:visible}.profile-mascot-large .robot-svg{width:100%;height:100%;overflow:visible}.onboarding-global-header{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;padding-top:env(safe-area-inset-top);height:calc(70px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;padding-left:var(--space-lg);padding-right:var(--space-lg);background:transparent;z-index:100;box-sizing:border-box}.onboarding-global-header .back-btn{width:44px;height:44px;flex-shrink:0;aspect-ratio:1;background:#ffffff80;backdrop-filter:blur(12px);border-radius:50%;border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000000f;padding:0;color:var(--color-text-primary)}.onboarding-global-header .back-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.onboarding-global-header .back-btn .material-symbols-outlined{font-size:24px}.onboarding-global-header .header-spacer{width:44px}.onboarding-progress.top-progress{position:relative;top:auto;left:auto;transform:none;max-width:none;height:auto;padding:0;background:transparent;z-index:1;margin:0 var(--space-md)!important}.profile-mascot-fixed{position:fixed;top:calc(70px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:100%;max-width:480px;padding:var(--space-md) var(--space-lg);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-sm);z-index:99;background:transparent;box-sizing:border-box}.profile-mascot-fixed .speech-bubble{animation:none}.profile-mascot-fixed .speech-bubble p{transition:opacity .2s ease}.profile-main-with-fixed-mascot{padding-top:calc(160px + env(safe-area-inset-top))!important}.profile-main-with-fixed-mascot .profile-step{padding-top:var(--space-lg)}.profile-step{padding-top:calc(80px + env(safe-area-inset-top))}.role-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);width:100%;padding:0 var(--space-lg)}#profile-role-grid,#profile-exp-grid,#profile-goals-grid{padding:0}.role-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-lg);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);text-align:center;min-height:160px;box-shadow:var(--shadow-sm)}.role-card:hover{transform:scale(1.02);border-color:#ff90454d}.role-card.selected{border-color:var(--color-primary-orange);background:#ff90450d}.role-card .check-icon{position:absolute;top:10px;right:10px;opacity:0;color:var(--color-primary-orange);font-size:1.25rem;transition:opacity .2s ease}.role-card.selected .check-icon{opacity:1}.role-card-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000014}.role-card-icon .material-symbols-outlined{font-size:2rem}.role-card-icon.cyan{background:#0dccf226;color:#0dccf2}.role-card-icon.blue{background:#3b82f626;color:#3b82f6}.role-card-icon.red{background:#f8717126;color:#ef4444}.role-card-icon.purple{background:#a855f726;color:#a855f7}.role-card-icon.green{background:#22c55e26;color:#22c55e}.role-card-icon.amber{background:#f59e0b26;color:#f59e0b}.role-card-title{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.role-card-desc{font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.profile-name-section{width:100%;padding:0 var(--space-lg);margin-bottom:var(--space-xl)}.profile-name-label{display:block;font-size:.85rem;font-weight:700;color:var(--color-primary-orange);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.profile-name-input{width:100%;padding:var(--space-md) var(--space-lg);border:2px solid var(--color-accent-primary);border-radius:var(--radius-full);font-size:1rem;font-family:inherit;background:#fff;color:var(--color-text-primary);text-align:center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.profile-name-input:focus{outline:none;box-shadow:0 0 0 4px #ff904526}.profile-name-input::placeholder{color:var(--color-text-muted)}.profile-section-label{width:100%;padding:0 var(--space-lg);margin-bottom:var(--space-md);font-size:.85rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.profile-footer-sticky{position:fixed;bottom:0;left:0;right:0;padding:var(--space-md) var(--space-lg);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--color-bg-primary) 0%,var(--color-bg-primary) 60%,transparent 100%);z-index:100;max-width:480px;margin:0 auto}.profile-footer-sticky .welcome-btn{width:100%}.high-contrast .speech-bubble{background:#1a1a1a;border-color:#fff3}.high-contrast .speech-bubble:after{background:#1a1a1a;border-color:#fff3}.high-contrast .speech-bubble p{color:#fff}.high-contrast .role-card{background:#1a1a1a;box-shadow:none}.high-contrast .role-card.selected{background:#ff904526}.high-contrast .profile-name-input{background:#1a1a1a;color:#fff}.high-contrast .profile-footer-sticky{background:linear-gradient(to top,#000000 0%,#000000 60%,transparent 100%)}#onboarding-complete-screen{background:var(--color-bg-primary);align-items:center;justify-content:center;padding:var(--space-xl)}.transition-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-lg);width:100%;max-width:320px}.transition-mascot{width:180px;height:180px;background:var(--color-primary-orange-light);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 60px #ff904540,inset 0 0 0 4px #fff;animation:celebrateBounce .6s ease-out,celebrateFloat 2s ease-in-out .6s infinite;overflow:visible;position:relative}.transition-mascot .robot-svg{width:150px;height:150px;overflow:visible;margin-top:15px}@keyframes celebrateBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes celebrateFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.transition-mascot .robot-svg{width:140px;height:140px}.wave-left{animation:waveLeft .8s ease-in-out infinite;transform-origin:45px 90px}.wave-right{animation:waveRight .8s ease-in-out .2s infinite;transform-origin:155px 90px}@keyframes waveLeft{0%,to{transform:rotate(0)}50%{transform:rotate(-15deg)}}@keyframes waveRight{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}.pulse-glow{animation:pulseGlow 1.5s ease-in-out infinite}@keyframes pulseGlow{0%,to{filter:drop-shadow(0 0 4px rgba(255,144,69,.5))}50%{filter:drop-shadow(0 0 12px rgba(255,144,69,.9))}}.confetti-container{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;border-radius:2px;animation:confettiFall 3s ease-in-out infinite}.confetti-1{left:10%;background:#ff9045;animation-delay:0s}.confetti-2{left:25%;background:#58cc02;animation-delay:.3s}.confetti-3{left:40%;background:#ff6b6b;animation-delay:.6s}.confetti-4{left:55%;background:#4ecdc4;animation-delay:.2s}.confetti-5{left:70%;background:#ffe66d;animation-delay:.5s}.confetti-6{left:85%;background:#a855f7;animation-delay:.4s}@keyframes confettiFall{0%{top:-10%;transform:rotate(0) scale(0);opacity:0}10%{opacity:1;transform:scale(1)}to{top:100%;transform:rotate(720deg) scale(.5);opacity:0}}.transition-title{font-size:2.5rem;font-weight:700;color:var(--color-text-primary);margin:0;animation:fadeSlideUp .5s ease-out .3s both}.transition-subtitle{font-size:1.5rem;font-weight:600;color:var(--color-primary-orange);margin:0;animation:fadeSlideUp .5s ease-out .5s both}.transition-message{font-size:1.1rem;color:var(--color-text-secondary);margin:0;animation:fadeSlideUp .5s ease-out .7s both}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.transition-btn{margin-top:var(--space-lg);animation:fadeSlideUp .5s ease-out .9s both;min-width:200px}.high-contrast #onboarding-complete-screen{background:#000}.high-contrast .transition-mascot{background:#1a1a1a;box-shadow:0 0 0 3px var(--color-primary-orange)}.high-contrast .transition-title{color:#fff}.high-contrast .transition-message{color:#ccc}.role-card.exp-card{flex-direction:row;justify-content:flex-start;min-height:auto;padding:var(--space-sm) var(--space-md);gap:var(--space-md)}.role-card.exp-card .role-card-icon{width:44px;height:44px}.role-card.exp-card .role-card-icon .material-symbols-outlined{font-size:1.5rem}.role-card-text{text-align:left;display:flex;flex-direction:column;gap:2px}.role-card-text .role-card-title{display:block}.role-card.goal-card{min-height:auto}.role-card.goal-card .role-card-desc{display:block}@media(max-width:360px){.role-card-grid{grid-template-columns:1fr}.role-card{flex-direction:row;justify-content:flex-start;min-height:auto;padding:var(--space-md);gap:var(--space-md)}.role-card-icon{width:48px;height:48px}.role-card-text{text-align:left}}.selection-group{width:100%;margin-bottom:var(--space-xl)}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);width:100%}.card-option{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg) var(--space-md);background:var(--color-bg-card);border:2px solid rgba(14,27,19,.1);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:center;gap:var(--space-sm);min-height:100px}.card-option .option-icon{font-size:2rem}.card-option .option-label{font-weight:600;font-size:.95rem;color:var(--color-text-primary)}.card-option:hover{border-color:#ff90454d;background:var(--color-bg-primary);transform:translateY(-2px)}.card-option.active{border-color:var(--color-accent-primary);background:var(--color-bg-elevated);box-shadow:0 4px 12px #ff904526}.card-grid.multi-select .card-option.active{border-color:var(--color-accent-primary);background:var(--color-bg-elevated)}@media(max-width:360px){.card-grid{grid-template-columns:1fr}}.auth-error{color:#ef4444;font-size:.875rem;margin-top:var(--space-md);text-align:center}.auth-error.hidden{display:none}.auth-divider{display:flex;align-items:center;width:100%;margin:var(--space-lg) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#0e1b131a}.auth-divider span{padding:0 var(--space-md);color:var(--color-text-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.auth-google-btn{width:100%;height:56px;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);background:#fff;border:2px solid rgba(14,27,19,.1);border-radius:var(--radius-full);font-family:inherit;font-size:1rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.auth-google-btn:hover{background:#f8faf9;border-color:#0e1b1333;box-shadow:var(--shadow-md);transform:translateY(-2px)}.auth-google-btn:active{transform:translateY(0)}.auth-google-btn .google-icon{width:20px;height:20px}.auth-guest-btn{margin-top:var(--space-xl);width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);background:transparent;border:none;font-family:inherit;font-size:.9375rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.auth-guest-btn:hover{color:var(--color-primary)}.auth-guest-btn:hover .material-symbols-outlined{transform:translate(4px)}.auth-guest-btn .material-symbols-outlined{font-size:1.25rem;transition:transform var(--transition-bounce)}.high-contrast .auth-google-btn{background:#1a1a1a;border-color:#333;color:#fff}.high-contrast .auth-divider:before,.high-contrast .auth-divider:after{background:#333}.high-contrast .auth-divider span{color:#999}.auth-hint{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:#f0fdf4;border-radius:var(--radius-md);margin-bottom:var(--space-xl);color:var(--color-text-secondary);font-size:.875rem}.auth-hint .material-symbols-outlined{font-size:20px;color:#059669}.auth-loader{margin-bottom:var(--space-xl)}.loader-spinner{width:48px;height:48px;border:4px solid rgba(255,144,69,.2);border-top-color:var(--color-primary-orange);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.high-contrast .auth-screen{background:#000}.high-contrast .auth-icon-circle{background:#1a1a1a;box-shadow:0 0 0 3px var(--color-primary-orange)}.high-contrast .auth-title{color:#fff}.high-contrast .auth-subtitle{color:#ccc}.high-contrast .auth-input{background:#1a1a1a;border-color:#333;color:#fff}.high-contrast .auth-hint{background:#1a1a1a;color:#ccc}.dashboard-new{position:relative;overflow-y:auto;overflow-x:hidden;padding:0 0 100px!important}.dashboard-header-new{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);padding-top:var(--space-xl)}.header-actions{display:flex;align-items:center;gap:var(--space-sm)}.streak-pill{display:flex;align-items:center;gap:4px;background:#fff;padding:0 12px;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.05);height:38px}.streak-icon{font-size:1rem}.streak-num{font-weight:700;font-size:.875rem;color:var(--color-text-primary)}.avatar-circle{width:36px;height:36px;border-radius:50%;background:var(--color-primary-orange);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;color:#0e1b13;box-shadow:var(--shadow-sm)}.header-settings-btn{width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014}.header-settings-btn .material-symbols-outlined{font-size:1.5rem;color:#64748b;transition:all var(--transition-fast)}.header-settings-btn:hover,.header-settings-btn:focus{background:#f8fafc;box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.header-settings-btn:hover .material-symbols-outlined,.header-settings-btn:focus .material-symbols-outlined{color:#475569}.header-settings-btn:active{transform:scale(.96);box-shadow:0 2px 4px #00000014}.high-contrast .header-settings-btn{background:#1a1a1a;border-color:#fff3}.high-contrast .header-settings-btn .material-symbols-outlined{color:#e2e8f0}.dashboard-main{position:relative;z-index:10;padding:0 var(--space-lg);padding-bottom:120px}.welcome-card{background:#fff;border-radius:2rem;padding:var(--space-lg);box-shadow:var(--shadow-md);border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg);position:relative;overflow:hidden}.welcome-card:before{content:"";position:absolute;left:-20px;bottom:-40px;width:100px;height:100px;background:#ff904514;border-radius:50%;filter:blur(20px)}.welcome-card-content{flex:1}.greeting-new{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:4px;letter-spacing:-.02em}.greeting-sub{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--space-md)}.trend-badge{display:inline-flex;align-items:center;gap:6px;background:#e8f5e9;color:#2e7d32;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700}.daily-goal-badge{display:inline-flex;align-items:center;gap:6px;background:#6366f11a;color:#6366f1;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;margin-left:.5rem}.welcome-mascot-mini{width:80px;height:80px;flex-shrink:0;background:var(--color-primary-orange-light);border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid white;box-shadow:var(--shadow-sm);overflow:visible}.robot-svg-mini{width:60px;height:60px;overflow:visible}.section-label{font-size:1.1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:2px;padding-left:4px}.section-subtitle{font-size:.82rem;color:var(--color-text-muted);font-weight:500;padding-left:4px;margin-bottom:var(--space-md)}.continue-card{width:100%;background:var(--color-primary-orange);border-radius:2rem;padding:var(--space-lg);border:none;cursor:pointer;text-align:left;box-shadow:0 12px 32px #ff904559;position:relative;overflow:hidden;margin-bottom:var(--space-lg);transition:transform .2s ease}.continue-card:active{transform:scale(.98)}.continue-card-inner{position:relative;z-index:2}.continue-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md)}.level-badge{background:#ffffff40;backdrop-filter:blur(8px);padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;color:#0e1b13;text-transform:uppercase;letter-spacing:.05em;border:1px solid rgba(255,255,255,.2)}.play-btn-icon{width:40px;height:40px;background:#0e1b13;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary-orange);transition:transform .2s ease}.continue-card:hover .play-btn-icon{transform:scale(1.1)}.play-btn-icon svg{width:20px;height:20px}.continue-level-title{font-size:1.75rem;font-weight:700;color:#0e1b13;margin-bottom:4px;letter-spacing:-.02em}.continue-lesson{font-size:.875rem;color:#0e1b13b3;font-weight:500;margin-bottom:var(--space-xl)}.progress-section{margin-top:auto}.progress-labels{display:flex;justify-content:space-between;font-size:.7rem;font-weight:700;color:#0e1b13b3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.progress-track{width:100%;height:12px;background:#0000001a;border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:#0e1b13;border-radius:var(--radius-full);transition:width .5s ease}.continue-bg-icon{position:absolute;right:24px;bottom:-10px;font-size:120px;color:#0000000d;transform:rotate(12deg);font-weight:700;z-index:1;line-height:1}.stats-grid-new{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}.stat-card-new{background:#fff;border-radius:2rem;padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.stat-card-new:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon-circle{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-card-new.blue .stat-icon-circle{background:#ebf5ff}.stat-card-new.purple .stat-icon-circle{background:#f3e8ff}.stat-info{display:flex;flex-direction:column;gap:2px}.stat-value-new{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}.stat-label-new{font-size:.7rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.achievements-preview{display:flex;flex-direction:column;gap:var(--space-sm)}.achievement-row{background:#fff;border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;gap:var(--space-md)}.achievement-row.locked{opacity:.6}.achievement-icon-box{width:48px;height:48px;border-radius:12px;background:var(--color-bg-elevated);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--color-text-muted)}.achievement-info{flex:1}.achievement-info h4{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:2px}.achievement-info p{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.feature-carousel{display:flex;gap:var(--space-md);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-sm);margin-bottom:var(--space-lg);scrollbar-width:none}.feature-carousel::-webkit-scrollbar{display:none}.feature-card{min-width:140px;max-width:140px;background:#fff;border-radius:2rem;padding:var(--space-lg) var(--space-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm);cursor:pointer;scroll-snap-align:start;transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0}.feature-card:active{transform:scale(.96)}.feature-card-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.6rem}.feature-card-title{font-size:.85rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.feature-card-desc{font-size:.72rem;color:var(--color-text-muted);font-weight:500;line-height:1.3}.dark-mode .feature-card{background:var(--color-bg-elevated);border-color:#ffffff14}.high-contrast .dashboard-new{background:#000}.high-contrast .welcome-card,.high-contrast .stat-card-new,.high-contrast .achievement-row{background:#141414;border-color:#ffffff1a}.high-contrast .streak-pill{background:#1a1a1a;border-color:#fff3}.high-contrast .continue-card{box-shadow:0 0 0 2px var(--color-primary-orange)}.high-contrast .greeting-new,.high-contrast .section-label,.high-contrast .stat-value-new,.high-contrast .achievement-info h4{color:#fff}.onboarding-header{text-align:center;margin-bottom:var(--space-2xl)}.onboarding-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-sm)}.onboarding-header p{color:var(--color-text-secondary)}.settings-group{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-2xl)}.setting-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:2px solid var(--color-bg-elevated)}.setting-info{flex:1}.setting-label{display:block;font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--space-xs)}.setting-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.toggle-switch{position:relative;width:56px;height:32px;background:none;border:none;padding:0;cursor:pointer}.toggle-track{display:block;width:100%;height:100%;background:var(--color-bg-elevated);border-radius:var(--radius-full);transition:all var(--transition-base)}.toggle-thumb{position:absolute;top:4px;left:4px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;transition:all var(--transition-base)}.toggle-switch[aria-checked=true] .toggle-track{background:var(--color-success)}.toggle-switch[aria-checked=true] .toggle-thumb{left:calc(100% - 28px)}.size-selector{display:flex;gap:var(--space-sm)}.size-option{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated);border:2px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.size-option:nth-child(1){font-size:var(--font-size-sm)}.size-option:nth-child(2){font-size:var(--font-size-base)}.size-option:nth-child(3){font-size:var(--font-size-lg)}.size-option.active,.size-option[aria-checked=true]{border-color:var(--color-accent-primary);color:var(--color-accent-primary);background:#fff;box-shadow:0 4px 0 var(--color-accent-primary);transform:translateY(-2px)}.profile-header{text-align:center;margin-bottom:var(--space-2xl)}.profile-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-sm)}.profile-form{flex:1;display:flex;flex-direction:column;gap:var(--space-xl)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label{font-size:var(--font-size-base);font-weight:600}.form-input{padding:var(--space-lg);background:var(--color-bg-card);border:2px solid var(--color-dot-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-base);min-height:var(--touch-min);transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 4px #ff90451a}.form-input::placeholder{color:var(--color-text-muted)}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.age-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.age-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-bg-card);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.age-option:hover{background:var(--color-bg-elevated);transform:translateY(-2px)}.age-option.active,.age-option[aria-checked=true]{border-color:var(--color-accent-primary);background:var(--color-accent-tertiary);box-shadow:var(--shadow-md)}.age-icon{font-size:var(--font-size-3xl)}.age-label{font-weight:600}.age-range{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.profile-actions{display:flex;gap:var(--space-md);margin-top:auto}.profile-actions .btn{flex:1}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-xl)}.user-greeting h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-sm)}.streak-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#fffaf0;border:2px solid #FFCC85;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700;color:var(--color-warning);box-shadow:0 4px #ffb3471a}.streak-icon{font-size:var(--font-size-lg)}.dashboard-content{flex:1;display:flex;flex-direction:column;gap:var(--space-xl)}.learning-progress-card{padding:var(--space-lg);background:linear-gradient(135deg,#fff,#f0f8ff);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:2px solid var(--color-bg-elevated)}.learning-stats{display:flex;justify-content:space-around;margin-bottom:var(--space-md)}.learning-stats .stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.learning-stats .stat-value{font-size:var(--font-size-3xl);font-weight:800;color:var(--color-accent-primary)}.learning-stats .stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:600}.learning-bar-container{margin-bottom:var(--space-sm)}.learning-bar{height:12px;background:var(--color-bg-elevated);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-xs)}.learning-fill{height:100%;background:linear-gradient(90deg,var(--color-accent-tertiary) 0%,var(--color-accent-primary) 100%);border-radius:var(--radius-full);transition:width var(--transition-slow)}.learning-next{font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent-primary)}.learning-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-sm)}.continue-learning-btn{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-accent-primary);border:none;border-radius:var(--radius-xl);cursor:pointer;width:100%;text-align:left;box-shadow:0 6px #2e6bca;transition:all var(--transition-fast)}.continue-learning-btn:hover{transform:translateY(-2px);box-shadow:0 8px #2e6bca}.continue-learning-btn:active{transform:translateY(4px);box-shadow:0 2px #2e6bca}.continue-icon{font-size:var(--font-size-3xl)}.continue-content{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.continue-title{font-size:var(--font-size-lg);font-weight:700;color:#fff}.continue-subtitle{font-size:var(--font-size-sm);color:#ffffffe6}.continue-subtitle strong{font-weight:700}.continue-arrow{font-size:var(--font-size-2xl);color:#fff;opacity:.8}.daily-challenge-card{padding:var(--space-lg);background:linear-gradient(135deg,#fff9e6,#fffbf0);border:2px solid var(--color-accent-quaternary);border-radius:var(--radius-xl)}.challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.challenge-tag{font-size:var(--font-size-xs);font-weight:700;color:var(--color-accent-quaternary)}.challenge-bonus{font-size:var(--font-size-xs);font-weight:600;color:var(--color-accent-primary);background:#4791ff1a;padding:2px 8px;border-radius:var(--radius-full)}.challenge-task{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-md)}.challenge-btn{width:100%;padding:var(--space-md);background:var(--color-accent-quaternary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:700;font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast)}.challenge-btn:hover{background:#d4a000}.nav-grid .nav-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-xs)}.cognitive-benefits{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:linear-gradient(135deg,#f0fff0,#f8fff8);border-radius:var(--radius-lg);border:1px solid #C8E6C8}.benefit-icon{font-size:var(--font-size-2xl)}.benefit-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.greeting-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-top:var(--space-xs);margin-bottom:var(--space-sm)}.streak-encouragement{font-size:var(--font-size-xs);color:var(--color-accent-secondary);font-weight:600;margin-left:var(--space-xs)}.action-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.action-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.action-card.primary .action-desc{color:#fffc}.badge-new{position:absolute;top:var(--space-md);right:var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--color-accent-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:700;color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.nav-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.nav-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-md);background:#fff;border:none;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 6px 0 var(--color-bg-elevated);margin-bottom:6px}.nav-card:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--color-bg-elevated)}.nav-card:active{transform:translateY(4px);box-shadow:0 2px 0 var(--color-bg-elevated)}.nav-card:nth-child(1) .nav-icon{color:var(--color-accent-primary)}.nav-card:nth-child(2) .nav-icon{color:var(--color-accent-tertiary)}.nav-card:nth-child(3) .nav-icon{color:var(--color-accent-secondary)}.nav-card:nth-child(4) .nav-icon{color:var(--color-accent-quaternary)}.nav-icon{font-size:var(--font-size-3xl)}.nav-label{font-size:var(--font-size-base);font-weight:700;color:var(--color-text-primary)}.fab{position:fixed;bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));right:var(--space-lg);width:56px;height:56px;background:var(--gradient-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-base);z-index:100}.fab:hover{transform:scale(1.1)}.fab svg{width:28px;height:28px}.levels-content{flex:1;overflow-y:auto;max-height:calc(100vh - 120px);padding-bottom:var(--space-2xl)}.chapter{margin-bottom:var(--space-2xl)}.chapter-title{font-size:var(--font-size-lg);font-weight:800;color:var(--color-accent-primary);margin-bottom:var(--space-md);padding:var(--space-xs) var(--space-md);background:#fff;display:inline-block;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);border:2px solid var(--color-bg-elevated)}.levels-grid{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-sm)}.level-node{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:#fff;border:none;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left;box-shadow:0 6px 0 var(--color-bg-elevated);margin-bottom:6px;position:relative}.level-node:hover:not(.locked){transform:translateY(-2px);box-shadow:0 8px 0 var(--color-bg-elevated)}.level-node:active:not(.locked){transform:translateY(4px);box-shadow:0 2px 0 var(--color-bg-elevated)}.level-node.locked{opacity:.7;cursor:not-allowed;background:#e8eefb;box-shadow:none;transform:none}.level-node.completed{box-shadow:0 6px #47d1a033}.level-circle{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated);border-radius:50%;flex-shrink:0;box-shadow:inset 0 -4px #0000000d}.level-node.unlocked .level-circle{background:var(--color-accent-primary);color:#fff}.level-node.completed .level-circle{background:var(--color-success);color:#fff}.level-number{font-size:var(--font-size-xl);font-weight:700}.lock-icon,.premium-icon{position:absolute;bottom:-4px;right:-4px;font-size:var(--font-size-sm)}.level-title{flex:1;font-size:var(--font-size-base);font-weight:600}.level-requirement{font-size:var(--font-size-sm);color:var(--color-text-muted)}.level-stars{display:flex;gap:2px}.star{font-size:var(--font-size-base);color:var(--color-text-muted)}.star.earned{color:var(--color-warning)}.levels-new{position:relative;overflow-y:auto;overflow-x:hidden;padding:0!important;background:var(--color-bg-primary)}.levels-header-new{position:fixed;top:0;left:0;right:0;z-index:40;background:#f6f8f7f2;backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);padding:12px var(--screen-padding);padding-top:calc(12px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;max-width:100%;gap:var(--space-sm);transition:background .3s ease,border-color .3s ease}.levels-header-new.forest-theme{background:#0f0c29e6;border-bottom:1px solid rgba(255,255,255,.1)}.levels-header-new.forest-theme .levels-world-title{color:#fff}.levels-header-new.forest-theme .back-btn-circle{background:#ffffff26;border-color:#fff3}.levels-header-new.forest-theme .back-btn-circle .material-symbols-outlined{color:#fff}.levels-header-new.forest-theme .stat-pill{background:#ffffff26;border-color:#ffffff1a}.levels-header-new.plains-theme{background:#f4e9d5f2;border-bottom:1px solid rgba(139,125,107,.2)}.levels-header-new.plains-theme .levels-world-title{color:#4a3b21}.levels-header-new.plains-theme .back-btn-circle{background:#fffc;border-color:#8b7d6b4d}.levels-header-new.plains-theme .stat-pill{background:#fffc;border-color:#8b7d6b33}.levels-header-new.valley-theme{background:#cae9ffe6;border-bottom:1px solid rgba(167,243,208,.4)}.levels-header-new.valley-theme .levels-world-title{color:#065f46}.levels-header-new.valley-theme .back-btn-circle{background:#ffffffe6;border-color:#a7f3d080}.levels-header-new.valley-theme .back-btn-circle .material-symbols-outlined{color:#065f46}.levels-header-new.valley-theme .stat-pill{background:#ffffffe6;border-color:#a7f3d04d}.back-btn-circle{width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);flex-shrink:0}.back-btn-circle:hover{background:var(--color-bg-elevated)}.back-btn-circle:active{transform:scale(.95)}.back-btn-circle .material-symbols-outlined{font-size:24px;color:var(--color-text-primary)}.levels-world-title{flex:1;font-size:1rem;font-weight:700;color:var(--color-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-stats{display:flex;align-items:center;gap:var(--space-sm)}.stat-pill{display:flex;align-items:center;gap:6px;background:#fff;padding:6px 12px;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.05)}.stat-pill.bolt{color:#e67a2e}.stat-pill.heart{color:#ef4444}.stat-pill.timer{color:#ea580c;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#ea580c33;font-weight:700;animation:timer-pulse 2s ease-in-out infinite}.stat-pill.timer .timer-value{font-size:.8rem;font-weight:700;color:#ea580c;font-variant-numeric:tabular-nums}@keyframes timer-pulse{0%,to{box-shadow:0 0 #ea580c4d}50%{box-shadow:0 0 0 4px #ea580c26}}.stat-emoji{font-size:1rem}.stat-num{font-weight:700;font-size:.875rem}.levels-main{position:relative;z-index:10;padding-top:calc(80px + env(safe-area-inset-top));padding-bottom:120px;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.valley-background{background:linear-gradient(to bottom,#cae9ff,#e1f5fe 30%,#ecfdf5 45%,#d1fae5);position:relative;overflow:hidden}.forest-background{background:linear-gradient(180deg,#0f0c29,#1c0e35 40%,#24243e);position:relative;overflow:hidden}.gnarled-tree{position:absolute;bottom:0;background:#020205;mask-image:linear-gradient(to top,black 20%,transparent 100%);clip-path:polygon(50% 0%,65% 20%,55% 25%,80% 50%,60% 55%,95% 85%,100% 100%,0% 100%,5% 85%,40% 55%,20% 50%,45% 25%,35% 20%);z-index:1;pointer-events:none}.gnarled-tree.layer-1{opacity:.8;height:350px;width:150px;filter:blur(1px)}.gnarled-tree.layer-2{opacity:.5;height:250px;width:120px;filter:blur(3px)}.gnarled-tree.layer-3{opacity:.3;height:180px;width:100px;filter:blur(6px)}.forest-mist{position:absolute;bottom:0;left:0;width:100%;height:40%;background:linear-gradient(to top,rgba(88,28,135,.2),transparent);pointer-events:none;z-index:2}.firefly{position:absolute;width:5px;height:5px;background:#e1ff80;border-radius:50%;box-shadow:0 0 12px 3px #b4ff32e6,0 0 25px 8px #e1ff8080;z-index:15;pointer-events:none;animation:firefly-drift 10s ease-in-out infinite,firefly-glow 4s ease-in-out infinite}@keyframes firefly-drift{0%,to{transform:translate(0)}33%{transform:translate(25px,-30px)}66%{transform:translate(-15px,-50px)}}@keyframes firefly-glow{0%,to{opacity:.4;transform:scale(.7);filter:brightness(1)}50%{opacity:1;transform:scale(1.3);filter:brightness(1.5)}}.twilight-beam{position:absolute;width:120px;height:1200px;background:linear-gradient(to bottom,rgba(139,92,246,.1),transparent);transform:rotate(35deg);pointer-events:none;z-index:3;filter:blur(40px)}.plains-background{background:#f4e9d5;background-image:radial-gradient(at 10% 20%,#e2d1a3 0%,transparent 40%),radial-gradient(at 80% 50%,#d8e2a3 0%,transparent 40%),radial-gradient(at 40% 80%,#c9d6a3 0%,transparent 50%);position:relative;overflow:hidden}.plains-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(139,125,107,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(139,125,107,.05) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:1}.plains-monolith{position:absolute;width:30px;height:70px;background:#8b7d6b;clip-path:polygon(20% 0%,80% 0%,100% 100%,0% 100%);box-shadow:inset -5px 0 10px #0003;pointer-events:none;z-index:5}.plains-monolith:after{content:"";position:absolute;top:10%;left:50%;width:2px;height:40%;background:#fff3;transform:translate(-50%)}.plains-oasis{position:absolute;width:100px;height:60px;background:#5ba6b8;border-radius:50%;box-shadow:inset 0 0 15px #0003,0 0 20px #5ba6b84d;border:4px solid #a8c17a;pointer-events:none;z-index:5}.plains-oasis:before{content:"";position:absolute;bottom:70%;left:20%;width:10px;height:30px;background:#5d4037;border-radius:2px}.plains-oasis:after{content:"";position:absolute;bottom:calc(70% + 24px);left:calc(20% - 15px);width:40px;height:20px;background:#388e3c;border-radius:50% 50% 0 0}.mountain-background{background:linear-gradient(180deg,#bae6fd,#e0f2fe 40%,#f8fafc);position:relative;overflow:hidden}.mountain-layer{position:absolute;bottom:0;width:100%;pointer-events:none;z-index:1}.mountain-layer.layer-1{height:480px;clip-path:polygon(0% 100%,15% 75%,35% 35%,50% 15%,65% 55%,85% 25%,100% 100%);background:linear-gradient(to bottom,#fff,#e2e8f0);opacity:1}.mountain-layer.layer-2{height:380px;background:#f1f5f9;clip-path:polygon(0% 100%,10% 65%,25% 25%,45% 50%,60% 10%,80% 45%,95% 20%,100% 100%);opacity:.8;bottom:-10px}.mountain-layer.layer-3{height:280px;background:#cbd5e1;clip-path:polygon(0% 100%,5% 45%,20% 15%,35% 40%,55% 5%,75% 35%,90% 10%,100% 100%);opacity:.6;bottom:-30px}.wispy-cloud{position:absolute;background:#fff;opacity:.6;filter:blur(25px);border-radius:50%;pointer-events:none;z-index:2}.world-info-card.valley-theme{background:#ffffffd9;border:1px solid rgba(167,243,208,.5);box-shadow:0 8px 32px #065f461a}.world-info-card.valley-theme .world-info-label{color:#10b981}.world-info-card.valley-theme .world-info-title{color:#065f46}.world-info-card.valley-theme .world-info-quests{color:#065f46b3}.world-info-card.mountain-theme{background:#fff6;border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 32px #00000014}.world-info-card.mountain-theme .world-info-label{color:#0369a1}.world-info-card.mountain-theme .world-info-title{color:#0c4a6e}.world-info-card.mountain-theme .world-info-quests{color:#0c4a6eb3}.levels-header-new.mountain-theme{background:#bae6fdd9;border-bottom:1px solid rgba(125,211,252,.5)}.levels-header-new.mountain-theme .levels-world-title{color:#0c4a6e}.levels-header-new.mountain-theme .back-btn-circle{background:#ffffffe6;border-color:#7dd3fc80}.levels-header-new.mountain-theme .back-btn-circle .material-symbols-outlined{color:#0369a1}.levels-header-new.mountain-theme .stat-pill{background:#ffffffe6;border-color:#7dd3fc66}.archipelago-background{background-color:#f4e4bc;background-image:radial-gradient(circle at 50% 50%,transparent 0%,rgba(0,0,0,.05) 100%);box-shadow:inset 0 0 100px #4a372833;position:relative;overflow:hidden}.archipelago-texture{position:absolute;inset:0;opacity:.08;background:repeating-linear-gradient(45deg,rgba(74,55,40,.1) 0px,rgba(74,55,40,.1) 2px,transparent 2px,transparent 8px);pointer-events:none;z-index:1}.compass-rose{position:absolute;width:80px;height:80px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='%234a3728'%3E%3Cpath d='M50 0 L55 45 L100 50 L55 55 L50 100 L45 55 L0 50 L45 45 Z'/%3E%3C/svg%3E") no-repeat center;opacity:.2;pointer-events:none;z-index:2}.sketch-island{position:absolute;border:2px dashed rgba(74,55,40,.3);border-radius:40% 60% 70% 30%/40% 50% 60%;background:#d2b48c4d;pointer-events:none;z-index:1}.world-info-card.archipelago-theme{background:#ffffff4d;border:2px solid rgba(74,55,40,.3);box-shadow:0 8px 32px #4a372826}.world-info-card.archipelago-theme .world-info-label{color:#8b5a2b}.world-info-card.archipelago-theme .world-info-title{color:#4a3728}.world-info-card.archipelago-theme .world-info-quests{color:#4a3728b3}.levels-header-new.archipelago-theme{background:#d2b48ce6;backdrop-filter:blur(10px);border-bottom:2px solid rgba(74,55,40,.2)}.levels-header-new.archipelago-theme .levels-world-title{color:#4a3728}.levels-header-new.archipelago-theme .back-btn-circle{background:#fff9;border-color:#4a37284d}.levels-header-new.archipelago-theme .back-btn-circle .material-symbols-outlined{color:#4a3728}.levels-header-new.archipelago-theme .stat-pill{background:#ffffff4d;border-color:#4a372833;color:#4a3728}.dawn-background{background:linear-gradient(to bottom,#c7d2fe,#f3e8ff 30%,#e2e8f0 50%,#d1fae5 52%,#ecfdf5);position:relative;overflow:hidden}.dawn-horizon-line{position:absolute;top:50%;left:0;width:100%;height:1px;background:#ffffff4d;box-shadow:0 0 15px #ffffff80;z-index:1;pointer-events:none}.dawn-glow{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);width:80%;height:40%;background:radial-gradient(ellipse at center,rgba(255,255,255,.4) 0%,transparent 70%);filter:blur(40px);z-index:0;pointer-events:none}.dawn-beacon-light{position:absolute;width:40px;height:40px;background:radial-gradient(circle,rgba(255,255,255,.8) 0%,transparent 70%);border-radius:50%;z-index:5;filter:blur(4px);mix-blend-mode:overlay;pointer-events:none}.world-info-card.dawn-theme{background:#ffffff4d;border:1px solid rgba(255,255,255,.5);box-shadow:0 8px 32px #8b9dff26;backdrop-filter:blur(10px)}.world-info-card.dawn-theme .world-info-label{color:#64748b}.world-info-card.dawn-theme .world-info-title{color:#1e293b}.world-info-card.dawn-theme .world-info-quests{color:#475569}.levels-header-new.dawn-theme{background:#fff6;backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.2)}.levels-header-new.dawn-theme .levels-world-title{color:#1e293b}.levels-header-new.dawn-theme .back-btn-circle{background:#fff9;border-color:#ffffff80}.levels-header-new.dawn-theme .back-btn-circle .material-symbols-outlined{color:#1e293b}.levels-header-new.dawn-theme .stat-pill{background:#fff9;border-color:#ffffff80;color:#4f46e5}.roman-background{background-color:#f3e9d2;background-image:radial-gradient(circle at 2px 2px,rgba(0,0,0,.05) 1px,transparent 0);background-size:8px 8px;position:relative;overflow:hidden}.coliseum-silhouette{position:absolute;bottom:-20px;right:-50px;width:350px;height:250px;background:#d4a373;clip-path:polygon(10% 100%,10% 40%,15% 35%,25% 35%,30% 25%,40% 25%,45% 15%,55% 15%,60% 25%,70% 25%,75% 35%,85% 35%,90% 40%,90% 100%);opacity:.3;z-index:1;pointer-events:none}.roman-column{width:20px;height:150px;background:linear-gradient(to right,#e7d8c9,#f5ebe0,#e7d8c9);border-radius:4px;position:absolute;opacity:.4;pointer-events:none;z-index:2}.world-info-card.roman-theme{background:#fdf8e199;backdrop-filter:blur(4px);border:2px solid rgba(212,163,115,.3);box-shadow:0 8px 32px #8b5e3426}.world-info-card.roman-theme .world-info-label{color:#c04e3e}.world-info-card.roman-theme .world-info-title{color:#5e3a24}.world-info-card.roman-theme .world-info-quests{color:#6b705c}.levels-header-new.roman-theme{background:#fdf8e1e6;backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,163,115,.3)}.levels-header-new.roman-theme .levels-world-title{color:#5e3a24}.levels-header-new.roman-theme .back-btn-circle{background:#ffffff80;border-color:#c04e3e33}.levels-header-new.roman-theme .back-btn-circle .material-symbols-outlined{color:#5e3a24}.levels-header-new.roman-theme .stat-pill{background:#ffffff80;border-color:#c04e3e33;color:#c04e3e}.world-map-canvas{display:flex;flex-direction:column;align-items:center;min-height:max-content;width:100%;position:relative;padding:20px;box-sizing:border-box}.world-map-path{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.map-decoration{position:absolute;z-index:1;pointer-events:none}.hill{position:absolute;border-radius:100%;z-index:1}.hill-1{background:#dcfce7;width:300px;height:350px;bottom:-150px;left:0}.hill-2{background:#bbf7d0;width:400px;height:400px;bottom:-200px;left:250px}.hill-3{background:#86efac;width:350px;height:450px;bottom:-250px;left:550px}.hill-4{background:#dcfce7;width:450px;height:350px;bottom:-150px;left:850px}.cherry-tree{position:absolute;z-index:2;width:80px;height:100px}.tree-trunk{position:absolute;background:#5d4037;width:6px;height:40px;bottom:0;left:50%;transform:translate(-50%);border-radius:4px 4px 0 0}.blossom-clump{position:absolute;background:#fce7f3;border-radius:50%;filter:blur(4px);border:2px solid #fbcfe8}.petal{position:absolute;background:#fbcfe8;border-radius:50% 0 50% 50%;width:8px;height:10px;opacity:.7;z-index:3;animation:petal-fall 8s ease-in-out infinite}.petal:nth-child(1){animation-delay:0s}.petal:nth-child(2){animation-delay:2s}.petal:nth-child(3){animation-delay:4s}.petal:nth-child(4){animation-delay:6s}@keyframes petal-fall{0%{transform:translateY(0) rotate(0);opacity:.7}25%{transform:translateY(50px) rotate(45deg) translate(20px)}50%{transform:translateY(100px) rotate(90deg) translate(-10px);opacity:.5}75%{transform:translateY(150px) rotate(135deg) translate(15px)}to{transform:translateY(200px) rotate(180deg);opacity:0}}.leaf{position:absolute;width:12px;height:16px;background:linear-gradient(135deg,#86efac,#22c55e);border-radius:50% 0 50% 50%;opacity:.6;z-index:3;animation:leaf-float 10s ease-in-out infinite}.leaf:nth-child(1){animation-delay:0s}.leaf:nth-child(2){animation-delay:2.5s}.leaf:nth-child(3){animation-delay:5s}.leaf:nth-child(4){animation-delay:7.5s}@keyframes leaf-float{0%,to{transform:translateY(0) rotate(0) translate(0);opacity:.6}25%{transform:translateY(-30px) rotate(15deg) translate(20px);opacity:.8}50%{transform:translateY(-50px) rotate(-10deg) translate(-15px);opacity:.7}75%{transform:translateY(-20px) rotate(20deg) translate(10px);opacity:.6}}.butterfly{position:absolute;width:16px;height:12px;z-index:4;opacity:.7;animation:butterfly-fly 12s ease-in-out infinite}.butterfly:before,.butterfly:after{content:"";position:absolute;width:8px;height:10px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50% 50% 50% 0;animation:butterfly-wings .3s ease-in-out infinite alternate}.butterfly:before{left:0;transform-origin:right center}.butterfly:after{right:0;transform-origin:left center;transform:scaleX(-1)}@keyframes butterfly-fly{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(40px,-60px) rotate(15deg)}50%{transform:translate(80px,-30px) rotate(-10deg)}75%{transform:translate(30px,-80px) rotate(5deg)}}@keyframes butterfly-wings{0%{transform:rotateY(0)}to{transform:rotateY(60deg)}}.quest-path-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}.quest-path-line{fill:none;stroke:#6464644d;stroke-width:3;stroke-dasharray:10,12;stroke-linecap:round}.quest-path-completed{fill:none;stroke:#6dbf7080;stroke-width:3;stroke-dasharray:10,12;stroke-linecap:round}.quest-path-active{fill:none;stroke:#ff904599;stroke-width:4;stroke-dasharray:10,12;stroke-linecap:round;animation:path-flow 1.5s linear infinite}@keyframes path-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-22}}.quests-container{display:flex;flex-direction:column;align-items:center;position:relative;z-index:10;padding:20px 0 40px;gap:24px;width:100%;max-width:360px}.quest-node:nth-child(odd){align-self:flex-start;margin-left:20px}.quest-node:nth-child(2n){align-self:flex-end;margin-right:20px}.unit-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 40px;position:relative}.unit-divider-line{width:2px;height:60px;background:linear-gradient(to bottom,transparent,var(--color-primary-orange),transparent)}.unit-divider-badge{background:var(--color-primary-orange);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:8px 16px;border-radius:20px;white-space:nowrap;box-shadow:0 4px 12px #ff90454d}.quest-node{display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:transform .2s ease;position:relative;z-index:5;background:none;border:none;padding:0;outline:none;-webkit-appearance:none;appearance:none}.quest-node:active{transform:scale(.95)}.quest-circle{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;border:4px solid white;box-shadow:0 4px 16px #00000026;transition:all .2s ease}.quest-circle .quest-number{position:absolute;top:-4px;right:-4px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;border:2px solid white}.quest-circle .material-symbols-outlined{font-size:1.75rem}.quest-node.completed .quest-circle{background:#6dbf70;color:#1a1a1a;border-color:#5aab5f}.quest-node.completed .quest-number{background:#6dbf70;color:#fff;border-color:#5aab5f}.quest-node.current .quest-circle{width:80px;height:80px;background:var(--color-primary-orange);color:#1a1a1a;border-color:#e67a2e;border-bottom-width:8px;border-bottom-color:#d86a1e;box-shadow:0 8px 24px #ff904566;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{transform:scale(1);box-shadow:0 8px 24px #ff904566}50%{transform:scale(1.08);box-shadow:0 12px 32px #ff904599}}.quest-node.current .quest-circle .material-symbols-outlined{font-size:2.25rem;color:#1a1a1a}.quest-node.current .quest-number{background:var(--color-primary-orange);color:#fff;width:28px;height:28px;border-color:#e67a2e}.quest-node.current:active .quest-circle{border-bottom-width:4px;transform:translateY(4px);animation:none}.quest-node.locked .quest-circle{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.quest-node.locked .quest-number{background:#d1d5db;color:#6b7280}.quest-node.locked{opacity:.7}.quest-label{background:#fffffff2;backdrop-filter:blur(8px);padding:8px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 8px #00000014;text-align:center;min-width:100px;max-width:140px}.quest-label-title{font-size:.75rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quest-label-subtitle{font-size:.65rem;font-weight:600;margin-top:2px}.quest-label-subtitle.current{color:var(--color-primary-orange)}.quest-label-subtitle.locked{color:#9ca3af}.world-info-card{position:relative;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:20px 24px;border-radius:24px;border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 32px #0000000f;z-index:30;width:100%;max-width:320px;margin-bottom:20px;box-sizing:border-box;transition:background .3s ease,border-color .3s ease}.world-info-card.forest-theme{background:#0f0c2999;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #0000004d}.world-info-card.forest-theme .world-info-label{color:#a78bfa}.world-info-card.forest-theme .world-info-title{color:#fff}.world-info-card.forest-theme .world-info-quests{color:#ffffffb3}.world-info-card.plains-theme{background:#e8dac066;border:1px solid rgba(209,194,168,.6);box-shadow:0 8px 32px #00000014}.world-info-card.plains-theme .world-info-label{color:#7d6335}.world-info-card.plains-theme .world-info-title{color:#4a3b21}.world-info-card.plains-theme .world-info-quests{color:#5d4a26}.world-info-label{font-size:1rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#ec4899;margin-bottom:6px}.world-info-title{font-size:1.25rem;font-weight:800;color:var(--color-text-primary);line-height:1.2;margin:0}.world-info-quests{font-size:.75rem;color:var(--color-text-secondary);margin-top:4px}.unit-divider{align-self:center;margin:20px 0}.unit-card{background:var(--color-primary-orange);border-radius:24px;padding:var(--space-lg);box-shadow:0 12px 32px #ff90454d;position:relative;overflow:hidden;margin-bottom:40px}.unit-bg-circle{position:absolute;border-radius:50%;pointer-events:none}.unit-bg-circle.top{top:-50%;right:-30%;width:120px;height:120px;background:#ffffff1a}.unit-bg-circle.bottom{bottom:-50%;left:-20%;width:100px;height:100px;background:#0000000d}.unit-content{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start}.unit-info{flex:1}.unit-label{display:block;font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#0e1b13b3;margin-bottom:8px}.unit-title{font-size:1.5rem;font-weight:700;color:#0e1b13;line-height:1.2;margin-bottom:8px}.unit-lessons{font-size:.875rem;font-weight:500;color:#0e1b13cc}.unit-book-btn{width:44px;height:44px;background:#fff3;backdrop-filter:blur(8px);border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.unit-book-btn:hover{background:#ffffff4d}.unit-book-icon{font-size:1.25rem}.lessons-path{display:flex;flex-direction:column;align-items:center;gap:32px}.lesson-node-row{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;width:100%}.lesson-node-row.left{align-items:flex-start;padding-left:20%}.lesson-node-row.right{align-items:flex-end;padding-right:10%}.lesson-node-row.center{align-items:center}.lesson-node-row.featured{flex-direction:row;justify-content:flex-end;gap:16px}.lesson-node{width:80px;height:80px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.lesson-node.completed{background:#fbbf24;border-bottom:6px solid #d97706;color:#0e1b13}.lesson-node.completed:active{border-bottom-width:2px;transform:translateY(4px)}.lesson-node.current{width:96px;height:96px;background:var(--color-primary-orange);border-bottom:6px solid #e67a2e;color:#0e1b13}.lesson-node.current:active{border-bottom-width:2px;transform:translateY(4px)}.lesson-node.locked{background:#e5e7eb;border-bottom:6px solid #d1d5db;color:#9ca3af;cursor:not-allowed}.lesson-node.exam-node{width:96px;height:80px;border-radius:16px}.node-icon{font-size:2rem;font-weight:700}.node-icon.play{font-size:2.5rem}.lesson-node.pulsing .pulse-ring{position:absolute;inset:0;background:#ff904533;border-radius:50%;animation:pulsate 2s ease-out infinite}@keyframes pulsate{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.lesson-stars{display:flex;gap:4px;margin-top:4px}.lesson-stars .star{font-size:1.1rem}.lesson-stars .star.filled{color:#fbbf24}.lesson-info{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:8px;max-width:140px}.lesson-title{font-size:.875rem;font-weight:600;color:var(--color-text-primary);line-height:1.3}.lesson-xp{font-size:.75rem;font-weight:700;color:var(--color-text-muted);margin-top:2px}.lesson-node-row{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;width:100%}.lesson-node-row.featured{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px}.lesson-node-row.featured .lesson-info{order:3;width:100%}.high-contrast .lesson-title{color:#fff}.high-contrast .lesson-xp{color:#999}.mascot-bubble{display:flex;flex-direction:column;align-items:flex-end;position:relative}.mascot-speech{background:#fff;border:1px solid rgba(0,0,0,.08);color:var(--color-text-primary);font-size:.75rem;font-weight:700;padding:8px 12px;border-radius:16px 16px 4px;box-shadow:var(--shadow-md);white-space:nowrap;animation:bounceSlow 3s ease-in-out infinite}@keyframes bounceSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mascot-mini-avatar{width:80px;height:80px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.1))}.robot-svg-tiny{width:100%;height:100%}.lesson-node-row.exam{flex-direction:column;margin-top:16px}.exam-label{font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#9ca3af;margin-top:8px}.worlds-new{position:relative;overflow-y:auto;overflow-x:hidden;padding:0!important;background:var(--color-bg-primary)}.worlds-header-new{position:fixed;top:0;left:0;right:0;z-index:40;background:#f6f8f7f2;backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);padding:12px var(--screen-padding);padding-top:calc(12px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;max-width:100%}.worlds-main{position:relative;z-index:10;padding:100px var(--screen-padding) 120px;width:100%;max-width:420px;margin-left:auto;margin-right:auto;box-sizing:border-box}.worlds-list{display:flex;flex-direction:column;gap:var(--space-lg)}.world-card-new{position:relative;background:#fff;border-radius:24px;padding:4px;box-shadow:0 4px 16px #00000014;border:1px solid transparent;transition:all .3s ease;overflow:hidden;cursor:pointer;width:100%;text-align:left}.world-card-new:hover{box-shadow:0 8px 24px #0000001f;border-color:var(--world-accent, rgba(255, 144, 69, .2))}.world-card-new:active{transform:scale(.98)}.world-card-glow{position:absolute;top:0;right:0;width:150px;height:150px;border-radius:50%;transform:translate(50%,-50%);z-index:0;background:var(--world-glow, rgba(255, 144, 69, .15))}.world-card-content{position:relative;z-index:10;padding:16px;display:flex;flex-direction:column;gap:12px}.world-card-new .world-card-header{display:flex;justify-content:space-between;align-items:flex-start}.world-icon-circle{width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center}.world-icon-circle .world-emoji{font-size:32px}.world-icon-circle.locked{background:#f3f4f6}.world-icon-circle .lock-icon{font-size:28px;color:#9ca3af}.world-badge-check{width:28px;height:28px;background:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700}.world-info{display:flex;flex-direction:column;gap:4px}.world-label-new{font-size:.95rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--world-accent, #9ca3af)}.world-name-new{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.2}.world-desc{font-size:.875rem;color:var(--color-text-muted);margin:0;line-height:1.4}.world-desc.locked-hint{font-style:italic;color:#9ca3af}.world-progress-bar{height:6px;background:#e5e7eb;border-radius:100px;overflow:hidden}.world-progress-fill{height:100%;border-radius:100px;transition:width .4s ease}.world-action-row{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.world-progress-text{font-size:.813rem;font-weight:600;color:var(--color-text-muted)}.world-action-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;color:#fff;letter-spacing:.05em}.world-action-btn .material-symbols-outlined{font-size:18px}.world-card-new.locked{opacity:.7;cursor:not-allowed}.world-card-new.locked:hover{box-shadow:0 4px 16px #00000014;border-color:transparent}.world-card-new.locked:active{transform:none}.levels-list{display:flex;flex-direction:column;gap:var(--space-xl)}.chapter-section{display:flex;flex-direction:column;gap:var(--space-lg)}.unit-card-new{background:var(--color-primary-orange);border-radius:24px;padding:var(--space-lg);box-shadow:0 12px 32px #ff90454d;position:relative;overflow:hidden;transition:all .2s ease}.unit-card-new:active{transform:scale(.98)}.unit-card-new.locked{background:#d1d5db;box-shadow:0 8px 24px #0000001a;opacity:.7}.unit-card-new .unit-bg-circle{position:absolute;border-radius:50%;pointer-events:none}.unit-card-new .unit-bg-circle.top{top:-50%;right:-30%;width:120px;height:120px;background:#ffffff1a}.unit-card-new .unit-bg-circle.bottom{bottom:-50%;left:-20%;width:100px;height:100px;background:#0000000d}.unit-card-new .unit-content{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start}.unit-card-new .unit-info{flex:1}.unit-card-new .unit-label{font-size:.625rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#0e1b13b3;margin-bottom:4px;display:block}.unit-card-new .unit-title{font-size:1.375rem;font-weight:700;color:#0e1b13;line-height:1.2;margin:0}.unit-card-new .unit-progress{font-size:.875rem;font-weight:500;color:#0e1b13e6;margin:6px 0 0}.unit-card-new .unit-book-btn{width:40px;height:40px;background:#fff3;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;color:#0e1b13;flex-shrink:0}.unit-card-new .unit-book-btn:hover{background:#ffffff4d}.unit-card-new .unit-book-icon{font-size:1.5rem}.high-contrast .unit-card-new{box-shadow:0 0 0 2px var(--color-primary-orange)}.high-contrast .unit-card-new.locked{box-shadow:0 0 0 2px #9ca3af}.chapter-cards{display:flex;flex-direction:column;gap:var(--space-sm)}.level-card{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:#fff;border:none;border-radius:24px;cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left;box-shadow:0 4px 0 var(--color-bg-elevated);margin-bottom:4px;position:relative}.level-card:hover:not(.locked){transform:translateY(-2px);box-shadow:0 6px 0 var(--color-bg-elevated)}.level-card:active:not(.locked){transform:translateY(3px);box-shadow:0 1px 0 var(--color-bg-elevated)}.level-card.locked{opacity:.7;cursor:not-allowed;background:#e8eefb;box-shadow:none}.level-card.completed{box-shadow:0 4px #47d1a033}.level-card-circle{position:relative;width:56px;height:56px;min-width:56px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated);border-radius:50%;flex-shrink:0}.level-card-circle.unlocked{background:var(--color-accent-primary);color:#fff}.level-card-circle.current{background:var(--color-primary-orange);color:#0e1b13}.level-card-circle.completed{background:var(--color-success);color:#fff}.level-card-circle.locked{background:#e5e7eb;color:#9ca3af}.circle-icon{font-size:1.5rem;font-weight:700;line-height:1}.circle-icon.check{font-size:1.75rem;font-weight:900}.circle-icon.play{font-size:1.25rem;margin-left:2px}.level-card-info{flex:1;display:flex;flex-direction:column;gap:2px}.level-card-title{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.level-card-subtitle{font-size:.875rem;font-weight:500}.level-card-subtitle.muted{color:var(--color-text-muted)}.level-card-subtitle.current{color:var(--color-primary-orange);font-weight:600}.level-card-stars{display:flex;gap:2px}.star-mini{font-size:.875rem;color:#d1d5db}.star-mini.earned{color:#fbbf24}.level-card-accent{position:absolute;right:0;top:0;bottom:0;width:6px;background:var(--color-primary-orange);border-radius:0 24px 24px 0}.level-card.current{border:2px solid rgba(255,144,69,.2);box-shadow:0 6px 20px #ff904526}.high-contrast .levels-new{background:#000}.high-contrast .levels-header-new{background:#000000f2;border-bottom-color:#ffffff1a}.high-contrast .stat-pill{background:#141414;border-color:#fff3}.high-contrast .chapter-pill{background:#141414;border-color:#fff3;color:var(--color-primary-orange)}.high-contrast .level-card{background:#141414;border:1px solid rgba(255,255,255,.1)}.high-contrast .level-card.locked{background:#0a0a0a;opacity:.6}.high-contrast .level-card-circle{background:#222}.high-contrast .level-card-title{color:#fff}.lesson-intro-content{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:var(--space-sm)}.lesson-icon{margin-bottom:var(--space-md)}.braille-demo-cell{display:grid;grid-template-columns:repeat(2,auto);place-items:center;gap:10px;padding:14px;background:#fff;border-radius:var(--radius-xl);box-shadow:0 6px 0 var(--color-bg-elevated);border:2px solid var(--color-bg-elevated);width:fit-content;min-width:120px;margin:0 auto}.braille-demo-cell.large{min-width:140px}.braille-demo-cell .dot{width:40px;height:40px;border-radius:50%;background:var(--color-dot-unraised);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);font-weight:700;color:var(--color-text-secondary)}.braille-demo-cell .dot.filled{background:var(--color-dot-raised);box-shadow:inset 0 -4px #0000001a;color:#fff}.lesson-intro-content h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-md)}.lesson-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:320px;margin-bottom:var(--space-md);line-height:1.4}.lesson-step{animation:slideInRight var(--transition-base) ease-out}.lesson-step.hidden{display:none}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.lesson-objectives-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.lesson-objectives-header .objectives-icon{font-size:48px}.lesson-objectives-header h2{font-size:var(--font-size-xl);text-align:center;margin:0}.lesson-objectives{width:100%;text-align:left;padding:var(--space-md);background:#fff;border-radius:var(--radius-lg);border:2px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm);margin-bottom:var(--space-md)}.lesson-objectives h3{font-size:var(--font-size-base);margin-bottom:var(--space-md);color:var(--color-text-secondary)}.lesson-objectives ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.lesson-objectives li{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-base)}.lesson-objectives li:before{content:"✓";color:var(--color-success);flex-shrink:0}.lesson-letters-preview{width:100%;text-align:center;margin-bottom:var(--space-lg)}.lesson-letters-preview h3{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--space-md)}.letters-preview-grid{display:flex;justify-content:center;gap:var(--space-sm);flex-wrap:wrap}.letter-preview-item{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:var(--radius-lg);font-size:var(--font-size-xl);font-weight:700;color:var(--color-accent-primary);box-shadow:0 4px 0 var(--color-bg-elevated);border:2px solid var(--color-bg-elevated)}.lesson-intro-content .btn{margin-top:auto}.instruction-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-xs);padding-bottom:var(--space-sm);padding-top:0;max-height:100%;overflow:hidden}.instruction-letter-container{background:#fff;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);box-shadow:0 6px 0 var(--color-bg-elevated);border:2px solid var(--color-bg-elevated);flex-shrink:0}.instruction-letter{font-size:var(--font-size-3xl);font-weight:800;color:var(--color-accent-primary)}.braille-instruction-dual-container{display:flex;gap:var(--space-md);align-items:center;justify-content:center;flex-shrink:0}.braille-instruction-dual-container.single-cell #instruction-cell-prefix{display:none}.braille-instruction-cell{display:grid;grid-template-columns:repeat(2,auto);place-items:center;gap:12px;padding:20px;background:#fff;border-radius:var(--radius-xl);box-shadow:0 6px 0 var(--color-bg-elevated);border:2px solid var(--color-bg-elevated);width:fit-content;min-width:180px;flex-shrink:0;position:relative}.braille-instruction-cell .cell-label{display:none}.pick-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);width:100%;max-width:400px;margin:0 auto}.pick-option-cell{position:relative;width:100%;aspect-ratio:1;padding:var(--space-md);background:var(--color-bg-card);border:2px solid var(--color-dot-unraised);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);transition:all var(--transition-fast);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.pick-option-cell:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-dot-border);background:var(--color-bg-elevated)}.pick-option-cell:active,.pick-option-cell.selected{transform:scale(.98);border-color:var(--color-accent-primary);background:#3b82f60d;box-shadow:0 0 0 2px #3b82f633}.pick-option-cell.correct{border-color:var(--color-success);background:#10b9811a;box-shadow:0 0 0 2px #10b9814d}.pick-option-cell.incorrect{border-color:var(--color-error);background:#ef44441a;animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}.pick-braille-container{display:flex;gap:var(--space-md);pointer-events:none}.pick-braille-char{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:4px}.pick-dot{width:20px;height:20px;border-radius:50%;background-color:var(--color-dot-unraised);transition:background-color .2s ease}.pick-dot.filled{background-color:var(--color-text-primary);box-shadow:inset 0 1px 3px #0000004d}.high-contrast .pick-option-cell{border-width:3px;background:#000}.high-contrast .pick-option-cell.selected{border-color:var(--color-accent-primary);background:#111}.high-contrast .pick-dot.filled{background-color:var(--color-dot-raised)}.pick-option-label{display:none!important}.pick-question-text{font-size:var(--font-size-lg);font-weight:600}.pick-target-letter{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-accent-primary);margin:0 .2em}.pick-mascot-container{margin-bottom:var(--space-md);display:flex;justify-content:center}.braille-instruction-cell .dot{width:70px;height:70px;border-radius:50%;background:var(--color-dot-unraised);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-secondary)}.braille-instruction-cell .dot.filled{background:var(--color-dot-raised);box-shadow:inset 0 -4px #0000001a;transform:scale(1.05);color:#fff}.braille-instruction-cell .dot.animating{animation:dotPulse .6s ease-in-out infinite;background:var(--color-accent-secondary)}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.instruction-text-container{text-align:center;min-height:2.5em;flex-shrink:0}.instruction-text{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text-primary)}.instruction-progress{display:flex;justify-content:center;width:100%;flex-shrink:0}.progress-dots{display:flex;justify-content:center;gap:var(--space-xs);flex-wrap:wrap;max-width:100%}.instruction-actions{display:flex;gap:var(--space-md);width:100%;margin-top:auto;flex-shrink:0;padding-top:var(--space-sm)}.instruction-actions .btn{flex:1;padding:var(--space-sm) var(--space-md)}.progress-dot{width:14px;height:14px;border-radius:50%;background:var(--color-bg-elevated);transition:all var(--transition-base);border:2px solid var(--color-bg-elevated)}.progress-dot.active{background:var(--color-accent-primary);border-color:#76abff;transform:scale(1.2)}.progress-dot.completed{background:var(--color-success);border-color:#68e5bb}.game-header{display:flex;align-items:center;gap:var(--space-md);padding-bottom:var(--space-sm)}.game-progress{flex:1;height:16px;background:var(--color-bg-elevated);border-radius:var(--radius-full);position:relative;overflow:hidden;border:2px solid var(--color-bg-elevated)}.progress-fill{height:100%;background:#0e1b13;border-radius:var(--radius-full);transition:width var(--transition-base)}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-xs);font-weight:600;color:transparent}.game-content{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding-top:var(--space-sm)}.game-prompt{text-align:center}.prompt-instruction{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.target-letter{font-size:var(--font-size-4xl);font-weight:800;color:var(--color-accent-primary);line-height:1}.audio-btn{display:none}.audio-btn:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--color-bg-elevated)}.audio-btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--color-bg-elevated)}.audio-btn svg{width:24px;height:24px}.braille-builder{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.braille-cell.interactive{display:grid;grid-template-columns:repeat(2,auto);place-items:center;gap:16px;padding:18px;background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:0 6px 0 var(--color-bg-elevated);border:2px solid var(--color-bg-elevated);width:fit-content;min-width:200px}.dot-btn{position:relative;width:80px;height:80px;background:none;border:none;padding:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.dot-visual{display:block;width:100%;height:100%;border-radius:50%;background:var(--color-dot-unraised);border:3px solid var(--color-dot-border);transition:all var(--transition-fast)}.dot-btn[aria-checked=true] .dot-visual{background:var(--color-dot-raised);border-color:var(--color-accent-primary);box-shadow:var(--shadow-glow);transform:scale(1.05)}.dot-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-secondary);pointer-events:none;z-index:1;opacity:.8}.dot-btn[aria-checked=true] .dot-number{color:#fff;opacity:1}.cell-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin-top:var(--space-xs)}.braille-builder-dual{display:flex;gap:var(--space-md);align-items:flex-start;justify-content:center}.braille-builder-dual.single-cell #build-prefix-cell{display:none}.braille-builder-cell{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.braille-builder-cell .braille-cell.interactive{gap:10px;padding:12px;width:fit-content;min-width:140px}.braille-builder-dual .dot-btn{width:56px;height:56px}.braille-builder-dual .dot-number{font-size:var(--font-size-base)}.build-cell-label{display:none}.braille-builder-cell.active .braille-cell.interactive{border:3px solid var(--color-accent-primary);box-shadow:0 0 0 4px #4285f433}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);width:100%;max-width:340px}.option-cell{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--color-bg-card);border:3px solid transparent;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast)}.option-cell:hover{background:var(--color-bg-elevated);border-color:var(--color-dot-border)}.option-cell.selected{border-color:var(--color-accent-primary)}.option-cell.correct{border-color:var(--color-success);background:#f0fff4;box-shadow:0 4px 0 var(--color-success)}.option-cell.incorrect{border-color:var(--color-error);background:#fff5f5;box-shadow:0 4px 0 var(--color-error)}.option-braille{display:grid;grid-template-columns:repeat(2,auto);place-items:center;justify-content:center;gap:10px}.option-braille .dot{width:38px;height:38px;border-radius:50%;background:var(--color-dot-unraised);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);font-weight:700;color:var(--color-text-secondary)}.option-braille .dot.filled{background:var(--color-dot-raised);box-shadow:inset 0 -3px #0000001a;color:#fff}.option-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.feedback-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast)}.feedback-overlay.hidden{display:none}.feedback-content{text-align:center;padding:var(--space-2xl);background:#fff;border-radius:var(--radius-xl);max-width:300px;box-shadow:0 20px 40px #0003;border:4px solid var(--color-bg-elevated);animation:popIn var(--transition-base)}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.feedback-icon{font-size:64px;margin-bottom:var(--space-lg)}.feedback-content h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-sm)}.feedback-content p{color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.feedback-overlay.success .feedback-icon{color:var(--color-success)}.feedback-overlay.error .feedback-icon{color:var(--color-error)}.exit-confirm-actions{display:flex;flex-direction:column;gap:var(--space-md);width:100%}.exit-confirm-actions .btn{width:100%}.level-complete-screen{padding:0;overflow:hidden;background:transparent}.level-pattern{position:absolute;inset:0;background-image:radial-gradient(var(--color-accent-primary) 12%,transparent 12%),radial-gradient(var(--color-accent-primary) 12%,transparent 12%);background-position:0 0,14px 14px;background-size:28px 28px;opacity:.04;pointer-events:none;z-index:0}.level-bg-glow{position:absolute;filter:blur(80px);opacity:.8;pointer-events:none;z-index:0}.level-bg-glow.glow-orange{width:240px;height:240px;top:-80px;right:-90px;background:radial-gradient(circle at center,rgba(255,144,69,.28),transparent 60%)}.level-bg-glow.glow-purple{width:280px;height:280px;bottom:8%;left:-120px;background:radial-gradient(circle at center,rgba(124,58,237,.24),transparent 60%)}.level-complete-wrapper{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;flex:1;width:100%;max-width:30rem;margin:0 auto;min-height:100%;padding:1.5rem 1.25rem calc(1rem + env(safe-area-inset-bottom));gap:.5rem}.level-stars{margin-bottom:.25rem}.level-stars-container{display:flex;gap:.75rem;align-items:center;justify-content:center}.result-star{font-size:2rem;color:#d7dbe0;animation:starPop .5s ease forwards;opacity:0;filter:drop-shadow(0 2px 8px rgba(14,27,19,.08))}.result-star:nth-child(1){animation-delay:.1s}.result-star:nth-child(2){animation-delay:.25s}.result-star:nth-child(3){animation-delay:.4s}.result-star.earned{color:#fbbf24;text-shadow:0 10px 24px rgba(251,191,36,.35)}@keyframes starPop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.level-mascot{position:relative;width:7rem;height:7rem;margin-bottom:0;animation:victorySpin .8s cubic-bezier(.68,-.55,.265,1.55)}.level-mascot-circle{width:100%;height:100%;border-radius:9999px;background:#ffedd5;border:4px solid var(--color-bg-secondary);box-shadow:0 18px 38px #00000014;display:flex;align-items:center;justify-content:center;overflow:hidden}.level-mascot-svg{width:100%;height:100%;padding:1rem}.level-spark{position:absolute;border-radius:9999px;filter:blur(12px);opacity:.7;animation:floatPulse 3s ease-in-out infinite;pointer-events:none}.spark-large{width:48px;height:48px;background:#ffb64959;top:4%;right:2%;animation-delay:.2s}.spark-small{width:36px;height:36px;background:#ff904573;bottom:0;left:8%;animation-delay:.6s}@keyframes floatPulse{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.08)}to{transform:translateY(0) scale(1)}}.level-title{font-size:clamp(1.5rem,3.5vw,1.75rem);font-weight:800;letter-spacing:-.01em;text-align:center;margin-bottom:.5rem;color:var(--color-text-primary)}.level-stats-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.5rem}.level-stat-card{background:var(--color-bg-secondary);border:1px solid rgba(14,27,19,.06);border-radius:1rem;padding:.6rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;box-shadow:0 8px 20px #0e1b130f}.level-stat-label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.level-stat-value{font-size:1.1rem;font-weight:800;letter-spacing:-.01em;color:var(--color-text-primary)}.level-stat-value.score{color:var(--color-accent-primary)}.level-stat-value.accuracy{color:#58cc02}.level-stat-value.xp-gain{color:#f59e0b}.level-streak{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.6rem .75rem;border-radius:.75rem;background:linear-gradient(120deg,#ff904526,#ffedd5cc);border:1px solid rgba(255,144,69,.35);color:#b45309;font-weight:700;font-size:.85rem;box-shadow:0 8px 18px #ff904526;margin-bottom:.5rem}.level-streak .material-symbols-outlined{font-size:1.1rem;color:#fb923c}.level-premium-card{position:relative;width:100%;background:linear-gradient(155deg,#7c3aed14,#0e1b1305);border:1px solid rgba(124,58,237,.25);border-radius:1rem;padding:.75rem .85rem .85rem;box-shadow:0 8px 20px #7c3aed1a;overflow:hidden;margin-bottom:.5rem}.level-premium-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.35),transparent 45%);pointer-events:none}.level-premium-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;position:relative;z-index:1}.level-premium-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:9999px;background:#7c3aed1a;color:#7c3aed;font-weight:800;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.level-premium-lock{width:2.25rem;height:2.25rem;border-radius:9999px;background:#7c3aed14;display:inline-flex;align-items:center;justify-content:center;color:#7c3aed}.level-premium-title{position:relative;z-index:1;font-size:.95rem;font-weight:800;color:var(--color-text-primary);margin-bottom:.1rem}.level-premium-desc{position:relative;z-index:1;font-size:.8rem;color:var(--color-text-secondary);margin-bottom:.5rem}.level-premium-btn{position:relative;z-index:1;width:100%;border:none;border-radius:.75rem;padding:.6rem;background:#7c3aed;color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.02em;box-shadow:0 8px 18px #7c3aed33;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.level-premium-btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px #7c3aed4d}.level-premium-btn:active{transform:translateY(0)}.level-actions{width:100%;margin-top:auto;display:flex;flex-direction:column;gap:.25rem}.level-actions-grid{display:flex;flex-direction:row;justify-content:center;gap:.75rem;background:transparent;border:none;border-radius:0;padding:.5rem 0;box-shadow:none;width:100%}.level-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem;border-radius:0;border:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:600;text-transform:none;background:none;color:var(--color-text-secondary);cursor:pointer;text-decoration:none;transition:color var(--transition-fast)}.level-action-btn.ghost{background:var(--color-bg-secondary);border:2px solid var(--color-surface-tertiary);border-radius:1rem;padding:.85rem 1.25rem;color:var(--color-text-secondary);font-weight:600;transition:all var(--transition-fast)}.level-action-btn.ghost:hover{background:var(--color-surface-secondary);border-color:var(--color-text-muted);color:var(--color-text-primary)}.level-action-btn.primary{background:var(--gradient-primary);border:none;border-radius:1rem;padding:.85rem 1.5rem;color:#fff;font-weight:700;box-shadow:0 6px #d97706;transition:all var(--transition-fast)}.level-action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px #d97706}.level-action-btn.primary:active{transform:translateY(4px);box-shadow:0 2px #d97706}.results-close-btn{position:absolute;top:calc(var(--space-md) + env(safe-area-inset-top));right:var(--space-md);z-index:100;width:44px;height:44px;border-radius:50%;background:#ffffffe6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all var(--transition-fast)}.results-close-btn svg{width:20px;height:20px;stroke:var(--color-text-secondary)}.results-close-btn:hover{background:#fff;transform:scale(1.05)}.results-close-btn:active{transform:scale(.95)}.progress-content{flex:1;overflow-y:auto;padding-bottom:120px}.progress-hero{text-align:center;padding:var(--space-2xl) 0}.total-xp-display{display:flex;flex-direction:column;gap:var(--space-sm)}.big-number{font-size:var(--font-size-5xl);font-weight:800;color:var(--color-accent-primary)}.big-label{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-2xl)}.stat-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl);background:#fff;border-radius:var(--radius-xl);border:2px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm)}.stat-icon{font-size:var(--font-size-2xl)}.stat-number{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-text-primary)}.stat-name{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.recent-activity h2{font-size:var(--font-size-lg);margin-bottom:var(--space-lg)}.activity-list{display:flex;flex-direction:column;gap:var(--space-md)}.activity-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:#fff;border-radius:var(--radius-lg);border:2px solid var(--color-bg-elevated)}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--color-text-muted)}.settings-content{flex:1;overflow-y:auto}.settings-section{margin-bottom:var(--space-2xl)}.settings-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md);padding-left:var(--space-sm)}.speed-control{display:flex;gap:var(--space-sm)}.speed-btn{padding:var(--space-sm) var(--space-md);background:#fff;border:2px solid var(--color-bg-elevated);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 0 var(--color-bg-elevated)}.speed-btn.active{border-color:var(--color-accent-primary);color:var(--color-accent-primary);box-shadow:0 4px 0 var(--color-accent-primary);transform:translateY(-2px)}.about-info{padding:var(--space-lg);background:var(--color-bg-card);border-radius:var(--radius-lg);text-align:center}.about-info p{margin-bottom:var(--space-sm)}.about-desc{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.main-nav-new{position:fixed;bottom:0;left:0;right:0;width:100%;background:#fff;border-top:1px solid rgba(0,0,0,.05);padding:12px 24px;padding-bottom:calc(12px + env(safe-area-inset-bottom));z-index:1000;border-radius:24px 24px 0 0;box-shadow:0 -5px 20px #00000008;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.main-nav-new.hidden{transform:translateY(100%);opacity:0;pointer-events:none}.nav-container{max-width:420px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.nav-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;background:none;border:none;cursor:pointer;color:#9ca3af;transition:color .2s ease}.nav-tab.active{color:var(--color-primary-orange)}.nav-tab:hover{color:var(--color-text-primary)}.nav-tab-icon-wrap{padding:6px 16px;border-radius:var(--radius-full);transition:background .2s ease}.nav-tab-icon-wrap.active,.nav-tab.active .nav-tab-icon-wrap{background:#ff90451f}.nav-tab-icon{font-size:1.5rem;display:block}.nav-tab-label{font-size:.625rem;font-weight:600}.nav-tab.active .nav-tab-label{font-weight:700}.high-contrast .main-nav-new{background:#0d0d0d;border-top-color:#ffffff1a}.high-contrast .nav-tab{color:#888}.high-contrast .nav-tab.active{color:var(--color-primary-orange)}.high-contrast .nav-tab:hover{color:#fff}.high-contrast .nav-tab.active .nav-tab-icon-wrap{background:#ff904533}.main-nav{position:fixed;bottom:16px;left:16px;right:16px;width:auto;max-width:420px;margin:0 auto;height:64px;background:#fff;border-radius:20px;display:flex;justify-content:space-around;align-items:center;padding:0 8px;z-index:1000;box-shadow:0 4px 24px #0000001f;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.main-nav.hidden{transform:translateY(100%);opacity:0;pointer-events:none}.nav-indicator{display:none}.nav-item{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);position:relative;z-index:1}.nav-item.active{color:var(--color-primary-orange)}.nav-icon{font-size:24px}.nav-label{font-size:var(--font-size-xs);font-weight:800}.practice-setup-content{padding:var(--screen-padding);padding-bottom:calc(var(--screen-padding) + 40px)}.setup-section{margin-bottom:var(--space-xl)}.setup-section-title{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-md);color:var(--color-text-primary)}.game-type-options,.letter-filter-options{display:flex;flex-direction:column;gap:var(--space-sm)}.game-type-option,.letter-filter-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface-tertiary);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:all var(--transition-base)}.game-type-option:hover,.letter-filter-option:hover{background:#ffffff14}.game-type-option.active,.letter-filter-option.active{background:#6c63ff26;border-color:var(--color-accent-primary);box-shadow:0 4px 12px #6c63ff33}.type-icon,.filter-icon{font-size:1.5rem;padding:10px;background:#ffffff0d;border-radius:12px}.game-type-option.active .type-icon,.letter-filter-option.active .filter-icon{background:var(--color-accent-primary)}.type-info,.filter-info{flex:1;display:flex;flex-direction:column;gap:2px}.type-name,.filter-name{font-weight:700;font-size:1rem;color:var(--color-text-primary)}.type-desc,.filter-count{font-size:.85rem;color:var(--color-text-muted)}.custom-letter-picker{margin-top:var(--space-md);padding:var(--space-md);background:#0003;border-radius:var(--radius-lg)}.picker-label{font-size:.9rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--color-text-muted)}.letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:var(--space-sm)}.letter-pick-node{height:60px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-secondary);border:1px solid rgba(255,255,255,.05);border-radius:12px;font-weight:700;font-size:1.2rem;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-base);position:relative}.letter-pick-node.selected{background:var(--color-accent-primary);color:#fff;border-color:transparent}.selection-indicator{position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:var(--color-accent-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);opacity:0;transform:scale(.5);transition:all .2s ease}.letter-pick-node.selected .selection-indicator{opacity:1;transform:scale(1)}.round-selector{display:flex;gap:var(--space-xs)}.round-option{flex:1;padding:10px;background:var(--color-surface-tertiary);border:1px solid rgba(255,255,255,.05);border-radius:10px;font-weight:700;cursor:pointer;transition:all var(--transition-base)}.round-option.active{background:var(--color-accent-primary);color:#fff}.session-options{background:var(--color-surface-tertiary);border-radius:var(--radius-lg);padding:4px}.option-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md)}.option-row:not(:last-child){border-bottom:1px solid rgba(255,255,255,.05)}.option-info{display:flex;flex-direction:column}.back-btn{color:var(--color-text-primary)}.screen{--screen-bottom-extra: 100px}#splash-screen,#onboarding-screen,#profile-screen,#instruction-screen,#game-build-screen,#game-pick-screen{--screen-bottom-extra: calc(var(--space-xl) - var(--screen-padding))}.puppy-mascot{position:relative;width:120px;height:120px;margin:0 auto;display:flex;align-items:center;justify-content:center;animation:puppyBob 4s ease-in-out infinite}.puppy-svg{width:100%;height:100%;filter:drop-shadow(0 8px 16px rgba(0,0,0,.1))}.puppy-mascot.small{width:80px;height:80px}.puppy-mascot.tiny{width:60px;height:60px}.puppy-instruction-container{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-xs);animation:puppyEnter .5s cubic-bezier(.175,.885,.32,1.275)}#instruction-screen .instruction-text-container{display:none}.puppy-instruction-container .instruction-bubble{margin:0;max-width:200px;order:2}.puppy-instruction-container .puppy-mascot{order:1}@keyframes puppyEnter{0%{transform:translateY(30px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.puppy-mascot-mini{margin-top:var(--space-md);display:flex;justify-content:center}@keyframes puppyBob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(1deg)}}@keyframes puppyTailWag{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}@keyframes puppyEarWagL{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg)}}@keyframes puppyEarWagR{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)}}@keyframes puppyBlink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.puppy-tail{transform-origin:bottom center;animation:puppyTailWag .8s ease-in-out infinite}.puppy-ear-l{transform-origin:top right;animation:puppyEarWagL 2s ease-in-out infinite}.puppy-ear-r{transform-origin:top left;animation:puppyEarWagR 2.2s ease-in-out infinite}.puppy-paw-r{transform-origin:center top;animation:puppyPawWave 1.5s ease-in-out infinite}@keyframes puppyPawWave{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.puppy-tongue{animation:puppyPant .6s ease-in-out infinite alternate}@keyframes puppyPant{0%{transform:scaleY(.8)}to{transform:scaleY(1)}}.puppy-eye{animation:puppyBlink 4s infinite}.puppy-mascot.happy{animation:puppyHappy .5s ease-in-out infinite}@keyframes puppyHappy{0%,to{transform:scale(1)}50%{transform:scale(1.1) translateY(-15px)}}.mascot-antenna{transform-origin:center;transform-box:fill-box;animation:antennaPulse 2s ease-in-out infinite}@keyframes antennaPulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.15);filter:brightness(1.3)}}.mascot-eye{transform-origin:center;animation:mascotBlink 4s ease-in-out infinite}@keyframes mascotBlink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.mascot-body{transform-origin:center bottom;animation:mascotBreathe 4s ease-in-out infinite}@keyframes mascotBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.mascot-arm-r{transform-origin:155px 110px;animation:armWave 2.5s ease-in-out infinite}@keyframes armWave{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.mascot-teaching{animation:teacherNod 3s ease-in-out infinite}@keyframes teacherNod{0%,to{transform:rotate(0)}30%{transform:rotate(-2deg)}70%{transform:rotate(2deg)}}.mascot-happy-bounce{animation:happyBounce .6s ease-out}@keyframes happyBounce{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-15px) scale(1.05)}50%{transform:translateY(0) scale(1)}70%{transform:translateY(-8px) scale(1.02)}to{transform:translateY(0) scale(1)}}.mascot-sad-shake{animation:sadShake .5s ease-out}@keyframes sadShake{0%,to{transform:translate(0)}20%{transform:translate(-4px) rotate(-2deg)}40%{transform:translate(4px) rotate(2deg)}60%{transform:translate(-3px) rotate(-1deg)}80%{transform:translate(3px) rotate(1deg)}}@keyframes victorySpin{0%{transform:scale(.5) rotate(-20deg);opacity:0}50%{transform:scale(1.15) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.mascot-playful{animation:playfulTilt 2s ease-in-out infinite}@keyframes playfulTilt{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.mascot-thinking{animation:thinkingLook 2s ease-in-out infinite}@keyframes thinkingLook{0%,to{transform:translate(0)}50%{transform:translate(-2px) translateY(-1px)}}.mascot-antenna-excited{animation:antennaExcited .4s ease-out infinite}@keyframes antennaExcited{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.3) translateY(-3px)}}.puppy-bubble{position:relative;background:#fff;border-radius:var(--radius-lg);padding:var(--space-md);margin-top:var(--space-md);box-shadow:var(--shadow-md);border:2px solid var(--color-bg-elevated);max-width:280px;animation:bubblePop .4s cubic-bezier(.175,.885,.32,1.275)}.puppy-bubble:after{content:"";position:absolute;top:50%;left:-12px;transform:translateY(-50%);border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:12px solid #FFFFFF}@keyframes bubblePop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.puppy-bubble p{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);line-height:1.4;text-align:center}.companion-bubble{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-secondary);border-radius:var(--radius-lg);border-bottom-left-radius:4px;max-width:80%;position:relative;box-shadow:0 4px 12px #0003}.companion-bubble p{font-size:.9rem;font-weight:500;color:var(--color-text-primary)}.achievements-section{margin-top:var(--space-xl)}.achievements-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-md);margin-top:var(--space-md)}.achievement-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-md);background:#fff;border-radius:var(--radius-lg);border:2px solid var(--color-bg-elevated);opacity:.5;transition:all var(--transition-base)}.achievement-card.earned{opacity:1;background:#fff;border-color:var(--color-warning);box-shadow:0 6px 0 var(--color-warning);transform:translateY(-2px)}.achievement-icon{font-size:2rem;margin-bottom:4px}.achievement-name{font-size:var(--font-size-xs);font-weight:700;line-height:1.2}.nav-card.highlight{background:linear-gradient(135deg,#6c63ff33,#82fff01a);border:1px solid var(--color-accent-primary)}.nav-card.highlight .nav-icon{animation:pulseIcon 2s infinite}@keyframes pulseIcon{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media(max-width:380px){:root{--space-lg: 1.25rem;--space-xl: 1.5rem;--font-size-4xl: 2rem;--font-size-5xl: 2.5rem}.dot-btn{width:60px;height:60px}.braille-cell.interactive{gap:16px;padding:var(--space-xl)}}@media(min-width:600px){.app-container{border-left:1px solid var(--color-bg-card);border-right:1px solid var(--color-bg-card)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.install-gate-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-color);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.install-card{background:#fff;padding:40px 32px;border-radius:32px;width:100%;max-width:440px;text-align:center;box-shadow:0 20px 50px #6366f126;animation:slideUp .6s cubic-bezier(.2,.8,.2,1)}.install-icon{width:120px;height:120px;margin:0 auto 24px}.install-card h1{font-size:1.75rem;font-weight:800;color:var(--text-color);margin:0 0 16px;line-height:1.2}.install-card p{color:var(--text-light);font-size:1.1rem;line-height:1.6;margin:0 0 32px}.install-platform{display:flex;flex-direction:column;gap:16px;animation:fadeIn .4s ease-out}.ios-instructions{text-align:left;background:#f8f9ff;padding:24px;border-radius:20px;margin-bottom:24px;display:flex;flex-direction:column;gap:16px}.step{display:flex;align-items:center;gap:16px}.step-num{background:var(--primary-color);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.step p{font-size:.95rem;margin:0;color:var(--text-color);line-height:1.4}.ios-icon{width:24px;height:24px;background-size:contain;background-repeat:no-repeat;flex-shrink:0}.ios-icon.share{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8'/%3E%3Cpolyline points='16 6 12 2 8 6'/%3E%3Cline x1='12' y1='2' x2='12' y2='15'/%3E%3C/svg%3E")}.ios-icon.add{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='12' y1='8' x2='12' y2='16'/%3E%3Cline x1='8' y1='12' x2='16' y2='12'/%3E%3C/svg%3E")}.final-msg{margin-top:16px;padding:12px;background:#ecfdf5;color:#059669;border-radius:12px;font-size:.95rem;font-weight:500}.hidden{display:none!important}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.install-benefits{list-style:none;padding:0;margin:0 0 32px;text-align:left;display:flex;flex-direction:column;gap:12px}.install-benefits li{font-size:.95rem;color:var(--text-color);display:flex;align-items:flex-start;gap:10px;line-height:1.4}.install-benefits li strong{color:var(--primary-color)}.install-bypass{margin-top:32px;border-top:1px solid #eee;padding-top:24px}.text-btn{background:none;border:none;color:var(--text-light);font-size:.9rem;font-weight:600;text-decoration:underline;cursor:pointer;transition:color .2s}.text-btn:hover{color:var(--primary-color)}.install-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:16px 20px;box-shadow:0 -4px 20px #0000001a;z-index:9999;display:flex;flex-direction:column;align-items:center;gap:12px;animation:slideUpBanner .4s ease-out;border-radius:20px 20px 0 0}.install-banner p{margin:0;font-size:.95rem;font-weight:600;color:var(--text-color)}.install-banner-actions{display:flex;gap:12px}.banner-btn{padding:10px 20px;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:transform .2s,opacity .2s}.banner-btn:active{transform:scale(.96)}.banner-btn.primary{background:var(--primary-color);color:#fff}.banner-btn.secondary{background:#f0f0f5;color:var(--text-light)}.ios-hint{font-size:.85rem;color:var(--text-light);text-align:center}.ios-hint strong{color:var(--primary-color)}@keyframes slideUpBanner{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.settings-new{background:var(--color-bg-primary);padding:0!important;overflow-y:auto}.settings-header-new{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);padding-top:calc(var(--space-lg) + env(safe-area-inset-top));background:var(--color-bg-primary)}.settings-header-left{display:flex;align-items:center;gap:12px}.settings-header-left h1{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.settings-back-btn{width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s;box-shadow:var(--shadow-sm)}.settings-back-btn:active{transform:scale(.95)}.section-header{--header-padding-top: 14px;--header-padding-bottom: 10px;position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding-left:var(--screen-padding);padding-right:var(--screen-padding);padding-bottom:var(--header-padding-bottom);padding-top:calc(var(--header-padding-top) + env(safe-area-inset-top));background:#f6f8f7f2;backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);border-radius:0;box-shadow:0 6px 16px #0000000f}.section-header-left{display:flex;align-items:center;gap:12px}.section-header-title{font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--color-text-primary);margin:0}.section-header-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:48px}.section-back-btn{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s;box-shadow:var(--shadow-sm)}.section-back-btn:active{transform:scale(.95)}.section-header.worlds-header-new,.section-header.games-header,.section-header.tools-header{background:#f6f8f7f2!important;border-bottom:1px solid rgba(0,0,0,.05)!important;backdrop-filter:blur(10px)!important;border-radius:0!important;box-shadow:0 6px 16px #0000000f!important}.section-header.levels-header-new{background:#f6f8f7f2!important;border-bottom:1px solid rgba(0,0,0,.05)!important;backdrop-filter:blur(10px)!important;border-radius:0!important;box-shadow:none!important}.section-header.levels-header-new .levels-world-title{color:var(--color-text-primary)!important;margin:0}.section-header.levels-header-new .back-btn-circle{background:#fff;border:1px solid rgba(0,0,0,.05);box-shadow:var(--shadow-sm)}.section-header.levels-header-new .back-btn-circle .material-symbols-outlined{color:var(--color-text-primary)}.braille-dots-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;opacity:.5}.braille-dots-mini span{width:6px;height:6px;background:var(--color-text-primary);border-radius:50%}.braille-dots-mini span.orange{background:var(--color-primary-orange)}.settings-content-new{padding:16px 24px 120px;display:flex;flex-direction:column;gap:24px}.profile-card-new{background:#fff;border-radius:2rem;padding:20px;box-shadow:0 2px 8px #0000000a;border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;gap:16px;position:relative;overflow:hidden}.profile-avatar-new{width:64px;height:64px;min-width:64px;border-radius:50%;background:var(--color-primary-orange);display:flex;align-items:center;justify-content:center;color:#0e1b13;font-weight:700;font-size:1.25rem;box-shadow:0 4px 12px #ff90454d;border:2px solid #ffffff}.profile-info-new{flex:1}.profile-info-new h2{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0}.profile-email{font-size:.75rem;color:var(--color-text-muted);margin:4px 0}.profile-edit-btn{display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;color:var(--color-primary-orange);background:none;border:none;cursor:pointer;padding:0}.profile-edit-btn .material-symbols-outlined{font-size:14px}.profile-card-accent{position:absolute;right:0;top:0;bottom:0;width:96px;background:linear-gradient(to left,rgba(255,144,69,.05),transparent)}.settings-section-new{display:flex;flex-direction:column;gap:12px}.settings-section-title-new{font-size:.75rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:0 8px}.settings-card-new{background:#fff;border-radius:2rem;box-shadow:0 2px 8px #0000000a;border:1px solid rgba(0,0,0,.05);overflow:hidden}.settings-row-new{display:flex;align-items:center;justify-content:space-between;padding:16px;width:100%;background:none;border:none;cursor:pointer;transition:background .2s;text-align:left}.settings-row-new:hover{background:#00000005}.settings-row-left{display:flex;align-items:center;gap:12px}.settings-row-right{display:flex;align-items:center;gap:8px}.settings-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.settings-icon .material-symbols-outlined{font-size:20px}.settings-icon.blue{background:#eff6ff;color:#3b82f6}.settings-icon.purple{background:#f5f3ff;color:#8b5cf6}.settings-icon.orange{background:#fff7ed;color:#f97316}.settings-icon.green{background:#f0fdf4;color:#22c55e}.settings-icon.teal{background:#f0fdfa;color:#14b8a6}.settings-icon.indigo{background:#eef2ff;color:#6366f1}.settings-icon.rose{background:#fff1f2;color:#f43f5e}.settings-icon.slate{background:#f1f5f9;color:#475569}.settings-icon.amber{background:#fffbeb;color:#f59e0b}.settings-icon.cyan{background:#ecfeff;color:#06b6d4}.settings-label{font-size:.875rem;font-weight:700;color:var(--color-text-primary)}.settings-label-group{display:flex;flex-direction:column;text-align:left}.settings-sublabel{font-size:.625rem;color:var(--color-text-muted)}.settings-value{font-size:.75rem;font-weight:500;color:var(--color-text-muted)}.settings-divider{height:1px;background:#0000000d;margin:0 16px}.chevron{color:#9ca3af;transition:transform .2s}.settings-row-new:hover .chevron{transform:translate(4px)}.toggle-switch-new{position:relative;width:48px;height:24px;background:none;border:none;cursor:pointer;padding:0}.toggle-track-new{display:block;width:100%;height:100%;background:#d1d5db;border-radius:12px;transition:background .3s;position:relative}.toggle-thumb-new{position:absolute;top:0;left:0;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;border:4px solid #d1d5db;transition:all .3s}.toggle-switch-new.on .toggle-track-new{background:var(--color-primary-orange)}.toggle-switch-new.on .toggle-thumb-new{left:24px;border-color:var(--color-primary-orange)}.speed-control-new{display:flex;background:#f3f4f6;border-radius:8px;padding:4px;gap:4px}.speed-btn-new{padding:6px 12px;font-size:.75rem;font-weight:500;border-radius:6px;background:none;border:none;color:#6b7280;cursor:pointer;transition:all .2s}.speed-btn-new.active{background:#fff;color:#3b82f6;font-weight:700;border:1px solid #3b82f6;box-shadow:0 1px 3px #0000001a}.settings-bottom-new{display:flex;align-items:flex-end;gap:16px;padding-top:16px}.settings-mascot-container{position:relative;width:96px;height:96px}.settings-mascot-bubble{position:absolute;top:-24px;right:-40px;background:#fff;padding:8px 12px;border-radius:12px 12px 12px 0;box-shadow:0 2px 8px #00000014;border:1px solid rgba(0,0,0,.05);transform:rotate(6deg);z-index:1}.settings-mascot-bubble p{font-size:.625rem;font-weight:700;color:var(--color-primary-orange);white-space:nowrap;margin:0}.settings-mascot{width:100%;height:100%}.settings-mascot svg{width:100%;height:100%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.logout-btn-new{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:#fef2f2;color:#ef4444;border:1px solid #fee2e2;border-radius:1rem;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .2s}.logout-btn-new:hover{background:#fee2e2}.logout-btn-new:active{transform:scale(.98)}.settings-version{text-align:center;font-size:.625rem;color:var(--color-text-muted);opacity:.5;padding:16px 0}.high-contrast .settings-new,.high-contrast .settings-header-new{background:#000}.high-contrast .settings-back-btn{background:#141414;border-color:#fff3}.high-contrast .profile-card-new,.high-contrast .settings-card-new{background:#141414;border-color:#ffffff1a}.high-contrast .settings-divider{background:#ffffff1a}.high-contrast .toggle-track-new{background:#333}.high-contrast .speed-control-new{background:#222}.high-contrast .speed-btn-new.active{background:#333;border-color:var(--color-primary-orange);color:var(--color-primary-orange)}.high-contrast .logout-btn-new{background:#ef44441a;border-color:#ef444433}.lesson-intro-new{background:var(--color-bg-primary);padding:0!important;display:flex;flex-direction:column}.lesson-intro-header-new{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;padding-top:calc(16px + env(safe-area-inset-top));background:transparent}.lesson-intro-header-new h1{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);text-align:center;flex:1}.intro-back-btn{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000000f}.intro-back-btn:hover{background:#f8f9fa}.intro-back-btn:active{transform:scale(.95)}.intro-back-btn .material-symbols-outlined{font-size:20px;color:var(--color-text-primary)}.lesson-intro-content-new{flex:1;display:flex;flex-direction:column;align-items:center;padding:24px;text-align:center}.braille-cell-card{background:#fff;border-radius:24px;padding:32px;box-shadow:0 4px 24px #0000000f;margin-bottom:32px}.braille-cell-card .braille-demo-cell.large{transform:scale(1.2)}.lesson-title-new{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin-bottom:16px}.lesson-desc-new{font-size:1rem;line-height:1.6;color:var(--color-text-muted);max-width:320px;margin-bottom:32px}.btn-orange-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;padding:18px 32px;background:var(--color-primary-orange);color:#0e1b13;border:none;border-radius:9999px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 8px 24px #ff904559}.btn-orange-primary:hover{background:#ff8533;transform:translateY(-2px);box-shadow:0 12px 32px #ff904566}.btn-orange-primary:active{transform:scale(.98) translateY(0)}.btn-orange-primary .material-symbols-outlined{font-size:20px;transition:transform .2s}.btn-orange-primary:hover .material-symbols-outlined{transform:translate(4px)}.high-contrast .lesson-intro-new{background:#000}.high-contrast .intro-back-btn{background:#141414;border-color:#fff3}.high-contrast .braille-cell-card{background:#141414;border:1px solid rgba(255,255,255,.1)}.pre-lesson-screen{display:none;position:fixed;inset:0;width:100%;height:100%;z-index:100;background:linear-gradient(180deg,rgba(255,144,69,.05) 0%,var(--color-bg-primary) 50%);padding:0!important;flex-direction:column;overflow:hidden}.pre-lesson-screen.active{display:flex}.pre-lesson-header{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);padding-top:calc(var(--space-lg) + env(safe-area-inset-top));max-width:500px;margin:0 auto}.pre-lesson-back-btn{width:48px;height:48px;background:#ffffff80;backdrop-filter:blur(12px);border-radius:50%;border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000000f}.pre-lesson-back-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.pre-lesson-back-btn:active{transform:scale(.95)}.pre-lesson-back-btn .material-symbols-outlined{font-size:24px;color:var(--color-text-primary)}.pre-lesson-mascot-area{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:110px 24px 24px}.pre-lesson-mascot-row{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;width:100%;max-width:400px}@keyframes mascotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.pre-lesson-mascot-figure{position:relative;z-index:10;width:100px;height:100px;min-width:100px;animation:mascotFloat 3s ease-in-out infinite}.pre-lesson-speech-bubble{position:relative;background:#fff;border:2px solid rgba(14,27,19,.08);border-radius:20px;padding:16px 20px;box-shadow:0 4px 20px #00000014;width:220px;min-height:80px;display:flex;align-items:center;justify-content:center;text-align:center;animation:bubbleIn .4s cubic-bezier(.175,.885,.32,1.275)}.pre-lesson-speech-bubble:after{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%) rotate(45deg);width:16px;height:16px;background:#fff;border-left:2px solid rgba(14,27,19,.08);border-bottom:2px solid rgba(14,27,19,.08)}.pre-lesson-speech-bubble span{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);line-height:1.4;opacity:1;transition:opacity .25s ease-out}.pre-lesson-speech-bubble span.fade-out{opacity:0}.pre-lesson-speech-bubble span.fade-in{animation:messageFadeIn .3s ease-out forwards}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes bubbleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.pre-lesson-pet-svg{width:100%;height:100%}.pre-lesson-pet-svg .antenna-ball-pulse{animation:antennaBallPulse 1.5s ease-in-out infinite}.mascot-robot-body{width:128px;height:112px;background:#fff;border-radius:2rem;box-shadow:0 8px 32px #0000001a;border:4px solid #ffffff;display:flex;align-items:center;justify-content:center;overflow:hidden}.mascot-robot-screen{width:80px;height:56px;background:#1a2e22;border-radius:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:12px;box-shadow:inset 0 4px 12px #0000004d;position:relative}.mascot-robot-eye{width:8px;height:20px;background:var(--color-primary-orange);border-radius:9999px;animation:eyePulse 2s infinite}@keyframes eyePulse{0%,to{opacity:1}50%{opacity:.6}}.mascot-robot-mouth{position:absolute;bottom:12px;width:24px;height:12px;border-bottom:2px solid rgba(255,144,69,.5);border-radius:0 0 50% 50%}.mascot-antenna{position:absolute;top:-16px;left:50%;transform:translate(-50%);width:6px;height:24px;background:#d1d5db}.mascot-antenna-ball{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:12px;height:12px;background:var(--color-primary-orange);border-radius:50%;box-shadow:0 0 12px #ff904566;animation:antennaPulse 2s infinite}@keyframes antennaPulse{0%,to{box-shadow:0 0 12px #ff904566}50%{box-shadow:0 0 24px #ff9045cc}}.mascot-arm{position:absolute;width:16px;height:40px;background:#fff;border:2px solid #ffffff;border-radius:9999px;box-shadow:0 2px 8px #0000001a}.mascot-arm-left{top:48px;left:-12px;transform:rotate(-12deg)}.mascot-arm-right{top:32px;right:-16px;transform:rotate(30deg);height:48px;transform-origin:bottom}.pre-lesson-sheet{flex:1;background:#fff;border-radius:2rem 2rem 0 0;box-shadow:0 -10px 40px #0000000d;border-top:1px solid rgba(0,0,0,.05);padding:20px 24px;padding-bottom:calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;overflow-y:auto}.sheet-handle{position:absolute;top:16px;left:50%;transform:translate(-50%);width:48px;height:4px;background:#e5e7eb;border-radius:9999px}.sheet-content{display:flex;flex-direction:column;gap:10px;margin-top:4px}.lesson-badge{display:inline-flex;align-items:center;gap:6px;background:#ff90451a;color:var(--color-primary-orange);padding:6px 12px;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.lesson-badge .material-symbols-outlined{font-size:14px}.pre-lesson-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);line-height:1.2;margin:0}.lesson-time{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:.875rem;font-weight:500}.lesson-time .material-symbols-outlined{font-size:18px}.sheet-divider{border:none;border-top:1px solid #f3f4f6;margin:8px 0}.pre-lesson-desc{font-size:.875rem;line-height:1.6;color:var(--color-text-muted);margin:0}.lesson-tip-card{display:flex;gap:10px;background:var(--color-bg-primary);border-radius:10px;padding:12px;border:1px solid rgba(0,0,0,.05)}.tip-icon{width:32px;height:32px;min-width:32px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.tip-icon .material-symbols-outlined{font-size:16px;color:var(--color-primary-orange)}.tip-content{flex:1}.tip-content strong{display:block;font-size:.8125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:4px}.tip-content p{font-size:.75rem;color:var(--color-text-muted);margin:0;line-height:1.4}.pre-lesson-start-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 48px);max-width:432px;padding:16px 32px;background:var(--color-primary-orange);color:#0e1b13;border:none;border-radius:1rem;font-size:1.125rem;font-weight:700;cursor:pointer;transition:transform .2s;box-shadow:0 8px 24px #ff90454d;position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:100}.pre-lesson-start-btn:hover{transform:translate(-50%) translateY(-2px)}.pre-lesson-start-btn:active{transform:translate(-50%) scale(.98);background:var(--color-primary-orange)}.pre-lesson-start-btn .material-symbols-outlined{font-size:20px;transition:transform .2s}.pre-lesson-start-btn:hover .material-symbols-outlined{transform:translate(4px)}.high-contrast .pre-lesson-screen{background:#000}.high-contrast .pre-lesson-back-btn{background:#141414;border-color:#fff3}.high-contrast .mascot-robot-body{background:#1a1a1a;border-color:#333}.high-contrast .pre-lesson-sheet{background:#0a0a0a;border-color:#ffffff1a}.high-contrast .lesson-tip-card{background:#141414;border-color:#ffffff1a}.high-contrast .tip-icon{background:#1a1a1a}.pre-lesson-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;padding-top:calc(80px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow-y:auto}.pre-lesson-card{background:#fff;border-radius:24px;padding:28px 24px;box-shadow:0 8px 40px #0000001f,0 2px 8px #00000014;border:1px solid rgba(0,0,0,.04);width:100%;max-width:400px;display:flex;flex-direction:column;gap:20px}.pre-lesson-category{display:flex;align-items:center;gap:6px;color:#9ca3af}.pre-lesson-category .material-symbols-outlined{font-size:16px}.pre-lesson-category span:last-child{font-size:.625rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.pre-lesson-card .pre-lesson-title{font-size:1.5rem;font-weight:800;color:var(--color-text-primary);line-height:1.2;margin:0}.pre-lesson-time-badge{display:flex;align-items:center;justify-content:center;gap:8px;background:#fcf7f2;border-radius:12px;padding:10px 16px}.pre-lesson-time-badge .material-symbols-outlined{font-size:20px;color:var(--color-text-primary)}.pre-lesson-time-badge span:last-child{font-size:.875rem;font-weight:700;color:var(--color-text-secondary)}.pre-lesson-letters-section{display:flex;flex-direction:column;gap:12px}.pre-lesson-letters-label{font-size:.8125rem;font-weight:700;color:var(--color-text-muted);text-align:center;margin:0}.pre-lesson-letters-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.letter-badge{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem;font-weight:800;box-shadow:0 3px #00000026;text-transform:lowercase}.letter-badge.color-blue{background:#3b82f6}.letter-badge.color-green{background:#22c55e}.letter-badge.color-lime{background:#84cc16}.letter-badge.color-yellow{background:#facc15;color:#78350f}.letter-badge.color-amber{background:#f59e0b}.letter-badge.color-orange{background:#f97316}.letter-badge.color-red{background:#ef4444}.letter-badge.color-pink{background:#ec4899}.pre-lesson-mechanics-section{display:flex;flex-direction:column;gap:12px}.pre-lesson-mechanics-label{font-size:.8125rem;font-weight:700;color:var(--color-text-muted);text-align:center;margin:0}.pre-lesson-mechanics-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.mechanic-tag{background:#f1f5f9;color:#475569;padding:6px 12px;border-radius:9999px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:6px;border:1px solid rgba(0,0,0,.05)}.mechanic-tag .material-symbols-outlined{font-size:14px}.pre-lesson-card .pre-lesson-start-btn{position:static;transform:none;width:100%;margin-top:8px;font-size:1rem;text-transform:uppercase;letter-spacing:.5px}.pre-lesson-card .pre-lesson-start-btn:hover{transform:translateY(-2px)}.pre-lesson-card .pre-lesson-start-btn:active{transform:scale(.98)}.high-contrast .pre-lesson-card{background:#141414;border-color:#ffffff1a}.high-contrast .pre-lesson-time-badge{background:#1a1a1a}.high-contrast .letter-badge{box-shadow:0 3px #ffffff1a}.pre-lesson-screen.valley-theme{background:linear-gradient(180deg,#fff5f5,#fff1f2,#ffe4e6 30%,#fce7f3 50%,#f5f5f4)}.pre-lesson-screen.valley-theme:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(251,207,232,.4) 0%,transparent 30%),radial-gradient(circle at 80% 20%,rgba(254,202,202,.3) 0%,transparent 25%);pointer-events:none;z-index:0}.pre-lesson-screen.forest-theme{background:linear-gradient(180deg,#0f0c29,#1c0e35 40%,#24243e)}.pre-lesson-screen.forest-theme .pre-lesson-back-btn{background:#ffffff1a;backdrop-filter:blur(12px)}.pre-lesson-screen.forest-theme .pre-lesson-back-btn .material-symbols-outlined{color:#fff}.pre-lesson-screen.forest-theme:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 30%,rgba(225,255,128,.4) 0%,transparent 2%),radial-gradient(circle at 85% 25%,rgba(180,255,50,.3) 0%,transparent 3%),radial-gradient(circle at 25% 70%,rgba(225,255,128,.5) 0%,transparent 2%),radial-gradient(circle at 75% 65%,rgba(180,255,50,.4) 0%,transparent 2%),radial-gradient(circle at 50% 50%,rgba(139,92,246,.1) 0%,transparent 40%);pointer-events:none;z-index:0;animation:fireflyDrift 8s ease-in-out infinite}@keyframes fireflyDrift{0%,to{opacity:.8}50%{opacity:1}}.pre-lesson-screen.plains-theme{background:linear-gradient(180deg,#fef3c7,#fde68a,#fcd34d 60%,#d4a574)}.pre-lesson-screen.plains-theme:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 30% 85%,rgba(163,147,125,.3) 0%,transparent 20%),radial-gradient(circle at 70% 90%,rgba(163,147,125,.25) 0%,transparent 15%);pointer-events:none;z-index:0}.pre-lesson-screen.mountain-theme{background:linear-gradient(180deg,#bae6fd,#e0f2fe 40%,#f8fafc)}.pre-lesson-screen.mountain-theme:before{content:"";position:absolute;inset:0;background-image:radial-gradient(ellipse 200px 30px at 20% 15%,rgba(255,255,255,.6) 0%,transparent 70%),radial-gradient(ellipse 150px 25px at 70% 10%,rgba(255,255,255,.5) 0%,transparent 70%),radial-gradient(ellipse 180px 35px at 45% 20%,rgba(255,255,255,.55) 0%,transparent 70%),linear-gradient(to bottom right,transparent 0%,transparent 60%,rgba(226,232,240,.4) 70%,rgba(226,232,240,.6) 100%);pointer-events:none;z-index:0}.pre-lesson-screen.island-theme{background:linear-gradient(180deg,#08d9d6,#00b8ff 40%,#ffde7d)}.pre-lesson-screen.island-theme:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 80% 90%,rgba(255,222,125,.6) 0%,transparent 40%),radial-gradient(circle at 20% 85%,rgba(255,222,125,.4) 0%,transparent 30%);pointer-events:none;z-index:0}.pre-lesson-screen.cosmic-theme{background:radial-gradient(circle at 50% 50%,#0f172a,#020617)}.pre-lesson-screen.cosmic-theme .pre-lesson-back-btn{background:#ffffff1a;backdrop-filter:blur(12px);border-color:#ffffff1a}.pre-lesson-screen.cosmic-theme .pre-lesson-back-btn .material-symbols-outlined{color:#fff}.pre-lesson-screen.cosmic-theme .pre-lesson-card{background:#0f172ae6;border-color:#ffffff1a;backdrop-filter:blur(12px)}.pre-lesson-screen.cosmic-theme .pre-lesson-category,.pre-lesson-screen.cosmic-theme .pre-lesson-title,.pre-lesson-screen.cosmic-theme .pre-lesson-letters-label,.pre-lesson-screen.cosmic-theme .pre-lesson-mechanics-label{color:#e2e8f0}.pre-lesson-screen.cosmic-theme .pre-lesson-time-badge{background:#1e293bcc}.pre-lesson-screen.cosmic-theme .pre-lesson-time-badge .material-symbols-outlined,.pre-lesson-screen.cosmic-theme .pre-lesson-time-badge span:last-child{color:#94a3b8}.pre-lesson-screen.cosmic-theme .mechanic-tag{background:#1e293bcc;color:#94a3b8;border-color:#ffffff1a}.pre-lesson-screen.cosmic-theme:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 10% 15%,rgba(255,255,255,.8) 0%,transparent 1%),radial-gradient(circle at 25% 30%,rgba(255,255,255,.6) 0%,transparent .5%),radial-gradient(circle at 45% 10%,rgba(255,255,255,.9) 0%,transparent .8%),radial-gradient(circle at 70% 25%,rgba(255,255,255,.5) 0%,transparent 1%),radial-gradient(circle at 85% 40%,rgba(255,255,255,.7) 0%,transparent .6%),radial-gradient(circle at 15% 60%,rgba(255,255,255,.4) 0%,transparent .8%),radial-gradient(circle at 55% 75%,rgba(255,255,255,.6) 0%,transparent .5%),radial-gradient(circle at 90% 70%,rgba(255,255,255,.8) 0%,transparent .7%),radial-gradient(circle at 35% 85%,rgba(255,255,255,.5) 0%,transparent 1%),radial-gradient(circle at 75% 90%,rgba(255,255,255,.7) 0%,transparent .6%),radial-gradient(ellipse at 20% 30%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(139,92,246,.1) 0%,transparent 40%);pointer-events:none;z-index:0}.pre-lesson-main{position:relative;z-index:1}.lesson-shell{display:flex;flex-direction:column;height:100dvh;height:-webkit-fill-available;max-height:100dvh;overflow:hidden;padding:0!important;position:relative}.lesson-screen-new{background-color:var(--color-bg-primary)}.lesson-screen-new:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:0}.lesson-screen-new:after{content:"";position:absolute;top:-80px;right:-80px;width:256px;height:256px;background:#ff90451a;border-radius:50%;filter:blur(48px);pointer-events:none;z-index:0}.lesson-screen-new.active{display:flex}.lesson-header-new{position:relative;z-index:10;display:flex;align-items:center;gap:var(--lesson-layout-header-gap);padding:var(--lesson-layout-header-padding-y) var(--lesson-layout-padding-x);padding-top:calc(var(--lesson-layout-header-padding-y) + env(safe-area-inset-top));width:100%;max-width:var(--lesson-layout-max-width);margin:0 auto}.lesson-close-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;color:#0e1b1366;cursor:pointer;transition:all .2s ease;margin-left:-6px}.lesson-close-btn:hover{background:#0000000d;color:#0e1b1399}.lesson-close-btn .material-symbols-outlined{font-size:24px;font-weight:600}.lesson-progress-bar-container{flex:1;height:14px;background:#0000001a;border-radius:9999px;overflow:hidden;position:relative;box-shadow:inset 0 1px 2px #00000014}@media(min-width:768px){.lesson-progress-bar-container{height:18px}}.lesson-progress-bar-fill{height:100%;background:var(--color-primary-orange);border-radius:9999px;transition:width .5s ease-out;position:relative}.lesson-progress-shine{position:absolute;top:3px;right:6px;width:12px;height:4px;background:#ffffff4d;border-radius:9999px}.lesson-progress-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#0e1b13cc;pointer-events:none}.lesson-lives{display:flex;align-items:center;gap:6px}.lesson-heart-icon{font-size:24px;color:#ef4444;font-variation-settings:"FILL" 1}.lesson-lives-count{font-size:18px;font-weight:700;color:#ef4444}.lesson-audio-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:#0000000d;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.lesson-audio-toggle:hover{background:#0000001a}.lesson-audio-toggle:active{transform:scale(.95)}.lesson-audio-toggle[aria-checked=false]{color:var(--color-text-muted)}.lesson-audio-toggle[aria-checked=false] .material-symbols-outlined{opacity:.5}.lesson-audio-toggle .material-symbols-outlined{font-size:24px}.lesson-settings-wrapper{position:relative}.lesson-settings-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:#0000000d;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.lesson-settings-btn:hover{background:#0000001a}.lesson-settings-btn:active{transform:scale(.95)}.lesson-settings-btn .material-symbols-outlined{font-size:24px}.lesson-settings-dropdown{position:fixed;top:auto;right:16px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003,0 0 0 1px #0000000d;padding:16px;min-width:220px;z-index:9999;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.95);transition:all .2s ease;pointer-events:none}.lesson-settings-dropdown.show{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.lesson-settings-dropdown.hidden{opacity:0;visibility:hidden;transform:translateY(-8px) scale(.95);pointer-events:none}.lesson-settings-dropdown .dropdown-option:last-child{border-bottom:none}@media(max-width:540px){.lesson-settings-dropdown{max-width:calc(100vw - 24px);width:auto;right:12px;padding:14px;border-radius:16px;transform-origin:top center}.lesson-settings-dropdown:before{right:32px}}.dropdown-option{display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border-bottom:1px solid rgba(0,0,0,.05)}.dropdown-option:last-child{border-bottom:none}.dropdown-label{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.sound-toggle-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#ff90451a;color:var(--color-primary-orange);cursor:pointer;transition:all .2s ease}.sound-toggle-btn:hover{background:#ff904533}.sound-toggle-btn.muted{background:#0000001a;color:var(--color-text-muted)}.sound-toggle-btn .material-symbols-outlined{font-size:20px}.speed-selector{display:flex;gap:4px;background:#0000000d;border-radius:10px;padding:4px}.speed-btn{padding:6px 10px;border:none;border-radius:8px;background:transparent;font-size:.8rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;white-space:nowrap}.speed-btn:hover{background:#0000000d}.speed-btn.active{background:var(--color-primary-orange);color:#fff;box-shadow:0 2px 8px #ff90454d}.settings-modal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.settings-modal-overlay.show{opacity:1;visibility:visible}.settings-modal-overlay.hidden{opacity:0;visibility:hidden}.settings-modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.settings-modal-content{position:relative;background:#fff;border-radius:24px;box-shadow:0 24px 64px #00000040;width:100%;max-width:340px;transform:scale(.9) translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.settings-modal-overlay.show .settings-modal-content{transform:scale(1) translateY(0)}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid rgba(0,0,0,.05)}.settings-modal-header h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.settings-modal-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#0000000d;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.settings-modal-close-btn:hover{background:#0000001a;color:var(--color-text-primary)}.settings-modal-close-btn .material-symbols-outlined{font-size:20px}.settings-modal-body{padding:16px 24px 24px;display:flex;flex-direction:column;gap:16px}.settings-modal-option{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#00000008;border-radius:16px}.settings-option-info{display:flex;align-items:center;gap:12px}.settings-option-icon{font-size:1.5rem}.settings-option-label{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.settings-modal-footer{padding:0 24px 24px}.settings-modal-footer .btn{width:100%;padding:16px;font-size:1rem;font-weight:700}.high-contrast .settings-modal-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.2)}.high-contrast .settings-modal-header h2,.high-contrast .settings-option-label{color:#fff}.high-contrast .settings-modal-option{background:#ffffff1a}.high-contrast .settings-modal-close-btn{background:#ffffff1a;color:#ffffffb3}.lesson-lives{display:flex;align-items:center;padding:0 4px}.lesson-lives-hearts{font-size:1rem;letter-spacing:2px;line-height:1}.high-contrast .lesson-audio-toggle{background:#ffffff1a;color:#fff}.high-contrast .lesson-audio-toggle:hover{background:#fff3}.high-contrast .lesson-audio-toggle[aria-checked=false]{color:#ffffff80}.lesson-main-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:var(--lesson-layout-max-width);margin:0 auto;padding:var(--lesson-layout-content-padding-top) var(--lesson-layout-padding-x) var(--lesson-layout-content-padding-bottom);padding-bottom:calc(4rem + env(safe-area-inset-bottom));overflow:visible}.lesson-phase-title{font-size:1.35rem;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--lesson-layout-title-gap) 0;flex-shrink:0;@media(min-width:768px){.lesson-phase-title{font-size:1.75rem}.lesson-mascot-mini{width:120px;height:120px}}display:flex;flex-direction:column;gap:var(--lesson-layout-section-gap);flex:0 1 auto;justify-content:flex-start;min-height:0}.lesson-mascot-row{display:flex;align-items:flex-end;gap:8px;width:100%;flex-shrink:0}.lesson-content-area{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px;justify-content:space-between;align-items:stretch}.lesson-mascot-mini{width:80px;height:80px;flex-shrink:0;position:relative;z-index:10}@media(min-width:640px){.lesson-mascot-mini{width:96px;height:96px}}.lesson-pet-svg{width:100%;height:100%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.lesson-speech-bubble{position:relative;top:-10px;background:#fff;border:2px solid #e5e7eb;padding:10px 14px;border-radius:16px 16px 16px 0;margin-bottom:4px;box-shadow:0 2px 8px #0000000d}.lesson-speech-bubble p{margin:0;font-size:1rem;font-weight:500;color:var(--color-text-primary)}.lesson-letter-highlight{color:var(--color-primary-orange);font-weight:700}.lesson-bubble-tail{position:absolute;left:-9px;bottom:0;width:0;height:0;border-left:10px solid transparent;border-bottom:15px solid #e5e7eb}.lesson-bubble-tail:after{content:"";position:absolute;left:-6px;bottom:-13px;width:0;height:0;border-left:8px solid transparent;border-bottom:12px solid white}.lesson-letter-display{display:flex;justify-content:center;margin:4px 0}.lesson-letter-circle{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;font-size:2rem;font-weight:700;color:var(--color-text-primary);box-shadow:0 4px 16px #00000014;border:2px solid rgba(0,0,0,.05)}.lesson-braille-container{display:flex;justify-content:center;align-items:center;flex:1 1 auto;padding:4px;min-height:0}.lesson-cell-new{background:#fff;border:2px solid #e5e7eb;border-radius:20px;box-shadow:0 6px 16px #00000014;padding:12px}.lesson-dot.active{background:var(--color-primary-orange)!important;color:#fff!important;box-shadow:0 0 20px 4px #ff904580,inset 0 0 12px #ff90454d;border-color:#ff904566!important}.lesson-instruction-text{text-align:center;padding:0 16px}.lesson-instruction-text p{margin:0;font-size:1rem;color:var(--color-text-muted);font-weight:500}.lesson-progress-dots{display:flex;justify-content:center;padding:16px 0}.progress-dots-new{display:flex;align-items:center;gap:8px}.progress-dots-new .dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;transition:all .3s ease}.progress-dots-new .dot.active{background:var(--color-primary-orange);width:24px;border-radius:5px}.progress-dots-new .dot.completed{background:#22c55e}.lesson-footer-new{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;gap:var(--lesson-layout-footer-gap);padding:var(--lesson-layout-footer-padding-y) var(--lesson-layout-padding-x);padding-bottom:calc(var(--lesson-layout-footer-padding-y) + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--color-bg-primary) 0%,var(--color-bg-primary) 70%,transparent 100%);max-width:var(--lesson-layout-max-width);margin:0 auto}.lesson-btn-secondary{flex:1;height:var(--lesson-layout-action-height);display:flex;align-items:center;justify-content:center;background:#e5e7eb;border:none;border-radius:16px;font-size:1rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000d;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.lesson-btn-secondary:hover{background:#d1d5db}.lesson-btn-secondary:active{transform:scale(.98)}.lesson-btn-primary{flex:1;height:var(--lesson-layout-action-height);display:flex;align-items:center;justify-content:center;background:var(--color-primary-orange);border:none;border-radius:16px;font-size:1rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;box-shadow:0 8px 24px #ff904540;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.lesson-btn-primary:hover{background:#ff9045e6}.lesson-btn-primary:active{transform:scale(.98)}.lesson-btn-primary:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.lesson-btn-primary.is-ready{box-shadow:0 10px 28px #ff904559;transform:translateY(-1px)}.high-contrast .lesson-screen-new{background:#000}.high-contrast .lesson-close-btn{color:#fff9}.high-contrast .lesson-progress-bar-container{background:#fff3}.high-contrast .lesson-phase-title{color:#fff}.high-contrast .lesson-speech-bubble{background:#1a1a1a;border-color:#333}.high-contrast .lesson-speech-bubble p{color:#fff}.high-contrast .lesson-letter-circle{background:#1a1a1a;color:#fff;border-color:#333}.high-contrast .lesson-cell-new{background:#1a1a1a;border-color:#333}.high-contrast .lesson-instruction-text p{color:#ffffffb3}.high-contrast .lesson-footer-new{background:transparent;border-color:transparent}.high-contrast .lesson-btn-secondary{background:#333;color:#fff}.lesson-braille-cell-single{display:flex;justify-content:center;align-items:center;gap:clamp(8px,2vw,16px);flex:1;min-height:0}.braille-lesson-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,4vw,28px) clamp(20px,5vw,36px);padding:clamp(20px,5vw,36px) clamp(24px,6vw,42px);background:#fff;border-radius:28px;border:2px solid #e5e7eb;box-shadow:0 8px 32px #00000014;width:fit-content;max-width:100%}.braille-lesson-dot{width:clamp(60px,min(22vw,15vh),120px);height:clamp(60px,min(22vw,15vh),120px);border-radius:50%;background:#d1d5db;border:2px solid transparent;cursor:pointer;transition:background .1s ease,box-shadow .1s ease,border-color .1s ease,color .1s ease;position:relative;display:flex;align-items:center;justify-content:center;font-size:clamp(1.25rem,4vw,2rem);font-weight:600;color:#64748b;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.braille-lesson-dot:active{transform:scale(.95)}.braille-lesson-dot.filled,.braille-lesson-dot.active,.braille-lesson-dot.animating,.braille-lesson-dot[aria-checked=true]{background:var(--color-primary-orange);color:#fff;box-shadow:0 0 20px 4px #ff904580,inset 0 0 12px #ff90454d;border-color:#ff904566}.high-contrast .braille-lesson-cell{background:#1a1a1a;border-color:#333}.high-contrast .braille-lesson-dot{background:#444}.high-contrast .braille-lesson-dot.filled,.high-contrast .braille-lesson-dot.active,.high-contrast .braille-lesson-dot.animating{background:var(--color-primary-orange)}.syllable-cell{opacity:.5;pointer-events:none;position:relative}.syllable-cell:before{content:"";position:absolute;inset:-2px;border:2px dashed #d1d5db;border-radius:28px}.syllable-cell.active{opacity:1;pointer-events:auto;border-color:var(--color-primary-orange)}.syllable-cell.active:before{display:none}.syllable-cell.completed{opacity:1;pointer-events:none}.syllable-cell.completed:before{border:2px solid #22c55e;border-radius:28px}.syllable-cell.completed .braille-lesson-dot.filled{background:#22c55e;box-shadow:0 0 16px 2px #22c55e66}.build-target-letter-display{display:flex;justify-content:center;align-items:center;margin:0;flex-shrink:0}.build-target-letter-circle{width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-orange);border-radius:50%;box-shadow:0 6px 16px #ff904559;transition:transform .3s ease,box-shadow .3s ease}.build-target-letter-circle:hover{transform:scale(1.05);box-shadow:0 12px 32px #ff904573}.build-target-letter-circle span{font-size:1.75rem;font-weight:700;color:#fff;line-height:1}.build-target-letter-circle .material-symbols-outlined{font-size:1.75rem;font-weight:400;color:#fff}.high-contrast .build-target-letter-circle{background:var(--color-primary-orange);border:2px solid white}@media(min-width:640px){.build-target-letter-circle{width:120px;height:120px}.build-target-letter-circle span{font-size:2.75rem}}#game-build-screen .lesson-main-content{padding-top:.5rem;padding-bottom:.5rem}#game-build-screen .lesson-content-area{gap:.5rem}#game-build-screen .lesson-mascot-row{align-items:center}#game-build-screen .lesson-speech-bubble{margin-bottom:0;transform:translateY(-6px);min-height:72px}#game-build-screen .build-target-letter-display{margin:4px 0 8px}#game-build-screen .build-target-letter-circle{width:86px;height:86px}#game-build-screen .build-target-letter-circle span{font-size:2.75rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}#game-build-screen .lesson-braille-container{padding-top:0;padding-bottom:.25rem}#game-build-screen .braille-lesson-cell{padding:clamp(16px,4vw,26px) clamp(20px,5vw,32px);gap:clamp(14px,3.5vw,24px) clamp(18px,4.5vw,30px)}#game-build-screen .braille-lesson-dot{width:clamp(56px,min(20vw,14vh),110px);height:clamp(56px,min(20vw,14vh),110px);font-size:clamp(1.2rem,4vw,2rem)}.game-instruction-zone{position:relative;z-index:10;width:100%;max-width:var(--lesson-layout-max-width);margin:0 auto;padding:var(--lesson-layout-content-padding-top) var(--lesson-layout-padding-x) 0;flex-shrink:0}@media(max-width:768px){#game-build-screen .game-instruction-zone{padding-right:calc(var(--lesson-layout-padding-x) + 56px)}#game-build-screen .game-instruction-zone .lesson-speech-bubble{top:0}#game-build-screen .lesson-speech-bubble p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;max-height:3.75em}}.game-play-zone{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:var(--lesson-layout-max-width);margin:0 auto;padding:.5rem var(--lesson-layout-padding-x);padding-bottom:calc(5rem + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.games-screen-new{display:none;flex-direction:column;min-height:100vh;min-height:100dvh;padding:0!important;background-color:var(--color-bg-primary);position:relative;overflow-y:auto}.games-screen-new.active{display:flex}.games-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:0}.games-glow{position:absolute;top:-80px;right:-80px;width:256px;height:256px;background:#ff90451a;border-radius:50%;filter:blur(48px);pointer-events:none;z-index:0}.games-main-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;width:100%;max-width:480px;margin:0 auto;padding:16px;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.games-mascot-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}.games-mascot-container{width:96px;height:96px;flex-shrink:0;border-radius:50%;border:2px solid white;background:#ffedd5;box-shadow:0 4px 12px #0000001a;overflow:hidden;display:flex;align-items:center;justify-content:center;animation:playfulTilt 2.5s ease-in-out infinite}.games-pet-svg{width:100%;height:100%;padding:12px}.games-speech-bubble{position:relative;background:#fff;border:2px solid #e5e7eb;padding:12px 16px;border-radius:16px 16px 16px 0;margin-bottom:8px;box-shadow:0 2px 8px #0000000d;flex:1;min-width:0}.games-speech-bubble p{margin:0;font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.games-bubble-tail{position:absolute;left:-9px;bottom:0;width:0;height:0;border-left:10px solid transparent;border-bottom:15px solid #e5e7eb}.games-bubble-tail:after{content:"";position:absolute;left:-6px;bottom:-13px;width:0;height:0;border-left:8px solid transparent;border-bottom:12px solid white}.games-list{display:flex;flex-direction:column;gap:16px}.game-card{position:relative;background:#fff;border-radius:24px;padding:4px;box-shadow:0 4px 16px #00000014;border:1px solid transparent;transition:all .3s ease;overflow:hidden}.game-card:hover{box-shadow:0 8px 24px #0000001f;border-color:#ff904533}.game-card-glow{position:absolute;top:0;right:0;width:128px;height:128px;border-radius:50%;transform:translate(50%,-50%);z-index:0}.game-card-glow-orange{background:#ff90451a}.game-card-glow-blue{background:#3b82f61a}.game-card-glow-purple{background:#9333ea1a}.game-card-content{position:relative;z-index:10;padding:16px;display:flex;flex-direction:column;gap:16px}.game-card-header{display:flex;justify-content:space-between;align-items:flex-start}.game-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center}.game-icon .material-symbols-outlined{font-size:28px}.game-icon-orange{background:#ffedd5;color:var(--color-primary-orange)}.game-icon-blue{background:#dbeafe;color:#3b82f6}.game-icon-purple{background:#f3e8ff;color:#9333ea}.game-icon-braille{display:flex;align-items:center;justify-content:center;gap:2px;flex-direction:column}.game-icon-braille.row{flex-direction:row;gap:4px}.game-icon-braille.dual{flex-direction:row;gap:8px;width:auto;min-width:56px;background:transparent;padding:0}.game-icon-braille .icon-left,.game-icon-braille .icon-right{display:flex;align-items:center;justify-content:center;gap:2px;padding:8px;background:#ffedd5;border-radius:12px}.game-icon-braille .icon-divider{display:none}.mini-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;padding:3px;background:#ff904533;border-radius:4px}.mini-braille-dot{width:6px;height:6px;border-radius:50%;background:#ff90454d}.mini-braille-dot.active{background:var(--color-primary-orange)}.game-icon-braille .icon-label{font-size:10px;font-weight:700;color:var(--color-primary-orange);margin-top:2px}.game-icon-braille .icon-arrow{font-size:12px;color:var(--color-primary-orange)}.icon-question{font-size:18px;font-weight:700;color:var(--color-primary-orange)}.icon-letter-group{display:flex;gap:2px}.icon-letter{display:flex;flex-direction:column;align-items:center;font-size:8px;font-weight:700;color:var(--color-primary-orange)}.icon-letter .underline{width:10px;height:2px;background:var(--color-primary-orange);margin-bottom:1px}.icon-card{width:18px;height:22px;background:#ff904533;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--color-primary-orange)}.game-difficulty{padding:6px 10px;border-radius:8px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.game-difficulty-easy{background:#dcfce7;color:#15803d}.game-difficulty-medium{background:#fef9c3;color:#a16207}.game-difficulty-hard{background:#fee2e2;color:#dc2626}.game-info{display:flex;flex-direction:column;gap:4px}.game-name{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0}.game-desc{font-size:.875rem;color:var(--color-text-muted);margin:0;line-height:1.4}.game-play-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:12px;border:none;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease}.game-play-btn .material-symbols-outlined{font-size:20px}.game-play-btn:active{transform:scale(.98)}.game-play-btn-primary{background:var(--color-primary-orange);color:var(--color-text-primary);box-shadow:0 4px 16px #ff904540}.game-play-btn-primary:hover{background:#ff9045e6}.game-play-btn-secondary{background:#e5e7eb;color:var(--color-text-primary)}.game-play-btn-secondary:hover{background:#d1d5db}.high-contrast .games-screen-new{background:#000}.high-contrast .games-mascot-container,.high-contrast .games-speech-bubble{background:#1a1a1a;border-color:#333}.high-contrast .games-speech-bubble p,.high-contrast .games-title{color:#fff}.high-contrast .game-card{background:#1a1a1a;border-color:#333}.high-contrast .game-name{color:#fff}.high-contrast .game-desc{color:#ffffffb3}.high-contrast .game-play-btn-secondary{background:#333;color:#fff}@keyframes installSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;padding:16px 16px 24px}@media(min-width:640px){.install-modal-overlay{align-items:center;padding:24px}}.install-modal-overlay.hidden{display:none}.install-modal-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.install-modal-card{position:relative;width:100%;max-width:384px;background:#fff;border-radius:32px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;border:1px solid rgba(255,255,255,.1);animation:installSlideUp .5s cubic-bezier(.16,1,.3,1) forwards}.install-modal-gradient{position:absolute;top:0;left:0;right:0;height:128px;background:#ff90451a;border-radius:32px 32px 0 0}.install-modal-glow{position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:#ff904533;border-radius:50%;filter:blur(48px)}.install-modal-content{position:relative;padding:32px 24px 24px;display:flex;flex-direction:column;align-items:center;text-align:center}.install-modal-mascot{position:relative;width:128px;height:128px;margin-bottom:24px}.install-modal-mascot-circle{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffedd5;border:4px solid white;box-shadow:0 8px 24px #0000001a;overflow:hidden}.install-modal-pet-svg{width:100%;height:100%;padding:12px}.install-modal-badge{position:absolute;bottom:-4px;right:-4px;width:40px;height:40px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(0,0,0,.05)}.install-modal-badge .material-symbols-outlined{font-size:20px;color:var(--color-primary-orange);font-variation-settings:"FILL" 1}.install-modal-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 8px;line-height:1.2;letter-spacing:-.02em}.install-modal-desc{font-size:.875rem;color:var(--color-text-muted);margin:0 0 32px;line-height:1.5;font-weight:500}.install-modal-buttons{width:100%;display:flex;flex-direction:column;gap:12px}.install-modal-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:var(--color-primary-orange);color:var(--color-text-primary);border:none;border-radius:16px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 24px #ff904540}.install-modal-btn-primary:hover{background:#ff8035}.install-modal-btn-primary:active{transform:scale(.98)}.install-modal-btn-primary .material-symbols-outlined{font-size:20px;transition:transform .2s}.install-modal-btn-primary:hover .material-symbols-outlined{transform:translate(4px)}.install-modal-btn-secondary{width:100%;padding:12px;background:transparent;border:none;color:var(--color-text-muted);font-size:.875rem;font-weight:600;cursor:pointer;border-radius:16px;transition:all .2s}.install-modal-btn-secondary:hover{background:#0000000d}.install-modal-ios-hint{width:100%;margin-top:24px;padding-top:20px;border-top:1px solid rgba(0,0,0,.06);text-align:left}.install-modal-ios-hint.hidden{display:none}.install-modal-ios-title{display:block;font-size:.875rem;font-weight:700;color:var(--color-text-primary);margin-bottom:12px}.install-modal-ios-step{display:flex;align-items:flex-start;gap:12px;background:var(--color-bg-primary);padding:16px;border-radius:16px;border:1px solid rgba(0,0,0,.05);margin-bottom:12px}.install-modal-ios-step:last-child{margin-bottom:0}.install-modal-ios-num{font-size:.875rem;font-weight:700;color:var(--color-text-primary);margin-top:4px}.install-modal-ios-icon{width:32px;height:32px;border-radius:50%;background:#3b82f61a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.install-modal-ios-icon .material-symbols-outlined{font-size:18px;color:#3b82f6}.install-modal-ios-text{flex:1;font-size:.75rem;color:var(--color-text-muted);line-height:1.5}.install-modal-ios-text strong{color:var(--color-text-primary);font-weight:700}.high-contrast .install-modal-card{background:#1a1a1a;border-color:#333}.high-contrast .install-modal-gradient{background:#ff90450d}.high-contrast .install-modal-mascot-circle{background:#0a0a0a;border-color:#333}.high-contrast .install-modal-badge{background:#1a1a1a;border-color:#333}.high-contrast .install-modal-title{color:#fff}.high-contrast .install-modal-desc{color:#ffffffb3}.high-contrast .install-modal-btn-secondary:hover{background:#ffffff0d}.high-contrast .install-modal-ios-step{background:#0a0a0a;border-color:#333}.high-contrast .install-modal-ios-text{color:#ffffffb3}.games-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);padding-top:max(var(--space-lg),env(safe-area-inset-top))}.games-back-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s}.games-back-btn:hover{background:#f9fafb;transform:scale(1.05)}.games-back-btn .material-symbols-outlined{font-size:24px;color:var(--color-text-primary)}.games-header-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0}.games-header-spacer{width:48px}.game-play-screen{display:none;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--color-bg-primary);position:relative}.game-play-screen.active{display:flex}.game-play-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:0}.game-play-glow{position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:#ff904526;border-radius:50%;filter:blur(48px);pointer-events:none;z-index:0}.game-play-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top))}.game-play-back-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#0000000d;border:none;border-radius:50%;cursor:pointer;transition:all .2s}.game-play-back-btn:hover{background:#0000001a}.game-play-back-btn .material-symbols-outlined{font-size:24px;color:var(--color-text-primary)}.game-play-stats{display:flex;align-items:center;gap:16px}.game-stat{display:flex;align-items:center;gap:4px;background:#fff;padding:8px 12px;border-radius:20px;box-shadow:0 2px 8px #0000000d;font-weight:700;font-size:.875rem}.game-stat .material-symbols-outlined{font-size:18px;color:#fbbf24}.game-stat-lives{background:transparent;box-shadow:none;padding:0}.game-play-progress{font-size:.875rem;font-weight:600;color:var(--color-text-muted);background:#fff;padding:8px 16px;border-radius:20px;box-shadow:0 2px 8px #0000000d}.game-mode-badge{font-size:.75rem;font-weight:600;color:#fff;background:var(--color-primary-orange);padding:6px 12px;border-radius:16px;box-shadow:0 2px 8px #ff90454d}.game-play-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8px 16px;gap:8px}.game-play-question{font-size:1rem;font-weight:700;color:var(--color-text-primary);text-align:center;margin:0}.game-mascot-row{display:flex;align-items:center;gap:10px;padding:0 16px;margin-bottom:4px}.games-mascot-row.centered{justify-content:center}.game-mascot-container{width:64px;height:64px;flex-shrink:0;background:#ffedd5;border-radius:50%;border:2px solid white;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a;animation:playfulTilt 2.5s ease-in-out infinite}.game-pet-svg{width:100%;height:100%;padding:8px}.game-speech-bubble{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:8px 12px;max-width:220px;box-shadow:0 2px 8px #0000000d}.game-speech-bubble p{margin:0;font-size:.75rem;font-weight:500;color:var(--color-text-primary);line-height:1.3}.game-bubble-tail{position:absolute;left:-9px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:10px solid #e5e7eb}.game-bubble-tail:after{content:"";position:absolute;left:3px;top:-6px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:8px solid white}.game-braille-display{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px}.game-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:clamp(8px,3vw,24px);padding:clamp(12px,4vw,32px);background:#fff;border:2px solid #e5e7eb;border-radius:clamp(16px,4vw,28px);box-shadow:0 8px 24px #00000014;width:100%;height:100%;box-sizing:border-box}#guess-letter-screen .game-braille-cell{width:clamp(120px,45vw,220px);height:auto;aspect-ratio:2 / 3}.game-braille-dot{width:100%;aspect-ratio:1;max-width:80px;max-height:80px;border-radius:50%;background:#e5e7eb;border:none;transition:all .2s ease;cursor:default;justify-self:center;align-self:center}@media(min-width:768px){.game-braille-dot{width:64px;height:64px}.game-braille-cell{gap:20px;padding:32px}}.game-braille-dot.active{background:var(--color-primary-orange);box-shadow:0 0 20px 4px #ff904580,inset 0 0 12px #ff90454d}.game-answer-options{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:clamp(8px,2vw,20px);width:100%;height:100%;flex:1;min-height:0}@media(min-width:768px){.game-answer-options{gap:clamp(12px,2.5vw,24px)}}.game-answer-btn{padding:clamp(8px,2vw,16px);background:#fff;border:2px solid #e5e7eb;border-radius:clamp(12px,3vw,20px);font-size:1.6rem;font-weight:700;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;display:flex;justify-content:center;align-items:center;width:100%;height:100%;min-height:0}.game-answer-btn:hover:not(:disabled){border-color:var(--color-primary-orange);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.game-answer-btn:disabled{opacity:.6;cursor:not-allowed}.game-answer-btn.correct{background:#10b981;border-color:#10b981;color:#fff;animation:pulse .3s ease}.game-answer-btn.incorrect{background:#ef4444;border-color:#ef4444;color:#fff;animation:shake .3s ease}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.game-feedback{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:20px;animation:fadeIn .3s ease}.game-feedback.hidden{display:none}.game-feedback.correct{background:#10b9811a}.game-feedback.incorrect{background:#ef44441a}.game-feedback-icon{font-size:1.25rem}.game-feedback-text{margin:0;font-size:.875rem;font-weight:600}.game-feedback.correct .game-feedback-text{color:#10b981}.game-feedback.incorrect .game-feedback-text{color:#ef4444}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.game-play-footer{position:relative;z-index:10;padding:20px 24px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.game-play-footer.hidden{display:none}.game-play-next-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:var(--color-primary-orange);color:var(--color-text-primary);border:none;border-radius:16px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #ff90454d}.game-play-next-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff904566}.memory-tactile-content{justify-content:center;gap:1.5rem;padding:1rem 1.5rem}.memory-tactile-emoji{font-size:4rem;text-align:center;animation:bounceIn .5s ease}.memory-tactile-emoji.hidden{display:none}.memory-tactile-sequence{display:flex;justify-content:center;align-items:center;gap:.75rem;min-height:140px;flex-wrap:wrap}.sequence-letter{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;transform:scale(.8) translateY(10px);transition:all .4s cubic-bezier(.34,1.56,.64,1)}.sequence-letter.visible{opacity:1;transform:scale(1) translateY(0)}.sequence-letter .braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px;background:#fff;border:2px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 12px #00000014}.sequence-letter .braille-dot{width:24px;height:24px;border-radius:50%;background:#e5e7eb;transition:all .2s ease}.sequence-letter .braille-dot.active{background:var(--color-primary-orange);box-shadow:0 0 12px 2px #ff904566}.sequence-letter .letter-label{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.memory-tactile-prompt{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);text-align:center;margin:0;padding:1rem;animation:fadeIn .3s ease}.memory-tactile-prompt.hidden{display:none}.memory-tactile-prompt.success{color:#10b981}.memory-tactile-prompt.error{color:#ef4444}.memory-tactile-feedback-area{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem;width:100%;animation:fadeIn .3s ease}.memory-tactile-feedback-area.hidden{display:none}.memory-tactile-emoji-small{font-size:3rem;animation:bounce .5s ease}.memory-tactile-slots{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.memory-slot{width:40px;height:50px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:1.5rem;font-weight:700;color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.memory-slot.filled{background:#f0fdf4;border-color:#22c55e;color:#15803d}.memory-slot.current{border-color:var(--color-primary-orange);box-shadow:0 0 0 2px #ff904533;animation:pulse 1.5s infinite}.memory-tactile-options{display:grid;gap:.75rem;width:100%;max-width:360px;padding:0 1rem}.memory-tactile-options.hidden{display:none}.memory-tactile-options.choose-mode{grid-template-columns:repeat(2,1fr)}.memory-tactile-options.simon-mode{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.memory-tactile-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000d}.memory-tactile-option:hover:not(:disabled){border-color:var(--color-primary-orange);transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.memory-tactile-option:disabled{opacity:.5;cursor:not-allowed}.memory-tactile-option.correct{background:#10b981;border-color:#10b981;animation:pulse .3s ease}.memory-tactile-option.correct .braille-dot{background:#ffffff4d}.memory-tactile-option.correct .braille-dot.active{background:#fff;box-shadow:none}.memory-tactile-option.correct .option-label{color:#fff}.memory-tactile-option.incorrect{background:#ef4444;border-color:#ef4444;animation:shake .3s ease}.memory-tactile-option.incorrect .braille-dot{background:#ffffff4d}.memory-tactile-option.incorrect .braille-dot.active{background:#fff;box-shadow:none}.memory-tactile-option.incorrect .option-label{color:#fff}.memory-tactile-option.used{opacity:.4;transform:scale(.95)}.memory-tactile-option .braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:8px;background:#00000008;border-radius:10px}.memory-tactile-option .braille-dot{width:18px;height:18px;border-radius:50%;background:#d1d5db;transition:all .2s ease}.memory-tactile-option .braille-dot.active{background:var(--color-primary-orange)}.memory-tactile-option .option-label{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.game-over-screen{display:none;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--color-bg-primary);position:relative}.game-over-screen.active{display:flex}.game-over-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:0}.game-over-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;text-align:center}.game-over-icon{font-size:4rem;margin-bottom:16px;animation:bounceIn .5s ease}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.game-over-title{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.game-over-subtitle{font-size:1rem;color:var(--color-text-muted);margin:0 0 32px}.game-over-stats{display:flex;justify-content:center;gap:24px;margin-bottom:24px}.game-over-stat{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;padding:16px 24px;border-radius:16px;box-shadow:0 2px 8px #0000000d}.game-over-stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.game-over-stat-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.game-over-xp{display:flex;align-items:center;gap:8px;background:#ff90451a;padding:12px 24px;border-radius:20px;margin-bottom:16px}.game-over-xp .material-symbols-outlined{font-size:24px;color:var(--color-primary-orange)}.game-over-xp span:last-child{font-size:1.125rem;font-weight:700;color:var(--color-primary-orange)}.game-over-word{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:24px}.game-over-word-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.game-over-word-value{font-size:1.75rem;font-weight:800;color:var(--color-text-primary);letter-spacing:.1em;text-transform:uppercase}.game-over-actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.game-over-btn-continue{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:16px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #10b9814d}.game-over-btn-continue:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}.game-over-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:var(--color-primary-orange);color:var(--color-text-primary);border:none;border-radius:16px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #ff90454d}.game-over-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff904566}.game-over-btn-next-level{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:16px;font-size:.9375rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #10b9814d}.game-over-btn-next-level:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}.game-over-btn-next-level.hidden{display:none}.game-over-btn-secondary{width:100%;padding:14px;background:transparent;color:var(--color-text-muted);border:none;border-radius:16px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.game-over-btn-secondary:hover{background:#0000000d;color:var(--color-text-primary)}.game-play-bg-blue{background-image:radial-gradient(#3b82f6 15%,transparent 15%),radial-gradient(#3b82f6 15%,transparent 15%)}.game-play-glow-blue{background:#3b82f626}.game-play-btn-blue{background:var(--color-primary-orange);box-shadow:0 4px 16px #ff90454d}.game-play-btn-blue:hover{background:#ff8035}.game-play-btn-purple{background:var(--color-primary-orange);box-shadow:0 4px 16px #ff90454d}.game-play-btn-purple:hover{background:#ff8035}.game-play-btn-blue,.game-play-btn-purple{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;color:#fff;border:none;border-radius:14px;font-size:.9375rem;font-weight:700;cursor:pointer;transition:all .2s}.word-length-selector{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin:0 10px 4px;position:relative;z-index:10}.word-length-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.word-length-options{display:flex;gap:6px}.word-length-btn{width:32px;height:32px;border-radius:8px;border:2px solid #e5e7eb;background:#fff;font-size:.875rem;font-weight:700;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.word-length-btn:hover{border-color:var(--color-primary-orange);color:var(--color-primary-orange)}.word-length-btn.active{background:var(--color-primary-orange);border-color:var(--color-primary-orange);color:#fff}.game-setup-screen{min-height:100vh;background:#f9fafb;display:flex;flex-direction:column;padding:0}.setup-header{display:flex;align-items:center;padding:8px 12px;background:#fff;border-bottom:1px solid #e5e7eb}.setup-header .back-btn{width:36px;height:36px;background:#f3f4f6;border:none;border-radius:10px;color:var(--color-text-primary);cursor:pointer;display:flex;justify-content:center}.setup-header{border-bottom:none!important;box-shadow:none!important}.setup-header-title{flex:1;font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0;text-align:center}.setup-header-spacer{width:36px}.setup-main-content{padding:8px 40px;display:flex;flex-direction:column;gap:4px}#form-word-screen .games-mascot-row{padding:0 40px;margin-bottom:4px}.setup-section{background:#fff;border-radius:12px;padding:8px;box-shadow:0 2px 8px #0000000a}.setup-section-title{font-size:.8rem;font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.theme-grid{display:grid;grid-template-columns:repeat(3,95px);gap:8px;justify-content:center}.theme-grid .theme-card{flex:none;width:95px;height:95px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.theme-grid .theme-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.theme-grid .theme-card.active{border-color:var(--color-primary-orange);background:#ff90451a}.theme-grid .theme-card.active .theme-icon{color:var(--color-primary-orange)}.theme-grid .theme-card.locked{background:#f3f4f6;opacity:.7}.theme-grid .theme-icon{font-size:1.5rem}.theme-grid .theme-name{font-size:.7rem;font-weight:600;text-align:center;color:var(--color-text-primary);line-height:1.1}.theme-grid .theme-lock-overlay{position:absolute;top:6px;right:6px;font-size:.75rem;color:var(--color-text-muted)}.length-selector{display:flex;gap:8px;justify-content:center}.length-btn{flex:1;max-width:80px;padding:8px 6px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;transition:all .2s}.length-btn:hover{border-color:var(--color-primary-orange)}.length-btn.active{background:#ff90451a;border-color:var(--color-primary-orange)}.length-number{font-size:1.25rem;font-weight:800;color:var(--color-text-primary)}.length-btn.active .length-number{color:var(--color-primary-orange)}.length-label{font-size:.65rem;font-weight:600;color:var(--color-text-muted)}.setup-footer{padding:8px 40px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:none}.setup-footer .game-play-btn{width:100%;justify-content:center}#form-word-screen .question-title{text-align:center;width:100%}.form-word-target{font-size:3rem;font-weight:800;letter-spacing:.08em;color:var(--color-text-primary);background:#fff;padding:12px 28px;border-radius:24px;box-shadow:0 8px 24px #00000014;margin-bottom:24px;margin-left:auto;margin-right:auto;width:fit-content;display:block}.theme-selector-container{width:100%;margin-bottom:4px}.theme-selector-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted);margin-bottom:8px;padding-left:4px}.theme-selector{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 16px;margin:0 -4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.theme-selector::-webkit-scrollbar{display:none}.theme-card{flex:0 0 72px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.theme-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000000d}.theme-card.active{border-color:var(--color-primary-orange);background:#ff90451a}.theme-card.locked{background:#f3f4f6;border-color:#e5e7eb;opacity:.8}.theme-icon{font-size:1.5rem}.theme-name{font-size:.65rem;font-weight:700;text-align:center;color:var(--color-text-primary);line-height:1.1;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-lock-overlay{position:absolute;top:4px;right:4px;font-size:.875rem;color:var(--color-text-muted)}.theme-unlock-req{font-size:.6rem;color:var(--color-text-muted);margin-top:2px;font-weight:600;display:none}.form-word-slots{display:flex;gap:8px;justify-content:center;margin-bottom:24px;flex-wrap:nowrap}.form-word-slot{width:clamp(70px,22vw,120px);aspect-ratio:64 / 84;height:auto;background:#fff;border:2px dashed #e5e7eb;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;transition:all .2s;flex-shrink:1;min-width:0}.form-word-slot.filled{border-style:solid;border-color:var(--color-primary-orange);background:#ff90450d}.form-word-slot.correct{border-color:#10b981;background:#10b9811a}.form-word-slot.incorrect{border-color:#ef4444;background:#ef44441a}.form-word-slot .form-word-option{width:100%;height:100%;border:none;box-shadow:none;background:transparent}.form-word-slot-letter{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:var(--color-primary-orange);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:6px}.form-word-options{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;max-width:100%;padding:0 8px}.form-word-option{width:clamp(70px,22vw,120px);aspect-ratio:64 / 84;height:auto;background:#fff;border:2px solid #e5e7eb;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000000d}.form-word-option:hover:not(.used){border-color:var(--color-primary-orange);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.form-word-option.selected{border-color:var(--color-primary-orange);background:#ff90451a}.form-word-option.used{opacity:.3;cursor:not-allowed}.form-word-option-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:8px}.form-word-option-dot{width:16px;height:16px;border-radius:50%;background:#e5e7eb}.form-word-option-dot.active{background:var(--color-primary-orange)}.form-word-option-label{font-size:.75rem;font-weight:700;color:var(--color-text-primary)}.game-check-btn{background:var(--color-primary-orange);box-shadow:0 4px 16px #ff90454d}.game-check-btn:hover:not(:disabled){background:#ff8035}.game-check-btn:disabled{opacity:.5;cursor:not-allowed}.game-play-bg-purple{background-image:radial-gradient(#8b5cf6 15%,transparent 15%),radial-gradient(#8b5cf6 15%,transparent 15%)}.game-play-glow-purple{background:#8b5cf626}.game-play-timer{display:flex;align-items:center;gap:4px;font-size:.875rem;font-weight:600;color:var(--color-text-muted);background:#fff;padding:8px 16px;border-radius:20px;box-shadow:0 2px 8px #0000000d}.game-play-timer .material-symbols-outlined{font-size:18px;color:var(--color-primary-orange)}.timer-warning{color:#ef4444!important;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.difficulty-icon{margin-right:4px}.memory-content{padding-top:16px}.memory-instruction{font-size:1.25rem;margin-bottom:16px}.difficulty-selector{display:flex;align-items:center;justify-content:center;padding:8px 16px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin:0 16px 12px;position:relative;z-index:10}.difficulty-options{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.difficulty-btn{padding:8px 12px;border-radius:10px;border:2px solid #e5e7eb;background:#fff;font-size:.75rem;font-weight:700;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.difficulty-btn:hover{border-color:var(--color-primary-orange);color:var(--color-primary-orange)}.difficulty-btn.active{background:var(--color-primary-orange);border-color:var(--color-primary-orange);color:#fff}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:280px}.memory-grid.grid-2x3,.memory-grid.grid-4x3{grid-template-columns:repeat(3,1fr);max-width:240px}.memory-grid.grid-4x4{grid-template-columns:repeat(4,1fr);max-width:280px}.memory-grid.grid-4x6{grid-template-columns:repeat(6,1fr);max-width:360px;gap:6px}.memory-card{aspect-ratio:1;perspective:1000px;cursor:pointer}.memory-card-inner{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}.memory-card.flipped .memory-card-inner,.memory-card.matched .memory-card-inner{transform:rotateY(180deg)}.memory-card-front,.memory-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.memory-card-front{background:linear-gradient(135deg,#ff9045,#ff7020);color:#fff}.memory-card-front .material-symbols-outlined{font-size:20px}.memory-card-back{background:#fff;transform:rotateY(180deg);border:2px solid #e5e7eb}.memory-card.matched .memory-card-back{border-color:#10b981;background:#10b9811a}.memory-card-back.letter{font-size:1.5rem;font-weight:800;color:var(--color-text-primary)}.memory-card-back.braille{padding:8px}.memory-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.memory-braille-dot{width:12px;height:12px;border-radius:50%;background:#e5e7eb}.memory-braille-dot.active{background:#8b5cf6}.memory-card:hover:not(.flipped):not(.matched) .memory-card-front{box-shadow:0 8px 24px #8b5cf64d}@keyframes matchPulse{0%,to{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.05)}}.memory-card.matched .memory-card-inner{animation:matchPulse .5s ease}.ad-container{width:100%;margin:var(--space-md) 0;overflow:hidden;border-radius:var(--radius-md);background:transparent;display:flex;justify-content:center;position:relative;z-index:5}.native-ad-banner{width:100%;min-height:100px;background:#f0f0f0;border:1px dashed #cbd5e1;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;position:relative}.native-ad-content{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;width:100%}.ad-badge{position:absolute;top:4px;right:4px;background:#0000001a;color:#666;font-size:.6rem;padding:2px 4px;border-radius:4px;text-transform:uppercase}.ad-placeholder-img{width:48px;height:48px;background:#ddd;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#999}.ad-text{text-align:center}.ad-title{font-weight:700;font-size:.9rem;color:var(--color-text-primary)}.ad-desc{font-size:.75rem;color:var(--color-text-secondary)}.ad-cta{font-size:.75rem;font-weight:700;color:var(--color-accent-primary);margin-top:4px}.pre-lesson-sheet .ad-container{margin-top:auto;margin-bottom:var(--space-md)}.game-card.sponsored{position:relative;border:2px solid #e2e8f0}.game-card.sponsored .game-icon{background:#f1f5f9;color:#94a3b8}.game-card.sponsored .game-play-btn{background:#f1f5f9;color:#64748b}.game-card.sponsored:after{content:"Patrocinado";position:absolute;top:12px;right:12px;font-size:.65rem;color:#94a3b8;background:#f8fafc;padding:2px 6px;border-radius:4px;border:1px solid #e2e8f0}.pick-screen-new{min-height:-webkit-fill-available;min-height:100dvh;background:var(--color-bg-primary);position:relative;overflow:visible}.pick-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:0}.pick-bg-glow{position:absolute;top:-80px;right:-80px;width:256px;height:256px;background:#ff90451a;border-radius:50%;filter:blur(48px);pointer-events:none;z-index:0}.pick-header{position:relative;z-index:10;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-lg);padding-top:max(var(--space-lg),env(safe-area-inset-top))}.pick-close-btn{color:var(--color-text-muted);background:none;border:none;padding:var(--space-xs);margin-left:calc(-1 * var(--space-xs));border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.pick-close-btn:hover{background:#0000000d}.pick-close-btn .material-symbols-outlined{font-size:28px;font-weight:600}.pick-progress-bar-container{flex:1;height:16px;background:#0000001a;border-radius:var(--radius-full);overflow:hidden;position:relative}.pick-progress-bar-fill{position:absolute;top:0;left:0;height:100%;background:#0e1b13;border-radius:var(--radius-full);transition:width .5s ease-out}.pick-progress-shine{position:absolute;top:4px;right:8px;width:16px;height:6px;background:#ffffff4d;border-radius:var(--radius-full)}.pick-lives{display:flex;align-items:center;gap:6px}.pick-heart-icon{color:#ef4444;font-variation-settings:"FILL" 1}.pick-lives-count{color:#ef4444;font-weight:700;font-size:var(--font-size-lg)}.pick-main-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;padding:0 var(--space-lg);gap:var(--space-lg)}.pick-question-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);width:100%}.pick-speech-bubble{position:relative;background:#fff;border-radius:24px;padding:var(--space-md) var(--space-lg);color:var(--color-text-primary);box-shadow:0 4px 6px #0000001a;text-align:center;font-weight:600;font-size:var(--font-size-xl);max-width:320px}.pick-speech-bubble:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:0;border:15px solid transparent;border-top-color:#fff;border-bottom:0;margin-left:-15px;margin-bottom:-15px}.pick-question-text{color:var(--color-text-primary)}.pick-target-letter{color:var(--color-accent-primary);font-weight:800;font-size:var(--font-size-2xl)}.pick-mascot{width:96px;height:96px;flex-shrink:0;position:relative}.pick-pet-svg{width:100%;height:100%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.pick-mascot-pointer{position:absolute;bottom:-8px;right:-8px;font-size:32px;color:#ff9045;font-variation-settings:"FILL" 1;font-weight:600}.pick-screen-new .pick-footer{position:relative;z-index:10;padding:var(--space-lg);padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom));background:#fff;border-top:1px solid rgba(0,0,0,.05);display:none}.pick-screen-new.active .pick-footer{display:block}.pick-check-button{width:100%;display:flex;align-items:center;justify-content:center;border-radius:16px;height:56px;background:#ff9045;color:#0e1b13;font-size:var(--font-size-lg);font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:none;cursor:pointer;box-shadow:0 6px #ff904566;transition:all var(--transition-fast)}.pick-check-button:hover{background:#ff8533}.pick-check-button:active{transform:translateY(3px);box-shadow:0 3px #ff904566}.pick-check-button:disabled{background:#e5e7eb;color:#9ca3af;box-shadow:0 6px #d1d5db;cursor:not-allowed}.pick-screen-new{--pick-bg-light: #f6f8f7;--pick-bg-dark: #112117;--pick-surface-light: #ffffff;--pick-surface-dark: #1c3024;--pick-primary: #ff9045;background-color:var(--pick-bg-light);color:#0e1b13;font-family:Lexend,Noto Sans,sans-serif}.dark .pick-screen-new{background-color:var(--pick-bg-dark);color:#f6f8f7}.pick-v2-header{position:relative;z-index:10;width:100%;display:flex;align-items:center;gap:16px;padding:24px 24px 0;max-width:448px;margin:0 auto}.pick-v2-close-btn{width:48px;height:48px;color:#0e1b1366;margin-left:-8px;border-radius:50%;transition:background-color .2s;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.pick-v2-close-btn:hover{background-color:#0000000d}.dark .pick-v2-close-btn{color:#fff6}.dark .pick-v2-close-btn:hover{background-color:#ffffff1a}.pick-v2-progress-container{flex:1;height:16px;background-color:#0000001a;border-radius:9999px;overflow:hidden;position:relative}.dark .pick-v2-progress-container{background-color:#ffffff1a}.pick-v2-progress-fill{position:absolute;top:0;left:0;height:100%;background-color:var(--pick-primary);border-radius:9999px;width:0%;transition:width .5s ease-out}.pick-v2-progress-shine{position:absolute;top:4px;right:8px;width:16px;height:6px;background-color:#ffffff4d;border-radius:9999px}.pick-v2-lives{display:flex;align-items:center;gap:6px}.pick-v2-lives .material-symbols-outlined{color:#ef4444;font-variation-settings:"FILL" 1}.pick-v2-lives-count{color:#ef4444;font-weight:700;font-size:1.125rem}.pick-v2-main{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;width:100%;max-width:448px;margin:0 auto;padding:16px}.pick-v2-title{font-size:1.5rem;font-weight:700;margin-bottom:32px;color:inherit}.pick-v2-content-wrapper{display:flex;flex-direction:column;gap:24px;flex:1;justify-content:center}.pick-v2-mascot-area{display:flex;align-items:flex-end;gap:12px;align-self:flex-start;width:100%;margin-bottom:12px}.pick-v2-mascot{width:72px;height:72px;flex-shrink:0;position:relative;z-index:10}@media(min-width:640px){.pick-v2-mascot{width:112px;height:112px}}.pick-v2-mascot svg{width:100%;height:100%;filter:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}.pick-v2-speech-bubble{position:relative;background-color:var(--pick-surface-light);border:2px solid #e5e7eb;padding:16px;border-radius:16px 16px 16px 0;margin-bottom:12px;box-shadow:0 1px 2px #0000000d;flex:1}.dark .pick-v2-speech-bubble{background-color:var(--pick-surface-dark);border-color:#374151}.pick-v2-bubble-tail-border{position:absolute;left:-9px;bottom:0;width:0;height:0;border-left:10px solid transparent;border-bottom:15px solid #e5e7eb}.dark .pick-v2-bubble-tail-border{border-bottom-color:#374151}.pick-v2-bubble-tail-fill{position:absolute;left:-6px;bottom:2px;width:0;height:0;border-left:8px solid transparent;border-bottom:12px solid var(--pick-surface-light)}.dark .pick-v2-bubble-tail-fill{border-bottom-color:var(--pick-surface-dark)}.pick-v2-question-text{font-weight:500;font-size:1.125rem;color:inherit;margin:0}.pick-v2-options-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(8px,2vw,16px);width:100%;flex:1;min-height:0;max-height:85vh}.pick-v2-option-btn{position:relative;width:100%;height:100%;min-height:0;padding:clamp(8px,2vw,16px);border-radius:clamp(12px,3vw,20px);border:2px solid #e5e7eb;background-color:var(--pick-surface-light);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:all .2s;cursor:pointer;box-shadow:0 1px 2px #0000000d;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.dark .pick-v2-option-btn{background-color:var(--pick-surface-dark);border-color:#374151}.pick-v2-option-btn:hover{background-color:#f9fafb}.dark .pick-v2-option-btn:hover{background-color:#ffffff0d}.pick-v2-option-btn.selected{border-color:var(--pick-primary);background-color:#ff90450d;box-shadow:0 0 0 2px #ff904533}.dark .pick-v2-option-btn.selected{background-color:#ff90451a}.pick-v2-option-btn .pick-v2-braille-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:clamp(6px,2vw,12px);background:transparent;width:80%;height:70%;max-width:90px;max-height:120px}.pick-v2-option-btn .pick-v2-dot{width:100%;height:100%;aspect-ratio:1;border-radius:50%;background:#d1d5db}.pick-v2-option-btn .pick-v2-dot.filled{background:#1f2937}.pick-v2-option-btn.correct{border-color:#22c55e;background-color:#22c55e0d;box-shadow:0 0 0 2px #22c55e33}.pick-v2-option-btn.correct .pick-v2-number-badge{background-color:#22c55e;border-color:#22c55e;color:#fff}.pick-v2-option-btn.correct .pick-v2-check-mark{color:#22c55e;display:block}.pick-v2-option-btn.incorrect{border-color:#ef4444;background-color:#ef44440d;box-shadow:0 0 0 2px #ef444433}.pick-v2-option-btn.incorrect .pick-v2-number-badge{background-color:#ef4444;border-color:#ef4444;color:#fff}.pick-v2-option-btn.incorrect .pick-v2-check-mark{display:none}.pick-v2-number-badge{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:2px solid #f3f4f6;border-radius:50%;color:#9ca3af;font-weight:700;font-size:1rem;transition:all .2s}.dark .pick-v2-number-badge{border-color:#4b5563;color:#6b7280}.pick-v2-option-btn:hover .pick-v2-number-badge{border-color:#d1d5db}.pick-v2-option-btn.selected .pick-v2-number-badge{background-color:var(--pick-primary);border-color:var(--pick-primary);color:#0e1b13;box-shadow:0 1px 2px #0000000d}.pick-v2-check-mark{position:absolute;top:6px;right:6px;padding:6px;color:var(--pick-primary);display:none}.pick-v2-option-btn.selected .pick-v2-check-mark{display:block}.pick-v2-braille-grid{display:grid;grid-template-columns:repeat(2,auto);column-gap:10px;row-gap:8px;pointer-events:none}.pick-v2-dot{width:32px;height:32px;border-radius:9999px;background-color:#e5e7eb}.dark .pick-v2-dot{background-color:#374151}.pick-v2-dot.filled{background-color:#0e1b13}.dark .pick-v2-dot.filled{background-color:#fff}.pick-v2-footer{position:relative;z-index:10;width:100%;padding:16px;border-top:1px solid rgba(14,27,19,.05);background-color:var(--pick-surface-light);max-width:448px;margin:0 auto}.braille-dot{width:5rem;height:5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;color:#64748b;background-color:#d1d5db;border:none;transition:all .2s cubic-bezier(.4,0,.2,1);user-select:none;cursor:pointer}.braille-dot:active{transform:scale(.95)}.braille-dot.active,.braille-dot[aria-checked=true]{background-color:#ff9045!important;color:#fff;box-shadow:0 4px 12px #ff904566;transform:translateY(-2px)}.bg-orange-accent{background-color:#ff9045}.text-orange-accent{color:#ff9045}.build-mascot-bubble-row{display:flex;align-items:flex-start;justify-content:flex-start;gap:12px;width:100%;margin-bottom:24px;padding:0 8px}.build-mascot{width:80px;height:80px;flex-shrink:0}.build-speech-bubble{flex:1;background-color:#fff;padding:16px 20px;border-radius:4px 16px 16px;box-shadow:0 1px 3px #0000001a;border:1px solid #f1f5f9}.build-speech-text{color:#334155;font-weight:500;font-size:16px;line-height:1.4}.build-card{background-color:#fff;border-radius:32px;padding:40px;box-shadow:0 10px 40px -10px #0000001a;width:100%;max-width:280px;margin:0 auto;display:flex;align-items:center;justify-content:center}.build-dots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;width:100%}.build-main-cell{width:100%;display:flex;align-items:center;justify-content:center}.shadow-card{box-shadow:0 10px 40px -10px #00000014}.shadow-soft{box-shadow:0 4px 20px -2px #0000000d}.dark .pick-v2-footer{border-color:#ffffff0d;background-color:#15281d}.pick-v2-check-btn{width:100%;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background-color:var(--pick-primary);color:#0e1b13;font-size:1.125rem;font-weight:700;letter-spacing:.025em;text-transform:uppercase;box-shadow:0 10px 15px -3px #ff904540;border:none;cursor:pointer;transition:all .2s}.pick-v2-check-btn:hover{background-color:#ff9045e6}.pick-v2-check-btn:active{transform:scale(.98)}.pick-v2-check-btn:disabled{background-color:#e5e7eb;color:#9ca3af;box-shadow:none;cursor:not-allowed}.syllable-screen-new{min-height:-webkit-fill-available;min-height:100dvh;background:var(--color-bg-primary);position:relative;overflow:hidden}.syllable-screen-new .lesson-main-content{overflow-x:hidden}.syllable-content-area{display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px 16px 0;max-width:400px;width:100%;margin:0 auto;box-sizing:border-box}.syllable-title{font-size:1.35rem;font-weight:700;color:var(--color-text-primary);margin:0;text-align:center}.syllable-helper-text{margin:0;font-size:.95rem;line-height:1.4;color:var(--color-text-muted);text-align:center}.syllable-target-container{display:flex;justify-content:center}.syllable-target{background:#fff;padding:16px 32px;border-radius:16px;font-size:2.25rem;font-weight:700;letter-spacing:8px;color:var(--color-text-primary);box-shadow:0 4px 12px #00000014}.syllable-slots{display:flex;gap:16px;justify-content:center;width:100%}.syllable-slot{width:74px;height:96px;border:2px dashed #d1d5db;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f9fafb;position:relative;cursor:pointer;transition:all .2s ease;box-shadow:0 6px 18px #0000000a}.syllable-slot .slot-number{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--color-primary-orange);color:#fff;font-size:.8rem;font-weight:600;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000014}.syllable-slot.filled{border:2px solid var(--color-primary-orange);background:#fff}.syllable-slot.filled .slot-number{background:#22c55e}.syllable-slot.active:not(.filled):not(.correct):not(.incorrect){border-style:solid;border-color:#ff9045cc;background:#fff7ed;box-shadow:0 8px 18px #ff904526}.syllable-slot .slot-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:6px}.syllable-slot .slot-dot{width:14px;height:14px;border-radius:50%;background:#d1d5db}.syllable-slot .slot-dot.active{background:var(--color-primary-orange)}.syllable-slot .slot-cell,.syllable-slot .option-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:0;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important}.syllable-slot .slot-cell .option-dot,.syllable-slot .option-cell .option-dot{width:15px;height:15px;border-radius:50%;background:#d1d5db}.syllable-slot .slot-cell .option-dot.active,.syllable-slot .option-cell .option-dot.active{background:#1f2937}.dark .syllable-slot .slot-cell .option-dot.active,.dark .syllable-slot .option-cell .option-dot.active{background:#fff}.syllable-options{display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:10px;width:100%;max-width:100%;margin:0 auto;padding:10px 12px 4px;box-sizing:border-box}.syllable-option{background:#fff;border-radius:16px;border:2px solid #e5e7eb;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:14px 10px;box-sizing:border-box;box-shadow:0 2px 8px #0000000f}.syllable-option:hover{border-color:var(--color-primary-orange);transform:translateY(-2px);box-shadow:0 4px 12px #ff904533}.syllable-option.selected{border-color:var(--color-primary-orange);background:#ff904514;opacity:.6;pointer-events:none;transform:scale(.95)}.syllable-option:active{transform:scale(.96)}.syllable-option:focus-visible{outline:2px solid var(--color-primary-orange);outline-offset:2px}.syllable-option .option-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.syllable-option .option-dot{width:20px;height:20px;border-radius:50%;background:#e5e7eb}.syllable-option .option-dot.active{background:#1f2937}.dark .syllable-option{background:var(--color-dark-surface);border-color:#374151}.dark .syllable-option .option-dot{background:#4b5563}.dark .syllable-option .option-dot.active{background:#fff}.syllable-slot.correct{border:2px solid #22c55e;background:#22c55e1a}.syllable-slot.correct .slot-number{background:#22c55e}.syllable-slot.incorrect{border:2px solid #ef4444;background:#ef44441a}.syllable-slot.incorrect .slot-number{background:#ef4444}.syllable-inline-feedback{min-height:22px;font-size:.95rem;font-weight:700;color:var(--color-text-primary);text-align:center}.syllable-inline-feedback.success{color:#22c55e}.syllable-inline-feedback.error{color:#ef4444}.dark .syllable-target{background:var(--color-dark-surface);color:var(--color-dark-text-primary)}.dark .syllable-slot,.dark .syllable-option{background:var(--color-dark-surface);border-color:#374151}@keyframes mascotIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mascot-idle{animation:mascotIdle 3s ease-in-out infinite}@keyframes mascotHappy{0%,to{transform:translateY(0) scale(1) rotate(0)}15%{transform:translateY(-12px) scale(1.05) rotate(-3deg)}30%{transform:translateY(0) scale(.98) rotate(0)}45%{transform:translateY(-10px) scale(1.03) rotate(3deg)}60%{transform:translateY(0) scale(1) rotate(0)}75%{transform:translateY(-6px) scale(1.02) rotate(-2deg)}}.mascot-happy{animation:mascotHappy 1.5s ease-in-out}@keyframes mascotCelebrate{0%,to{transform:translateY(0) rotate(0)}10%{transform:translateY(-20px) rotate(-5deg)}20%{transform:translateY(0) rotate(5deg)}30%{transform:translateY(-18px) rotate(-3deg)}40%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-15px) rotate(-2deg)}60%{transform:translateY(0) rotate(2deg)}70%{transform:translateY(-10px) rotate(-1deg)}80%{transform:translateY(0) rotate(1deg)}90%{transform:translateY(-5px) rotate(0)}}.mascot-celebrate{animation:mascotCelebrate 2s ease-out}@keyframes mascotWave{0%,to{transform:rotate(0)}10%{transform:rotate(10deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-8deg)}50%{transform:rotate(10deg)}60%{transform:rotate(-8deg)}70%{transform:rotate(0)}}.mascot-wave{animation:mascotWave 1.2s ease-in-out;transform-origin:bottom center}@keyframes mascotThinking{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(5deg) translateY(-2px)}50%{transform:rotate(-5deg) translateY(0)}75%{transform:rotate(5deg) translateY(-2px)}}.mascot-thinking{animation:mascotThinking 2s ease-in-out infinite}@keyframes mascotSad{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(4px) scale(.96)}}.mascot-sad{animation:mascotSad 2s ease-in-out infinite}@keyframes antennaGlow{0%,to{filter:drop-shadow(0 0 0px rgba(255,144,69,0))}50%{filter:drop-shadow(0 0 12px rgba(255,144,69,.8))}}.mascot-antenna-glow .mascot-antenna,.mascot-antenna-glow circle[fill="#ff9045"]:first-of-type{animation:antennaGlow 1.5s ease-in-out infinite}@keyframes antennaBounce{0%,to{transform:translateY(0) rotate(0)}20%{transform:translateY(-2px) rotate(3deg)}40%{transform:translateY(0) rotate(-3deg)}60%{transform:translateY(-1px) rotate(2deg)}80%{transform:translateY(0) rotate(-1deg)}}.mascot-antenna-bounce .mascot-antenna{animation:antennaBounce .8s ease-in-out;transform-origin:bottom center}@keyframes mascotBlink{0%,45%,55%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.mascot-blink .mascot-eye{animation:mascotBlink 4s ease-in-out infinite;transform-origin:center}@keyframes mascotLookAround{0%,to{transform:translate(0)}25%{transform:translate(2px)}50%{transform:translate(0)}75%{transform:translate(-2px)}}.mascot-look .mascot-eye{animation:mascotLookAround 4s ease-in-out infinite}@keyframes mascotHeartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}56%{transform:scale(1)}}.mascot-heartbeat{animation:mascotHeartbeat 1.5s ease-in-out infinite}@keyframes mascotShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.mascot-shake{animation:mascotShake .6s ease-in-out}@keyframes mascotEntrance{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.1) rotate(10deg);opacity:1}70%{transform:scale(.95) rotate(-5deg)}to{transform:scale(1) rotate(0);opacity:1}}.mascot-entrance{animation:mascotEntrance .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes victorySpin{0%{transform:scale(.5) rotate(-180deg);opacity:0}50%{transform:scale(1.1) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0)}}.mascot-victory{animation:victorySpin .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes mascotNod{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(5px) rotate(5deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(5px) rotate(5deg)}}.mascot-nod{animation:mascotNod .8s ease-in-out}@keyframes mascotSleep{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.mascot-sleep{animation:mascotSleep 3s ease-in-out infinite;opacity:.8}.mascot-alive{animation:mascotIdle 3s ease-in-out infinite}.mascot-alive .mascot-eye{animation:mascotBlink 4s ease-in-out infinite;transform-origin:center}.level-mascot.animated{animation:victorySpin .8s cubic-bezier(.68,-.55,.265,1.55)}.level-mascot.animated .level-mascot-svg{animation:mascotIdle 3s ease-in-out infinite .8s}.lesson-mascot-mini.animated{animation:mascotIdle 3s ease-in-out infinite}.lesson-mascot-mini.animated .lesson-pet-svg .mascot-eye{animation:mascotBlink 4s ease-in-out infinite;transform-origin:center}.games-mascot-container.animated{animation:mascotIdle 3s ease-in-out infinite}.games-mascot-container.animated .games-pet-svg .mascot-eye{animation:mascotBlink 4s ease-in-out infinite;transform-origin:center}@keyframes mascotWaveHello{0%,to{transform:rotate(0)}10%,30%,50%{transform:rotate(-5deg)}20%,40%{transform:rotate(5deg)}60%{transform:rotate(0)}}@keyframes mascotArmWave{0%,to{transform:rotate(0)}15%,45%{transform:rotate(-25deg)}30%,60%{transform:rotate(-15deg)}}.mascot-wave-hello{animation:mascotWaveHello 1.5s ease-in-out}.mascot-wave-hello .mascot-arm-r{animation:mascotArmWave 1.5s ease-in-out;transform-origin:155px 110px}@keyframes mascotCurious{0%,to{transform:rotate(0)}50%{transform:rotate(8deg) translateY(-3px)}}@keyframes mascotEyesCurious{0%,to{transform:scaleY(1) scaleX(1)}30%,70%{transform:scaleY(1.15) scaleX(1.1)}}.mascot-curious{animation:mascotCurious 2s ease-in-out infinite}.mascot-curious .mascot-eye{animation:mascotEyesCurious 2s ease-in-out infinite;transform-origin:center}@keyframes mascotEncourage{0%,to{transform:translateY(0) scale(1)}20%{transform:translateY(-15px) scale(1.05)}40%{transform:translateY(0) scale(.98)}60%{transform:translateY(-8px) scale(1.02)}80%{transform:translateY(0) scale(1)}}.mascot-encourage{animation:mascotEncourage 1s ease-out}@keyframes mascotReady{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.02)}}@keyframes antennaReadyGlow{0%,to{filter:drop-shadow(0 0 4px rgba(255,144,69,.3))}50%{filter:drop-shadow(0 0 15px rgba(255,144,69,.9))}}.mascot-ready{animation:mascotReady 1.5s ease-in-out infinite}.mascot-ready .mascot-antenna{animation:antennaReadyGlow 1s ease-in-out infinite}@keyframes mascotTeaching{0%,to{transform:translate(0)}50%{transform:translate(2px)}}@keyframes mascotEyesLookSide{0%,to{transform:translate(0)}20%,80%{transform:translate(3px)}}.mascot-teaching{animation:mascotTeaching 3s ease-in-out infinite}.mascot-teaching .mascot-eye{animation:mascotEyesLookSide 3s ease-in-out infinite}@keyframes mascotAnticipation{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(3deg)}}@keyframes mascotEyesAnticipate{0%,to{transform:scaleY(1)}30%,70%{transform:scaleY(1.1)}}.mascot-anticipation{animation:mascotAnticipation 1.5s ease-in-out infinite}.mascot-anticipation .mascot-eye{animation:mascotEyesAnticipate 1.5s ease-in-out infinite;transform-origin:center}@keyframes mascotParty{0%,to{transform:rotate(0) translateY(0)}12.5%{transform:rotate(-8deg) translateY(-5px)}25%{transform:rotate(0) translateY(0)}37.5%{transform:rotate(8deg) translateY(-5px)}50%{transform:rotate(0) translateY(0)}62.5%{transform:rotate(-6deg) translateY(-4px)}75%{transform:rotate(0) translateY(0)}87.5%{transform:rotate(6deg) translateY(-4px)}}.mascot-party{animation:mascotParty 1.2s ease-in-out}@keyframes mascotComfort{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(3px) scale(.98)}60%{transform:translateY(-2px) scale(1.01)}}@keyframes mascotEyesSoft{0%,to{transform:scaleY(1)}50%{transform:scaleY(.9)}}.mascot-comfort{animation:mascotComfort 1.5s ease-in-out}.mascot-comfort .mascot-eye{animation:mascotEyesSoft 1.5s ease-in-out;transform-origin:center}.mascot-container.animated{animation:mascotEntrance .8s cubic-bezier(.68,-.55,.265,1.55),mascotIdle 3s ease-in-out infinite .8s}.mascot-container.animated .robot-svg .mascot-eye{animation:mascotBlink 4s ease-in-out infinite;transform-origin:center}.welcome-mascot-mini.animated{animation:mascotIdle 3s ease-in-out infinite}.welcome-mascot-mini.animated .robot-svg-mini .mascot-eye{animation:mascotBlink 4s ease-in-out infinite;transform-origin:center}.pre-lesson-mascot-container.animated .pre-lesson-mascot-figure{animation:mascotIdle 3s ease-in-out infinite}.pre-lesson-mascot-container.animated .pre-lesson-pet-svg .mascot-eye{animation:mascotBlink 4s ease-in-out infinite;transform-origin:center}.profile-mascot-large.animated{animation:mascotIdle 3s ease-in-out infinite}.profile-mascot-large.animated .robot-svg .mascot-eye{animation:mascotBlink 4s ease-in-out infinite;transform-origin:center}.mascot-feedback-correct{animation:mascotCelebrate 1s ease-out}.mascot-feedback-incorrect{animation:mascotShake .5s ease-out,mascotComfort 1s ease-out .5s}@media(prefers-reduced-motion:reduce){.mascot-idle,.mascot-happy,.mascot-celebrate,.mascot-wave,.mascot-thinking,.mascot-sad,.mascot-shake,.mascot-blink,.mascot-entrance,.mascot-victory,.mascot-nod,.mascot-heartbeat,.mascot-sleep,.mascot-alive,.mascot-wave-hello,.mascot-curious,.mascot-encourage,.mascot-ready,.mascot-teaching,.mascot-anticipation,.mascot-party,.mascot-comfort,.mascot-feedback-correct,.mascot-feedback-incorrect,.mascot-container.animated,.welcome-mascot-mini.animated,.pre-lesson-mascot-container.animated .pre-lesson-mascot-figure,.profile-mascot-large.animated,.lesson-mascot-mini.animated,.games-mascot-container.animated,.level-mascot.animated,.level-mascot.animated .level-mascot-svg,[class*=mascot]{animation:none!important}}.game-play-header .lesson-progress-bar-container{margin:0 16px;flex:1;max-width:140px}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.modal-content{position:relative;width:100%;max-height:90vh;background:#fff;border-radius:24px 24px 0 0;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#fff;flex-shrink:0}.modal-header h2{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0}.modal-back-btn{width:40px;height:40px;border:none;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.modal-back-btn:hover{background:#e5e7eb}.modal-body{flex:1;overflow-y:auto;padding:20px}.help-intro{text-align:center;margin-bottom:24px}.help-mascot{font-size:3rem;margin-bottom:8px}.help-intro p{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.help-form{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.form-group select,.form-group input,.form-group textarea{padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary-orange)}.form-group textarea{resize:vertical;min-height:100px}.help-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:var(--color-primary-orange);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.help-submit-btn:hover{background:#ff8035}.help-faqs{border-top:1px solid #e5e7eb;padding-top:24px}.help-faqs h3{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:16px}.faq-item{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:8px;overflow:hidden}.faq-item summary{padding:14px 16px;font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.faq-item summary:after{content:"+";font-size:1.25rem;color:var(--color-text-muted)}.faq-item[open] summary:after{content:"−"}.faq-item p{padding:0 16px 14px;color:var(--color-text-muted);line-height:1.5}.terms-body{padding-bottom:40px}.terms-update{color:var(--color-text-muted);font-size:.875rem;margin-bottom:24px}.terms-section{margin-bottom:24px}.terms-section h3{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.terms-section h4{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:12px 0 8px}.terms-section p{color:var(--color-text-muted);line-height:1.6}.terms-section ul{margin:8px 0;padding-left:20px;color:var(--color-text-muted)}.terms-section li{margin-bottom:4px;line-height:1.5}.terms-section a{color:var(--color-primary-orange);text-decoration:none}.terms-footer{text-align:center;color:var(--color-text-muted);font-size:.875rem;margin-top:32px;padding-top:16px;border-top:1px solid #e5e7eb}.dark-mode .modal-content{background:var(--color-dark-surface)}.dark-mode .modal-header{background:var(--color-dark-surface);border-color:#374151}.dark-mode .modal-header h2{color:#fff}.dark-mode .modal-back-btn{background:#374151;color:#fff}.dark-mode .form-group select,.dark-mode .form-group input,.dark-mode .form-group textarea{background:#1f2937;border-color:#374151;color:#fff}.dark-mode .faq-item{border-color:#374151}.dark-mode .terms-section h3,.dark-mode .terms-section h4{color:#fff}.crucibraille-timer{display:flex;align-items:center;gap:4px;font-size:16px;font-weight:700;color:var(--color-text-primary)}.crucibraille-timer .material-symbols-outlined{font-size:20px;color:var(--color-primary-orange)}.crucibraille-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8px var(--lesson-layout-padding-x) var(--lesson-layout-content-padding-bottom);gap:12px;position:relative;z-index:10;width:100%;max-width:var(--lesson-layout-max-width);margin:0 auto;touch-action:none}.crucibraille-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:4px;width:100%;max-width:calc(100vw - 32px);height:auto;aspect-ratio:7 / 6;background:transparent;border:none;padding:0;border-radius:0;margin:0 auto;box-sizing:border-box}.crucibraille-grid.shake{animation:crucibrailleShake .4s ease}@keyframes crucibrailleShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.crucibraille-cell{aspect-ratio:1;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 4px #0000000f;user-select:none;-webkit-user-select:none;border:1px solid #cbd5e1}.crucibraille-cell.selected{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;transform:scale(1.05);z-index:10}.crucibraille-cell.found{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981}.crucibraille-cell.hint-highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;transform:scale(1.05);z-index:10;animation:pulseHint .8s ease-in-out infinite}@keyframes pulseHint{0%,to{transform:scale(1.05);box-shadow:0 0 #f59e0b66}50%{transform:scale(1.08);box-shadow:0 0 0 6px #f59e0b00}}.crucibraille-cell.found .crucibraille-braille-cell{display:none}.crucibraille-cell.found .crucibraille-letter{display:flex}.crucibraille-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:2px;width:55%;height:70%;pointer-events:none}.crucibraille-braille-dot{width:100%;aspect-ratio:1;border-radius:50%;background:#0000001a;transition:background .2s}.crucibraille-braille-dot.active{background:var(--color-primary-orange)}.crucibraille-cell.selected .crucibraille-braille-dot.active{background:#d97706}.crucibraille-letter{display:none;font-size:1.5rem;font-weight:700;color:#fff;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.2)}.crucibraille-hint-area{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px}.crucibraille-hint-card{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;border:1px solid rgba(0,0,0,.05);position:relative}.crucibraille-hint-text{font-size:1rem;font-weight:600;color:var(--color-text-secondary);text-align:center;margin:0;line-height:1.4}.crucibraille-word-blanks{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.crucibraille-blank{width:36px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:var(--color-text-primary);background:#f1f5f9;border-radius:8px;border-bottom:3px solid #cbd5e1;transition:all .3s ease}.crucibraille-blank.revealed{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom-color:#f59e0b;animation:revealLetter .4s ease}.crucibraille-blank.found{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-bottom-color:#10b981;color:#065f46}@keyframes revealLetter{0%{transform:scale(1.2);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.crucibraille-hint-btn{display:flex;align-items:center;gap:4px;padding:8px 14px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:20px;font-size:1rem;font-weight:700;color:#b45309;cursor:pointer;transition:all .2s ease}.crucibraille-grid-hint-btn{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:#0ea5e9;color:#0369a1}.crucibraille-hint-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #f59e0b4d}.crucibraille-hint-btn:disabled{background:#e5e7eb;border-color:#9ca3af;color:#6b7280;cursor:not-allowed;opacity:.7}.crucibraille-hint-btn span{font-size:.875rem;min-width:16px;text-align:center}.crucibraille-found-words{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%;min-height:28px}.crucibraille-found-word{display:flex;align-items:center;gap:2px;padding:6px 10px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981;border-radius:16px;animation:popIn .3s ease}.found-braille-letter{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:1px;width:12px;height:18px}.found-braille-dot{width:100%;aspect-ratio:1;border-radius:50%;background:#10b98133}.found-braille-dot.active{background:#065f46}@keyframes popIn{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.crucibraille-overlay{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.crucibraille-overlay-content{background:#fff;border-radius:24px;padding:32px;text-align:center;max-width:320px;width:90%;box-shadow:0 20px 40px #0003}.crucibraille-overlay-icon{font-size:64px;margin-bottom:16px}.crucibraille-overlay-content h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 24px}.crucibraille-final-stats{display:flex;justify-content:center;gap:32px;margin-bottom:24px}.crucibraille-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.crucibraille-stat-value{font-size:2rem;font-weight:800;color:var(--color-primary-orange)}.crucibraille-stat-label{font-size:.875rem;color:var(--color-text-muted)}.crucibraille-overlay-actions{display:flex;flex-direction:column;gap:12px}.crucibraille-overlay-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:12px;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all .2s}.crucibraille-overlay-btn.primary{background:linear-gradient(135deg,var(--color-primary-orange),#e07d2d);color:#fff}.crucibraille-overlay-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff904566}.crucibraille-overlay-btn.secondary{background:#0000000d;color:var(--color-text-primary)}.crucibraille-overlay-btn.secondary:hover{background:#0000001a}.dark-mode .crucibraille-grid{background:#ffffff0d}.dark-mode .crucibraille-cell{background:#ffffff1a}.dark-mode .crucibraille-hint-area{background:#ffffff0d;border-color:#ffffff1a}.dark-mode .crucibraille-overlay-content{background:var(--color-bg-card)}.crucibraille-instructions-container .mascot-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90px;height:90px;background:#ffedd5;border-radius:50%;z-index:-1}.crucibraille-instructions-container .mascot-container{position:relative;z-index:1}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.confetti-particle{position:absolute;width:10px;height:10px;background-color:red;animation:confettiFall linear forwards}.confetti-particle.triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.game-card-glow-cyan{background:#06b6d426}.game-icon-cyan,.game-play-btn-cyan{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.game-play-btn-cyan:hover{background:linear-gradient(135deg,#0891b2,#0e7490)}.game-card-glow-purple{background:#8b5cf626}.game-icon-purple,.game-play-btn-purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.game-play-btn-purple:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.game-card-glow-green{background:#22c55e26}.game-icon-green,.game-play-btn-green{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.game-play-btn-green:hover{background:linear-gradient(135deg,#16a34a,#15803d)}.tombola-play-zone{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 16px;margin-top:-40px}.tombola-machine{position:relative;display:flex;flex-direction:column;align-items:center;gap:0}.tombola-globe{width:220px;height:200px;background:linear-gradient(180deg,#ffffffe6,#f0f0f0f2,#dcdcdc);border-radius:110px 110px 25px 25px;position:relative;overflow:hidden;box-shadow:inset 0 -20px 40px #0000001a,0 10px 30px #00000026,inset 0 10px 20px #fffc;border:4px solid #e5e7eb;transition:transform .3s ease}.tombola-globe:before{content:"";position:absolute;top:10px;left:20px;width:40px;height:40px;background:#fffc;border-radius:50%;filter:blur(10px)}.tombola-globe.spinning{animation:tombolaShake .15s ease-in-out infinite}.tombola-globe.spinning .tombola-inner-ball[data-num="1"]{animation:ballBounce1 .2s ease-in-out infinite}.tombola-globe.spinning .tombola-inner-ball[data-num="2"]{animation:ballBounce2 .18s ease-in-out infinite}.tombola-globe.spinning .tombola-inner-ball[data-num="3"]{animation:ballBounce3 .22s ease-in-out infinite}.tombola-globe.spinning .tombola-inner-ball[data-num="4"]{animation:ballBounce4 .19s ease-in-out infinite}.tombola-globe.spinning .tombola-inner-ball[data-num="5"]{animation:ballBounce5 .21s ease-in-out infinite}.tombola-globe.spinning .tombola-inner-ball[data-num="6"]{animation:ballBounce6 .17s ease-in-out infinite}.tombola-inner-ball.dispensed{opacity:0;transform:scale(0);transition:all .3s ease}@keyframes tombolaShake{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes ballBounce1{0%,to{transform:translate(0)}25%{transform:translate(-8px,-6px)}50%{transform:translate(5px,4px)}75%{transform:translate(-3px,7px)}}@keyframes ballBounce2{0%,to{transform:translate(0)}25%{transform:translate(6px,-8px)}50%{transform:translate(-7px,3px)}75%{transform:translate(4px,-5px)}}@keyframes ballBounce3{0%,to{transform:translate(0)}25%{transform:translate(-5px,7px)}50%{transform:translate(8px,-4px)}75%{transform:translate(-6px,-6px)}}@keyframes ballBounce4{0%,to{transform:translate(0)}25%{transform:translate(7px,5px)}50%{transform:translate(-4px,-8px)}75%{transform:translate(5px,3px)}}@keyframes ballBounce5{0%,to{transform:translate(0)}25%{transform:translate(-6px,-4px)}50%{transform:translate(4px,7px)}75%{transform:translate(-7px,-3px)}}@keyframes ballBounce6{0%,to{transform:translate(0)}25%{transform:translate(5px,-7px)}50%{transform:translate(-8px,5px)}75%{transform:translate(6px,-4px)}}.tombola-inner-balls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:140px;height:100px}.tombola-inner-ball{position:absolute;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:inset 0 -3px 6px #0003,inset 0 3px 6px #fff6,0 2px 4px #0003;animation:ballFloat 2s ease-in-out infinite}.tombola-inner-ball[data-num="1"]{background:linear-gradient(135deg,#ef4444,#dc2626);left:8px;bottom:35px;animation-delay:0s;z-index:3}.tombola-inner-ball[data-num="2"]{background:linear-gradient(135deg,#f97316,#ea580c);left:55px;bottom:45px;animation-delay:.2s;z-index:4}.tombola-inner-ball[data-num="3"]{background:linear-gradient(135deg,#eab308,#ca8a04);right:10px;bottom:30px;animation-delay:.4s;z-index:2}.tombola-inner-ball[data-num="4"]{background:linear-gradient(135deg,#22c55e,#16a34a);left:20px;bottom:5px;animation-delay:.1s;z-index:1}.tombola-inner-ball[data-num="5"]{background:linear-gradient(135deg,#3b82f6,#2563eb);left:58px;bottom:8px;animation-delay:.3s;z-index:2}.tombola-inner-ball[data-num="6"]{background:linear-gradient(135deg,#8b5cf6,#7c3aed);right:18px;bottom:2px;animation-delay:.5s;z-index:1}@keyframes ballFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(3deg)}}.tombola-dispenser{width:80px;height:40px;background:linear-gradient(180deg,#6b7280,#4b5563);border-radius:0 0 20px 20px;position:relative;box-shadow:0 4px 8px #0003}.tombola-chute{position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:30px;height:20px;background:linear-gradient(180deg,#374151,#1f2937);border-radius:0 0 10px 10px}.tombola-spin-btn{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:56px;height:56px;border:none;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #22c55e66,inset 0 2px 4px #ffffff4d;transition:all .2s;display:flex;align-items:center;justify-content:center}.tombola-spin-btn:hover:not(:disabled){transform:translateY(-50%) scale(1.1);box-shadow:0 6px 16px #22c55e80}.tombola-spin-btn:active:not(:disabled){transform:translateY(-50%) scale(.95)}.tombola-spin-btn:disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none}.tombola-spin-btn .material-symbols-outlined{font-size:28px}.tombola-dispensed-balls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;min-height:50px;padding:8px}.tombola-ball{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:inset 0 -4px 8px #0003,inset 0 4px 8px #fff6,0 4px 8px #0003}.tombola-ball.falling{animation:ballFall .4s ease-out}.tombola-ball.landed{animation:ballBounce .3s ease-out}@keyframes ballFall{0%{transform:translateY(-60px) scale(.5);opacity:0}60%{transform:translateY(10px) scale(1.1);opacity:1}to{transform:translateY(0) scale(1)}}@keyframes ballBounce{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.tombola-ball-1{background:linear-gradient(135deg,#ef4444,#dc2626)}.tombola-ball-2{background:linear-gradient(135deg,#f97316,#ea580c)}.tombola-ball-3{background:linear-gradient(135deg,#eab308,#ca8a04)}.tombola-ball-4{background:linear-gradient(135deg,#22c55e,#16a34a)}.tombola-ball-5{background:linear-gradient(135deg,#3b82f6,#2563eb)}.tombola-ball-6{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.tombola-result-area{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}.tombola-result-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:16px;background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;border:3px solid #e5e7eb;transition:all .3s}.tombola-result-cell.correct-pulse{animation:correctPulse .5s ease;border-color:#22c55e}.tombola-result-cell.incorrect-shake{animation:incorrectShake .5s ease;border-color:#ef4444}@keyframes correctPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 0 20px #22c55e80}}@keyframes incorrectShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.tombola-dot{width:32px;height:32px;border-radius:50%;border:none;background:#e5e7eb;cursor:default;transition:all .3s ease;font-size:0;color:transparent}.tombola-dot.active{background:linear-gradient(135deg,#ff9045,#e07d2d);box-shadow:0 2px 8px #ff904566;transform:scale(1.1);font-size:.9rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.tombola-result-label{font-size:1rem;font-weight:600;color:var(--color-text-secondary)}.tombola-answer-wrapper{display:flex;align-items:center;gap:10px}.tombola-equals{font-size:2rem;font-weight:800;color:var(--color-text-secondary)}.tombola-answer-input{width:80px;height:80px;border:3px solid #22c55e;border-radius:16px;background:#fff;font-size:2.5rem;font-weight:800;text-align:center;text-transform:lowercase;color:var(--color-text-primary);outline:none;transition:all .2s}.tombola-answer-input:focus{border-color:#16a34a;box-shadow:0 0 0 4px #22c55e33}.tombola-answer-input::placeholder{color:#d1d5db}.tombola-feedback{padding:12px 24px;border-radius:12px;font-size:1rem;font-weight:700;text-align:center;animation:feedbackPop .3s ease-out}.tombola-feedback.correct{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.tombola-feedback.incorrect{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}@media(max-height:750px){.tombola-play-zone{margin-top:-50px;gap:2px}.tombola-globe{width:160px;height:140px;border-radius:80px 80px 18px 18px}.tombola-inner-balls{width:130px;height:90px;gap:4px;padding:8px;bottom:15px}.tombola-inner-ball{width:32px;height:32px;font-size:.8rem}.tombola-dispenser{width:60px;height:30px}.tombola-chute{width:24px;height:15px;bottom:-10px}.tombola-spin-btn{width:44px;height:44px;right:-50px}.tombola-spin-btn .material-symbols-outlined{font-size:22px}.tombola-ball{width:36px;height:36px;font-size:1rem}.tombola-result-cell{padding:10px;gap:6px}.tombola-dot{width:26px;height:26px;font-size:.75rem}.tombola-answer-input{width:60px;height:60px;font-size:2rem}}@media(max-height:650px){.tombola-play-zone{margin-top:-60px}.tombola-globe{width:140px;height:120px;border-radius:70px 70px 15px 15px}.tombola-inner-balls{width:110px;height:75px;gap:3px;padding:6px;bottom:12px}.tombola-inner-ball{width:26px;height:26px;font-size:.7rem}.tombola-dispensed-balls{min-height:40px}.tombola-ball{width:30px;height:30px;font-size:.9rem}.tombola-result-cell{padding:8px;gap:4px}.tombola-dot{width:22px;height:22px;font-size:.65rem}.tombola-answer-input{width:50px;height:50px;font-size:1.75rem}}.game-difficulty-new{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:700}.difficulty-badge{padding:4px 12px;border-radius:12px;background:#0000000d;color:var(--color-text-secondary);font-size:.85rem;font-weight:600;text-transform:uppercase;border:1px solid rgba(0,0,0,.1);white-space:nowrap}.difficulty-badge.easy{background:#ecfccb;color:#4d7c0f;border-color:#bef264}.difficulty-badge.normal{background:#e0f2fe;color:#0369a1;border-color:#7dd3fc}.difficulty-badge.hard{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}.falling-blocks-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;padding-top:max(12px,env(safe-area-inset-top))}.falling-blocks-stats{display:flex;align-items:center;gap:16px;flex:1;justify-content:center}.falling-blocks-pause{width:44px;height:44px;border:none;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s}.falling-blocks-pause:hover{background:#f3f4f6;transform:scale(1.05)}.falling-blocks-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 16px;gap:16px;position:relative;z-index:10;overflow:hidden;width:100%;max-width:100vw;box-sizing:border-box;touch-action:none}.falling-blocks-word-area{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:8px}.falling-blocks-current-word{display:flex;gap:6px;justify-content:center}.falling-word-slot{width:50px;height:56px;background:#fff;border:2px dashed #d1d5db;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:#6b7280;transition:all .3s}.falling-word-slot.solved{border-style:solid;border-color:#06b6d4;background:#06b6d41a}.falling-word-slot.pending{opacity:.5}.falling-blocks-meta{display:flex;gap:16px;font-size:.875rem;color:var(--color-text-muted)}.falling-blocks-progress,.falling-blocks-words-completed{font-weight:600}.falling-blocks-feedback{position:relative;margin-top:12px;padding:12px 24px;border-radius:12px;font-weight:700;font-size:1rem;z-index:100;animation:feedbackPop .3s ease-out;text-align:center}.falling-blocks-feedback.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.falling-blocks-feedback.error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}@keyframes feedbackPop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.falling-blocks-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:4px;width:100%;max-width:calc(100vw - 32px);height:auto;aspect-ratio:7 / 6;background:transparent;border:none;padding:0;border-radius:0;margin:0 auto;box-sizing:border-box}.falling-grid-cell{aspect-ratio:1;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;color:var(--color-text-primary);position:relative;transition:all .2s;box-shadow:0 2px 4px #00000014}.falling-grid-cell.parking{background:#8b5cf61a;border:2px dashed #8b5cf6}.falling-grid-cell.word-position{border:2px dashed #06b6d4;background:#06b6d40d}.falling-grid-cell.word-position:after{content:attr(data-expected);position:absolute;font-size:1.25rem;font-weight:600;color:#6b7280;opacity:.7;text-transform:uppercase}.falling-grid-cell.falling{background:linear-gradient(135deg,#ff9045,#ff7020);box-shadow:0 4px 12px #ff904566;animation:fallingPulse .5s ease-in-out infinite}@keyframes fallingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.falling-grid-cell.matched{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.falling-grid-cell.parked{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.falling-grid-cell.obstacle{background:#fef3c7;color:#92400e;border:2px solid #fbbf24}.falling-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;width:auto;height:auto;padding:4px;justify-items:center;align-items:center}.falling-braille-dot{width:10px;height:10px;border-radius:50%;background:#0000001a}.falling-braille-dot.active,.falling-grid-cell.falling .falling-braille-dot.active,.falling-grid-cell.matched .falling-braille-dot.active,.falling-grid-cell.parked .falling-braille-dot.active{background:#fff}@keyframes cellBounce{0%{filter:brightness(1);box-shadow:0 0 #06b6d400}25%{filter:brightness(1.3);box-shadow:0 0 12px 4px #06b6d499}50%{filter:brightness(1.1);box-shadow:0 0 8px 2px #06b6d466}to{filter:brightness(1);box-shadow:0 0 #06b6d400}}.falling-grid-cell.animate-bounce{animation:cellBounce .5s ease-out}@keyframes cellShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.falling-grid-cell.animate-shake{animation:cellShake .5s ease-in-out}@keyframes flashError{0%{background-color:#ef444400}25%{background-color:#ef44444d}50%{background-color:#ef44441a}75%{background-color:#ef444433}to{background-color:#ef444400}}.falling-blocks-grid.animate-error-flash{animation:flashError .4s ease-out}@keyframes cellPop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:1}to{transform:scale(0);opacity:0}}.falling-grid-cell.animate-pop{animation:cellPop .3s ease-out forwards}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.confetti-particle{position:absolute;width:10px;height:10px;animation:confettiFall 2s ease-out forwards}.confetti-particle.circle{border-radius:50%}.confetti-particle.square{border-radius:2px}.confetti-particle.triangle{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:10px solid currentColor;background:transparent!important}@keyframes successGlow{0%{box-shadow:0 0 #06b6d4b3}50%{box-shadow:0 0 20px 10px #06b6d44d}to{box-shadow:0 0 #06b6d400}}.falling-grid-cell.animate-success-glow{animation:successGlow .6s ease-out}.falling-word-slot .falling-braille-cell{padding:6px}.falling-word-slot .falling-braille-dot{background:#e5e7eb}.falling-word-slot .falling-braille-dot.active{background:#06b6d4}.falling-blocks-controls{display:flex;gap:24px;justify-content:center;align-items:center;padding:20px 24px;padding-bottom:max(28px,env(safe-area-inset-bottom));margin-top:24px}.falling-control-btn{width:72px;height:72px;border:none;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0000001a;transition:all .2s}.falling-control-btn .material-symbols-outlined{font-size:32px;color:var(--color-text-primary)}.falling-control-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.falling-control-btn:active{transform:translateY(1px);box-shadow:0 2px 8px #0000001a}.falling-control-btn.falling-drop{background:linear-gradient(135deg,#06b6d4,#0891b2);width:88px;height:88px}.falling-control-btn.falling-drop .material-symbols-outlined{color:#fff;font-size:40px}.falling-blocks-overlay{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.falling-overlay-content{background:#fff;border-radius:24px;padding:32px;text-align:center;max-width:320px;width:90%;animation:overlaySlideUp .3s ease-out}@keyframes overlaySlideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.falling-overlay-icon{font-size:48px;margin-bottom:16px}.falling-overlay-content h2{font-size:1.5rem;font-weight:800;color:var(--color-text-primary);margin-bottom:24px}.falling-final-stats{display:flex;gap:24px;justify-content:center;margin-bottom:24px}.falling-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.falling-stat-value{font-size:2rem;font-weight:800;color:var(--color-primary-orange)}.falling-stat-label{font-size:.875rem;color:var(--color-text-muted);font-weight:600}.falling-overlay-actions{display:flex;flex-direction:column;gap:12px}.falling-overlay-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:14px;font-size:1rem;font-weight:700;border:none;cursor:pointer;transition:all .2s}.falling-overlay-btn.primary{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.falling-overlay-btn.primary:hover{transform:scale(1.02);box-shadow:0 4px 12px #06b6d44d}.falling-overlay-btn.secondary{background:#f3f4f6;color:var(--color-text-primary)}.falling-overlay-btn.secondary:hover{background:#e5e7eb}.dark-mode .falling-blocks-content{color:#fff}.dark-mode .falling-word-slot{background:var(--color-dark-surface);border-color:#4b5563;color:#9ca3af}.dark-mode .falling-word-slot.solved{background:#06b6d433;border-color:#06b6d4}.dark-mode .falling-blocks-grid{background:#ffffff0d}.dark-mode .falling-grid-cell{background:var(--color-dark-surface);color:#fff}.dark-mode .falling-grid-cell.word-position{background:#06b6d41a}.dark-mode .falling-control-btn{background:var(--color-dark-surface)}.dark-mode .falling-control-btn .material-symbols-outlined{color:#fff}.dark-mode .falling-blocks-pause{background:var(--color-dark-surface);color:#fff}.dark-mode .falling-overlay-content{background:var(--color-dark-surface)}.dark-mode .falling-overlay-content h2{color:#fff}.dark-mode .falling-overlay-btn.secondary{background:#374151;color:#fff}.dark-mode .falling-overlay-btn.secondary:hover{background:#4b5563}.app-toast{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%) translateY(100px);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:#0e1b13f2;color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;box-shadow:0 8px 24px #00000040;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);max-width:calc(100% - 32px);text-align:center}.app-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-icon{font-size:1rem}.toast-message{white-space:nowrap}.dark-mode .app-toast{background:#fffffff2;color:var(--color-text-primary)}.tools-screen{display:none!important;flex-direction:column;min-height:100vh;min-height:100dvh;padding:0!important;background-color:var(--color-bg-primary);position:absolute;top:0;left:0;right:0;width:100%;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility 0s var(--transition-base);z-index:1}.tools-screen.active{display:flex!important;opacity:1;visibility:visible;position:relative;z-index:10;transition:opacity var(--transition-base),visibility 0s}.tools-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:0}.tools-glow{position:absolute;top:-80px;right:-80px;width:256px;height:256px;background:#ff90451a;border-radius:50%;filter:blur(48px);pointer-events:none;z-index:0}.tools-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;padding-top:calc(16px + env(safe-area-inset-top));background:var(--color-bg-primary);position:sticky;top:0;z-index:100}.tools-back-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.tools-back-btn:hover{background:var(--color-bg-elevated)}.tools-header-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0}.tools-header-spacer{width:44px}.tools-main-content{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;width:100%;max-width:480px;margin:0 auto;padding:16px;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.tools-mascot-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}.tools-mascot-container{width:96px;height:96px;flex-shrink:0;border-radius:50%;border:2px solid white;background:#ffedd5;box-shadow:0 4px 12px #0000001a;overflow:hidden;display:flex;align-items:center;justify-content:center;animation:playfulTilt 2.5s ease-in-out infinite}.tools-pet-svg{width:100%;height:100%;padding:12px}.tools-speech-bubble{position:relative;background:#fff;border:2px solid #e5e7eb;padding:12px 16px;border-radius:16px 16px 16px 0;margin-bottom:8px;box-shadow:0 2px 8px #0000000d;flex:1;min-width:0}.tools-speech-bubble p{margin:0;font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.tools-bubble-tail{position:absolute;left:-9px;bottom:0;width:0;height:0;border-left:10px solid transparent;border-bottom:15px solid #e5e7eb}.tools-bubble-tail:after{content:"";position:absolute;left:-6px;bottom:-13px;width:0;height:0;border-left:8px solid transparent;border-bottom:12px solid white}.tools-list{display:flex;flex-direction:column;gap:16px}.tool-card{position:relative;background:#fff;border-radius:24px;padding:4px;box-shadow:0 4px 16px #00000014;border:1px solid transparent;transition:all .3s ease;overflow:hidden}.tool-card:hover{box-shadow:0 8px 24px #0000001f;border-color:#ff904533}.tool-card-glow{position:absolute;top:0;right:0;width:128px;height:128px;border-radius:50%;transform:translate(50%,-50%);z-index:0}.tool-card-glow-orange{background:#ff90451a}.tool-card-glow-blue{background:#3b82f61a}.tool-card-content{position:relative;z-index:10;padding:16px;display:flex;flex-direction:column;gap:16px}.tool-card-header{display:flex;justify-content:space-between;align-items:flex-start}.tool-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center}.tool-icon .material-symbols-outlined{font-size:28px}.tool-icon-orange{background:#ffedd5;color:var(--color-primary-orange)}.tool-icon-blue{background:#dbeafe;color:#3b82f6}.tool-info{display:flex;flex-direction:column;gap:4px}.tool-name{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0}.tool-desc{font-size:.875rem;color:var(--color-text-muted);margin:0;line-height:1.4}.tool-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:12px;border:none;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease}.tool-action-btn .material-symbols-outlined{font-size:20px}.tool-action-btn:active{transform:scale(.98)}.tool-action-btn-orange{background:var(--color-primary-orange);color:var(--color-text-primary);box-shadow:0 4px 16px #ff904540}.tool-action-btn-orange:hover{background:#ff9045e6}.tool-action-btn-blue{background:#3b82f6;color:#fff;box-shadow:0 4px 16px #3b82f640}.tool-action-btn-blue:hover{background:#2563eb}.dictionary-screen{display:none!important;flex-direction:column;min-height:100vh;min-height:100dvh;padding:0!important;background-color:var(--color-bg-primary);position:absolute;top:0;left:0;right:0;width:100%;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility 0s var(--transition-base);z-index:1}.dictionary-screen.active{display:flex!important;opacity:1;visibility:visible;position:relative;z-index:10;transition:opacity var(--transition-base),visibility 0s}.dict-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:0}.dict-header{display:flex;align-items:center;gap:12px;padding:16px 20px;padding-top:calc(16px + env(safe-area-inset-top));background:var(--color-bg-primary);position:sticky;top:0;z-index:100}.dict-header-left{display:flex;align-items:center;gap:12px}.dict-back-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.dict-back-btn:hover{background:var(--color-bg-elevated)}.dict-mascot-mini{width:52px;height:52px;flex-shrink:0;border-radius:12px;background:#ffedd5;border:2px solid white;box-shadow:0 2px 8px #00000014;overflow:hidden;display:flex;align-items:center;justify-content:center}.dict-pet-svg{width:100%;height:100%;padding:6px}.dict-header-text{flex:1;min-width:0}.dict-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0}.dict-subtitle{font-size:.8rem;color:var(--color-text-muted);margin:0}.dict-search-container{padding:0 20px 12px;position:relative;z-index:50}.dict-search-input-wrap{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease}.dict-search-input-wrap:focus-within{border-color:var(--color-primary-orange);box-shadow:0 0 0 3px #ff90451a}.dict-search-icon{font-size:24px;color:var(--color-text-muted)}.dict-search-input{flex:1;border:none;outline:none;font-size:1rem;font-family:inherit;color:var(--color-text-primary);background:transparent}.dict-search-input::placeholder{color:var(--color-text-muted)}.dict-filters{display:flex;gap:8px;padding:0 20px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.dict-filters::-webkit-scrollbar{display:none}.dict-filter-chip{flex-shrink:0;padding:10px 18px;border-radius:20px;border:2px solid #e5e7eb;background:#fff;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.dict-filter-chip:hover{border-color:var(--color-primary-orange)}.dict-filter-chip.active{background:var(--color-primary-orange);border-color:var(--color-primary-orange);color:#fff}.dict-main{flex:1;padding:0 20px 20px;padding-bottom:calc(100px + env(safe-area-inset-bottom));position:relative;z-index:10}.dict-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dict-card{background:#fff;border-radius:20px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0;cursor:pointer;transition:all .2s ease}.dict-card:hover{box-shadow:0 4px 20px #0000001a;border-color:#ff90454d}.dict-card:active{transform:scale(.98)}.dict-card.pulse{animation:dictCardPulse .3s ease}@keyframes dictCardPulse{0%{transform:scale(1)}50%{transform:scale(1.02);box-shadow:0 0 20px #ff90454d}to{transform:scale(1)}}.dict-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:12px;background:#f9fafb;border-radius:12px}.dict-braille-dot{width:18px;height:18px;border-radius:50%;background:#d1d5db;transition:background .15s ease}.dict-braille-dot.active{background:var(--color-primary-orange);box-shadow:0 0 8px #ff904566}.dict-braille-cells{display:flex;align-items:center;gap:6px}.dict-prefix-cell{transform:scale(.85);opacity:.7;position:relative}.dict-prefix-cell:after{content:"+";position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--color-text-muted)}.dict-card-double{padding:12px}.dict-char{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);line-height:1}.dict-type{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.translator-screen{display:none!important;flex-direction:column;min-height:100vh;min-height:100dvh;padding:0!important;background-color:var(--color-bg-primary);position:absolute;top:0;left:0;right:0;width:100%;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility 0s var(--transition-base);z-index:1}.translator-screen.active{display:flex!important;opacity:1;visibility:visible;position:relative;z-index:10;transition:opacity var(--transition-base),visibility 0s}.translator-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:0}.translator-header{display:flex;align-items:center;gap:12px;padding:16px 20px;padding-top:calc(16px + env(safe-area-inset-top));background:var(--color-bg-primary);position:sticky;top:0;z-index:100}.translator-header-left{display:flex;align-items:center;gap:12px}.translator-back-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.translator-back-btn:hover{background:var(--color-bg-elevated)}.translator-mascot-mini{width:52px;height:52px;flex-shrink:0;border-radius:12px;background:#ffedd5;border:2px solid white;box-shadow:0 2px 8px #00000014;overflow:hidden;display:flex;align-items:center;justify-content:center}.translator-pet-svg{width:100%;height:100%;padding:6px}.translator-header-text{flex:1;min-width:0}.translator-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0}.translator-subtitle{font-size:.8rem;color:var(--color-text-muted);margin:0}.translator-input-section{margin:0 20px 20px;background:#fff;border-radius:20px;border:2px solid #e5e7eb;overflow:hidden;box-shadow:0 2px 12px #0000000d;position:relative;z-index:10}.translator-input{width:100%;padding:20px;border:none;outline:none;font-size:1.125rem;font-family:inherit;color:var(--color-text-primary);background:transparent;resize:none;min-height:100px}.translator-input::placeholder{color:var(--color-text-muted)}.translator-input-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid #f0f0f0;background:#fafafa}.translator-lang-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.translator-translate-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--color-primary-orange);border:none;border-radius:12px;font-size:.875rem;font-weight:700;color:#fff;cursor:pointer;transition:all .2s ease}.translator-translate-btn:hover{background:#ff9045e6}.translator-translate-btn:active{transform:scale(.98)}.translator-translate-btn .material-symbols-outlined{font-size:20px}.translator-result-section{margin:0 20px 20px;background:#fff;border-radius:20px;border:2px solid #e5e7eb;overflow:hidden;box-shadow:0 2px 12px #0000000d;position:relative;z-index:10}.translator-result-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f0f0f0;background:#fafafa}.translator-result-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.translator-result-actions{display:flex;gap:8px}.translator-inline-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.translator-inline-btn:hover{background:var(--color-bg-elevated);color:var(--color-primary-orange)}.translator-inline-btn .material-symbols-outlined{font-size:18px}.translator-result{padding:20px;min-height:120px;display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start}.translator-placeholder{width:100%;text-align:center;color:var(--color-text-muted);font-size:.9rem;padding:30px 0}.translator-cell{display:flex;flex-direction:column;align-items:center;gap:6px}.translator-cell-dots{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:8px;background:#f9fafb;border-radius:10px}.translator-cell-dot{width:14px;height:14px;border-radius:50%;background:#d1d5db}.translator-cell-dot.active{background:var(--color-primary-orange);box-shadow:0 0 6px #ff904566}.translator-cell-char{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.translator-cell-space{width:20px}.translator-actions{display:flex;gap:12px;padding:0 20px;padding-bottom:calc(100px + env(safe-area-inset-bottom));position:relative;z-index:10}.translator-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:#fff;border:2px solid #e5e7eb;border-radius:16px;font-size:.9rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.translator-action-btn:hover{border-color:var(--color-primary-orange);background:#ff90450d}.translator-action-btn:active{transform:scale(.98)}.translator-action-btn .material-symbols-outlined{font-size:20px;color:var(--color-primary-orange)}.high-contrast .tools-screen,.high-contrast .dictionary-screen,.high-contrast .translator-screen{background:#000}.high-contrast .tools-mascot-container,.high-contrast .dict-mascot-mini,.high-contrast .translator-mascot-mini,.high-contrast .tools-speech-bubble{background:#1a1a1a;border-color:#333}.high-contrast .tools-speech-bubble p{color:#fff}.high-contrast .tool-card,.high-contrast .dict-card{background:#1a1a1a;border-color:#333}.high-contrast .tool-name,.high-contrast .dict-char,.high-contrast .translator-title,.high-contrast .dict-title{color:#fff}.high-contrast .translator-input-section,.high-contrast .translator-result-section{background:#1a1a1a;border-color:#333}.high-contrast .translator-input{color:#fff}.high-contrast .dict-braille-cell,.high-contrast .translator-cell-dots{background:#2a2a2a}.image-pick-screen{background:var(--color-bg-primary)}.vocabulary-header{margin-bottom:var(--space-md);display:flex;justify-content:center}.new-word-badge{background:#fdf4ff;color:#a21caf;padding:6px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:6px;box-shadow:0 2px 4px #a21caf1a}.new-word-badge .material-symbols-outlined{font-size:14px}.question-container{text-align:center;margin-bottom:var(--space-sm)}.question-title{font-size:var(--font-size-lg);font-weight:800;color:var(--color-text-primary);margin-bottom:var(--space-sm);margin-top:-10px;letter-spacing:-.01em;white-space:nowrap;text-align:center}@media(min-width:768px){.question-title{font-size:var(--font-size-2xl);margin-bottom:var(--space-lg)}}#memory-tactile-title{font-size:1.5rem}.target-word-container{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-top:var(--space-sm)}.image-pick-screen .audio-btn-large{display:none!important}.audio-btn-large{width:48px;height:48px;border-radius:50%;background:var(--color-bg-elevated);border:2px solid var(--color-accent-primary);color:var(--color-accent-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.audio-btn-large:active{transform:scale(.95)}.target-word-display{display:flex;flex-direction:column;align-items:flex-start}.target-braille-container{display:flex;flex-wrap:nowrap;justify-content:center;gap:var(--target-braille-cell-gap, clamp(8px, 2vw, 16px));padding:clamp(16px,4vw,32px);background:#fff;border-radius:var(--radius-lg);border:2px solid #E5E7EB;width:fit-content;max-width:100%}.target-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:clamp(6px,1.5vw,10px);width:var(--target-braille-cell-size, clamp(48px, 14vw, 80px));aspect-ratio:2/3;background:#f9fafb;border:1px solid #E5E7EB;border-radius:14px}.target-braille-dot{width:100%;height:100%;aspect-ratio:1;border-radius:50%;background:#e5e7eb;transition:background .2s ease}.target-braille-dot.active{background:#1f2937}@media(min-width:768px){.target-braille-container{gap:20px;padding:32px 40px}.target-braille-cell{width:70px;gap:10px}}.target-word{font-size:1.5rem;font-weight:700;color:#a855f7;border-bottom:2px dotted #A855F7;padding-bottom:2px}.image-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);width:100%;max-width:400px;margin:0 auto}.image-option-card{background:var(--color-bg-card);border:2px solid #E2E8F0;border-bottom-width:5px;border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);cursor:pointer;transition:all var(--transition-fast);aspect-ratio:1/1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}.image-option-card:hover{background:#f8fafc;border-color:#cbd5e1}.image-option-card.selected{background:#fff7ed;border-color:var(--color-primary-orange);color:#c2410c}.image-option-card:active{border-bottom-width:2px;transform:translateY(3px)}.image-option-card.correct{background:#dcfce7!important;border-color:#22c55e!important;animation:correctPulse .5s ease-out;position:relative}.image-option-card.correct:after{content:"✓";position:absolute;top:8px;right:8px;width:28px;height:28px;background:#22c55e;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700;animation:checkBounce .4s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 2px 8px #22c55e66}@keyframes correctPulse{0%{transform:scale(1);box-shadow:0 0 #22c55e66}50%{transform:scale(1.03);box-shadow:0 0 0 10px #22c55e00}to{transform:scale(1);box-shadow:0 0 #22c55e00}}@keyframes checkBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.image-option-card.incorrect{background:#fee2e2!important;border-color:#ef4444!important;animation:incorrectShake .5s ease-out;position:relative}.image-option-card.incorrect:after{content:"✗";position:absolute;top:8px;right:8px;width:28px;height:28px;background:#ef4444;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700;animation:checkBounce .4s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 2px 8px #ef444466}@keyframes incorrectShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}.image-card-visual{font-size:4rem;flex:1;display:flex;align-items:center;justify-content:center}.vocab-image{width:100%;height:auto;max-height:120px;object-fit:contain;border-radius:var(--radius-md)}.image-card-label{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary)}.image-option-card.selected .image-card-label{color:#c2410c}.image-card-braille{display:flex;gap:3px;margin-top:4px;background:#00000008;padding:4px;border-radius:4px}.mini-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;width:14px}.mini-dot{width:4px;height:4px;border-radius:50%;background:#e2e8f0}.mini-dot.active{background:#0ea5e9}.pro-badge-btn{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,gold,orange);border:none;border-radius:var(--radius-full);padding:0 16px;cursor:pointer;box-shadow:0 4px 12px #ffd7004d;transition:transform var(--transition-fast),box-shadow var(--transition-fast);height:48px}.pro-badge-btn:hover{transform:scale(1.05) translateY(-1px);box-shadow:0 6px 16px #ffd70066}.pro-badge-btn:active{transform:scale(.98)}.pro-badge-icon{font-size:1.1rem}.pro-badge-text{font-size:.875rem;font-weight:800;color:#451a03;letter-spacing:.05em}.settings-icon.gold{background-color:#fffbeb;color:#d97706}.drag-build-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:16px var(--lesson-layout-padding-x) var(--lesson-layout-content-padding-bottom);gap:16px;width:100%;max-width:var(--lesson-layout-max-width);margin:0 auto}.drag-build-mascot-container{display:flex;align-items:center;gap:12px;width:100%}.drag-build-instruction{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);text-align:center;margin:0}.drag-build-hint{font-size:.9rem;color:var(--color-text-secondary);background:linear-gradient(135deg,#fef3c7,#fde68a);padding:8px 16px;border-radius:12px;border:1px solid #f59e0b;margin:0}.drag-build-word-display{font-size:2rem;font-weight:700;color:var(--color-accent-primary);background:#fff;padding:12px 24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.drag-build-drop-zone{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:12px;width:140px;height:200px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:3px dashed #94a3b8;border-radius:16px;padding:20px}.drag-build-drop-spot{width:50px;height:50px;border-radius:50%;background:#fff;border:2px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.drag-build-drop-spot:hover{border-color:var(--color-accent-primary);background:#fff7ed}.drag-build-drop-spot.drag-over{border-color:var(--color-accent-primary);background:#fed7aa;transform:scale(1.1)}.drag-build-drop-spot.filled{background:linear-gradient(135deg,#1e293b,#334155);border:2px solid #1e293b}.drag-build-drop-spot.correct{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;animation:pulse-correct .5s ease}@keyframes pulse-correct{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.match-pairs-screen{background:var(--color-bg-primary)}.match-pairs-title{font-size:1.35rem;font-weight:700;color:var(--color-text-primary);margin:0;text-align:center}.match-pairs-helper{margin:0;font-size:.95rem;line-height:1.4;color:var(--color-text-muted);text-align:center}.match-pairs-zone{padding:0 12px;flex:1;display:flex;align-items:center}.match-pairs-container{display:flex;align-items:stretch;justify-content:space-between;gap:16px;position:relative;padding:20px 0;width:100%;max-width:500px;margin:0 auto}.match-column{display:flex;flex-direction:column;gap:14px;flex:1;max-width:220px}#match-words-column{align-items:flex-end;padding-right:8px}#match-braille-column{align-items:flex-start;padding-left:8px}.match-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:2.5px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 3px 10px #00000014;min-height:72px;width:100%}.match-item:active{transform:scale(.98)}.match-word{justify-content:space-between;flex-direction:row}.match-braille{justify-content:center;flex-direction:row}.match-item-text{font-size:1.35rem;font-weight:700;color:var(--color-text-primary);text-transform:capitalize;letter-spacing:.5px}.match-item-dot{width:10px;height:10px;border-radius:3px;background:#d1d5db;flex-shrink:0;transition:all .2s ease}.match-item.selected{border-color:var(--color-primary-orange);background:#f5821f14;box-shadow:0 4px 12px #f5821f33}.match-item.selected .match-item-dot{background:var(--color-primary-orange);box-shadow:0 0 8px #f5821f66}.match-item.matched{border-color:#22c55e;background:#22c55e14;pointer-events:none}.match-item.matched .match-item-dot{background:#22c55e}.match-item.error{border-color:#ef4444;background:#ef444414;animation:matchShake .5s ease}.match-item.error .match-item-dot{background:#ef4444}@keyframes matchShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.match-braille-cells{display:flex;gap:6px}.match-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:5px;background:#f3f4f6;border-radius:8px}.match-braille-dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;transition:background .2s ease}.match-braille-dot.filled{background:var(--color-primary-orange)}.match-lines-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.match-line{stroke:#22c55e;stroke-width:3;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;filter:drop-shadow(0 2px 4px rgba(34,197,94,.3))}.match-line.drawn{stroke-dashoffset:0;transition:stroke-dashoffset .4s ease}.match-tb-screen{background:var(--color-bg-primary)}.match-tb-title{font-size:1.35rem;font-weight:700;color:var(--color-text-primary);margin:0;text-align:center}.match-tb-helper{margin:0;font-size:.95rem;line-height:1.4;color:var(--color-text-muted);text-align:center}.match-tb-zone{padding:0 12px;flex:1;display:flex;align-items:center}.match-tb-container{display:flex;align-items:stretch;justify-content:space-between;gap:16px;position:relative;padding:20px 0;width:100%;max-width:500px;margin:0 auto}.match-tb-column{display:flex;flex-direction:column;gap:14px;flex:1;max-width:220px}#match-tb-braille-column{align-items:flex-end;padding-right:8px}#match-tb-text-column{align-items:flex-start;padding-left:8px}.match-tb-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:2.5px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 3px 10px #00000014;min-height:72px;width:100%}.match-tb-item:active{transform:scale(.98)}.match-tb-braille,.match-tb-text{justify-content:center;flex-direction:row}.match-tb-item-text{font-size:1.35rem;font-weight:700;color:var(--color-text-primary);text-transform:capitalize;letter-spacing:.5px}.match-tb-item-dot{width:10px;height:10px;border-radius:3px;background:#d1d5db;flex-shrink:0;transition:all .2s ease}.match-tb-item.selected{border-color:var(--color-primary-orange);background:#f5821f14;box-shadow:0 4px 12px #f5821f33}.match-tb-item.selected .match-tb-item-dot{background:var(--color-primary-orange);box-shadow:0 0 8px #f5821f66}.match-tb-item.matched{border-color:#22c55e;background:#22c55e14;pointer-events:none}.match-tb-item.matched .match-tb-item-dot{background:#22c55e}.match-tb-item.error{border-color:#ef4444;background:#ef444414;animation:matchShake .5s ease}.match-tb-item.error .match-tb-item-dot{background:#ef4444}.match-tb-braille-cells{display:flex;gap:6px}.match-tb-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:5px;background:#f3f4f6;border-radius:8px}.match-tb-braille-dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;transition:background .2s ease}.match-tb-braille-dot.filled{background:var(--color-primary-orange)}.match-tb-lines-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.match-tb-line{stroke:#22c55e;stroke-width:3;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;filter:drop-shadow(0 2px 4px rgba(34,197,94,.3))}.match-tb-line.drawn{stroke-dashoffset:0;transition:stroke-dashoffset .4s ease}.braille-to-text-screen{background:var(--color-bg-primary)}.braille-text-title{font-size:1.35rem;font-weight:700;color:var(--color-text-primary);margin:0;text-align:center}.braille-text-helper{margin:0;font-size:.95rem;line-height:1.4;color:var(--color-text-muted);text-align:center}.braille-text-listen-btn{width:44px;height:44px;border-radius:50%;border:none;background:var(--color-primary-orange);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f5821f4d}.braille-text-listen-btn:active{transform:scale(.95)}.braille-text-zone{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}.braille-text-display-container{background:#fff;border-radius:16px;padding:24px 16px;box-shadow:0 4px 16px #00000014;min-height:120px;display:flex;align-items:center;justify-content:center}.braille-text-display{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;max-width:100%}.braille-text-word{display:flex;gap:3px}.braille-text-space{width:12px}.braille-text-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:5px}.braille-text-dot{width:9px;height:9px;border-radius:50%;background:#e5e7eb;transition:background .2s ease}.braille-text-dot.filled{background:#1f2937}.braille-text-input-container{width:100%}.braille-text-input{width:100%;padding:16px 20px;font-size:1.1rem;border:2.5px solid #e5e7eb;border-radius:14px;background:#fff;color:var(--color-text-primary);box-shadow:0 2px 8px #0000000f;transition:all .2s ease;box-sizing:border-box}.braille-text-input:focus{outline:none;border-color:var(--color-primary-orange);box-shadow:0 4px 12px #f5821f33}.braille-text-input::placeholder{color:#9ca3af}.braille-text-input.shake{animation:inputShake .5s ease;border-color:#ef4444}@keyframes inputShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.braille-text-feedback{min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:12px;text-align:center}.braille-text-feedback.success{background:#22c55e1a;border:2px solid #22c55e}.braille-text-feedback.error{background:#ef44441a;border:2px solid #ef4444}.braille-text-feedback .feedback-icon{font-size:1.5rem}.braille-text-feedback .feedback-text{font-size:.9rem;color:var(--color-text-muted)}.braille-text-feedback .feedback-correct{font-size:1.1rem;font-weight:600;color:#ef4444}.word-order-answer-zone{display:flex;flex-direction:column;align-items:center;gap:12px}.word-order-hint{margin:0;font-size:.9rem;color:var(--color-text-muted);font-weight:500}.word-order-slots{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;min-height:50px;padding:12px;background:#ff904514;border-radius:16px;width:100%}.word-order-slots.shake{animation:slotsShake .5s ease}@keyframes slotsShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.word-order-slot{min-width:60px;min-height:44px;padding:10px 16px;border:2.5px dashed #d1d5db;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease}.word-order-slot .slot-number{font-size:1rem;font-weight:600;color:#9ca3af}.word-order-slot.filled{border-style:solid;border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5);box-shadow:0 2px 8px #ff904533;animation:slotFillIn .3s ease}@keyframes slotFillIn{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.word-order-slot.filled .slot-word{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.word-order-slot.correct{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#bbf7d0);animation:slotCorrect .5s ease}@keyframes slotCorrect{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.word-order-slot.error{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca)}.word-order-options-zone{display:flex;justify-content:center;padding:8px 0}.word-order-options{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:100%}.word-box{padding:12px 20px;border-radius:16px;background:#fff;border:2.5px solid #e5e7eb;font-size:1rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;box-shadow:0 3px 10px #00000014;min-height:48px}.word-box:hover{border-color:var(--color-primary-orange);box-shadow:0 4px 14px #ff904533}.word-box:active{transform:scale(.95)}.word-box.selected{opacity:.35;transform:scale(.95);pointer-events:none;border-style:dashed;box-shadow:none}.phrase-options-zone{display:flex;flex-direction:column;gap:12px;width:100%;padding:8px 0}.phrase-options-zone.hidden{display:none}.phrase-option-btn{width:100%;padding:16px 20px;border-radius:16px;background:#fff;border:2.5px solid #e5e7eb;font-size:1rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;box-shadow:0 3px 10px #00000014;text-align:left;line-height:1.4}.phrase-option-btn:hover{border-color:var(--color-primary-orange);box-shadow:0 4px 14px #ff904533}.phrase-option-btn:active{transform:scale(.98)}.phrase-option-btn.selected{border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5);box-shadow:0 4px 16px #ff90454d}.phrase-option-btn.correct{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#bbf7d0);animation:phraseCorrect .5s ease}@keyframes phraseCorrect{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.phrase-option-btn.error{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);animation:phraseShake .5s ease}@keyframes phraseShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.text-to-braille-screen{background:var(--color-bg-primary)}.text-braille-zone{display:flex;flex-direction:column;gap:12px;padding:0 16px}.text-braille-display-container{display:flex;justify-content:center;padding:12px}.text-braille-display{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:16px;padding:16px 24px;box-shadow:0 4px 14px #ff904526;border:2px solid rgba(255,144,69,.3)}.text-braille-phrase-text{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);text-align:center;line-height:1.4}.text-braille-answer-zone{display:flex;flex-direction:column;align-items:center;gap:8px}.text-braille-hint{font-size:.85rem;color:var(--color-text-secondary);margin:0}.text-braille-slots{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:8px}.text-braille-slot{min-width:80px;min-height:50px;padding:8px;border-radius:12px;background:#f3f4f6;border:2px dashed #d1d5db;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.text-braille-slot .slot-number{font-size:1rem;font-weight:600;color:#9ca3af}.text-braille-slot.filled{background:#fff;border:2px solid var(--color-primary-orange);border-style:solid}.text-braille-slot.correct{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.text-braille-slot.error{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);animation:slotShake .4s ease}.text-braille-slots.shake{animation:slotShake .4s ease}@keyframes slotShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.text-braille-word-cells{display:flex;gap:4px}.text-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:3px}.text-braille-dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;transition:background .2s ease}.text-braille-dot.filled{background:var(--color-primary-orange)}.text-braille-options-zone{display:flex;justify-content:center;padding:8px 0}.text-braille-options{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:100%}.text-braille-word-box{padding:14px 16px;border-radius:16px;background:#fff;border:2.5px solid #e5e7eb;cursor:pointer;transition:all .2s ease;box-shadow:0 3px 10px #00000014;min-height:60px}.text-braille-word-box:hover{border-color:var(--color-primary-orange);box-shadow:0 4px 14px #ff904533}.text-braille-word-box:active{transform:scale(.95)}.text-braille-word-box.selected{opacity:.35;transform:scale(.95);pointer-events:none;border-style:dashed;box-shadow:none}.text-braille-feedback{text-align:center;font-size:1rem;font-weight:600;min-height:24px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-radius:10px;transition:all .3s ease}.text-braille-feedback.success{color:#16a34a;background:#22c55e1a}.text-braille-feedback.error{color:#dc2626;background:#ef44441a}.text-braille-feedback .feedback-icon{font-size:1.2rem}.text-braille-feedback .feedback-text{font-size:.9rem}.text-braille-phrase-options-zone{display:flex;flex-direction:column;gap:16px;padding:8px 16px}.text-braille-phrase-options-zone.shake{animation:slotShake .5s ease}.text-braille-phrase-options-zone.hidden{display:none}.text-braille-phrase-option{width:100%;padding:16px;border-radius:16px;background:#fff;border:3px solid #e5e7eb;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #00000014;min-height:80px}.text-braille-phrase-option:hover{border-color:var(--color-primary-orange);box-shadow:0 6px 18px #ff904533}.text-braille-phrase-option:active{transform:scale(.98)}.text-braille-phrase-option.selected{border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#fffbf5);box-shadow:0 0 0 4px #ff904533}.text-braille-phrase-option.correct{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5);animation:correctPulse .5s ease}.text-braille-phrase-option.error{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fee2e2);animation:errorShake .5s ease}.text-braille-phrase-cells{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center}.text-braille-space{width:10px;height:30px}.text-braille-mini-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;padding:2px}.text-braille-mini-dot{width:7px;height:7px;border-radius:50%;background:#d1d5db;transition:background .2s ease}.text-braille-mini-dot.filled{background:var(--color-primary-orange)}.text-braille-phrase-option.correct .text-braille-mini-dot.filled{background:#10b981}.text-braille-phrase-option.error .text-braille-mini-dot.filled{background:#ef4444}.fill-blank-screen{background:var(--color-bg-primary)}.braille-text-blank{display:inline-flex;align-items:center;justify-content:center;min-width:60px;height:50px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:3px dashed var(--color-primary-orange);border-radius:12px;margin:0 4px;animation:blankPulse 2s ease-in-out infinite}.blank-placeholder{font-size:1.5rem;font-weight:700;color:var(--color-primary-orange)}@keyframes blankPulse{0%,to{border-color:var(--color-primary-orange);box-shadow:0 0 #ff904566}50%{border-color:#ea580c;box-shadow:0 0 0 6px #ff904500}}.braille-text-blank.filled{animation:none;border-style:solid;border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5);padding:6px 10px;min-width:auto;height:auto}.braille-text-blank.filled .blank-word{display:flex;gap:2px}.fill-blank-options-zone{display:flex;justify-content:center;padding:16px 0}.fill-blank-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:320px}.fill-blank-option{padding:16px 20px;border-radius:16px;background:#fff;border:2.5px solid #e5e7eb;font-size:1.1rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;box-shadow:0 3px 10px #00000014;min-height:56px}.fill-blank-option:hover{border-color:var(--color-primary-orange);box-shadow:0 4px 14px #ff904533}.fill-blank-option:active{transform:scale(.97)}.fill-blank-option.selected{border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5);box-shadow:0 4px 16px #ff90454d}.fill-blank-option.correct{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#bbf7d0);animation:optionCorrect .5s ease}@keyframes optionCorrect{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fill-blank-option.error{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);animation:optionShake .5s ease}@keyframes optionShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.fill-blank-option.show-correct{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.text-fill-blank-screen{background:var(--color-bg-primary)}.text-fill-blank-display-container{display:flex;justify-content:center;padding:20px 16px}.text-fill-blank-display{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;background:#fff;padding:20px 24px;border-radius:20px;box-shadow:0 4px 16px #00000014;max-width:100%}.text-fill-blank-word{font-size:1.4rem;font-weight:600;color:var(--color-text-primary);padding:4px 0}.text-fill-blank-placeholder{display:inline-flex;align-items:center;justify-content:center;min-width:80px;height:44px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:3px dashed var(--color-primary-orange);border-radius:12px;animation:blankPulse 2s ease-in-out infinite;transition:all .3s ease}.text-fill-blank-placeholder.filled{animation:none;border-style:solid;border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5);padding:4px 10px;min-width:auto;height:auto}.blank-underline{font-size:1.4rem;font-weight:700;color:var(--color-primary-orange);letter-spacing:3px}.blank-selected-word{font-size:1.4rem;font-weight:700;color:var(--color-primary-orange)}.text-fill-blank-space{width:8px}.text-fill-blank-options-zone{display:flex;justify-content:center;padding:16px 12px}.text-fill-blank-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:360px}.text-fill-blank-option{display:flex;align-items:center;justify-content:center;padding:12px 10px;border-radius:16px;background:#fff;border:2.5px solid #e5e7eb;cursor:pointer;transition:all .2s ease;box-shadow:0 3px 10px #00000014;min-height:70px}.text-fill-blank-option:hover{border-color:var(--color-primary-orange);box-shadow:0 4px 14px #ff904533}.text-fill-blank-option:active{transform:scale(.97)}.text-fill-blank-option.selected{border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5);box-shadow:0 4px 16px #ff90454d}.text-fill-blank-option.correct{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#bbf7d0);animation:optionCorrect .5s ease}.text-fill-blank-option.error{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);animation:optionShake .5s ease}.text-fill-blank-option.show-correct{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.text-fill-braille-cells{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.text-fill-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;padding:4px;background:#f3f4f6;border-radius:6px}.text-fill-braille-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background .2s ease}.text-fill-braille-dot.filled{background:var(--color-primary-orange)}.text-fill-blank-feedback{text-align:center;padding:12px 16px;min-height:40px;font-size:1rem;font-weight:600}.text-fill-blank-feedback.success{color:#22c55e}.text-fill-blank-feedback.error{color:#ef4444}.text-fill-blank-feedback .feedback-icon{margin-right:8px}.text-fill-blank-feedback .feedback-text{color:var(--color-text-muted);margin-right:6px}.text-fill-blank-feedback .feedback-correct{color:#22c55e;font-weight:700}.picture-word-screen{background:var(--color-bg-primary)}.picture-word-zone{display:flex;flex-direction:column;align-items:center;gap:16px;padding:12px 16px}.picture-word-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:380px}.picture-word-cell{display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:16px;padding:10px;box-shadow:0 3px 12px #0000001a}.picture-word-image{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#f9fafb;border-radius:12px;margin-bottom:8px}.picture-word-image img{max-width:80%;max-height:80%;object-fit:contain}.picture-emoji{font-size:3rem}.picture-word-drop-zone{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2.5px dashed #d1d5db;border-radius:10px;transition:all .2s ease}.picture-word-drop-zone .drop-placeholder{font-size:1.2rem;color:#9ca3af;font-weight:600}.picture-word-drop-zone.drag-over{border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5);box-shadow:0 0 0 3px #ff904533}.picture-word-drop-zone.filled{border-style:solid;border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5)}.picture-word-drop-zone .picture-braille-cells{transform:scale(.7);transform-origin:center}.picture-word-drop-zone .picture-braille-cell{padding:2px}.picture-word-drop-zone .picture-braille-dot{width:5px;height:5px}.picture-word-drop-zone.correct{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.picture-word-drop-zone.error{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);animation:optionShake .5s ease}.picture-word-drop-zone.show-answer{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-style:solid}.picture-word-draggables-container{width:100%;padding:16px 0}.picture-word-draggables{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}.picture-word-draggable{display:flex;align-items:center;justify-content:center;padding:10px 14px;background:#fff;border:2.5px solid #e5e7eb;border-radius:12px;cursor:grab;box-shadow:0 3px 10px #0000001a;transition:all .2s ease;touch-action:none}.picture-word-draggable:hover{border-color:var(--color-primary-orange);box-shadow:0 4px 16px #ff904533;transform:translateY(-2px)}.picture-word-draggable:active,.picture-word-draggable.dragging{cursor:grabbing;border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5);box-shadow:0 6px 20px #ff90454d;transform:scale(1.05)}.picture-word-draggable.placed{opacity:.3;pointer-events:none;transform:scale(.9)}.picture-word-draggable.selected{border-color:var(--color-primary-orange);background:linear-gradient(135deg,#fff7ed,#ffedd5);box-shadow:0 0 0 4px #ff90454d,0 6px 20px #ff904540;transform:scale(1.05)}.picture-word-drop-zone.awaiting-drop{animation:awaitingDropPulse 1s ease-in-out infinite}@keyframes awaitingDropPulse{0%,to{border-color:#d1d5db;box-shadow:none}50%{border-color:var(--color-primary-orange);box-shadow:0 0 0 3px #ff904526}}.picture-braille-cells{display:flex;gap:3px}.picture-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;padding:3px;background:#f3f4f6;border-radius:4px}.picture-braille-dot{width:7px;height:7px;border-radius:50%;background:#d1d5db}.picture-braille-dot.filled{background:var(--color-primary-orange)}.picture-word-feedback{text-align:center;padding:10px 16px;min-height:36px;font-size:.95rem;font-weight:600}.picture-word-feedback.success{color:#22c55e}.picture-word-feedback.error{color:#ef4444}.picture-word-feedback .feedback-icon{margin-right:6px}.picture-word-feedback .feedback-text{color:var(--color-text-muted)}.stop-build-screen{background:var(--color-bg-primary)}.stop-build-timer{display:flex;align-items:center;gap:4px;background:#fef3c7;color:#92400e;padding:6px 12px;border-radius:var(--radius-full);font-size:.85rem;font-weight:700}.stop-build-timer .material-symbols-outlined{font-size:18px}.stop-build-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-sm)}.stop-build-target-word{display:flex;align-items:center;justify-content:center;gap:var(--space-md)}.stop-build-emoji{font-size:3rem}.stop-build-word-hint{font-size:1.5rem;font-weight:800;color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.05em}.stop-build-game-area{display:flex;flex-direction:column;gap:var(--space-lg);align-items:center;padding:var(--space-md);flex:1}.stop-build-conveyor{position:relative;width:100%;height:140px;background:linear-gradient(180deg,#f1f5f9,#e2e8f0);border-radius:var(--radius-lg);overflow:hidden;border:2px solid #CBD5E1}.stop-build-capture-zone{position:absolute;left:50%;top:0;bottom:0;width:100px;transform:translate(-50%);background:#ff904526;border-left:3px dashed var(--color-accent-primary);border-right:3px dashed var(--color-accent-primary);z-index:1}.stop-build-cards-track{position:absolute;top:50%;transform:translateY(-50%);display:flex;gap:20px;padding-left:100%;animation:conveyorMove 8s linear infinite}@keyframes conveyorMove{0%{transform:translateY(-50%) translate(0)}to{transform:translateY(-50%) translate(-100%)}}.stop-build-card{width:90px;height:110px;background:linear-gradient(145deg,#fff,#f8fafc);border-radius:var(--radius-md);border:3px solid var(--color-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex-shrink:0;box-shadow:var(--shadow-md);transition:transform .2s,border-color .2s}.stop-build-card.captured{border-color:var(--color-accent-primary);transform:scale(1.1);animation:capturedPulse .3s ease-out}@keyframes capturedPulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.drag-build-dots-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;background:#fff;padding:16px;border-radius:16px;box-shadow:0 2px 8px #00000014}.drag-build-dots-label{font-size:.85rem;color:var(--color-text-secondary);font-weight:500;margin:0}.drag-build-dots-area{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.drag-build-draggable-dot{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-primary),#ea580c);color:#fff;font-weight:700;font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:grab;transition:all .2s ease;box-shadow:0 4px 12px #ff90454d;user-select:none}.drag-build-draggable-dot:hover{transform:scale(1.1);box-shadow:0 6px 16px #ff904566}.drag-build-draggable-dot.dragging{cursor:grabbing;transform:scale(1.15);opacity:.8}.drag-build-draggable-dot.selected{box-shadow:0 0 0 4px #ff904566;transform:scale(1.1)}.drag-build-draggable-dot.used{opacity:.4;pointer-events:none;background:linear-gradient(135deg,#94a3b8,#64748b)}.drag-build-clear-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s ease}.drag-build-clear-btn:hover{background:#f1f5f9}.drag-build-feedback{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:12px;font-weight:600}.drag-build-feedback.correct{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.drag-build-feedback.incorrect{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.drag-build-feedback-icon{font-size:1.5rem}.drag-build-actions{display:flex;gap:12px;width:100%;max-width:300px}.drag-build-btn{flex:1;padding:14px 24px;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;border:none}.drag-build-btn.primary{background:linear-gradient(135deg,var(--color-accent-primary),#ea580c);color:#fff;box-shadow:0 4px 12px #ff90454d}.drag-build-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff904566}.drag-build-word-cells{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%;height:auto;background:none;border:none;padding:0}.drag-build-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:4px;width:50px;height:70px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:6px;position:relative}.drag-build-braille-cell.empty-cell{border:2px dashed var(--color-accent-primary);background:#fff7ed}.drag-build-cell-dot{width:100%;aspect-ratio:1;border-radius:50%;background:#e2e8f0}.drag-build-cell-label{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}@media(max-width:380px){.drag-build-drop-zone{width:120px;height:170px;padding:16px}.drag-build-drop-spot{width:40px;height:40px}.drag-build-draggable-dot{width:42px;height:42px;font-size:1rem}}.drag-build-game-area{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1rem;padding:.5rem 1rem 6rem}.drag-build-word-display{font-size:2.5rem;font-weight:700;color:var(--color-accent-primary);background:#fff;padding:16px 32px;border-radius:16px;box-shadow:0 4px 16px #0000001a;text-align:center;width:100%;max-width:280px}.drag-build-cells-container{display:flex;justify-content:center;align-items:center;gap:12px}.drag-build-cells-container.centered{width:100%;padding:1rem}.drag-build-cells-container.phase2{flex-wrap:wrap;gap:8px}.drag-build-main-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:10px;width:140px;height:180px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:3px solid #cbd5e1;border-radius:20px;padding:20px;box-shadow:0 8px 24px #0000001a;place-items:center}.drag-build-main-cell .drag-build-cell-dot{width:36px;height:36px;border-radius:50%;background:#e2e8f0;border:2px solid #cbd5e1;transition:all .2s ease}.drag-build-main-cell .drag-build-cell-dot.active{background:linear-gradient(135deg,#1e293b,#334155);border-color:#1e293b;box-shadow:0 4px 12px #0003}.drag-build-dots-area.tap-mode{display:flex;gap:20px;justify-content:center}.dots-column{display:flex;flex-direction:column;gap:10px}.drag-build-tap-btn{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:3px solid #cbd5e1;color:#475569;font-weight:700;font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #00000014}.drag-build-tap-btn:hover{transform:scale(1.05);border-color:var(--color-accent-primary)}.drag-build-tap-btn:active{transform:scale(.95)}.drag-build-tap-btn.active{background:linear-gradient(135deg,var(--color-accent-primary),#ea580c);border-color:var(--color-accent-primary);color:#fff;box-shadow:0 4px 16px #ff904566}.drag-build-word-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:55px;height:auto;min-height:80px;background:transparent;position:relative;border:none;padding:0}.drag-build-cell-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:6px;width:55px;height:75px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:8px;justify-items:center;align-items:center;transition:all .3s ease}.drag-build-word-cell.active-cell .drag-build-cell-grid{border-color:var(--color-accent-primary);box-shadow:0 0 0 5px #ea580c40;transform:scale(1.05);z-index:10}.drag-build-word-cell.dimmed .drag-build-cell-grid{opacity:.6;transform:scale(.95);filter:grayscale(100%)}.drag-build-cell-dot{width:14px;height:14px;border-radius:50%;background:#e2e8f0}.drag-build-cell-dot.active{background:#1e293b}.drag-build-target-display{margin-top:8px;margin-bottom:0;padding:0;text-align:center}.drag-build-target-display .target-symbol{font-size:2rem;font-weight:700;color:var(--color-accent-primary);line-height:1;display:inline-block}.drag-build-game-area{gap:6px;padding-top:0}.drag-build-word-cell.capital-cell .drag-build-cell-grid{border:2px dashed var(--color-accent-primary);background:#fff7ed}.drag-build-word-cell.filled-cell{opacity:.7}.drag-build-word-cell .cell-label{order:-1;margin-bottom:8px;font-size:2rem;font-weight:800;color:var(--color-accent-primary);line-height:1}.drag-build-word-cell.capital-cell .cell-label{color:var(--color-accent-primary);font-size:1rem}.drag-build-cells-container.phase3-intro{display:flex;justify-content:center;align-items:center;padding:1rem}.phase3-comparison{display:flex;flex-direction:column;gap:16px;background:#ffffff0d;border-radius:16px;padding:20px;width:100%;max-width:320px}.comparison-side{background:#ffffff08;border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.1)}.comparison-side.highlight{background:linear-gradient(135deg,#ff904526,#8b5cf626);border:2px solid var(--color-accent-primary)}.comparison-label{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:12px;text-align:center}.comparison-side.highlight .comparison-label{color:var(--color-accent-primary);font-weight:600}.comparison-formula{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.symbol-box{background:linear-gradient(135deg,#0a1628,#1e293b);color:#fff;font-size:1.5rem;padding:8px 12px;border-radius:8px;font-family:"Noto Sans Symbols 2",sans-serif}.symbol-box.double{background:linear-gradient(135deg,var(--color-accent-primary),var(--color-accent-secondary));letter-spacing:2px}.plus,.equals{color:var(--color-text-secondary);font-size:1.25rem;font-weight:600}.word-box{background:#ffffff1a;color:var(--color-text-primary);padding:8px 12px;border-radius:8px;font-size:1.1rem}.result-box{background:#22c55e33;color:#22c55e;padding:8px 12px;border-radius:8px;font-weight:700;font-size:1.1rem}.result-box.caps{background:#1e293b;color:#fff;font-size:1.25rem;letter-spacing:2px}.comparison-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.mini-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:3px;width:36px;height:48px;background:#fff;border-radius:6px;padding:6px;box-shadow:0 2px 8px #0000001a}.mini-braille-dot{width:10px;height:10px;border-radius:50%;background:#e2e8f0}.mini-braille-dot.active{background:#1e293b}.double-cells{display:flex;gap:4px}.drag-build-cells-container.phase3{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;padding:1rem}.drag-build-cells-container.phase3 .capital-cell{border:2px dashed var(--color-accent-primary);background:#ff90451a}.drag-build-cells-container.phase3 .capital-cell.complete{border-style:solid;background:#22c55e26;border-color:#22c55e}.drag-build-cells-container.phase3 .capital-cell.complete .cell-label{color:#22c55e}#drag-build-word-display.all-caps{font-size:2rem;font-weight:800;letter-spacing:4px;background:#1e293b;color:#fff;padding:8px 16px;border-radius:12px}.syllable-target.all-caps{background:#1e293b;color:#fff;text-shadow:none;letter-spacing:6px}.stop-build-card-letter{font-size:1.5rem;font-weight:800;color:var(--color-text-primary);text-transform:uppercase}.stop-build-card-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:8px;background:#f1f5f9;border-radius:var(--radius-sm)}.stop-build-card-dot{width:12px;height:12px;border-radius:50%;background:#cbd5e1;transition:background .2s}.stop-build-card-dot.active{background:#1e293b}.stop-build-slots{display:flex;gap:var(--space-md);justify-content:center}.stop-build-slot{width:70px;height:90px;background:#fff;border:3px dashed #CBD5E1;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.stop-build-slot.active{border-color:var(--color-accent-primary);background:#fff7ed}.stop-build-slot.filled{border-style:solid;border-color:#22c55e;background:#dcfce7}.stop-build-slot.error{border-color:#ef4444;background:#fee2e2;animation:slotShake .4s ease-out}@keyframes slotShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.stop-build-slot-number{font-size:1.25rem;font-weight:700;color:#94a3b8}.stop-build-slot-letter{font-size:1.25rem;font-weight:800;color:#166534;text-transform:uppercase}.stop-build-slot-cell{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.stop-build-slot-dot{width:8px;height:8px;border-radius:50%;background:#a7f3d0}.stop-build-slot-dot.active{background:#166534}.stop-build-stop-btn{width:100%;height:60px;background:linear-gradient(145deg,#ef4444,#dc2626);border:none;border-radius:var(--radius-lg);color:#fff;font-size:1.25rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 6px 20px #ef444466;transition:all .2s ease;text-transform:uppercase;letter-spacing:.1em}.stop-build-stop-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ef444480}.stop-build-stop-btn:active{transform:translateY(2px);box-shadow:0 2px 8px #ef44444d}.stop-build-stop-btn .material-symbols-outlined{font-size:28px}.stop-build-stop-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.stop-build-conveyor.paused .stop-build-cards-track{animation-play-state:paused}@media all and (display-mode:standalone){.main-nav-new{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.lesson-footer-new{padding-bottom:calc(var(--lesson-layout-footer-padding-y) + 20px + env(safe-area-inset-bottom))}.profile-footer-sticky,.pick-screen-new .pick-footer{padding-bottom:calc(var(--space-lg) + 20px + env(safe-area-inset-bottom))}.setup-footer{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.fab{bottom:calc(var(--space-xl) + 20px + env(safe-area-inset-bottom))}.app-toast{bottom:calc(100px + env(safe-area-inset-bottom))}.welcome-footer{padding-bottom:calc(var(--space-xl) + 20px + env(safe-area-inset-bottom))}.translator-actions{padding-bottom:calc(120px + env(safe-area-inset-bottom))}}.cosmic-background{background:radial-gradient(circle at 50% 50%,#0f172a,#020617);position:relative;overflow:hidden}.cosmic-decoration{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.nebula{position:absolute;border-radius:100%;filter:blur(80px);opacity:.15;pointer-events:none}.nebula.blue{background-color:#2563eb}.nebula.purple{background-color:#9333ea}.nebula.indigo{background-color:#4f46e5}.star{position:absolute;background:#fff;border-radius:50%;pointer-events:none}.cosmic-node-glow{filter:drop-shadow(0 0 15px rgba(255,255,255,.15))}.active-cosmic-node-glow{filter:drop-shadow(0 0 25px rgba(255,144,69,.4))}.completed-cosmic-node-glow{filter:drop-shadow(0 0 20px rgba(16,185,129,.3))}.high-contrast .nebula{display:none}.high-contrast .cosmic-background{background:#000}.payment-success{background:linear-gradient(180deg,#f8faf9,#fffbf5,#f8faf9);overflow:hidden}.payment-success-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1.5rem;position:relative;z-index:10}.success-icon-wrapper{position:relative;width:120px;height:120px;margin-bottom:1.5rem}.success-circle{width:100%;height:100%;background:linear-gradient(135deg,#58cc02,#22c55e);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px #58cc0233,0 0 0 16px #58cc021a,0 20px 40px #58cc024d;animation:successPop .6s cubic-bezier(.68,-.55,.265,1.55) forwards,successPulse 2s ease-in-out .6s infinite}.success-circle .material-symbols-outlined{font-size:64px;color:#fff;font-weight:700;animation:checkmarkDraw .4s ease-out .3s forwards;transform:scale(0)}.success-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(88,204,2,.3);opacity:0}.ring-1{width:140px;height:140px;animation:ringExpand 2s ease-out .5s infinite}.ring-2{width:160px;height:160px;animation:ringExpand 2s ease-out .7s infinite}.ring-3{width:180px;height:180px;animation:ringExpand 2s ease-out .9s infinite}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes successPulse{0%,to{box-shadow:0 0 0 8px #58cc0233,0 0 0 16px #58cc021a,0 20px 40px #58cc024d}50%{box-shadow:0 0 0 12px #58cc0226,0 0 0 24px #58cc0214,0 25px 50px #58cc0266}}@keyframes checkmarkDraw{0%{transform:scale(0) rotate(-45deg)}to{transform:scale(1) rotate(0)}}@keyframes ringExpand{0%{transform:translate(-50%,-50%) scale(.8);opacity:.6}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.premium-mascot{width:140px;height:140px;margin-bottom:1.5rem;position:relative}.premium-mascot .robot-svg{width:100%;height:100%;animation:mascotParty 1.5s ease-in-out infinite}.celebrating-premium{filter:drop-shadow(0 0 20px rgba(255,215,0,.4))}@keyframes mascotParty{0%,to{transform:translateY(0) rotate(-3deg)}25%{transform:translateY(-10px) rotate(3deg)}50%{transform:translateY(0) rotate(-3deg)}75%{transform:translateY(-5px) rotate(3deg)}}.success-text-block{text-align:center;margin-bottom:2rem}.pro-badge-large{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#ff9045,gold);color:#fff;padding:.5rem 1rem;border-radius:50px;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;box-shadow:0 4px 15px #ff904566;animation:badgeGlow 2s ease-in-out infinite}.pro-badge-large .pro-icon{font-size:1.25rem}@keyframes badgeGlow{0%,to{box-shadow:0 4px 15px #ff904566}50%{box-shadow:0 4px 25px #ff904599,0 0 30px #ffd7004d}}.success-title{font-size:1.875rem;font-weight:800;color:var(--color-text-primary);margin-bottom:.5rem;animation:fadeInUp .6s ease-out .2s forwards;opacity:0}.success-subtitle{font-size:1.125rem;color:var(--color-text-secondary);animation:fadeInUp .6s ease-out .4s forwards;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.benefits-card{background:#fff;border-radius:1.5rem;padding:1.5rem;width:100%;max-width:400px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(255,144,69,.1);margin-bottom:2rem;animation:slideInUp .6s ease-out .6s forwards;opacity:0;transform:translateY(30px)}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}.benefits-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem;text-align:center}.benefits-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.875rem}.benefit-item{display:flex;align-items:center;gap:.875rem;padding:.75rem;background:var(--color-surface-secondary);border-radius:1rem;transition:transform .2s ease,box-shadow .2s ease}.benefit-item:hover{transform:translate(5px);box-shadow:0 4px 12px #0000000d}.benefit-item:nth-child(1){animation:fadeInLeft .4s ease-out .8s forwards;opacity:0}.benefit-item:nth-child(2){animation:fadeInLeft .4s ease-out .9s forwards;opacity:0}.benefit-item:nth-child(3){animation:fadeInLeft .4s ease-out 1s forwards;opacity:0}.benefit-item:nth-child(4){animation:fadeInLeft .4s ease-out 1.1s forwards;opacity:0}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.benefit-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.benefit-check{background:#58cc0226;color:var(--color-success)}.benefit-text{display:flex;flex-direction:column;gap:.125rem}.benefit-name{font-weight:600;font-size:.9375rem;color:var(--color-text-primary)}.benefit-desc{font-size:.8125rem;color:var(--color-text-muted)}.success-btn{width:100%;max-width:400px;margin-bottom:1rem;background:linear-gradient(135deg,#ff9045,#f97316);box-shadow:0 8px 25px #ff904566;animation:fadeInUp .6s ease-out 1.2s forwards;opacity:0;transform:translateY(20px)}.success-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #ff904580}.success-btn:active{transform:translateY(0)}.manage-sub-link{background:none;border:none;color:var(--color-text-muted);font-size:.875rem;font-weight:500;padding:.5rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease;animation:fadeIn .6s ease-out 1.4s forwards;opacity:0}.manage-sub-link:hover{color:var(--color-accent-primary)}@keyframes fadeIn{to{opacity:1}}.premium-confetti{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.premium-confetti .confetti{position:absolute;width:12px;height:12px;animation:confettiFallPremium 4s ease-in-out infinite}.confetti-7{left:5%;background:#ff9045;animation-delay:.1s}.confetti-8{left:15%;background:#58cc02;animation-delay:.4s}.confetti-9{left:35%;background:gold;animation-delay:.7s}.confetti-10{left:50%;background:#ff6b6b;animation-delay:.2s}.confetti-11{left:65%;background:#4ecdc4;animation-delay:.5s}.confetti-12{left:80%;background:#a855f7;animation-delay:.8s}@keyframes confettiFallPremium{0%{top:-10%;transform:rotate(0) scale(0);opacity:0}10%{opacity:1;transform:rotate(180deg) scale(1)}90%{opacity:1}to{top:110%;transform:rotate(720deg) scale(.5);opacity:0}}.floating-particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.particle{position:absolute;font-size:1.5rem;opacity:.6;animation:particleFloat 6s ease-in-out infinite}.particle-star{top:15%;left:10%;animation-delay:0s}.particle-sparkle{top:25%;right:15%;animation-delay:1s}.particle-diamond{top:60%;left:8%;animation-delay:2s}.particle:nth-child(4){top:70%;right:10%;animation-delay:3s}.particle:nth-child(5){top:40%;left:5%;animation-delay:4s}@keyframes particleFloat{0%,to{transform:translateY(0) rotate(0);opacity:.4}50%{transform:translateY(-30px) rotate(180deg);opacity:.8}}.high-contrast .success-circle{background:#000;box-shadow:0 0 0 4px #fff,0 0 0 8px #000}.high-contrast .benefits-card{border:2px solid #000;box-shadow:none}.high-contrast .benefit-item{background:#fff;border:1px solid #000}@media(prefers-reduced-motion:reduce){.success-circle,.success-ring,.premium-mascot .robot-svg,.pro-badge-large,.success-title,.success-subtitle,.benefits-card,.benefit-item,.success-btn,.manage-sub-link,.premium-confetti .confetti,.particle{animation:none;opacity:1;transform:none}.success-circle .material-symbols-outlined{transform:scale(1)}}.subscription-manager.active{animation:slideFromRight .3s ease-out}@keyframes slideFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.subscription-manager{background:var(--color-bg-primary);min-height:100vh}.header-spacer{display:none}.subscription-main{padding:1.5rem 1rem;width:100%;max-width:100%;overflow-y:auto;flex:1}.subscription-view.hidden{display:none}.plan-card{background:#fff;border-radius:1.5rem;padding:2rem 1.5rem;text-align:center;box-shadow:var(--shadow-md);border:2px solid transparent;margin-bottom:1.5rem;position:relative;overflow:hidden}.plan-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff9045,gold)}.plan-card.warning:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.plan-badge-wrapper{margin-bottom:1rem}.plan-badge-pro{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#ff9045,gold);color:#fff;padding:.5rem 1rem;border-radius:50px;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 15px #ff90454d}.plan-icon{font-size:1.25rem}.plan-name{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.25rem}.plan-price{font-size:2.5rem;font-weight:800;color:var(--color-text-primary);margin-bottom:1rem}.plan-price span{font-size:1rem;font-weight:500;color:var(--color-text-muted)}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:600}.status-badge.active{background:#58cc0226;color:var(--color-success)}.status-badge.canceling{background:#f59e0b26;color:#d97706}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.5}}.subscription-details-card{background:#fff;border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.details-title{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem}.detail-row{display:flex;align-items:center;gap:1rem;padding:.875rem 0;border-bottom:1px solid var(--color-border)}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-row:first-child{padding-top:0}.detail-icon{width:40px;height:40px;background:var(--color-surface-secondary);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-icon .material-symbols-outlined{font-size:1.25rem;color:var(--color-text-secondary)}.detail-content{display:flex;flex-direction:column;gap:.125rem;flex:1}.detail-label{font-size:.8125rem;color:var(--color-text-muted)}.detail-value{font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.subscription-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.25rem;border-radius:1rem;font-size:.9375rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.action-btn .material-symbols-outlined{font-size:1.25rem}.action-btn.primary{background:linear-gradient(135deg,#ff9045,#f97316);color:#fff;box-shadow:0 4px 15px #ff90454d}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff904566}.action-btn.secondary{background:var(--color-surface-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.action-btn.secondary:hover{background:var(--color-surface-tertiary)}.action-btn.danger{background:transparent;color:var(--color-error);border:1px solid var(--color-error)}.action-btn.danger:hover{background:#ef44440d}.subscription-help{text-align:center;font-size:.875rem;color:var(--color-text-muted)}.help-link{color:var(--color-accent-primary);font-weight:600;text-decoration:none}.help-link:hover{text-decoration:underline}.cancel-warning-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:1.25rem;padding:1.5rem;text-align:center;margin-bottom:1.5rem;border:1px solid rgba(245,158,11,.2)}.warning-icon{font-size:3rem;margin-bottom:1rem}.cancel-warning-card h3{font-size:1.125rem;font-weight:700;color:#92400e;margin-bottom:.5rem}.cancel-warning-card p{font-size:.9375rem;color:#b45309}.free-plan-card{background:#fff;border-radius:1.5rem;padding:2rem 1.5rem;text-align:center;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;border:2px dashed var(--color-border)}.free-icon{font-size:3rem;margin-bottom:1rem}.free-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.free-desc{font-size:.9375rem;color:var(--color-text-secondary)}.upgrade-card{background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:var(--shadow-md);border:2px solid rgba(255,144,69,.1)}.upgrade-title{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem;text-align:center}.upgrade-benefits{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.upgrade-benefits li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.upgrade-benefits li span{color:var(--color-success);font-weight:700}.upgrade-btn{width:100%;margin-bottom:.75rem;flex-direction:column;gap:.25rem;padding:1rem}.upgrade-btn .upgrade-price{font-size:.8125rem;font-weight:500;opacity:.9}.yearly-btn{width:100%;flex-direction:column;gap:.25rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86EFAC;color:#166534}.yearly-btn:hover{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.yearly-price{font-size:.8125rem;font-weight:600;color:#16a34a}.sub-avatar-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem;position:relative}.sub-avatar{width:100px;height:100px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:4px solid var(--color-bg-card);background:#ffedd5;box-shadow:var(--shadow-sm);overflow:hidden}.sub-avatar .robot-svg{width:100%;height:100%;padding:.5rem}.sub-avatar.warning{border-color:#fef3c7}.sub-avatar.free{background:var(--color-surface-secondary);border-color:var(--color-border)}.sub-premium-badge{position:absolute;bottom:-8px;display:flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:gold;color:var(--color-text-primary);border-radius:50px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-sm)}.sub-premium-badge .material-symbols-outlined{font-size:.75rem}.sub-premium-badge.warning{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.sub-status-card{background:var(--color-bg-card);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:1rem}.sub-status-card.free{border:2px dashed var(--color-border)}.sub-card-label{display:block;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:1rem}.sub-status-content{display:flex;align-items:center;justify-content:space-between}.sub-status-info{flex:1}.sub-plan-title{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .25rem}.sub-billing-label{font-size:.8125rem;color:var(--color-text-muted);margin:0}.sub-billing-date{font-size:.875rem;font-weight:600;color:var(--color-accent-primary);margin:0}.sub-free-desc{font-size:.875rem;color:var(--color-text-secondary);margin:0}.sub-status-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#ff90451a;flex-shrink:0}.sub-status-icon .material-symbols-outlined{font-size:1.5rem;color:var(--color-accent-primary)}.sub-status-icon.free{background:var(--color-surface-secondary)}.sub-status-icon.free .material-symbols-outlined{color:var(--color-text-muted)}.sub-details-card{background:var(--color-bg-card);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:1rem}.sub-detail-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 0}.sub-detail-row:first-of-type{padding-top:0}.sub-detail-row:last-child{padding-bottom:0}.sub-detail-row:not(:last-child){border-bottom:1px solid var(--color-border)}.sub-detail-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-secondary);flex-shrink:0}.sub-detail-icon .material-symbols-outlined{font-size:1.25rem;color:var(--color-text-secondary)}.sub-detail-content{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.sub-detail-label{font-size:.75rem;color:var(--color-text-muted)}.sub-detail-value{font-size:.875rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-action-list{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.5rem}.sub-action-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.75rem;cursor:pointer;transition:all .2s ease}.sub-action-row:hover{background:var(--color-surface-secondary)}.sub-action-row:active{transform:scale(.98)}.sub-action-left{display:flex;align-items:center;gap:.75rem}.sub-action-left .material-symbols-outlined{font-size:1.25rem;color:var(--color-text-muted)}.sub-action-text{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.sub-chevron{font-size:1.25rem;color:var(--color-text-muted);opacity:.5}.sub-manage-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem 1.25rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--color-accent-primary) 0%,#FF6B3D 100%);border:none;border-radius:.875rem;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #ff90454d}.sub-manage-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff904566}.sub-manage-btn:active{transform:translateY(0)}.sub-manage-btn .sub-chevron{opacity:.7}.sub-help-text{text-align:center;font-size:.75rem;font-style:italic;color:var(--color-text-muted);padding:0 1rem}.sub-warning-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:1rem;padding:1.5rem;text-align:center;margin-bottom:1.5rem;border:1px solid rgba(245,158,11,.2)}.sub-warning-card .warning-icon{font-size:2.5rem;margin-bottom:.75rem}.sub-warning-card h3{font-size:1rem;font-weight:700;color:#92400e;margin:0 0 .5rem}.sub-warning-card p{font-size:.875rem;color:#b45309;margin:0}.sub-upgrade-card{background:var(--color-bg-card);border-radius:1rem;padding:1.5rem;box-shadow:var(--shadow-md);border:2px solid rgba(255,144,69,.15)}.sub-upgrade-title{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);text-align:center;margin:0 0 1rem}.sub-upgrade-benefits{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.sub-upgrade-benefits li{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-text-secondary)}.sub-upgrade-benefits li .material-symbols-outlined{font-size:1rem;color:var(--color-success)}.dark-mode .sub-avatar{border-color:var(--color-surface-dark)}.dark-mode .sub-status-card,.dark-mode .sub-details-card,.dark-mode .sub-upgrade-card,.dark-mode .sub-action-row{background:var(--color-surface-dark);border-color:#ffffff14}.dark-mode .sub-action-row:hover{background:#ffffff0d}.dark-mode .sub-warning-card{background:linear-gradient(135deg,#78350f,#92400e);border-color:#fbbf2433}.dark-mode .sub-warning-card h3{color:#fef3c7}.dark-mode .sub-warning-card p{color:#fde68a}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-overlay.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px)}.modal-card{background:#fff;border-radius:1.5rem;padding:2rem 1.5rem;max-width:400px;width:100%;position:relative;z-index:1;text-align:center;box-shadow:0 25px 50px -12px #00000040}.modal-icon{font-size:4rem;margin-bottom:1rem}.modal-icon.sad{animation:sadBounce 2s ease-in-out infinite}@keyframes sadBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.modal-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.modal-subtitle{font-size:1rem;color:var(--color-text-secondary);margin-bottom:1.5rem}.lose-list{list-style:none;padding:0;margin:0 0 1.5rem;text-align:left;background:var(--color-surface-secondary);border-radius:1rem;padding:1rem 1.25rem}.lose-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.9375rem;color:var(--color-text-primary)}.lose-list li span{flex:1}.modal-info-box{display:flex;align-items:flex-start;gap:.75rem;background:#3b82f61a;border-radius:.75rem;padding:1rem;margin-bottom:1.5rem;text-align:left}.modal-info-box .material-symbols-outlined{color:#3b82f6;font-size:1.25rem;flex-shrink:0}.modal-info-box p{font-size:.875rem;color:#1e40af;margin:0}.modal-actions{display:flex;flex-direction:column;gap:.75rem}.modal-btn-primary{width:100%;padding:1rem;font-size:1rem}.modal-btn-text{width:100%;padding:.75rem;color:var(--color-error);font-weight:500}.modal-btn-text:hover{background:#ef44440d}.high-contrast .plan-card{border:2px solid #000;box-shadow:none}.high-contrast .subscription-details-card,.high-contrast .upgrade-card,.high-contrast .cancel-warning-card,.high-contrast .action-btn.secondary{border:2px solid #000}.high-contrast .action-btn.danger{border:2px solid var(--color-error)}@media(prefers-reduced-motion:reduce){.status-dot,.modal-icon.sad{animation:none}.action-btn,.modal-card{transition:none}}.paywall-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.paywall-overlay.hidden{display:none}.paywall-backdrop{position:absolute;inset:0;background:#0e1b13b3;backdrop-filter:blur(8px)}.paywall-container{position:relative;width:100%;max-width:420px;max-height:90vh;background:#fff;border-radius:1.5rem;overflow:hidden;box-shadow:0 25px 50px -12px #00000059;animation:paywallSlideUp .4s cubic-bezier(.16,1,.3,1)}@keyframes paywallSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.paywall-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;background:var(--color-surface-secondary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s ease}.paywall-close:hover{background:var(--color-surface-tertiary);transform:rotate(90deg)}.paywall-close .material-symbols-outlined{font-size:1.25rem;color:var(--color-text-secondary)}.paywall-content{padding:1.5rem;display:flex;flex-direction:column;align-items:center;max-height:85vh;overflow-y:auto}.paywall-icon-wrapper{position:relative;width:80px;height:80px;margin-bottom:.5rem}.paywall-lock{position:relative;width:100%;height:100%;background:linear-gradient(135deg,#ff9045,#f97316);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 8px 25px #ff904566}.paywall-lock .material-symbols-outlined{font-size:40px;color:#fff}.paywall-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:radial-gradient(circle,rgba(255,144,69,.3) 0%,transparent 70%);animation:paywallPulse 2s ease-in-out infinite;z-index:1}@keyframes paywallPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.3}}.paywall-mascot{width:80px;height:80px;margin:0 auto .5rem;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #ff904533}.paywall-mascot .robot-svg,.paywall-mascot-svg{width:100%;height:100%;padding:.5rem;animation:mascotFloat 3s ease-in-out infinite}.paywall-mascot-svg .mascot-eye{transform-origin:center;animation:mascotBlink 4.5s ease-in-out infinite}.paywall-mascot-svg .mascot-antenna{transform-origin:center;animation:mascotPulse 2.4s ease-in-out infinite}@keyframes mascotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes mascotBlink{0%,92%,to{transform:scaleY(1)}94%{transform:scaleY(.1)}}@keyframes mascotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.paywall-text{text-align:center;margin-bottom:1.25rem}.paywall-title{font-size:1.5rem;font-weight:800;color:var(--color-text-primary);margin-bottom:.375rem}.paywall-desc{font-size:.9375rem;color:var(--color-text-secondary)}.paywall-level-preview{display:flex;align-items:center;gap:.875rem;width:100%;background:var(--color-surface-secondary);border-radius:1rem;padding:1rem 1.25rem;margin-bottom:1.25rem;border:2px dashed var(--color-border)}.preview-icon{font-size:1.5rem}.preview-info{display:flex;flex-direction:column;gap:.125rem}.preview-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.preview-name{font-size:.9375rem;font-weight:700;color:var(--color-text-primary)}.paywall-plans{width:100%;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.paywall-plan-option{position:relative;display:flex;align-items:center;gap:.875rem;width:100%;padding:1rem 1.25rem;background:#fff;border:2px solid var(--color-border);border-radius:1rem;cursor:pointer;transition:all .2s ease;text-align:left}.paywall-plan-option:hover{border-color:var(--color-accent-primary)}.paywall-plan-option.selected{border-color:var(--color-accent-primary);background:#ff90450d;box-shadow:0 0 0 3px #ff90451a}.plan-badge-save{position:absolute;top:-8px;right:12px;background:linear-gradient(135deg,#58cc02,#22c55e);color:#fff;font-size:.625rem;font-weight:700;padding:.25rem .5rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em}.plan-radio{width:22px;height:22px;border:2px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.paywall-plan-option.selected .plan-radio{border-color:var(--color-accent-primary);background:var(--color-accent-primary)}.plan-radio:after{content:"";width:8px;height:8px;background:#fff;border-radius:50%;opacity:0;transform:scale(0);transition:all .2s ease}.paywall-plan-option.selected .plan-radio:after{opacity:1;transform:scale(1)}.plan-info{display:flex;flex-direction:column;gap:.125rem;flex:1}.plan-name{font-size:.9375rem;font-weight:700;color:var(--color-text-primary)}.plan-price{font-size:1.125rem;font-weight:800;color:var(--color-text-primary)}.plan-price span{font-size:.75rem;font-weight:500;color:var(--color-text-muted)}.plan-savings{font-size:.75rem;color:var(--color-success);font-weight:600}.paywall-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#ff9045,#f97316);color:#fff;border:none;border-radius:1rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 25px #ff904559;margin-bottom:1rem}.paywall-cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px #ff904573}.paywall-cta:active{transform:translateY(0)}.paywall-cta svg{width:20px;height:20px}.paywall-features{list-style:none;padding:0;margin:0 0 1rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.paywall-features li{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-text-secondary)}.feature-check{color:var(--color-success);font-weight:700}.paywall-later{background:none;border:none;color:var(--color-text-muted);font-size:.875rem;font-weight:500;padding:.5rem 1rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.paywall-later:hover{color:var(--color-accent-primary)}.high-contrast .paywall-container{border:3px solid #000;box-shadow:none}.high-contrast .paywall-plan-option{border:2px solid #000}.high-contrast .paywall-plan-option.selected{border-color:#000;background:#000}.high-contrast .paywall-plan-option.selected .plan-name,.high-contrast .paywall-plan-option.selected .plan-price{color:#fff}@media(prefers-reduced-motion:reduce){.paywall-container,.paywall-mascot .robot-svg,.paywall-glow{animation:none}.paywall-close:hover{transform:none}}.paywall-fullscreen{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.paywall-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(#ff9045 15%,transparent 15%),radial-gradient(#ff9045 15%,transparent 15%);background-position:0 0,15px 15px;background-size:30px 30px;opacity:.03;pointer-events:none;z-index:0}.paywall-bg-glow{position:absolute;top:-40px;right:-40px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,144,69,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none;z-index:0}.paywall-header{position:relative;z-index:20;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.5rem}.paywall-close-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000000d;border:none;cursor:pointer;transition:all .2s ease}.paywall-close-btn:hover{background:#0000001a}.paywall-close-btn .material-symbols-outlined{font-size:1.5rem;color:var(--color-text-primary)}.paywall-premium-badge{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#ffd70033;border:1px solid rgba(255,215,0,.3);border-radius:50px}.paywall-premium-badge .material-symbols-outlined{font-size:.875rem;color:#b8860b}.paywall-premium-badge .material-symbols-outlined.filled{font-variation-settings:"FILL" 1}.paywall-premium-badge span:last-child{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-primary)}.paywall-main{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;padding:0 1.5rem;max-width:420px;margin:0 auto;width:100%;overflow-y:auto}.paywall-avatar-wrapper{position:relative;width:100%;display:flex;justify-content:center;margin-bottom:1.5rem}.paywall-avatar-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;height:180px;background:#fff;border-radius:50%;box-shadow:0 10px 40px #ff904526}.paywall-avatar{position:relative;z-index:10;width:160px;height:160px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:4px solid white;background:#ffedd5;overflow:hidden}.paywall-mascot-svg{width:100%;height:100%;padding:.75rem}.paywall-star{position:absolute;color:gold;z-index:11}.paywall-star.filled{font-variation-settings:"FILL" 1}.paywall-star-1{top:0;right:25%;font-size:1.5rem;animation:paywallStarPulse 2s ease-in-out infinite}.paywall-star-2{bottom:1rem;left:25%;font-size:1.25rem;animation:paywallStarBounce 2s ease-in-out infinite}@keyframes paywallStarPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}@keyframes paywallStarBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.paywall-title-section{text-align:center;margin-bottom:.75rem}.paywall-fullscreen .paywall-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem;line-height:1.3}.paywall-subtitle{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.paywall-benefits-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.paywall-benefits-compact{gap:.75rem;margin-bottom:1rem}.paywall-benefit{display:flex;align-items:center;gap:.75rem;padding:.25rem}.paywall-benefit-icon{flex-shrink:0;width:44px;height:44px;background:#ff90451a;border-radius:50%;display:flex;align-items:center;justify-content:center}.paywall-benefit-icon .material-symbols-outlined{font-size:1.25rem;color:var(--color-accent-primary)}.paywall-benefit-icon .material-symbols-outlined.filled{font-variation-settings:"FILL" 1}.paywall-benefit p{font-size:.875rem;font-weight:600;color:var(--color-text-primary);line-height:1.3;margin:0}.paywall-plans-new{width:100%;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.paywall-plan-card{position:relative;width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#fff;border:2px solid rgba(0,0,0,.05);border-radius:1rem;cursor:pointer;transition:all .2s ease;text-align:left}.paywall-plan-card:hover{border-color:#ff90454d}.paywall-plan-card.selected{border-color:var(--color-accent-primary);background:#ff90450d}.paywall-plan-card.featured{border-color:#0000000d;background:#fff;box-shadow:none}.paywall-plan-card.featured.selected{border-color:var(--color-accent-primary);background:#ff904514;box-shadow:0 10px 20px #ff904526}.plan-pill,.plan-save-badge{position:absolute;top:-10px;right:1rem;background:var(--color-accent-primary);color:#fff;font-size:.625rem;font-weight:700;padding:.25rem .75rem;border-radius:50px;text-transform:uppercase;letter-spacing:.03em}.plan-card-left{display:flex;align-items:center;gap:1rem}.plan-radio-new{width:24px;height:24px;border:2px solid rgba(0,0,0,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.paywall-plan-card.selected .plan-radio-new{border-color:var(--color-accent-primary)}.plan-radio-new:after{content:"";width:12px;height:12px;background:var(--color-accent-primary);border-radius:50%;opacity:0;transform:scale(0);transition:all .2s ease}.paywall-plan-card.selected .plan-radio-new:after{opacity:1;transform:scale(1)}.plan-details h3{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .125rem}.plan-details p{font-size:.75rem;color:var(--color-text-secondary);margin:0}.plan-card-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.plan-amount-old{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-decoration:line-through}.paywall-plan-card:not(.selected) .plan-amount-old,.paywall-plan-card:not(.selected) .plan-period-muted{display:none}.plan-amount{display:block;font-size:1.125rem;font-weight:700;color:var(--color-text-primary);line-height:1}.plan-period{display:block;font-size:.625rem;font-weight:700;text-transform:uppercase;color:var(--color-text-muted);margin-top:.125rem}.plan-period-muted{display:block;font-size:.625rem;font-weight:600;color:var(--color-text-muted)}.paywall-footer{position:relative;z-index:20;width:100%;padding:1rem 1.5rem 2rem;max-width:420px;margin:0 auto}.paywall-cta-btn{width:100%;height:56px;background:var(--color-accent-primary);color:var(--color-text-primary);border:none;border-radius:50px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 25px #ff904559}.paywall-cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #ff904573}.paywall-cta-btn:active{transform:translateY(0) scale(.98)}.paywall-skip-btn{width:100%;padding:.75rem;background:none;border:none;color:var(--color-text-muted);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:color .2s ease}.paywall-skip-btn:hover{color:var(--color-text-secondary)}.paywall-terms{font-size:.625rem;color:var(--color-text-muted);text-align:center;margin:.5rem 0 0;padding:0 1rem;line-height:1.4}@media(max-height:700px){.paywall-avatar-bg{width:140px;height:140px}.paywall-avatar{width:120px;height:120px}.paywall-avatar-wrapper,.paywall-title-section{margin-bottom:1rem}.paywall-benefits-grid{margin-bottom:1rem;gap:.75rem}.paywall-benefit-icon{width:36px;height:36px}.paywall-benefit-icon .material-symbols-outlined{font-size:1rem}.paywall-benefit p{font-size:.8125rem}}.paywall-compact{overflow:hidden;justify-content:flex-start;padding-top:.5rem}.paywall-compact .paywall-title-section{margin-bottom:1rem}.paywall-compact .paywall-title{font-size:1.375rem;margin-bottom:.25rem}.paywall-compact .paywall-subtitle{font-size:.875rem}.paywall-compact .paywall-benefits-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.paywall-compact .paywall-benefit{flex-direction:column;text-align:center;gap:.375rem;padding:0}.paywall-compact .paywall-benefit-icon{width:40px;height:40px}.paywall-compact .paywall-benefit-icon .material-symbols-outlined{font-size:1.125rem}.paywall-compact .paywall-benefit p{font-size:.6875rem;line-height:1.2}.paywall-compact .paywall-plans-new{gap:.5rem;margin-bottom:.75rem}.paywall-compact .paywall-plan-card{padding:.75rem 1rem;border-radius:.875rem}.paywall-compact .plan-card-left{gap:.75rem}.paywall-compact .plan-radio-new{width:20px;height:20px}.paywall-compact .plan-radio-new:after{width:10px;height:10px}.paywall-compact .plan-details h3{font-size:1rem}.paywall-compact .plan-details p{font-size:.6875rem}.paywall-compact .plan-amount{font-size:1rem}.paywall-compact .plan-period{font-size:.5625rem}.paywall-compact .plan-save-badge{top:-8px;font-size:.5625rem;padding:.1875rem .5rem}.paywall-compact~.paywall-footer{padding:.75rem 1.5rem 1.5rem}.paywall-compact~.paywall-footer .paywall-cta-btn{height:52px;font-size:.9375rem}.paywall-compact~.paywall-footer .paywall-skip-btn{padding:.5rem;font-size:.8125rem}.paywall-compact~.paywall-footer .paywall-terms{font-size:.5625rem;margin-top:.375rem}.coupon-popup{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0e1b1380;backdrop-filter:blur(6px);animation:couponFadeIn .3s ease}.coupon-popup.hidden{display:none}@keyframes couponFadeIn{0%{opacity:0}to{opacity:1}}.coupon-popup-card{background:#fff;border-radius:1.25rem;padding:1.75rem 1.5rem;width:100%;max-width:300px;text-align:center;box-shadow:0 20px 50px #00000040;animation:couponBounceIn .5s cubic-bezier(.34,1.56,.64,1)}@keyframes couponBounceIn{0%{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.coupon-confetti{font-size:2.5rem;margin-bottom:.5rem;animation:confettiPop .6s ease .2s both}@keyframes confettiPop{0%{transform:scale(0) rotate(-15deg)}60%{transform:scale(1.3) rotate(5deg)}to{transform:scale(1) rotate(0)}}.coupon-popup-title{font-size:1.25rem;font-weight:800;color:#0e1b13;margin:0 0 .25rem}.coupon-popup-subtitle{font-size:.875rem;color:#6b7280;margin:0 0 1rem}.coupon-popup-subtitle strong{color:#ff9045;font-weight:700}.coupon-code-box{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px dashed #FF9045;border-radius:.875rem;padding:.75rem 1rem;margin-bottom:1.25rem}.coupon-code-label{font-size:.6875rem;font-weight:600;color:#b45309;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.375rem}.coupon-code-value{display:flex;align-items:center;justify-content:center;gap:.5rem}.coupon-code-value span:first-child{font-size:1.5rem;font-weight:900;color:#0e1b13;letter-spacing:.1em;font-family:Courier New,monospace}.coupon-code-tag{background:linear-gradient(135deg,#ff9045,#f97316);color:#fff;font-size:.6875rem;font-weight:700;padding:.2rem .5rem;border-radius:50px}.coupon-copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1.25rem;background:linear-gradient(135deg,#ff9045,#f97316);color:#fff;border:none;border-radius:.875rem;font-size:.9375rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #ff904559}.coupon-copy-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff904573}.coupon-copy-btn:active{transform:translateY(0)}.coupon-copy-btn .material-symbols-outlined{font-size:1.125rem}.coupon-copy-btn.copied{background:linear-gradient(135deg,#58cc02,#22c55e);box-shadow:0 4px 12px #58cc0259}.dark-mode .coupon-popup-card{background:#1a2e22}.dark-mode .coupon-popup-title{color:#fff}.dark-mode .coupon-popup-subtitle{color:#9ca3af}.dark-mode .coupon-code-box{background:linear-gradient(135deg,#ff90451a,#ff90450d);border-color:#ff904566}.dark-mode .coupon-code-value span:first-child{color:#fff}.locked-world-overlay{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:1.5rem}.locked-world-overlay.hidden{display:none}.locked-world-backdrop{position:absolute;inset:0;background:#0e1b1399;backdrop-filter:blur(6px)}.locked-world-card{position:relative;width:100%;max-width:340px;background:#fff;border-radius:1.5rem;padding:2rem 1.5rem;box-shadow:0 25px 50px -12px #00000059;animation:lockedWorldBounce .4s cubic-bezier(.34,1.56,.64,1);text-align:center}@keyframes lockedWorldBounce{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.locked-world-mascot{width:100px;height:100px;margin:0 auto 1rem}.locked-mascot-svg{width:100%;height:100%;animation:lockedMascotSway 3s ease-in-out infinite}@keyframes lockedMascotSway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.locked-world-content{margin-bottom:1.5rem}.locked-world-title{font-size:1.375rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .375rem}.locked-world-desc{font-size:.9375rem;color:var(--color-text-secondary);margin:0 0 1.25rem}.locked-world-preview{display:flex;align-items:center;gap:.875rem;background:var(--color-surface-secondary);border-radius:1rem;padding:.875rem 1rem;border:2px dashed var(--color-border)}.locked-world-icon{font-size:2rem}.locked-world-info{display:flex;flex-direction:column;text-align:left;gap:.125rem}.locked-world-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.locked-world-name{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.locked-world-actions{display:flex;flex-direction:column;gap:.75rem}.locked-world-btn{width:100%;padding:.875rem 1.25rem;border-radius:50px;font-size:.9375rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;border:none}.locked-world-btn.primary{background:var(--color-accent-primary);color:var(--color-text-primary);box-shadow:0 6px 20px #ff904559}.locked-world-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff904573}.locked-world-btn.primary:active{transform:translateY(0) scale(.98)}.locked-world-btn.primary .material-symbols-outlined{font-size:1.125rem}.locked-world-btn.primary .material-symbols-outlined.filled{font-variation-settings:"FILL" 1}.locked-world-btn.secondary{background:transparent;color:var(--color-text-secondary);padding:.625rem 1rem}.locked-world-btn.secondary:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.high-contrast .locked-world-card{border:3px solid #000}.high-contrast .locked-world-btn.primary{background:#000;color:#fff}@media(prefers-reduced-motion:reduce){.locked-world-card,.locked-mascot-svg{animation:none}}.subscription-expired{background:linear-gradient(180deg,#f8faf9,#f3f4f6);min-height:100vh}.expired-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1.5rem;max-width:480px;margin:0 auto;text-align:center}.expired-icon-wrapper{position:relative;width:100px;height:100px;margin-bottom:1rem}.expired-lock{position:relative;width:100%;height:100%;background:linear-gradient(135deg,#9ca3af,#6b7280);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 8px 25px #6b72804d}.expired-lock .material-symbols-outlined{font-size:48px;color:#fff}.expired-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border:3px dashed #D1D5DB;border-radius:50%;animation:expiredRotate 10s linear infinite}@keyframes expiredRotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.expired-mascot{width:120px;height:120px;margin-bottom:1.5rem}.expired-mascot .robot-svg{width:100%;height:100%;filter:grayscale(.3);animation:expiredFloat 4s ease-in-out infinite}@keyframes expiredFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.expired-text{margin-bottom:1.5rem}.expired-badge{display:inline-block;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:.375rem 1rem;border-radius:50px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;animation:expiredPulse 2s ease-in-out infinite}@keyframes expiredPulse{0%,to{opacity:1}50%{opacity:.7}}.expired-title{font-size:1.625rem;font-weight:800;color:var(--color-text-primary);margin-bottom:.5rem;line-height:1.2}.expired-subtitle{font-size:1.125rem;color:var(--color-text-secondary)}.expired-benefits-lost{background:#fff;border-radius:1.25rem;padding:1.25rem;width:100%;margin-bottom:1rem;box-shadow:var(--shadow-sm);border:1px solid #FEE2E2}.expired-benefits-lost h3{font-size:.9375rem;font-weight:600;color:#dc2626;margin-bottom:.75rem}.lost-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.lost-list li{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-text-secondary)}.lost-list li span{font-size:.875rem}.expired-kept{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:1rem;padding:1rem 1.25rem;width:100%;margin-bottom:1.25rem;display:flex;align-items:center;gap:.875rem;text-align:left;border:1px solid #BBF7D0}.kept-icon{font-size:1.5rem;flex-shrink:0}.expired-kept p{font-size:.875rem;color:#166534;margin:0;line-height:1.4}.expired-kept strong{font-weight:700}.expired-offer{background:#fff;border:2px dashed var(--color-accent-primary);border-radius:1rem;padding:1rem 1.5rem;margin-bottom:1.25rem;width:100%}.offer-text{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:.25rem}.offer-price{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.offer-amount{font-size:2rem;font-weight:800;color:var(--color-accent-primary)}.offer-period{font-size:1rem;color:var(--color-text-muted)}.expired-actions{width:100%;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.expired-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.25rem;border-radius:1rem;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;width:100%}.expired-btn svg{width:20px;height:20px}.expired-btn.primary{background:linear-gradient(135deg,#ff9045,#f97316);color:#fff;box-shadow:0 8px 25px #ff90454d}.expired-btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #ff904566}.expired-btn.secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.expired-btn.secondary:hover{background:var(--color-surface-secondary)}.expired-footer{font-size:.875rem;color:var(--color-text-muted)}.expired-help-link{color:var(--color-accent-primary);font-weight:600;text-decoration:none}.expired-help-link:hover{text-decoration:underline}.high-contrast .expired-benefits-lost,.high-contrast .expired-offer{border:2px solid #000}.high-contrast .expired-kept{border:2px solid #166534}@media(prefers-reduced-motion:reduce){.expired-ring,.expired-mascot .robot-svg,.expired-badge{animation:none}}.math-build-game-container{flex:1;display:flex;flex-direction:column;padding:1rem;max-width:var(--lesson-layout-max-width, 30rem);margin:0 auto;width:100%;gap:1rem}.math-build-content{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.math-mascot-row{display:flex;align-items:center;gap:.75rem;width:100%}.math-bubble{flex:1}.math-operation-container{display:flex;gap:2rem;align-items:center;justify-content:center;background:#fff;padding:1.5rem 2rem;border-radius:16px;box-shadow:0 4px 12px #00000014}.math-display-side{display:flex;flex-direction:column;align-items:flex-end;font-family:Courier New,monospace;font-size:2rem;font-weight:700;color:#1e293b;gap:.25rem}.math-operator-row{display:flex;gap:.5rem;align-items:center}.math-operator{color:#ff9045;font-weight:800}.math-line{width:100%;height:3px;background:#1e293b;margin:.25rem 0}.math-result{color:#16a34a;font-size:2.25rem}.math-braille-side{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.math-braille-row{display:flex;gap:4px}.math-braille-line{width:100%;height:2px;background:#94a3b8;margin:.25rem 0}.math-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:3px;padding:4px;background:#f1f5f9;border-radius:6px;width:28px;height:40px}.math-braille-cell.placeholder{background:#fef3c7;border:2px dashed #f59e0b}.math-dot{width:8px;height:8px;border-radius:50%;background:#e2e8f0}.math-dot.active{background:#1e293b}.math-build-input-area{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.math-build-hint{font-size:1rem;color:#64748b;margin:0}.math-digit-indicator{font-size:2.5rem;font-weight:800;color:#ff9045;background:linear-gradient(135deg,#fff7ed,#ffedd5);width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:12px;box-shadow:0 4px 8px #ff904533}#math-braille-input{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:8px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:12px;border-radius:12px;width:120px;height:160px}#math-braille-input .dot-btn{width:44px;height:44px;border-radius:50%;border:2px solid #cbd5e1;background:#fff;font-size:1rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s ease}#math-braille-input .dot-btn:hover{border-color:#ff9045;background:#fff7ed}#math-braille-input .dot-btn.filled{background:#ff9045;border-color:#ff9045;color:#fff}.dark-mode .math-operation-container{background:#1e293b}.dark-mode .math-display-side{color:#fff}.dark-mode .math-line{background:#fff}.dark-mode .math-braille-cell{background:#334155}.dark-mode .math-dot{background:#475569}.dark-mode .math-dot.active{background:#ff9045}.dark-mode #math-braille-input{background:linear-gradient(135deg,#1e293b,#0f172a)}.dark-mode #math-braille-input .dot-btn{background:#334155;border-color:#475569;color:#94a3b8}.dark-mode #math-braille-input .dot-btn.filled{background:#ff9045;border-color:#ff9045;color:#fff}.math-options-container{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;width:100%;padding:.5rem}.math-option-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#fff;border:2px solid #e2e8f0;border-radius:16px;cursor:pointer;transition:all .2s ease;min-width:90px;box-shadow:0 2px 8px #0000000f}.math-option-btn:hover{border-color:#ff9045;background:#fff7ed;transform:translateY(-2px);box-shadow:0 6px 16px #ff904533}.math-option-btn:active{transform:translateY(0)}.math-option-btn.selected{border-color:#ff9045;background:#fff7ed;box-shadow:0 0 0 3px #ff90454d}.option-braille{display:flex;gap:2px;padding:.5rem;background:#f8fafc;border-radius:8px}.mini-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:2px;padding:3px;width:20px;height:28px}.mini-dot{width:5px;height:5px;border-radius:50%;background:#e2e8f0}.mini-dot.active{background:#1e293b}.option-label{font-size:.875rem;font-weight:600;color:#64748b}.math-option-btn.number-option{min-width:80px;min-height:80px;justify-content:center}.option-number{font-size:2rem;font-weight:800;color:#1e293b}.math-verify-btn{padding:.875rem 2rem;background:linear-gradient(135deg,#ff9045,#f97316);color:#fff;border:none;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #ff90454d;margin-top:.5rem}.math-verify-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff904566}.math-verify-btn:active{transform:translateY(0)}.math-result-row{display:flex;gap:.5rem;align-items:center}.math-braille-side{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.math-braille-row{display:flex;gap:4px;justify-content:flex-end}.dark-mode .math-option-btn{background:#1e293b;border-color:#334155}.dark-mode .math-option-btn:hover{border-color:#ff9045;background:#2d3748}.dark-mode .option-braille{background:#334155}.dark-mode .mini-dot{background:#475569}.dark-mode .mini-dot.active{background:#ff9045}.dark-mode .option-label{color:#94a3b8}.dark-mode .option-number{color:#fff}.large-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:4px;padding:6px;width:36px;height:52px}.large-dot{width:10px;height:10px;border-radius:50%;background:#e2e8f0}.large-dot.active{background:#1e293b}.option-braille.large{padding:.75rem;gap:4px}.math-option-btn.braille-option{padding:1rem 1.25rem}.math-display-side.hidden{display:none}.math-operation-container:has(.math-braille-side.solo-mode){padding:2rem 2.5rem}.math-braille-side.solo-mode{transform:scale(1.4);transform-origin:center}.math-braille-cell.spacer{visibility:hidden}.dark-mode .large-dot{background:#475569}.dark-mode .large-dot.active{background:#ff9045}.math-inline-feedback{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;border-radius:12px;font-size:1.125rem;font-weight:600;animation:feedbackPop .3s ease-out}.math-inline-feedback.correct{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.math-inline-feedback.incorrect{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.math-inline-feedback .feedback-icon{font-size:1.5rem;font-weight:700}@keyframes feedbackPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dark-mode .math-inline-feedback.correct{background:linear-gradient(135deg,#14532d,#166534);color:#bbf7d0}.dark-mode .math-inline-feedback.incorrect{background:linear-gradient(135deg,#7f1d1d,#991b1b);color:#fecaca}.feedback-braille-answer{display:flex;flex-direction:column;align-items:center;gap:.5rem}.feedback-braille-answer>span{font-size:.875rem;font-weight:600}.feedback-braille-cell{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:6px;padding:10px;background:#fff;border-radius:10px;width:60px;height:80px}.feedback-dot{width:16px;height:16px;border-radius:50%;background:#e2e8f0}.feedback-dot.active{background:#16a34a}.feedback-dots-label{font-size:.75rem;color:#64748b}.math-option-btn.correct-answer{border-color:#16a34a!important;background:#dcfce7!important;box-shadow:0 0 0 3px #16a34a4d!important}.dark-mode .math-option-btn.correct-answer{background:#14532d!important;border-color:#22c55e!important}.dark-mode .feedback-braille-cell{background:#334155}.dark-mode .feedback-dot{background:#475569}.dark-mode .feedback-dot.active{background:#22c55e}.section-header.games-header,.section-header.tools-header{position:sticky!important;top:0!important;z-index:40!important;padding-left:var(--screen-padding)!important;padding-right:var(--screen-padding)!important;padding-bottom:var(--header-padding-bottom)!important;padding-top:calc(var(--header-padding-top) + env(safe-area-inset-top))!important;background:#f6f8f7f2!important;backdrop-filter:blur(10px)!important;border-bottom:1px solid rgba(0,0,0,.05)!important;border-radius:0!important;box-shadow:0 6px 16px #0000000f!important}.section-header.worlds-header-new{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:40!important;padding-left:var(--screen-padding)!important;padding-right:var(--screen-padding)!important;padding-bottom:var(--header-padding-bottom)!important;padding-top:calc(var(--header-padding-top) + env(safe-area-inset-top))!important;background:#f6f8f7f2!important;backdrop-filter:blur(10px)!important;border-bottom:1px solid rgba(0,0,0,.05)!important;border-radius:0!important;box-shadow:0 6px 16px #0000000f!important;max-width:100%!important}.no-lives-modal-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-end;justify-content:center}.no-lives-modal-overlay.hidden{display:none}.no-lives-modal-backdrop{position:absolute;inset:0;background:#0e1b1380;backdrop-filter:blur(4px)}.no-lives-modal-content{position:relative;width:100%;max-height:80vh;background:#fff;border-radius:32px 32px 0 0;padding:24px 32px 40px;display:flex;flex-direction:column;align-items:center;animation:slideUpModal .4s cubic-bezier(.16,1,.3,1);box-shadow:0 -8px 32px #00000026}@keyframes slideUpModal{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.no-lives-close-btn{position:absolute;top:16px;right:24px;background:none;border:none;color:#94a3b8;font-size:1rem;font-weight:600;cursor:pointer;padding:8px 12px;transition:color .2s}.no-lives-close-btn:hover{color:#64748b}.no-lives-mascot{width:130px;height:130px;margin-bottom:12px;animation:mascotBounce 2s ease-in-out infinite}.no-lives-mascot-svg{width:100%;height:100%;filter:drop-shadow(0 6px 16px rgba(0,0,0,.1))}@keyframes mascotBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.no-lives-section{display:flex;flex-direction:column;align-items:center;width:100%}.no-lives-section.hidden{display:none}.no-lives-title{font-size:1.125rem;font-weight:700;color:#0e1b13;margin:0 0 12px;text-align:center}.no-lives-price{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px}.no-lives-price-amount{font-size:3.5rem;font-weight:800;color:#ff9045;line-height:1}.no-lives-price-icon-emoji{font-size:2.5rem;animation:pulseIcon 1.5s ease-in-out infinite}@keyframes pulseIcon{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.no-lives-unlock-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;background:linear-gradient(135deg,#ff9045,#f97316);color:#fff;border:none;border-radius:16px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:12px;box-shadow:0 4px 16px #ff904559}.no-lives-unlock-btn:hover{background:linear-gradient(135deg,#f97316,#ea580c);transform:scale(1.02)}.no-lives-unlock-btn:active{transform:scale(.98)}.no-lives-btn-icon{font-size:1.25rem}.no-lives-timer-display{display:flex;align-items:center;gap:12px;background:#ffedd5;padding:16px 24px;border-radius:16px;margin-bottom:20px;width:100%;justify-content:center}.no-lives-timer-icon{font-size:2rem;color:#ff9045}.no-lives-timer-text{display:flex;flex-direction:column;gap:2px}.no-lives-timer-label{font-size:.8125rem;font-weight:500;color:#64748b}.no-lives-timer-countdown{font-size:1.5rem;font-weight:800;color:#ff9045;font-variant-numeric:tabular-nums}.no-lives-premium-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;background:linear-gradient(135deg,#b45309,#d97706,#fbbf24);color:#fff;border:none;border-radius:16px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:16px;box-shadow:0 4px 16px #b453094d;position:relative;overflow:hidden}.no-lives-premium-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}@keyframes shimmer{to{left:100%}}.no-lives-premium-btn:hover{transform:scale(1.02);box-shadow:0 6px 20px #b4530966}.no-lives-premium-btn:active{transform:scale(.98)}.no-lives-premium-btn .material-symbols-outlined{font-size:1.25rem}.no-lives-exit-link{background:none;border:none;color:#94a3b8;font-size:.9375rem;font-weight:500;cursor:pointer;padding:8px 16px;transition:color .2s}.no-lives-exit-link:hover{color:#64748b}.dark-mode .no-lives-modal-content{background:#1e293b}.dark-mode .no-lives-title{color:#fff}.dark-mode .no-lives-close-btn{color:#64748b}.dark-mode .no-lives-close-btn:hover{color:#94a3b8}.dark-mode .no-lives-timer-display{background:#ff90451a}.dark-mode .no-lives-timer-label{color:#94a3b8}.dark-mode .no-lives-exit-link{color:#ffffff80}.dark-mode .no-lives-exit-link:hover{color:#fffc}
