:root{--primary: #10b981;--primary-hover: #059669;--primary-light: #d1fae5;--accent: #63069A;--accent-hover: #7c22b8;--accent-light: #f3eafa;--accent-muted: #b07cd8;--success: #10b981;--success-light: #d1fae5;--success-dark: #065f46;--error: #e53e3e;--error-light: #fee2e2;--error-dark: #991b1b;--warning: #d97706;--warning-hover: #b45309;--warning-light: #fef3c7;--warning-dark: #78350f;--text-primary: #1e1232;--text-secondary: #4a3f5c;--text-muted: #9590a8;--text-inverse: #ffffff;--text-disabled: #c4bdd4;--bg-body: #faf8fc;--bg-surface: #ffffff;--bg-surface-alt: #f4f1f8;--border-color: #e4dff0;--border-light: #eeebf4;--shadow-sm: 0 2px 4px rgba(99, 6, 154, .07);--shadow-md: 0 4px 12px rgba(99, 6, 154, .11);--shadow-lg: 0 10px 25px rgba(99, 6, 154, .16);--max-width: 1100px;--border-radius: 12px;--border-radius-lg: 16px;--border-radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: 1rem;--font-size-lg: 1.1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--z-sticky: 10;--z-header: 100;--z-overlay: 1000;--z-modal: 10000;--primary-color: var(--primary);--text-color: var(--text-secondary);--heading-color: var(--text-primary);--bg-light: var(--bg-body);--bg-white: var(--bg-surface);--accent-color: var(--accent-light)}*{box-sizing:border-box}body{margin:0;padding:0;min-width:320px;min-height:100dvh;font-family:var(--font-family);line-height:1.6;font-weight:400;color:var(--text-secondary);background-color:var(--bg-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{margin-top:0}button,input,textarea{font-family:inherit}@media (max-width: 768px){*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}button,a,[role=button]{min-height:44px;min-width:44px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}}button:active,.nav-link:active,.option-btn:active,.vocab-option:active,.level-btn:active,.tab-btn:active,.study-tab-btn:active,.bottom-nav-item:active,.leaderboard-entry:active,.profile-btn:active{transform:scale(.97);transition:transform .1s ease}@media (hover: hover){.option-btn:hover,.vocab-option:hover,.level-btn:hover,.tab-btn:hover,.study-tab-btn:not(.active):hover,.nav-link:hover{transition:all .15s ease}}@media (hover: none){.option-btn:hover,.vocab-option:hover,.modern-card:hover{transform:none;box-shadow:inherit}}.study-content-area,.tab-content{animation:contentFadeIn .2s ease-out}@keyframes contentFadeIn{0%{opacity:.6}to{opacity:1}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--text-color);line-height:1.6;background-color:var(--bg-light)}img{max-width:100%;display:block}h1,h2,h3,h4{color:var(--heading-color);font-weight:700;margin-bottom:1rem}p{font-size:1.1rem}a{text-decoration:none;color:inherit}ul{list-style:none}.container{width:90%;max-width:var(--max-width);margin:0 auto;padding:0 1rem}.section{padding:4rem 0}.text-center{text-align:center}.text-left{text-align:left}.grid-2,.grid-3{display:grid;grid-template-columns:1fr;gap:2rem}.items-center{align-items:center}@media (min-width: 768px){.grid-2{grid-template-columns:1fr 1fr}.grid-2>:last-child:nth-child(odd){grid-column:1 / -1;max-width:50%;margin-inline:auto}.grid-3{grid-template-columns:repeat(3,1fr)}}.btn{display:inline-block;padding:.8rem 1.5rem;border-radius:50px;font-weight:600;transition:all .3s ease;cursor:pointer;text-align:center}.btn-primary{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 10px #25d3664d}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 15px #25d36666}.btn-sm{font-size:.9rem;padding:.6rem 1.2rem}.btn-lg{font-size:1.2rem;padding:1rem 2.5rem;width:100%;max-width:400px}.btn-outline{background:transparent;color:var(--text-color);border:1px solid #ddd}.btn-outline:hover{border-color:#bbb}.header{background-color:var(--bg-white);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header-container{display:flex;justify-content:center;align-items:center}.logo-wrapper{display:flex;align-items:center;justify-content:center}.logo-wrapper p{font-size:1.2rem;font-weight:700}.hero{padding:3rem 0 2rem;text-align:center;background-image:url(/img/fundo.webp);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.hero-container{display:flex;flex-direction:column-reverse;justify-content:center;align-items:center;gap:2rem;position:relative;z-index:1}.hero-image{width:100%;max-width:400px}.hero-image img{width:100%;height:auto}.hero-content{text-align:center;width:100%}.hero h1{font-size:2rem;line-height:1.2;margin-bottom:1rem;color:#0d0820;text-shadow:none}.text-highlight{color:#63069a;text-shadow:none}.home-hero-social{font-size:.88rem;color:#2d1050;margin:.75rem 0 1.5rem;display:flex;align-items:center;gap:.4rem;justify-content:center;text-shadow:none}.home-hero-social svg{color:#63069a}@media (min-width: 768px){.home-hero-social{justify-content:flex-start}}@media (max-width: 767px){.home-page{padding-bottom:90px}}.hero .lead{font-size:1.1rem;max-width:100%;margin-left:auto;margin-right:auto;color:#1a0530;text-shadow:none}.hero .lead strong{color:#0d0820;font-weight:700;text-shadow:none}@media (min-width: 768px){.hero{padding:6rem 0 4rem;text-align:left}.hero-container{flex-direction:row;justify-content:space-around;gap:0}.hero-content{text-align:left;width:50%}.hero h1{font-size:3.5rem;margin-bottom:1.5rem}.hero .lead{font-size:1.25rem;max-width:700px;margin-left:0;margin-right:0}.hero-image{width:auto;max-width:none}}.section-fluxo{background-color:var(--bg-white)}.fluxo-wrapper{margin-top:2rem;background:#fff;padding:1rem;border-radius:var(--border-radius)}.fluxo-img{width:100%;height:auto;border-radius:8px}.section-problem{background-color:#e8f5e9;position:relative;overflow:hidden}.section-tag{display:inline-flex;align-items:center;gap:.5rem;background-color:#dcfce7;color:#15803d;padding:.4rem 1rem;border-radius:50px;font-size:.85rem;font-weight:700;text-transform:uppercase;margin-bottom:1rem;letter-spacing:.5px}.problem-text{color:#555;margin-bottom:1.5rem;line-height:1.7}.highlight-card{background-color:#fff;padding:2.5rem;border-radius:20px;box-shadow:var(--shadow-lg);position:relative;border:1px solid rgba(0,0,0,.05)}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.icon-wrapper{width:50px;height:50px;background-color:var(--accent-color);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:1.5rem}.highlight-card h3{margin-bottom:0;font-size:1.4rem}.modern-check-list{display:flex;flex-direction:column;gap:1.2rem}.modern-check-list li{display:flex;align-items:flex-start;gap:1rem;font-size:1.05rem;color:#444}.check-icon{color:var(--primary-color);font-size:1.2rem;margin-top:3px;flex-shrink:0}.section-features{background-color:var(--bg-white);padding-top:5rem;padding-bottom:5rem}.subtitle-badge{display:inline-block;font-size:.8rem;font-weight:700;color:#15803d;background-color:#dcfce7;padding:.3rem .8rem;border-radius:4px;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.section-header .subtitle{color:#666;max-width:600px;margin:0 auto}.modern-card{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:var(--shadow-sm);transition:all .3s ease;border:1px solid #f0f0f0;text-align:center;display:flex;flex-direction:column;align-items:center}@media (min-width: 768px){.modern-card{padding:2.5rem 2rem}}.modern-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent}.card-icon-wrapper{width:70px;height:70px;background-color:#f0fdf4;color:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:1.5rem;transition:transform .3s ease}.modern-card:hover .card-icon-wrapper{transform:scale(1.1);background-color:var(--primary-color);color:#fff}.modern-card h3{font-size:1.25rem;margin-bottom:1rem}.modern-card p{font-size:1rem;color:var(--text-color);line-height:1.6}.feature-cards .modern-card{text-align:left;align-items:stretch;height:100%}.feature-cards .modern-card>div:last-child{flex:1;min-width:0}.feature-cards .modern-card h3{margin-bottom:.35rem;line-height:1.3}.feature-cards .modern-card p{margin:0;line-height:1.5}@media (min-width: 768px){.feature-cards.grid-2>:last-child:nth-child(odd){grid-column:1 / -1;max-width:none;margin-inline:0}}.section-audience{background-color:var(--bg-light)}.audience-group{background:#fff;padding:1rem;border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.audience-group h3{border-bottom:2px solid #eee;padding-bottom:1rem;margin-bottom:1.5rem}.audience-group ul li{margin-bottom:.8rem;padding-left:1.5rem;position:relative}.audience-group ul li:before{content:"•";position:absolute;left:0;color:var(--primary-color);font-weight:700}.section-cta-final{background:#e8f5e9;color:var(--heading-color);padding:5rem 0}.section-cta-final h2{color:var(--heading-color)}.section-cta-final p{color:var(--text-color);margin-bottom:2rem}.section-speakyroo{background-color:var(--bg-white)}.mascot-badges{display:flex;flex-wrap:wrap;gap:.75rem}.mascot-badges span{background:#f0fdf4;color:#1f7a3c;padding:.5rem 1rem;border-radius:999px;font-size:.95rem;font-weight:600}.mascot-stack{position:relative;display:flex;justify-content:center;align-items:center;min-height:280px}.mascot-main{max-width:260px;filter:drop-shadow(0 14px 24px rgba(0,0,0,.12))}.mascot-secondary{position:absolute;right:0;bottom:-20px;width:180px;transform:rotate(6deg);filter:drop-shadow(0 10px 18px rgba(0,0,0,.15))}@media (max-width: 768px){.mascot-stack{margin-top:2rem}.mascot-secondary{position:static;transform:none;margin-top:1.5rem}}.auth-page{background:linear-gradient(180deg,#fff,#eefcf4);padding:4rem 0 5rem}.auth-container{display:grid;gap:2.5rem;align-items:center}.auth-hero{display:flex;flex-direction:column;gap:1rem}.auth-badge{background:#e8f5e9;color:#1f7a3c;padding:.4rem .8rem;border-radius:999px;font-weight:700;font-size:.85rem;width:fit-content}.auth-hero h1{font-size:2.2rem;line-height:1.2}.auth-mascot{width:min(300px,80%);margin-top:1.5rem;display:none}.auth-card{background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);padding:2.5rem}.auth-switch{display:flex;gap:.5rem;background:#f3f4f6;padding:.4rem;border-radius:999px}.auth-switch button{flex:1;border:none;background:transparent;padding:.6rem 1rem;border-radius:999px;font-weight:600;cursor:pointer;color:#555}.auth-switch button.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--text-color)}.auth-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.auth-form label{display:flex;flex-direction:column;gap:.4rem;font-weight:600;color:#444}.auth-form input{padding:.8rem 1rem;border-radius:12px;border:1px solid #e0e0e0;background:#fafafa}.auth-form input:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 3px #25d36626}.auth-error{background:#fdecea;color:#c62828;padding:.8rem 1rem;border-radius:12px;font-size:.95rem}.auth-submit{width:100%;margin-top:.5rem}.auth-hint{margin-top:1.5rem;font-size:.9rem;color:#666}.auth-lp-bridge{text-align:center;margin-bottom:.75rem;padding:.75rem;background:#f0fdf4;border-radius:10px}.auth-bridge-headline{font-size:1.1rem;font-weight:700;color:var(--text-primary, #1a1a2e);margin:0 0 .25rem}.auth-bridge-sub{font-size:.88rem;color:var(--text-secondary, #555);margin:0}.auth-forgot-link{background:none;border:none;color:var(--primary-color, #25d366);font-size:.9rem;cursor:pointer;padding:0;text-align:right;width:100%;margin-top:-.25rem}.auth-forgot-link:hover{text-decoration:underline}.auth-reset-title{font-size:1.3rem;font-weight:700;color:var(--text-primary, #1a1a2e);margin:0 0 .5rem;text-align:center}.auth-reset-desc{font-size:.95rem;color:var(--text-secondary, #555);text-align:center;margin-bottom:1.5rem}.auth-reset-success{text-align:center;padding:1.5rem 0}.auth-reset-success p{font-size:.95rem;color:var(--text-secondary, #555);margin:0 0 .75rem}.auth-reset-success p:first-child{font-size:1.05rem;color:var(--text-primary, #1a1a2e)}.auth-back-link{background:none;border:none;color:var(--primary-color, #25d366);font-size:.95rem;font-weight:600;cursor:pointer;padding:0;margin-top:1rem;display:inline-block}.auth-back-link:hover{text-decoration:underline}.auth-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bg-surface, #fff);border:1px solid var(--border-color, #e0e0e0);color:var(--text-secondary, #555);font-weight:600;padding:.85rem 1.5rem;border-radius:var(--border-radius-full, 50px);font-size:1rem;margin-top:1.5rem;cursor:pointer;transition:all .2s ease}.auth-google-btn:hover{background:var(--bg-surface-alt, #f5f5f5);border-color:#ccc}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{margin:1.5rem 0;text-align:center;position:relative}.auth-divider hr{border:0;border-top:1px solid var(--border-light, #eee)}.auth-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-surface, #fff);padding:0 10px;color:var(--text-muted, #999);font-size:.85rem}@media (min-width: 900px){.auth-container{grid-template-columns:1.1fr .9fr}.auth-mascot{display:block}}@media (max-width: 899px){.auth-mascot{display:block;width:80px;margin:0 auto}.auth-hero{text-align:center}}.footer{background-color:#f9f9f9;border-top:1px solid #eee;color:#999;padding:.5rem 1rem}.footer-container{max-width:800px;margin:0 auto;width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem 1.25rem;text-align:center;padding:0}.footer-brand{display:flex;align-items:center;gap:.35rem;font-size:.7rem}.footer-logo{width:20px;height:auto;opacity:.6}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.1rem .75rem;font-size:.7rem}.footer-links a{color:#666;text-decoration:none}.footer-links a:hover{text-decoration:underline}@media (min-width: 768px){.footer-container{justify-content:space-between;text-align:left}.footer-links{gap:1.25rem}}.header-container{display:flex;justify-content:space-between;align-items:center;padding:.25rem 1rem}.logo-wrapper{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit}.logo{height:50px;width:auto}.nav-link{display:inline-flex;align-items:center;justify-content:center;padding:.45rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;border:none;background:transparent;color:#555;cursor:pointer;text-decoration:none;white-space:nowrap;transition:all .15s}.nav-link:hover{background:#f0f0f0;color:#222}.nav-link.active{background:var(--accent-light);color:var(--accent);font-weight:600}.nav-desktop{display:flex;align-items:center;gap:.5rem}.nav-login-icon{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--accent, #6924e0);font-size:1.15rem;transition:background .2s}.nav-login-icon:hover{background:var(--accent-light, #ede9fe)}@media (max-width: 768px){.header{padding:.4rem 0;padding-top:calc(.4rem + env(safe-area-inset-top,0px))}.header-container{padding:.5rem .75rem;justify-content:center}.logo{height:42px}.has-login-icon .header-container{justify-content:space-between}.logo-wrapper p,.nav-desktop{display:none}.nav-login-icon{display:flex}.auth-page{padding:1rem 0 2rem;min-height:calc(100dvh - 56px);display:flex;flex-direction:column;justify-content:center;background:var(--bg-body, #f9fafb)}.auth-page .auth-container{gap:1rem}.auth-page .auth-card{background:transparent;box-shadow:none;padding:1rem .25rem;border-radius:0}.auth-page .auth-divider span{background:var(--bg-body, #f9fafb)}.auth-form input{padding:.9rem 1rem;font-size:1rem}.auth-submit{padding:.9rem;font-size:1rem}.auth-google-btn{padding:.9rem 1rem;font-size:.95rem;margin-top:1rem}.auth-switch{padding:.3rem}.auth-switch button{padding:.55rem .75rem;font-size:.9rem}.hide-on-mobile{display:flex!important}.has-bottom-nav{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}.has-bottom-nav .study-page{padding-bottom:0}}.bottom-nav{display:none}@media (max-width: 768px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-surface, #fff);border-top:1px solid var(--border-light, #eee);box-shadow:0 -2px 12px #00000014;z-index:var(--z-header, 100);align-items:stretch;justify-content:space-around}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:2px;text-decoration:none;color:var(--text-muted, #9ca3af);font-size:.65rem;font-weight:500;padding:6px 0;transition:color .15s ease;-webkit-tap-highlight-color:transparent;position:relative}.bottom-nav-item.active{color:var(--accent, #6924e0);font-weight:700}.bottom-nav-item.active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:3px;background:var(--accent, #6924e0);border-radius:0 0 3px 3px}.bottom-nav-icon{font-size:1.2rem}.bottom-nav-label{line-height:1}}.pwa-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -4px 20px #0000001f;padding:1rem 1.25rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:1rem;animation:pwa-slide-up .35s ease-out}@keyframes pwa-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-banner-content{display:flex;align-items:center;gap:.75rem;min-width:0}.pwa-banner-icon{width:44px;height:44px;border-radius:10px;flex-shrink:0}.pwa-banner-text{display:flex;flex-direction:column;min-width:0}.pwa-banner-text strong{font-size:.95rem;color:#111}.pwa-banner-text span{font-size:.8rem;color:#666}.pwa-banner-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pwa-btn-install{background:var(--primary-color);color:#fff;border:none;padding:.55rem 1.2rem;border-radius:50px;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s}.pwa-btn-install:hover{background:var(--primary-hover)}.pwa-btn-dismiss{background:none;border:none;color:#999;font-size:.8rem;cursor:pointer;padding:.4rem;white-space:nowrap}.pwa-btn-dismiss:hover{color:#666}.pwa-overlay{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:flex-end;justify-content:center;animation:pwa-fade-in .2s ease-out}@keyframes pwa-fade-in{0%{opacity:0}to{opacity:1}}.pwa-modal{background:#fff;border-radius:20px 20px 0 0;padding:2rem 1.5rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));width:100%;max-width:420px;position:relative;animation:pwa-slide-up .3s ease-out}.pwa-modal-close{position:absolute;top:.75rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;line-height:1;padding:.25rem}.pwa-modal-subtitle{text-align:center;color:#666;font-size:.9rem;margin-bottom:1.25rem;line-height:1.5}.pwa-ios-steps{list-style:none;counter-reset:ios-step;padding:0;margin:0;display:flex;flex-direction:column;gap:1.25rem}.pwa-ios-steps li{counter-increment:ios-step;display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:#333;line-height:1.5}.pwa-ios-steps li:before{content:counter(ios-step);background:var(--primary-color);color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;margin-top:1px}.pwa-ios-icon{display:inline-flex;align-items:center;vertical-align:middle;color:#007aff}@media (min-width: 600px){.pwa-overlay{align-items:center}.pwa-modal{border-radius:20px;padding-bottom:2rem}}.pwa-update-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:pwa-fade-in .2s ease-out;padding:1.5rem}.pwa-update-modal{background:#fff;border-radius:20px;padding:2.5rem 2rem;max-width:340px;width:100%;text-align:center;animation:pwa-scale-up .3s ease-out}.pwa-update-logo{width:64px;height:64px;border-radius:16px;margin-bottom:1.25rem}.pwa-update-title{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.pwa-update-desc{font-size:.9rem;color:#666;margin:0 0 1.5rem;line-height:1.5}.pwa-update-btn{display:inline-block;width:100%;padding:.85rem 1.5rem;border:none;border-radius:50px;background:var(--primary-color, #25d366);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s}.pwa-update-btn:hover{background:var(--primary-hover, #1ebc57)}@keyframes pwa-scale-up{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.streak-toast{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);z-index:99999;background:linear-gradient(135deg,#2d0a4e,#1e0636);border:2px solid var(--warning);border-radius:var(--border-radius-lg);padding:1rem 2rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 8px 32px #63069a59,0 0 0 1px #f59e0b26;animation:slideInDown .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.streak-toast.exiting{animation:slideOutUp .4s ease-in forwards}.streak-toast-fire{font-size:2rem;animation:bounce .6s ease-in-out .3s}.streak-toast-text{color:var(--text-inverse);font-weight:700;font-size:1.1rem;white-space:nowrap}.streak-toast-count{color:var(--warning);font-size:1.4rem;font-weight:800}.medal-modal-overlay{position:fixed;inset:0;z-index:100000;background:#1e1232bf;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease;padding:1rem}.medal-modal{background:linear-gradient(135deg,var(--bg-surface) 0%,var(--accent-light) 100%);border:2px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2.5rem 2rem;text-align:center;max-width:380px;width:100%;animation:scaleUp .5s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-lg),0 0 40px #f59e0b26;display:flex;flex-direction:column;align-items:center}.medal-modal-label{font-size:.85rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:2px;margin:0 0 1rem}.medal-modal-image{width:150px;height:150px;object-fit:contain;margin:0 auto 1rem;display:block;animation:bounce .6s ease-in-out .4s}.medal-modal-name{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0 0 .5rem}.medal-modal-description{font-size:.95rem;color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.medal-modal-btn{background:var(--accent);color:var(--text-inverse);border:none;border-radius:var(--border-radius);padding:.75rem 2rem;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease}.medal-modal-btn:hover{background:var(--accent-hover);transform:scale(1.05)}@keyframes slideInDown{0%{transform:translate(-50%) translateY(-120%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes slideOutUp{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(-120%);opacity:0}}@keyframes scaleUp{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (max-width: 500px){.streak-toast{padding:.75rem 1.25rem;top:1rem}.streak-toast-text{font-size:.95rem}.streak-toast-count{font-size:1.1rem}.medal-modal{padding:2rem 1.5rem}.medal-modal-image{width:120px;height:120px}.medal-modal-name{font-size:1.2rem}}
