*,*:before,*:after{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary: #0F172A;--bg-surface: #1E293B;--bg-surface-opaque: rgba(30, 41, 59, .95);--bg-surface-semi: rgba(15, 23, 42, .7);--bg-surface-light: rgba(15, 23, 42, .6);--bg-surface-variant: #1E293B;--bg-gradient-start: #1E293B;--bg-gradient-middle: #334155;--bg-gradient-end: #475569;--text-primary: #F8FAFC;--text-secondary: #CBD5E1;--text-tertiary: #94A3B8;--text-muted: rgba(248, 250, 252, .8);--text-subtle: rgba(248, 250, 252, .7);--accent: #8a5cf6;--accent-variant: #A78BFA;--border: rgba(255, 255, 255, .1);--border-variant: rgba(255, 255, 255, .05);--border-subtle: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .15)}[data-theme=light]{--bg-primary: #2D2746;--bg-surface: #3D305A;--bg-surface-opaque: rgba(61, 48, 90, .95);--bg-surface-semi: rgba(45, 39, 70, .7);--bg-surface-light: rgba(45, 39, 70, .6);--bg-surface-variant: #4E426B;--bg-gradient-start: #2c1840;--bg-gradient-middle: #3D305A;--bg-gradient-end: #745d8c;--text-primary: #FFFFFF;--text-secondary: #E8E8E8;--text-tertiary: #D0D0D0;--text-muted: rgba(255, 255, 255, .9);--text-subtle: rgba(255, 255, 255, .8);--accent: #FF6B6B;--accent-variant: #FFA500;--border: rgba(255, 255, 255, .3);--border-variant: rgba(255, 255, 255, .2);--border-subtle: rgba(255, 255, 255, .25);--border-strong: rgba(255, 255, 255, .4)}body{margin:0;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}.site-footer{margin-top:4rem;padding:2rem 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.9rem;opacity:.8}.site-footer .footer-links{display:flex;gap:1rem}.site-footer a{color:inherit;text-decoration:none;opacity:.7;transition:opacity .15s ease}.site-footer a:hover{opacity:1}@media(max-width:640px){.site-footer{flex-direction:column;align-items:flex-start}}.app-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:50%;max-width:800px;display:flex;align-items:center;justify-content:space-around;background:#0f172af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.1);padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));z-index:100;gap:.25rem}@media(max-width:1024px){.app-nav{width:90%;max-width:none}}@media(max-width:640px){.app-nav{width:100%;left:0;transform:none;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom))}}.app-nav__tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .75rem;text-decoration:none;color:#f8fafc99;transition:color .2s;border-radius:.75rem;min-width:0;flex:1;max-width:none}.app-nav__tab:hover{color:#f8fafccc;background:#ffffff0d}.app-nav__tab.active{color:#8a5cf6}.app-nav__icon{font-size:1.5rem;line-height:1}.app-nav__label{font-size:.7rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}@media(max-width:640px){.app-nav__label{font-size:.7rem}.app-nav__icon{font-size:1.35rem}}.lesson-card-wrapper{position:relative;width:100%;display:flex;flex-direction:column;flex-shrink:0;margin:0;padding:0}.lesson-card{position:relative;width:100%;height:600px;padding:1.5rem;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:#0f172acc;display:flex;flex-direction:column;gap:1rem;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease;justify-content:space-between;box-sizing:border-box;overflow:hidden;margin:0}.lesson-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.lesson-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.25rem}.lesson-card__top-left{display:flex;align-items:center;gap:.5rem}.lesson-card__category-icon{font-size:1.25rem;line-height:1}.lesson-card__category-name{font-size:.9rem;color:#f8fafccc;font-weight:500}.lesson-card__top-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.lesson-card__ai-generated{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#f8fafcb3}.lesson-card__robot-icon{font-size:1rem;line-height:1}.lesson-card__ai-text{font-weight:500}.lesson-card__date{color:#f8fafc99}.lesson-card__actions{display:flex;flex-direction:row;gap:.5rem;align-items:center}.lesson-card__action-button{width:32px;height:32px;border-radius:50%;border:none;background:#ffffff1a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,transform .2s;padding:0}.lesson-card__action-button:hover:not(:disabled){background:#fff3;transform:scale(1.1)}.lesson-card__action-button:active:not(:disabled){transform:scale(.95)}.lesson-card__action-button:disabled{cursor:not-allowed;opacity:.6}.lesson-card__action-icon{font-size:1rem;line-height:1}.lesson-card__title{font-size:1.75rem;font-weight:700;margin:0;color:#fff;line-height:1.3}.lesson-card__accuracy-box{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-radius:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);gap:.75rem}.lesson-card__accuracy-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.lesson-card__accuracy-text{font-size:.95rem;font-weight:600;color:#4caf50}.lesson-card__accuracy-subtitle{font-size:.75rem;color:#f8fafc99}.lesson-card__info-icon{font-size:1rem;line-height:1;cursor:pointer;opacity:.7;flex-shrink:0}.lesson-card__summary-container{flex:1;min-height:0;display:flex;flex-direction:column}.lesson-card__summary-container--desktop{display:flex;flex-direction:column;gap:.75rem}.lesson-card__summary-container--mobile{display:none}.lesson-card__summary{color:#f8fafcd9;font-size:1rem;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex:1;min-height:0}.lesson-card__continue{display:flex;justify-content:flex-end;flex-shrink:0;margin-top:0}.lesson-card__continue--desktop{display:flex;margin-top:auto}.lesson-card__continue-text{color:var(--accent, #3b82f6);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s ease}.lesson-card__continue-text:hover{color:var(--accent-variant, #60a5fa);text-decoration:underline}.lesson-card__footer{display:flex;gap:1rem;font-size:.9rem;color:#f8fafcb3;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05);margin-top:.5rem;flex-shrink:0}.lesson-card__footer--desktop{display:flex}.lesson-card__footer--mobile{display:none}@media(max-width:640px){.lesson-card-wrapper{height:100vh;height:100dvh}.lesson-card{height:100%;padding:1.25rem 1.25rem 5rem;gap:.875rem;border-radius:0;border:none;border-bottom:1px solid rgba(255,255,255,.1);transition:none}.lesson-card:hover{transform:none;box-shadow:none}.lesson-card__top{flex-direction:column;align-items:flex-start;gap:.75rem}.lesson-card__top-right{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.lesson-card__title{font-size:1.5rem}.lesson-card__accuracy-box{padding:.625rem .875rem}.lesson-card__summary-container--desktop{display:none}.lesson-card__summary-container--mobile{display:flex;flex-direction:column;gap:0;flex:1;min-height:0;max-height:calc(100vh - 360px);max-height:calc(100dvh - 360px)}.lesson-card__summary{font-size:.95rem;max-height:calc(100vh - 420px);max-height:calc(100dvh - 420px);-webkit-line-clamp:8;line-clamp:8}.lesson-card__footer--desktop{display:none}.lesson-card__footer--mobile{display:flex}.lesson-card__footer{gap:1rem;font-size:.85rem;padding-top:.5rem;margin-top:.5rem}.lesson-card__continue--desktop{display:none}.lesson-card__action-button{width:28px;height:28px}.lesson-card__action-icon{font-size:.9rem}}.lesson-feed{display:flex;flex-direction:column;gap:0;width:100%}.lesson-feed__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;width:100%}@media(max-width:640px){.lesson-feed__grid{display:flex;flex-direction:column;gap:0}}.lesson-feed__status{text-align:center;padding:1rem;color:#f8fafcb3;font-size:.95rem}.lesson-feed__error{padding:1rem;border-radius:1rem;background:#e11d4826;color:#fecdd3;text-align:center}.landing .hero{position:relative;padding:3rem 0 4rem;overflow:hidden}.hero-logo{display:flex;justify-content:center;margin-bottom:2rem;animation:float 6s ease-in-out infinite}.logo-image{width:80px;height:80px;border-radius:20px;box-shadow:0 20px 60px #ff6b354d,0 0 40px #ff6b3533;transition:transform .3s ease}.logo-image:hover{transform:scale(1.05) rotate(5deg)}.hero h1 .gradient-text{background:linear-gradient(135deg,#ff6b35,#dc2626,#8a5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-visual{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.floating-element{position:absolute;border-radius:50%;background:linear-gradient(135deg,#ff6b3526,#dc26261a);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:float-around 20s infinite ease-in-out}.floating-1{width:300px;height:300px;top:-100px;right:-100px;animation-delay:0s}.floating-2{width:200px;height:200px;bottom:-50px;left:-50px;background:linear-gradient(135deg,#8a5cf626,#4a9bff1a);animation-delay:7s;animation-duration:25s}.floating-3{width:150px;height:150px;top:50%;right:10%;background:linear-gradient(135deg,#ff6b351a,#8a5cf61a);animation-delay:3s;animation-duration:18s}.feature-card{position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.feature-card:before{content:"";position:absolute;inset:0;border-radius:1.5rem;padding:1px;background:linear-gradient(135deg,#ff6b354d,#8a5cf64d);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease}.feature-card:hover:before{opacity:1}.feature-icon{font-size:2.5rem;margin-bottom:1rem;display:inline-block;transition:transform .3s ease}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg)}@media(max-width:640px){.hero-logo{margin-bottom:1.5rem}.logo-image{width:64px;height:64px}.floating-1,.floating-2,.floating-3{display:none}.landing .hero{padding:2rem 0 3rem}}.auth-card-wrapper{position:relative;margin-top:2rem;padding-top:2rem;overflow:hidden}.auth-logo-link{display:flex;justify-content:center;text-decoration:none;transition:transform .2s ease}.auth-logo-link:hover{transform:scale(1.05)}.auth-logo{display:flex;justify-content:center;margin-bottom:2rem;animation:float 6s ease-in-out infinite}.auth-logo-image{width:80px;height:80px;border-radius:20px;box-shadow:0 20px 60px #ff6b354d,0 0 40px #ff6b3533;transition:transform .3s ease}.auth-logo-image:hover{transform:scale(1.05) rotate(5deg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-visual{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.auth-floating-element{position:absolute;border-radius:50%;background:linear-gradient(135deg,#ff6b3526,#dc26261a);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:float-around 20s infinite ease-in-out}.auth-floating-1{width:250px;height:250px;top:-80px;right:-80px;animation-delay:0s}.auth-floating-2{width:180px;height:180px;bottom:-40px;left:-40px;background:linear-gradient(135deg,#8a5cf626,#4a9bff1a);animation-delay:7s;animation-duration:25s}.auth-floating-3{width:120px;height:120px;top:40%;right:8%;background:linear-gradient(135deg,#ff6b351a,#8a5cf61a);animation-delay:3s;animation-duration:18s}@media(min-width:768px){.auth-card{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.auth-card .card-copy{margin-bottom:0}}.auth-card{position:relative;padding:3rem;border:1px solid rgba(255,255,255,.1);border-radius:2rem;background:#0f172a66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 80px #0006,inset 0 1px #ffffff14}.auth-card .card-copy{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.auth-card .card-copy h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2;margin:0;background:linear-gradient(135deg,#fff,#ffffffe6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-card .card-subtitle{font-size:1.125rem;line-height:1.6;color:#f8fafccc;margin:0}.auth-card .card-panel{background:#fffffffa;color:#0f172a;border-radius:1.5rem;padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:0 8px 32px #0000001f}.auth-card form{display:flex;flex-direction:column;gap:1.5rem}.auth-card .card-footer{display:flex;justify-content:center;align-items:center;font-size:.95rem;gap:.5rem;color:#0f172ab3;padding-top:.5rem}.auth-card .card-footer a{color:#8a5cf6;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-card .card-footer a:hover{color:#7c3aed}@media(max-width:767px){.auth-logo{margin-bottom:1.5rem}.auth-logo-image{width:64px;height:64px}.auth-floating-1,.auth-floating-2,.auth-floating-3{display:none}.auth-card{padding:2rem 1.5rem;border-radius:1.5rem}.auth-card .card-panel{padding:2rem 1.5rem}.auth-card .card-copy h1{font-size:2rem}.auth-card .card-subtitle{font-size:1rem}}.form-field{display:flex;flex-direction:column;gap:.4rem;font-size:.95rem}.form-field span{font-weight:600;color:#0f172a}.form-field input{border:1px solid rgba(15,23,42,.18);border-radius:.9rem;padding:.85rem 1rem;font-size:1rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s}.form-field input:focus{outline:none;border-color:#8a5cf6;box-shadow:0 0 0 3px #8a5cf633}.form-field input[aria-invalid=true]{border-color:#e11d48}.form-field small{color:#e11d48;font-size:.85rem}.explore-header{max-width:720px}.quick-actions{margin-top:2rem}.quick-actions h2{font-size:1.5rem;margin-bottom:1.5rem;color:#fff}.quick-actions__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.quick-action-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.5rem;border-radius:1.75rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.quick-action-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #8a5cf633;border-color:#8a5cf666}.quick-action-card__icon{font-size:3rem;margin-bottom:1rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff1a}.quick-action-card h3{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;color:#fff}.quick-action-card p{font-size:.95rem;color:#f8fafcb3}.daily-challenge{margin-top:3rem}.daily-challenge__header{margin-bottom:1.5rem}.daily-challenge h2{font-size:1.5rem;margin-bottom:.5rem;color:#fff}.daily-challenge__subtitle{font-size:1rem;color:#f8fafcb3;margin:0}.challenge-card{display:flex;flex-direction:column;gap:1.25rem;padding:2rem;border-radius:1.75rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}.challenge-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #8a5cf633;border-color:#8a5cf666}.challenge-card__header{display:flex;align-items:center;gap:1rem}.challenge-card__icon{font-size:2.5rem}.challenge-card__title{font-size:1.5rem;font-weight:700;margin:0;color:#fff}.challenge-card__description{font-size:1rem;line-height:1.6;color:#f8fafccc;margin:0}.challenge-card__button{width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:600;margin-top:.5rem}@media(max-width:640px){.page.explore{gap:1rem;padding-top:.5rem}.explore-header{margin-bottom:0}.explore-header h1{margin-bottom:.5rem}.explore-header p{margin-bottom:0}.quick-actions{margin-top:.75rem}.quick-actions h2{margin-bottom:1rem;font-size:1.25rem}.quick-actions__grid{gap:1rem}.quick-action-card{padding:1.5rem 1rem}.quick-action-card h3{font-size:1.1rem}.quick-action-card p{font-size:.85rem}.daily-challenge{margin-top:2rem}.daily-challenge__header{margin-bottom:1rem}.challenge-card{padding:1.5rem}.challenge-card__title{font-size:1.25rem}.challenge-card__description{font-size:.95rem}}.categories-header{max-width:720px}.categories-header h1{font-size:clamp(2rem,4vw,2.75rem);margin-bottom:.5rem}.categories-header p{color:#f8fafccc}.categories-search{margin-top:1.5rem}.categories-search input{width:100%;border:1px solid rgba(255,255,255,.2);border-radius:1rem;background:#0f172a80;padding:.85rem 1rem;color:#fff;font-size:1rem;font-family:inherit}.categories-search input:focus{outline:none;border-color:#8a5cf6cc;box-shadow:0 0 0 3px #8a5cf626}.category-grid{margin-top:2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.category-card{border:1px solid rgba(255,255,255,.1);border-radius:1.75rem;padding:1.5rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;min-height:220px}.category-card__icon{width:56px;height:56px;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:#fff}.category-card__meta h3{margin:0 0 .35rem;font-size:1.25rem}.category-card__meta p{margin:0;color:#f8fafcbf;font-size:.95rem}.category-card__count{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.15rem}.category-card__count span{font-size:1.5rem;font-weight:700;color:#8a5cf6}.category-card__count small{font-size:.85rem;color:#f8fafca6;text-transform:uppercase;letter-spacing:.08em}.category-card__action{grid-column:1 / -1;margin-top:auto;border:none;background:#ffffff1a;color:#fff;border-radius:999px;padding:.65rem 1.25rem;align-self:flex-start;cursor:pointer;transition:transform .2s ease,background .2s ease}.category-card__action:hover{background:#8a5cf666;transform:translateY(-2px)}.categories-empty{margin-top:2.5rem;padding:3rem 1.5rem;border:1px dashed rgba(255,255,255,.2);border-radius:1.5rem;text-align:center}.categories-empty p{margin-bottom:1rem;color:#f8fafccc}@media(max-width:640px){.category-card{min-height:auto}}.category-hero{border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:2rem;background:#0f172ab3;display:flex;flex-direction:column;gap:1rem}.category-back{color:#f8fafcb3;text-decoration:none;font-size:.95rem}.category-hero__icon{width:64px;height:64px;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:2rem}.category-hero h1{margin:0;font-size:clamp(2.25rem,4vw,3rem)}.category-hero p{color:#f8fafccc;margin:0}.category-hero__actions{display:flex;gap:1rem;flex-wrap:wrap}.category-hero__meta{display:flex;gap:2rem;flex-wrap:wrap}.category-hero__count{font-size:2rem;font-weight:700;display:block}.category-hero__meta small{color:#f8fafcb3;letter-spacing:.05em;text-transform:uppercase;font-size:.8rem}.category-detail__status{padding:3rem 1.5rem;text-align:center;border-radius:1.5rem;background:#0f172a80;border:1px solid rgba(255,255,255,.1)}.category-detail__lessons{display:flex;flex-direction:column;gap:1rem}.category-topic-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.category-topic-list li{border:1px solid rgba(255,255,255,.08);border-radius:1.5rem;padding:1.5rem;background:#0f172a99;display:flex;flex-direction:column;gap:.75rem}.category-topic-list h3{margin:0;font-size:1.2rem}.category-topic-list p{margin:0;color:#f8fafcbf}.topic-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.95rem;color:#f8fafccc}.topic-meta button{border:none;border-radius:999px;padding:.45rem 1rem;background:#ffffff14;color:#f8fafccc;cursor:not-allowed}.topic-link{text-decoration:none;border-radius:999px;padding:.45rem 1rem;background:#8a5cf62e;color:#c4b5fd;font-weight:600;transition:background .2s ease}.topic-link:hover{background:#8a5cf64d}.topic-summary{max-height:3.4em;overflow:hidden;transition:max-height .2s ease}.topic-summary.expanded{max-height:none}.topic-toggle{border:none;background:none;color:#8a5cf6;font-weight:600;padding:0;cursor:pointer;margin-top:.35rem}@media(max-width:640px){.category-hero__actions{flex-direction:column}.topic-meta{flex-direction:column;align-items:flex-start}}.lesson-section.generator{display:flex;flex-direction:column;gap:1rem}.lesson-generator-form{display:flex;gap:1rem;flex-wrap:wrap}.lesson-generator-form input{flex:1;min-width:220px;border-radius:1rem;border:1px solid rgba(255,255,255,.2);background:#0f172a80;padding:.85rem 1rem;color:#fff;font-size:1rem;font-family:inherit}.lesson-generator-form input:focus{outline:none;border-color:#8a5cf6bf;box-shadow:0 0 0 3px #8a5cf62e}.generator-message{margin:0;font-size:.95rem}.generator-message.success{color:#c4f1be}.generator-message.error{color:#fecaca}.library-header{margin-bottom:2rem}.library-tabs{display:flex;gap:.75rem;margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.library-tab{position:relative;padding:1rem 1.5rem;background:transparent;border:none;color:#f8fafc99;font-size:1rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s;display:flex;align-items:center;gap:.5rem}.library-tab:hover{color:#f8fafce6}.library-tab.active{color:#8a5cf6;border-bottom-color:#8a5cf6}.tab-count{font-size:.85rem;background:#8a5cf633;color:#8a5cf6;padding:.2rem .5rem;border-radius:999px;font-weight:600}.library-loading,.library-error,.library-empty{text-align:center;padding:4rem 2rem}.library-empty__icon{font-size:4rem;margin-bottom:1.5rem}.library-empty h2{font-size:1.5rem;margin-bottom:.75rem}.library-empty p{color:#f8fafcb3;max-width:400px;margin:0 auto}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}@media(max-width:640px){.page.library{gap:1rem;padding-top:.5rem}.library-header{margin-bottom:0}.library-header h1{margin-bottom:.5rem}.library-tabs{margin-top:.75rem;margin-bottom:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.library-grid{grid-template-columns:1fr;margin-top:0}.library-tab{white-space:nowrap;flex-shrink:0}}.profile-header{margin-bottom:3rem}.profile-card{border-radius:1.5rem;padding:2rem;background:var(--bg-surface-semi);border:1px solid var(--border);text-align:center}.profile-avatar-container{position:relative;width:100px;height:100px;margin:0 auto 1.5rem;cursor:pointer}.profile-avatar-placeholder{width:100px;height:100px;border-radius:50%;background:#8a5cf633;display:flex;align-items:center;justify-content:center;border:2px solid rgba(138,92,246,.4)}.profile-avatar-icon{font-size:3rem}.profile-avatar-image{width:100px;height:100px;border-radius:50%;object-fit:cover;border:2px solid rgba(138,92,246,.4)}.profile-camera-icon{position:absolute;bottom:0;right:0;width:32px;height:32px;border-radius:50%;background:#4a9bffe6;display:flex;align-items:center;justify-content:center;border:2px solid white;cursor:pointer;font-size:1rem}.profile-username{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:#fff}.profile-email{color:#f8fafcb3;font-size:1rem;margin:0 0 .5rem}.profile-member-since{color:#f8fafc99;font-size:.9rem;margin:0}.profile-progress{margin-bottom:3rem}.progress-card{border-radius:1.5rem;padding:2rem;background:var(--bg-surface-semi);border:1px solid var(--border)}.progress-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:#fff}.progress-subtitle{font-size:1rem;color:#f8fafcb3;margin:0 0 1.5rem}.progress-week-section{padding-top:1.5rem;border-top:1px solid var(--border)}.progress-week-title{font-size:1rem;font-weight:600;margin:0 0 1rem;color:#f8fafce6}.progress-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.progress-stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.progress-stat-value{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:.25rem}.progress-stat-label{font-size:.9rem;color:#f8fafcb3}.progress-streak-section{padding-top:1.5rem;border-top:1px solid var(--border);text-align:center;margin-top:1.5rem}.progress-streak-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.progress-streak-icon{font-size:1.5rem}.progress-streak-title{font-size:1.125rem;font-weight:700;margin:0;color:#fff}.progress-streak-value{font-size:2rem;font-weight:800;color:#8a5cf6;margin-bottom:.5rem}.progress-streak-subtitle{font-size:.9rem;color:#f8fafcb3;margin:0}.view-all-stats-button{margin-top:.75rem;padding:.5rem 1rem;border-radius:1.25rem;text-align:center;background-color:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;display:block;transition:background-color .2s,border-color .2s}.view-all-stats-button:hover{background-color:#ffffff40;border-color:#fff6}.profile-settings{margin-bottom:2rem}.settings-card{border:1px solid var(--border);border-radius:1.5rem;padding:2rem;background:var(--bg-surface-semi)}.settings-header{margin-bottom:1.5rem}.settings-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .25rem}.settings-subtitle{font-size:.875rem;color:#f8fafccc;margin:0}.settings-list{display:flex;flex-direction:column;gap:1rem}.setting-item{display:flex;flex-direction:row;align-items:center;padding:1rem;border-radius:1rem;background:#ffffff0d;border:1px solid var(--border);text-decoration:none;color:inherit;cursor:pointer;transition:background-color .2s,border-color .2s}.setting-item-link{cursor:pointer}.setting-item-link:hover{background:#ffffff14;border-color:#ffffff26}.setting-info{display:flex;align-items:center;flex:1;gap:1rem}.setting-icon{width:2.5rem;height:2.5rem;border-radius:1.25rem;display:flex;align-items:center;justify-content:center;background:var(--border);border:1px solid rgba(255,255,255,.2);flex-shrink:0}.setting-emoji{font-size:1.25rem}.setting-content{flex:1;min-width:0}.setting-title{font-size:1rem;font-weight:600;color:#fff;margin:0 0 .125rem}.setting-subtitle{font-size:.875rem;color:#f8fafccc;margin:0}.setting-arrow{font-size:1.125rem;color:#f8fafcb3;font-weight:500;margin-left:.5rem}.setting-toggle{width:1.5rem;height:1.5rem;border-radius:.75rem;border:2px solid rgba(255,255,255,.3);background:var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;margin-left:.5rem;transition:background-color .2s,border-color .2s;flex-shrink:0}.setting-toggle:hover{background:#ffffff26;border-color:#fff6}.setting-toggle-inner{width:.625rem;height:.625rem;border-radius:50%;background:transparent;transition:background-color .2s}.setting-toggle.active{background:#ffffff4d}.setting-toggle.active .setting-toggle-inner{background:#fff}.profile-actions{margin-bottom:3rem}.profile-actions h2{font-size:1.5rem;margin-bottom:1.5rem}.profile-activity{margin-bottom:2rem}.activity-card{border:1px solid var(--border-variant);border-radius:1.5rem;padding:1.5rem;background:var(--bg-surface-semi)}.activity-header{margin-bottom:1rem}.activity-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.activity-subtitle{font-size:.75rem;color:var(--text-secondary);margin:0}.activity-item{padding:.75rem 0;border-bottom:1px solid var(--border-variant)}.activity-item:last-child{border-bottom:none}.activity-item-header{display:flex;align-items:flex-start;gap:.75rem}.activity-icon{font-size:1rem;flex-shrink:0;margin-top:.125rem}.activity-content{flex:1;min-width:0}.activity-item-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.activity-item-description{font-size:.75rem;color:var(--text-secondary);line-height:1.4;margin:0 0 .5rem}.activity-badges{display:flex;flex-wrap:wrap;gap:.5rem}.category-badge{padding:.125rem .5rem;border-radius:.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);font-size:.625rem;font-weight:500;color:var(--text-primary)}.reading-time-badge{padding:.125rem .5rem;border-radius:.5rem;background:#ffa50033;border:1px solid rgba(255,165,0,.4);font-size:.625rem;font-weight:500;color:var(--text-primary)}.activity-time{font-size:.625rem;font-weight:400;color:var(--text-tertiary);flex-shrink:0;margin-top:.125rem}.empty-activity{display:flex;flex-direction:column;align-items:center;padding:1.5rem 0;text-align:center}.loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--border-variant);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:.75rem}.empty-activity-icon{font-size:2rem;margin-bottom:.75rem}.empty-activity-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 .375rem}.empty-activity-message{font-size:.75rem;color:var(--text-secondary);margin:0;line-height:1.4}.view-all-button{display:block;text-align:center;padding:.5rem 0;margin-top:.5rem;color:var(--accent);font-size:.875rem;font-weight:600;text-decoration:none;transition:color .2s}.view-all-button:hover{color:var(--accent-variant)}.profile-footer{display:flex;justify-content:center;padding-top:2rem;border-top:1px solid var(--border)}.btn.logout{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn.logout:hover{background:#ef44444d;transform:translateY(-2px)}@media(max-width:640px){.progress-stats-grid{gap:1rem}.progress-stat-value{font-size:1.5rem}.progress-stat-label{font-size:.85rem}}.lesson-detail{gap:2rem}.lesson-hero{border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:2rem;background:#0f172ab3;display:flex;flex-direction:column;gap:1rem}.lesson-back{color:#f8fafcb3;text-decoration:none;font-size:.95rem;background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.lesson-back:hover{color:#f8fafce6}.lesson-hero h1{margin:0;font-size:clamp(2.25rem,4vw,3rem)}.lesson-hero p{color:#f8fafcd9;margin:0}.lesson-hero__header{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:#f8fafcb3}.lesson-date{font-size:.85rem}.lesson-quality-card{border-radius:1.5rem;background:#05071680;border:1px solid rgba(255,255,255,.08);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.quality-label{font-weight:600;margin:0}.quality-copy{margin:0;color:#f8fafcbf}.quality-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem}.quality-score-item{border-radius:.375rem;padding:.5rem .375rem;background:#8a5cf626;border:1px solid rgba(255,255,255,.1);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.quality-score-header{display:flex;flex-direction:row;align-items:center;margin-bottom:.25rem;justify-content:center;gap:.125rem}.quality-score-icon{font-size:.625rem;flex-shrink:0}.quality-score-label{font-size:.5625rem;font-weight:600;color:#f8fafce6;text-align:center;white-space:nowrap;line-height:1.2}.quality-score-value{font-size:.6875rem;font-weight:700;color:#f8fafc;text-align:center}@media(max-width:640px){.quality-scores{grid-template-columns:repeat(2,1fr);gap:.375rem}.quality-score-item{min-width:0}}.lesson-hero__meta{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.95rem;color:#f8fafcbf}.lesson-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:1.5rem 0}.lesson-tab{border-radius:1.25rem;border:1px solid rgba(255,255,255,.08);background:#0b1228cc;color:#f8fafcbf;font-weight:600;padding:.85rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer}.lesson-tab.active{background:linear-gradient(135deg,#8a5cf6,#4a9bff);color:#fff;border-color:transparent}.lesson-section{border:1px solid rgba(255,255,255,.08);border-radius:1.75rem;padding:1.75rem;background:#0f172a99}.lesson-section h2{margin-top:0}.lesson-section ul{padding-left:1.5rem;color:#f8fafcd9}.placeholder-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.placeholder-eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:#f8fafc99;margin-bottom:.35rem}.lesson-audio{display:flex;flex-direction:column;gap:1rem}.audio-controls{display:flex;gap:1rem;align-items:center}.audio-button{border:none;border-radius:999px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;background:linear-gradient(135deg,#8a5cf6,#4a9bff);color:#fff;cursor:pointer;flex:1}.audio-button:disabled{opacity:.6;cursor:not-allowed}.audio-settings-button{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;background:#0f172a99;color:#f8fafc;cursor:pointer;transition:all .2s}.audio-settings-button:hover{background:#0f172acc;border-color:#8a5cf680}.audio-meta{display:flex;flex-direction:column;gap:.25rem}.audio-meta strong{display:block}.audio-meta small{color:#f8fafcb3}.audio-meta .audio-error{color:#fca5a5}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.voice-modal{background:#0f172af2;border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-title{margin:0;font-size:1.5rem;font-weight:700;color:#f8fafc}.modal-close{background:none;border:none;color:#f8fafcb3;font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s}.modal-close:hover{background:#ffffff1a;color:#f8fafc}.voice-settings-content{flex:1;overflow-y:auto;padding:1.5rem}.voice-section{margin-bottom:1.5rem}.voice-section-title{font-size:1.1rem;font-weight:600;color:#f8fafc;margin:0 0 1rem}.voice-groups{display:flex;flex-direction:column;gap:1rem}.voice-group{border:1px solid rgba(255,255,255,.1);border-radius:1rem;overflow:hidden}.voice-group-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#ffffff08;border:none;color:#f8fafc;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s}.voice-group-header:hover{background:#ffffff0f}.voice-group-title{color:#f8fafc}.voice-group-toggle{font-size:1.5rem;font-weight:300;color:#f8fafcb3;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.voice-options{display:flex;flex-direction:column;padding:.5rem;gap:.5rem}.voice-option{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;background:#0f172a80;color:#f8fafc;cursor:pointer;text-align:left;font-size:.95rem;transition:all .2s;display:flex;align-items:center;justify-content:space-between}.voice-option:hover{background:#ffffff0d;border-color:#8a5cf64d}.voice-option.selected{background:#8a5cf633;border-color:#8a5cf680;color:#fff}.voice-option-label{flex:1}.voice-default-badge{padding:.25rem .5rem;border-radius:.5rem;background:#8a5cf64d;color:#8a5cf6;font-size:.75rem;font-weight:600;margin-left:.5rem}.modal-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end}@media(max-width:640px){.audio-controls{flex-direction:column}.audio-button,.audio-settings-button{width:100%}.voice-modal{max-height:90vh;margin:.5rem}}.lesson-quiz{display:flex;flex-direction:column;gap:1rem;position:relative}.quiz-generating-overlay{position:absolute;inset:0;background:#0f172ae6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:10}.quiz-generating-overlay p{color:#f8fafcd9;margin:0;font-size:1rem}.quiz-loading-spinner{width:24px;height:24px;border:3px solid rgba(138,92,246,.2);border-top-color:#8a5cf6;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-right:.5rem;vertical-align:middle}.quiz-actions .btn.primary:disabled{opacity:.7;cursor:not-allowed}.quiz-actions .btn.primary:disabled .quiz-loading-spinner{margin-right:.5rem}.learn-more-card__button .quiz-loading-spinner,.ask-button .quiz-loading-spinner{margin-right:.5rem}.btn.primary:disabled{opacity:.7;cursor:not-allowed}.quiz-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.quiz-option{border-radius:1rem;border:1px solid rgba(255,255,255,.15);background:#0f172a80;padding:.85rem 1rem;color:#fff;text-align:left;cursor:pointer;font-size:.95rem}.quiz-option.selected{border-color:#8a5cf6b3}.quiz-actions{display:flex;gap:1rem}.quiz-feedback,.quiz-hint{color:#f8fafcbf}.quiz-feedback.error{color:#fca5a5}.lesson-quiz-placeholder{border-radius:1.25rem;padding:1.5rem;background:#8a5cf61f;border:1px dashed rgba(138,92,246,.4);color:#f8fafce6}.quiz-tab{display:flex;flex-direction:column;gap:1.5rem}.quiz-card{border-radius:1.75rem;padding:1.5rem;background:#10031ca6;border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}.quiz-card__icon{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.quiz-card__icon span:first-child{font-size:2rem}.quiz-card__cta{color:#fb7185;font-weight:600}.quiz-card h2{margin:0;font-size:1.75rem}.quiz-card p{color:#f8fafcbf}.quiz-pulse{position:absolute;top:1rem;right:1rem;width:10px;height:10px;border-radius:999px;background:#f87171cc;box-shadow:0 0 #f8717166;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #f8717166}70%{transform:scale(1);box-shadow:0 0 0 10px #f8717100}to{transform:scale(.95);box-shadow:0 0 #f8717100}}.lesson-detail__status{padding:3rem 1.5rem;border-radius:1.5rem;border:1px solid rgba(255,255,255,.1);background:#0f172a80;text-align:center}.learn-tab{display:flex;flex-direction:column;gap:1.5rem}.learn-more-card{border-radius:1.75rem;padding:2rem;background:#10031ca6;border:1px solid rgba(138,92,246,.3);position:relative;text-align:center}.learn-more-card__icon{display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.learn-more-card__icon>span:first-child{font-size:2.5rem}.learn-more-card h2{margin:0 0 .5rem;font-size:1.75rem}.learn-more-card p{color:#f8fafcbf;margin-bottom:1.5rem}.learn-more-card__button{margin-top:1rem}.learn-more-error{margin-top:1rem;color:#fca5a5;font-size:.9rem}.learn-more-content{display:flex;flex-direction:column;gap:1.5rem}.learn-more-content__text{color:#f8fafcd9;line-height:1.7}.learn-more-content__text p{margin:.75rem 0}.ask-tab{display:flex;flex-direction:column;gap:1.5rem}.question-input-card{display:flex;flex-direction:column;gap:1rem}.question-input{width:100%;padding:1rem;border-radius:1rem;border:1px solid rgba(255,255,255,.15);background:#0f172a80;color:#f8fafc;font-family:inherit;font-size:1rem;resize:vertical;min-height:100px}.question-input:focus{outline:none;border-color:#8a5cf680}.question-input::placeholder{color:#f8fafc80}.ask-button{align-self:flex-start}.ask-error{color:#fca5a5;font-size:.9rem;margin-top:-.5rem}.answer-card{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;border-radius:1.5rem;background:#0f172a80;border:1px solid rgba(255,255,255,.08)}.answer-section{display:flex;flex-direction:column;gap:.75rem}.answer-title{margin:0;font-size:1.1rem;font-weight:600;color:#f8fafc}.answer-question{color:#f8fafcd9;margin:0;font-style:italic}.answer-content{color:#f8fafcd9;line-height:1.7}.answer-content p{margin:.75rem 0}.cache-indicator{padding:.75rem 1rem;border-radius:.75rem;background:#8a5cf626;border:1px solid rgba(138,92,246,.3)}.cache-indicator span{color:#8a5cf6;font-size:.9rem;font-weight:500}@media(max-width:640px){.lesson-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.placeholder-card{flex-direction:column;align-items:flex-start}.learn-more-card{padding:1.5rem}.learn-more-card__icon{flex-direction:column;gap:.5rem;align-items:center}.answer-card{padding:1rem}}.random-quiz{gap:2rem}.quiz-hero{border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:2rem;background:#0f172ab3;display:flex;flex-direction:column;gap:1rem}.quiz-back{color:#f8fafcb3;text-decoration:none;font-size:.95rem;transition:color .2s}.quiz-back:hover{color:#f8fafce6}.quiz-hero h1{margin:0;font-size:clamp(2.25rem,4vw,3rem)}.quiz-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem}.quiz-loading__spinner{width:48px;height:48px;border:4px solid rgba(138,92,246,.2);border-top-color:#8a5cf6;border-radius:50%;animation:spin 1s linear infinite}.quiz-loading p{color:#f8fafcbf;font-size:1.1rem}.quiz-error-card{border-radius:1.5rem;padding:2rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);text-align:center}.quiz-error-card p{color:#f8fafce6;margin-bottom:1.5rem;font-size:1.1rem}.quiz-error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.quiz-streak{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;border-radius:1.5rem;background:linear-gradient(135deg,#8a5cf64d,#4a9bff4d);border:1px solid rgba(138,92,246,.4)}.quiz-streak__icon{font-size:1.5rem}.quiz-streak__text{color:#fff;font-weight:600;font-size:1rem}.quiz-section{display:flex;flex-direction:column;gap:1.5rem}.quiz-card{border:1px solid rgba(255,255,255,.08);border-radius:1.75rem;padding:2rem;background:var(--bg-surface-light);display:flex;flex-direction:column;gap:1.5rem}.quiz-info{display:flex;gap:.75rem;flex-wrap:wrap}.quiz-badge{padding:.5rem 1rem;border-radius:1rem;font-size:.85rem;font-weight:600}.quiz-badge--category{background:linear-gradient(135deg,#8a5cf6,#4a9bff);color:#fff}.quiz-badge--difficulty{background:#ffffff1a;color:#f8fafce6;border:1px solid rgba(255,255,255,.2)}.quiz-question{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.4;margin:0;color:#fff}.quiz-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.quiz-option{border-radius:1rem;border:1px solid rgba(255,255,255,.15);background:#0f172a80;padding:1.25rem 1.5rem;color:#fff;text-align:left;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s;font-family:inherit}.quiz-option:hover:not(:disabled){border-color:#8a5cf680;background:#8a5cf61a;transform:translateY(-2px)}.quiz-option.selected{border-color:#8a5cf6b3;background:#8a5cf633}.quiz-option.correct{border-color:#22c55eb3;background:#22c55e26}.quiz-option.incorrect{border-color:#ef4444b3;background:#ef444426}.quiz-option:disabled{cursor:not-allowed;opacity:.8}.quiz-actions{display:flex;gap:1rem;margin-top:.5rem}.quiz-submit{width:100%;padding:1rem 2rem;font-size:1.1rem}.quiz-result{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.quiz-result__header{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.5rem;border-radius:1rem;font-weight:700}.quiz-result__header.correct{background:#22c55e33;border:1px solid rgba(34,197,94,.4);color:#22c55e}.quiz-result__header.incorrect{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#ef4444}.quiz-result__icon{font-size:2rem}.quiz-result__title{font-size:1.5rem;color:#fff}.quiz-streak-celebration{padding:1rem 1.5rem;border-radius:1rem;background:linear-gradient(135deg,#8a5cf64d,#4a9bff4d);border:1px solid rgba(138,92,246,.4);text-align:center;color:#fff;font-weight:600;font-size:1rem}.quiz-explanation{color:#f8fafcd9;font-size:1.1rem;line-height:1.6;text-align:center;margin:0}.quiz-next{width:100%;padding:1rem 2rem;font-size:1.1rem}.quiz-error{padding:1rem 1.5rem;border-radius:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;text-align:center}.quiz-error p{margin:0;font-size:.95rem}@media(max-width:640px){.quiz-options{grid-template-columns:1fr}.quiz-hero,.quiz-card{padding:1.5rem}.quiz-error-actions{flex-direction:column}.quiz-error-actions .btn{width:100%}}.user-stats{gap:2rem}.stats-hero{border:1px solid var(--border);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi);display:flex;flex-direction:column;gap:1rem}.stats-back{color:#f8fafcb3;text-decoration:none;font-size:.95rem;align-self:flex-start}.stats-back:hover{color:#f8fafce6}.stats-hero h1{margin:0;font-size:clamp(2rem,4vw,2.5rem);color:#fff}.stats-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.stats-loading p{color:#f8fafcb3;margin:0}.streak-card{border:1px solid var(--border);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi)}.streak-card .section-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 1.5rem}.streak-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.streak-item{text-align:center;padding:1.5rem;border-radius:1rem;background:#ffffff0d}.streak-label{font-size:.875rem;font-weight:500;color:#f8fafcb3;margin:0 0 .5rem}.streak-value{font-size:1.75rem;font-weight:800;color:#8a5cf6;margin-bottom:.25rem}.streak-subtitle{font-size:.75rem;color:#f8fafcb3;margin:0;text-align:center}.stat-section{margin-bottom:2rem}.section-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 1rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{border:1px solid var(--border);border-radius:1.5rem;padding:1.5rem;background:var(--bg-surface-semi);display:flex;flex-direction:column;gap:.5rem}.stat-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.stat-icon{font-size:1.25rem}.stat-title{font-size:.875rem;font-weight:600;color:#fff;margin:0;flex:1}.stat-value{font-size:1.75rem;font-weight:800;color:#fff;margin-bottom:.25rem}.stat-subtitle{font-size:.75rem;color:#f8fafccc;line-height:1.4;margin:0}.insights-card{border:1px solid var(--border);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi);margin-bottom:2rem}.insights-title{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 1.5rem}.insight-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.insight-item:last-child{margin-bottom:0}.insight-icon{font-size:1rem;margin-top:.125rem}.insight-text{flex:1;font-size:.875rem;line-height:1.5;color:#f8fafccc;margin:0}@media(max-width:768px){.streak-row,.stat-grid{grid-template-columns:1fr}}.learning-history{gap:2rem}.history-hero{border:1px solid var(--border);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi);display:flex;flex-direction:column;gap:.5rem}.history-back{color:#f8fafcb3;text-decoration:none;font-size:.95rem;align-self:flex-start;margin-bottom:.5rem}.history-back:hover{color:#f8fafce6}.history-hero h1{margin:0;font-size:clamp(2rem,4vw,2.5rem);color:#fff}.history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid rgba(138,92,246,.2);border-top-color:#8a5cf6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.history-loading p{color:#f8fafcb3;margin:0}.history-stats-card{border:1px solid var(--border);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi)}.stats-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:1.5rem}.stat-card{text-align:center}.stat-number{font-size:2rem;font-weight:800;color:#fff;margin-bottom:.5rem}.stat-label{font-size:.875rem;color:#f8fafccc}.quiz-review-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:.5rem;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}.quiz-review-button:hover{background:#ffffff40;border-color:#fff6}.quiz-review-icon{font-size:1.5rem;margin-right:.75rem}.quiz-review-text{flex:1;text-align:left}.quiz-review-arrow{font-size:1.25rem;font-weight:600}.history-filters{display:flex;gap:.75rem;flex-wrap:wrap}.filter-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:1.25rem;background:#ffffff26;border:none;color:#fffc;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.filter-button:hover{background:#fff3;color:#fff}.filter-button.active{background:var(--accent);color:#fff}.filter-icon{font-size:1rem}.history-list{display:flex;flex-direction:column;gap:1.5rem}.history-item-card{border:1px solid var(--border);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi)}.history-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.history-item-info{flex:1}.history-item-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .25rem}.history-item-category{font-size:.875rem;color:#fff;margin:0;font-weight:500}.history-item-lock{font-size:1.25rem;flex-shrink:0;margin-left:1rem}.history-item-summary{font-size:.95rem;color:#f8fafce6;line-height:1.6;margin:0 0 1.5rem}.history-item-stats{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.history-item-stat{display:flex;align-items:center;gap:.5rem}.stat-icon{font-size:1rem;opacity:.6}.stat-text{font-size:.875rem;color:#f8fafccc;font-weight:500}.history-item-actions{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.action-button{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:1rem;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.action-button-primary{background:#8a5cf6;color:#fff}.action-button-primary:hover{background:#7c3aed}.action-button-secondary{background:#ffffff26;color:#fff}.action-button-secondary:hover{background:#fff3}.action-button-retake{position:relative}.retake-icon{position:absolute;top:-.5rem;right:-.5rem;background:#8a5cf6;border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;border:2px solid var(--bg-surface-semi)}.action-icon{font-size:1rem}.history-item-date{font-size:.8rem;color:#f8fafc99;margin:0}.history-content{border:1px solid var(--border);border-radius:2rem;padding:3rem 2rem;background:var(--bg-surface-semi)}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem}.history-empty-icon{font-size:3rem;margin-bottom:.5rem}.history-empty h2{margin:0;font-size:1.5rem;font-weight:700;color:#fff}.history-empty p{margin:0;color:#f8fafcb3;font-size:1rem}@media(max-width:768px){.history-item-actions{flex-direction:column}.action-button{width:100%}.stats-grid{gap:1.5rem}}.topic-preferences{gap:2rem}.preferences-hero{border:1px solid var(--border-variant);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi);display:flex;flex-direction:column;gap:.5rem}.preferences-back{color:var(--text-secondary);text-decoration:none;font-size:.95rem;align-self:flex-start;margin-bottom:.5rem;transition:color .2s}.preferences-back:hover{color:var(--text-primary)}.preferences-hero h1{margin:0;font-size:clamp(2rem,4vw,2.5rem);color:var(--text-primary)}.preferences-subtitle{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.6}.preferences-content{border:1px solid var(--border-variant);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi)}.preferences-loading{text-align:center;padding:3rem;color:var(--text-secondary)}.preferences-header{margin-bottom:2rem;text-align:center}.preferences-question{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.preferences-instruction{color:var(--text-secondary);font-size:.95rem;margin:0 0 1rem;line-height:1.5}.preferences-count{color:var(--text-secondary);font-size:.875rem;font-weight:600;margin:0}.preferences-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}.preference-card{position:relative;padding:1.5rem 1rem;border-radius:1rem;border:1px solid var(--border-variant);background:transparent;color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:140px}.preference-card:hover:not(:disabled){border-color:var(--border);background:var(--bg-surface-variant)}.preference-card.selected{color:#fff}.preference-card:disabled{opacity:.5;cursor:not-allowed}.preference-icon{width:48px;height:48px;border-radius:24px;background:#ffffff26;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;font-size:1.5rem}.preference-card.selected .preference-icon{background:#ffffff40}.preference-name{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:inherit}.preference-card.selected .preference-name{font-weight:700;color:#fff}.preference-description{font-size:.75rem;line-height:1.4;margin:0;color:var(--text-secondary);opacity:.9}.preference-card.selected .preference-description{color:#ffffffe6}.preference-checkmark{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;color:#4caf50;font-size:.875rem;font-weight:700}.preferences-actions{display:flex;justify-content:center;padding-top:1.5rem;border-top:1px solid var(--border-variant)}@media(max-width:768px){.preferences-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.preference-card{padding:1.25rem .75rem;min-height:120px}.preference-icon{width:40px;height:40px;border-radius:20px;font-size:1.25rem;margin-bottom:.5rem}.preference-name{font-size:.875rem}.preference-description{font-size:.7rem}}.help-support{gap:2rem}.help-hero{border:1px solid var(--border);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi);display:flex;flex-direction:column;gap:.5rem}.help-back{color:var(--text-secondary);text-decoration:none;font-size:.95rem;align-self:flex-start;margin-bottom:.5rem;transition:color .2s}.help-back:hover{color:var(--text-primary)}.help-hero h1{margin:0;font-size:clamp(2rem,4vw,2.5rem);color:var(--text-primary);font-weight:700}.help-subtitle{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.5}.help-content{display:flex;flex-direction:column;gap:2rem}.help-contact-card{border:1px solid var(--border-variant);border-radius:1.25rem;padding:1.5rem;background:var(--bg-surface);display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center;box-shadow:0 4px 16px var(--shadow)}.help-contact-header h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.help-contact-header p{margin:0;color:var(--text-secondary);font-size:.875rem}.help-faq-card{border:1px solid var(--border-variant);border-radius:1.25rem;padding:1.5rem;background:var(--bg-surface);box-shadow:0 4px 16px var(--shadow)}.help-faq-header{margin-bottom:1.5rem}.help-faq-header h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.help-faq-header p{margin:0;color:var(--text-secondary);font-size:.875rem}.help-faq-list{display:flex;flex-direction:column;gap:1rem}.help-faq-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:1rem;background:var(--bg-surface-variant);border:1px solid var(--border-variant);cursor:pointer;transition:all .2s;text-align:left;width:100%;font-family:inherit}.help-faq-item:hover{background:var(--bg-surface-semi);border-color:var(--border);transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow)}.help-faq-icon{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 4px var(--shadow)}.help-faq-emoji{font-size:1.25rem}.help-faq-content{flex:1;min-width:0}.help-faq-content h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.help-faq-content p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.4}.help-faq-arrow{font-size:1.125rem;color:var(--text-tertiary);font-weight:500;flex-shrink:0}.help-info-card{border:1px solid var(--border-variant);border-radius:1.25rem;padding:1.5rem;background:var(--bg-surface);box-shadow:0 4px 16px var(--shadow)}.help-info-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.help-info-icon{font-size:1.25rem}.help-info-header h2{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-primary)}.help-info-content{display:flex;flex-direction:column;gap:.5rem}.help-info-content p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.help-info-label{font-weight:600;color:var(--text-primary)}.faq-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.faq-modal{background:var(--bg-surface);border-radius:1.25rem;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;border:1px solid var(--border-variant);overflow:hidden}.faq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-variant)}.faq-modal-header h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary);flex:1}.faq-modal-close{width:2rem;height:2rem;border:none;background:transparent;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s;padding:0;line-height:1}.faq-modal-close:hover{background:var(--bg-surface-variant);color:var(--text-primary)}.faq-modal-content{padding:1.5rem;overflow-y:auto;flex:1}.faq-answer{color:var(--text-primary);font-size:.9375rem;line-height:1.6;white-space:pre-line}.faq-answer-list-item{display:block;margin-left:.5rem}.faq-modal-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-variant);justify-content:flex-end}.faq-modal-footer .btn{min-width:120px}@media(max-width:640px){.help-hero{padding:1.5rem}.help-contact-card,.help-faq-card,.help-info-card{padding:1.25rem}.help-faq-item{padding:.875rem}.help-faq-icon{width:2.25rem;height:2.25rem}.faq-modal{max-height:95vh}.faq-modal-header,.faq-modal-content,.faq-modal-footer{padding:1.25rem}.faq-modal-footer{flex-direction:column}.faq-modal-footer .btn{width:100%}}.faq-page{max-width:800px;margin:0 auto;position:relative;overflow:hidden}.faq-visual{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.faq-floating-element{position:absolute;border-radius:50%;background:linear-gradient(135deg,#ff6b3526,#dc26261a);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:float-around 20s infinite ease-in-out}.faq-floating-1{width:300px;height:300px;top:-100px;right:-100px;animation-delay:0s}.faq-floating-2{width:200px;height:200px;bottom:-50px;left:-50px;background:linear-gradient(135deg,#8a5cf626,#4a9bff1a);animation-delay:7s;animation-duration:25s}.faq-floating-3{width:150px;height:150px;top:50%;right:10%;background:linear-gradient(135deg,#ff6b351a,#8a5cf61a);animation-delay:3s;animation-duration:18s}@keyframes float-around{0%,to{transform:translate(0) scale(1);opacity:.3}25%{transform:translate(30px,-30px) scale(1.1);opacity:.5}50%{transform:translate(-20px,20px) scale(.9);opacity:.4}75%{transform:translate(20px,30px) scale(1.05);opacity:.5}}.faq-header{padding:2rem 0 0;display:flex;justify-content:flex-start;align-items:center;margin-bottom:1rem;position:relative}.faq-logo-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;transition:transform .2s ease}.faq-logo-link:hover{transform:translateY(-2px)}.faq-logo{width:40px;height:40px;border-radius:10px;box-shadow:0 4px 12px #ff6b3533}.faq-logo-text{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#fff,#ffffffe6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.faq-hero{text-align:center;padding:1rem 0 0;margin-bottom:2rem}.faq-hero h1{font-size:clamp(2rem,5vw,2.75rem);font-weight:700;margin-bottom:.75rem;background:linear-gradient(135deg,#fff,#ffffffe6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.faq-subtitle{font-size:1.125rem;color:#f8fafccc;margin:0}.faq-content{padding-bottom:2rem}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:#1e293b66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:1rem;text-align:left;cursor:pointer;transition:all .3s ease;color:inherit;font-family:inherit;font-size:inherit;width:100%;position:relative}.faq-item:before{content:"";position:absolute;inset:0;border-radius:1rem;padding:1px;background:linear-gradient(135deg,#ff6b354d,#8a5cf64d);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.faq-item:hover{background:#1e293b99;border-color:#8a5cf64d;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.faq-item:hover:before{opacity:1}.faq-icon{flex-shrink:0;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:.75rem}.faq-emoji{font-size:1.5rem}.faq-item-content{flex:1;min-width:0}.faq-item-content h3{font-size:1.125rem;font-weight:600;margin:0 0 .5rem;color:#f8fafcf2}.faq-item-content p{font-size:.95rem;color:#f8fafcb3;margin:0;line-height:1.5}.faq-arrow{flex-shrink:0;font-size:1.25rem;color:#f8fafc80;transition:transform .3s ease,color .3s ease}.faq-item:hover .faq-arrow{transform:translate(4px);color:var(--accent)}.faq-modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.faq-modal{background:var(--bg-surface);border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;max-width:600px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.faq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.faq-modal-header h2{font-size:1.5rem;font-weight:600;margin:0;color:#f8fafcf2}.faq-modal-close{background:none;border:none;font-size:2rem;color:#f8fafc99;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s ease;line-height:1}.faq-modal-close:hover{background:#ffffff1a;color:#f8fafce6}.faq-modal-content{padding:2rem;overflow-y:auto;flex:1}.faq-answer{font-size:1rem;line-height:1.7;color:#f8fafcd9;white-space:pre-line}.faq-answer-list-item{display:block;margin-left:1rem;margin-bottom:.5rem}.faq-modal-footer{padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:1rem}@media(max-width:640px){.faq-floating-1,.faq-floating-2,.faq-floating-3{display:none}.faq-header{padding:1.5rem 0 .5rem}.faq-logo{width:32px;height:32px}.faq-logo-text{font-size:1.125rem}.faq-hero{padding:1.5rem 0}.faq-item{padding:1.25rem;gap:1rem}.faq-icon{width:2.5rem;height:2.5rem}.faq-emoji{font-size:1.25rem}.faq-item-content h3{font-size:1rem}.faq-item-content p{font-size:.875rem}.faq-modal{max-height:90vh}.faq-modal-header,.faq-modal-content,.faq-modal-footer{padding:1.25rem 1.5rem}}.quiz-review{gap:2rem}.quiz-review-hero{border:1px solid var(--border);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi);display:flex;flex-direction:column;gap:.5rem}.quiz-review-back{color:var(--text-subtle);text-decoration:none;font-size:.95rem;align-self:flex-start;margin-bottom:.5rem}.quiz-review-back:hover{color:var(--text-secondary)}.quiz-review-hero h1{margin:0;font-size:clamp(2rem,4vw,2.5rem);color:var(--text-primary)}.quiz-review-subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.quiz-review-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.quiz-review-loading p{color:var(--text-subtle);margin:0}.quiz-review-modes{display:flex;flex-direction:column;gap:1rem}.mode-card{border:1px solid var(--border);border-radius:1.5rem;padding:1.5rem;background:var(--bg-surface-semi);cursor:pointer;transition:all .2s}.mode-card:hover{background:var(--bg-surface);border-color:var(--border-strong)}.mode-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.mode-icon{font-size:1.5rem}.mode-card h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.mode-card p{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.5}.quiz-review-active{display:flex;flex-direction:column;gap:1.5rem}.quiz-review-back-button{background:none;border:1px solid var(--border);border-radius:.5rem;padding:.5rem 1rem;color:var(--text-primary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;align-self:flex-start;margin-bottom:.5rem}.quiz-review-back-button:hover{background:var(--bg-surface-variant);border-color:var(--border-strong)}.quiz-review-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.quiz-review-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.quiz-review-header p{margin:0;font-size:.95rem;color:var(--text-muted);font-weight:500}.quiz-review-question-card{border:1px solid var(--border);border-radius:2rem;padding:2rem;background:var(--bg-surface-semi)}.quiz-review-question{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;line-height:1.4}.quiz-review-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.quiz-review-option{padding:1rem 1.25rem;border-radius:1rem;border:1px solid var(--border);background:var(--bg-surface-variant);color:var(--text-primary);font-size:1rem;font-weight:500;text-align:left;cursor:pointer;transition:all .2s;font-family:inherit}.quiz-review-option:hover:not(:disabled){background:var(--bg-surface);border-color:var(--accent)}.quiz-review-option.selected{background:var(--accent);border-color:var(--accent);color:#fff}.quiz-review-option.correct{background:#22c55e33;border-color:#22c55e;color:#fff}.quiz-review-option.incorrect{background:#ef444433;border-color:#ef4444;color:#fff}.quiz-review-option:disabled{cursor:not-allowed;opacity:.8}.quiz-review-explanation{padding:1rem;border-radius:1rem;background:var(--bg-surface-variant);margin-bottom:1.5rem}.explanation-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.explanation-correct-answer{margin:0 0 .5rem;font-size:.95rem;color:var(--text-secondary);line-height:1.5}.explanation-correct-answer strong{color:var(--text-primary);font-weight:600}.explanation-text{margin:0;font-size:.95rem;color:var(--text-muted);line-height:1.5}.quiz-review-next{width:100%;padding:1rem 2rem;font-size:1.1rem}.quiz-review-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.quiz-review-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:2rem;padding:2rem;max-width:600px;width:100%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-primary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.modal-close:hover{background:var(--bg-surface-variant)}.modal-content{display:flex;flex-direction:column;gap:1rem}.topic-item{padding:1rem;border-radius:1rem;border:1px solid var(--border);background:var(--bg-surface-semi);cursor:pointer;transition:all .2s}.topic-item:hover{background:var(--bg-surface);border-color:var(--border-strong)}.topic-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.topic-info p{margin:0;font-size:.875rem;color:var(--text-muted)}.topic-stats{display:flex;gap:1rem;margin-top:.75rem;font-size:.875rem;color:var(--text-subtle)}@media(max-width:768px){.quiz-review-modal{padding:1.5rem;max-height:90vh}}.topic-learning{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.topic-learning__container{display:flex;flex-direction:column;gap:2rem}.topic-learning__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.topic-learning__back{width:40px;height:40px;border-radius:20px;background:#fff3;border:none;color:#fff;font-size:20px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.topic-learning__back:hover{background:#ffffff4d}.topic-learning__title{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.3px;margin:0}.topic-learning__placeholder{width:40px}.topic-learning__intro{text-align:center;margin-bottom:2rem}.topic-learning__icon{width:80px;height:80px;border-radius:40px;background:#8a5cf64d;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 1rem;box-shadow:0 4px 12px #00000026}.topic-learning__description{font-size:1rem;color:#ffffffe6;line-height:1.5;margin:.5rem 0}.topic-learning__content{display:flex;flex-direction:column;gap:1.5rem}.topic-learning__input-card,.topic-learning__summary-card,.topic-learning__conversation-card,.topic-learning__question-card,.topic-learning__quiz-card{border-radius:1.25rem;padding:1.5rem;background:#0f172acc;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 16px #0000001f}.topic-learning__input-header,.topic-learning__summary-header,.topic-learning__conversation-header,.topic-learning__question-header,.topic-learning__quiz-header{margin-bottom:1.25rem}.topic-learning__input-title,.topic-learning__summary-title,.topic-learning__conversation-title,.topic-learning__question-title,.topic-learning__quiz-title{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 .25rem}.topic-learning__input-subtitle,.topic-learning__summary-subtitle,.topic-learning__conversation-subtitle,.topic-learning__question-subtitle,.topic-learning__quiz-subtitle{font-size:.875rem;color:#f8fafcb3;margin:0}.topic-learning__input{width:100%;border-radius:.75rem;padding:1rem;font-size:1rem;border:1px solid rgba(255,255,255,.1);background:#1e293b80;color:#fff;font-family:inherit;resize:vertical;min-height:80px;margin-bottom:.5rem;box-sizing:border-box}.topic-learning__input:focus{outline:none;border-color:#8a5cf680;background:#1e293bb3}.topic-learning__input-hint{font-size:.875rem;color:#f8fafc99;font-style:italic;margin:0 0 1.25rem}.topic-learning__error{color:#ff6b6b;font-size:.875rem;margin:.5rem 0}.topic-learning__generate-btn{width:100%;border-radius:1rem;padding:1rem;font-size:1rem;font-weight:600}.topic-learning__generate-btn.disabled{opacity:.5;cursor:not-allowed}.topic-learning__summary-content{font-size:1rem;line-height:1.5;color:#f8fafce6;margin-bottom:1.25rem;white-space:pre-wrap}.topic-learning__summary-content p{margin:.5rem 0}.topic-learning__view-details-btn{width:100%;border-radius:1rem;padding:1rem;font-size:1rem;font-weight:600;margin-top:1.25rem}.topic-learning__conversation-history{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.topic-learning__message{padding:1rem;border-radius:.75rem;display:flex;flex-direction:column;gap:.5rem}.topic-learning__message.user{background:#8a5cf633;align-self:flex-end;max-width:80%}.topic-learning__message.assistant{background:#1e293b80;align-self:flex-start;max-width:80%}.topic-learning__message-text{margin:0;color:#fff;line-height:1.5;white-space:pre-wrap}.topic-learning__message.assistant .topic-learning__message-text{color:#f8fafce6}.topic-learning__message-time{font-size:.75rem;color:#ffffffb3;align-self:flex-end}.topic-learning__ask-btn{width:100%;border-radius:1rem;padding:1rem;font-size:1rem;font-weight:600}.topic-learning__question-input-container{display:flex;flex-direction:column;gap:1rem}.topic-learning__question-input{width:100%;border-radius:.75rem;padding:1rem;font-size:1rem;border:1px solid rgba(255,255,255,.1);background:#1e293b80;color:#fff;font-family:inherit;resize:vertical;min-height:60px;box-sizing:border-box}.topic-learning__question-input:focus{outline:none;border-color:#8a5cf680;background:#1e293bb3}.topic-learning__question-actions{display:flex;gap:.75rem}.topic-learning__cancel-btn,.topic-learning__send-btn{flex:1;border-radius:.75rem;padding:.75rem;font-size:1rem;font-weight:600}.topic-learning__send-btn.disabled{opacity:.5;cursor:not-allowed}.topic-learning__quiz-question{font-size:1rem;font-weight:600;color:#f8fafce6;line-height:1.5;margin:.75rem 0 1.5rem}.topic-learning__start-quiz-btn{width:100%;border-radius:1rem;padding:1rem;font-size:1rem;font-weight:600}.topic-learning__options-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.topic-learning__option-btn{border-radius:.75rem;padding:1rem 1.25rem;border:2px solid rgba(255,255,255,.1);background:#1e293b80;color:#f8fafce6;font-size:1rem;font-weight:500;text-align:left;cursor:pointer;transition:all .2s ease;font-family:inherit}.topic-learning__option-btn:hover:not(:disabled){background:#1e293bb3;border-color:#8a5cf64d}.topic-learning__option-btn.selected{background:#8a5cf633;border-color:#8a5cf680;color:#8a5cf6;font-weight:600}.topic-learning__option-btn.correct{background:#4caf5033;border-color:#4caf5080;color:#4caf50}.topic-learning__option-btn.incorrect{background:#f4433633;border-color:#f4433680;color:#f44336}.topic-learning__option-btn:disabled{cursor:not-allowed}.topic-learning__quiz-feedback{padding:1rem;border-radius:.75rem;margin-bottom:1.5rem;font-weight:600;text-align:center}.topic-learning__quiz-feedback.correct{background:#4caf5033;color:#4caf50}.topic-learning__quiz-feedback.incorrect{background:#f4433633;color:#f44336}.topic-learning__quiz-actions{display:flex;justify-content:center}.topic-learning__submit-btn,.topic-learning__retry-btn{border-radius:1rem;padding:1rem 2rem;font-size:1rem;font-weight:600}.topic-learning__submit-btn.disabled{opacity:.5;cursor:not-allowed}.topic-learning__new-topic-btn{width:100%;border-radius:1rem;padding:1rem;font-size:1rem;font-weight:600;border:1px solid rgba(255,255,255,.2)}.topic-learning__game-card{border-radius:1.25rem;padding:2rem;background:linear-gradient(135deg,#8a5cf633,#3b82f633);border:2px solid rgba(138,92,246,.3);box-shadow:0 8px 32px #8a5cf633;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 8px 32px #8a5cf633}50%{box-shadow:0 8px 40px #8a5cf666}}.topic-learning__game-header{text-align:center;margin-bottom:2rem}.topic-learning__game-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .5rem;text-shadow:0 2px 8px rgba(138,92,246,.5)}.topic-learning__game-subtitle{font-size:.95rem;color:#ffffffe6;margin:0}.topic-learning__game-content{display:flex;flex-direction:column;gap:1.5rem}.topic-learning__game-stats{display:flex;justify-content:space-around;align-items:center;gap:1rem;padding:1rem;background:#ffffff1a;border-radius:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topic-learning__game-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1}.topic-learning__game-stat-label{font-size:.75rem;color:#ffffffb3;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.topic-learning__game-stat-value{font-size:1.5rem;font-weight:700;color:#fbbf24;text-shadow:0 2px 4px rgba(0,0,0,.3)}.topic-learning__game-score{display:flex;justify-content:center;align-items:center;gap:.75rem;padding:1rem;background:#ffffff1a;border-radius:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topic-learning__game-score-label{font-size:1rem;color:#fffc;font-weight:500}.topic-learning__game-score-value{font-size:1.5rem;font-weight:700;color:#fbbf24;text-shadow:0 2px 4px rgba(0,0,0,.3)}.topic-learning__game-word-display{text-align:center;padding:1.5rem;background:#0f172a99;border-radius:1rem;border:2px solid rgba(138,92,246,.4)}.topic-learning__game-instruction{font-size:.9rem;color:#ffffffb3;margin:0 0 1rem;font-weight:500}.topic-learning__game-word{font-size:2.5rem;font-weight:700;color:#fbbf24;text-transform:uppercase;letter-spacing:.2em;text-shadow:0 4px 12px rgba(251,191,36,.5);animation:glow 1.5s ease-in-out infinite alternate;margin:0}@keyframes glow{0%{text-shadow:0 4px 12px rgba(251,191,36,.5)}to{text-shadow:0 4px 20px rgba(251,191,36,.8),0 0 30px rgba(251,191,36,.4)}}.topic-learning__game-input{width:100%;border-radius:1rem;padding:1.25rem;font-size:1.25rem;font-weight:600;border:2px solid rgba(138,92,246,.5);background:#0f172acc;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.1em;font-family:inherit;box-sizing:border-box;transition:all .3s ease}.topic-learning__game-input:focus{outline:none;border-color:#8a5cf6cc;background:#0f172ae6;box-shadow:0 0 20px #8a5cf666;transform:scale(1.02)}.topic-learning__game-input::placeholder{color:#fff6;text-transform:none;letter-spacing:normal}.topic-learning__game-hint{text-align:center;font-size:.9rem;color:#ffffffb3;margin:0;font-style:italic}.topic-learning__clarification{display:flex;flex-direction:column;gap:1.5rem}.topic-learning__clarification-text{color:#ffffffe6;line-height:1.6;margin:0}.topic-learning__clarification-term{padding:1rem;background:#1e293b80;border-radius:.75rem;border-left:3px solid rgba(138,92,246,.5)}.topic-learning__clarification-term strong{color:#fbbf24;font-size:1.1rem}.topic-learning__clarification-meanings{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.5rem}.topic-learning__clarification-meanings li{padding:.5rem .75rem;background:#8a5cf61a;border-radius:.5rem;color:#ffffffe6;font-size:.9rem}.topic-learning__clarification-input{display:flex;flex-direction:column;gap:.75rem}.topic-learning__clarification-input label{color:#ffffffe6;font-weight:500;font-size:.95rem}.topic-learning__clarification-actions{display:flex;gap:1rem;margin-top:1rem}.topic-learning__clarification-actions .btn{flex:1;padding:.875rem;font-size:1rem;font-weight:600;border-radius:.75rem}@media(max-width:640px){.topic-learning{padding:1.5rem 1rem}.topic-learning__input-card,.topic-learning__summary-card,.topic-learning__conversation-card,.topic-learning__question-card,.topic-learning__quiz-card{padding:1.25rem}}.app-shell{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;position:relative}.app-shell:before,.app-shell:after{content:"";position:fixed;top:0;bottom:0;width:25%;max-width:calc((100% - 800px)/2);z-index:0;pointer-events:none}.app-shell:before{left:0;background:linear-gradient(to right,var(--bg-primary),transparent 60%),radial-gradient(ellipse at left center,rgba(138,92,246,.08),transparent 70%)}.app-shell:after{right:0;background:linear-gradient(to left,var(--bg-primary),transparent 60%),radial-gradient(ellipse at right center,rgba(74,155,255,.08),transparent 70%)}[data-theme=light] .app-shell:before{background:linear-gradient(to right,var(--bg-primary),transparent 60%),radial-gradient(ellipse at left center,rgba(255,165,0,.06),transparent 70%)}[data-theme=light] .app-shell:after{background:linear-gradient(to left,var(--bg-primary),transparent 60%),radial-gradient(ellipse at right center,rgba(255,107,107,.06),transparent 70%)}.app-gradient{position:fixed;inset:0;background:radial-gradient(circle at top,rgba(74,155,255,.25),transparent 55%),radial-gradient(circle at 30% 20%,rgba(138,92,246,.25),transparent 45%);filter:blur(40px);z-index:0;transition:opacity .3s ease}[data-theme=light] .app-gradient{background:radial-gradient(circle at top,rgba(255,107,107,.25),transparent 55%),radial-gradient(circle at 30% 20%,rgba(255,165,0,.25),transparent 45%)}.app-container{width:50%;max-width:800px;margin:0 auto;padding:0 1.5rem calc(3rem + 80px);position:relative;z-index:1}@media(max-width:1024px){.app-shell:before,.app-shell:after{display:none}}@media(max-width:1024px){.app-container{width:90%;max-width:none}}@media(max-width:640px){.app-container{width:100%;padding:0 1rem calc(3rem + 80px)}}main{min-height:60vh}.page{display:flex;flex-direction:column;padding-top:1rem}.page.landing{gap:0;padding-top:0}.page .hero{max-width:720px;position:relative}.hero .eyebrow{font-size:.9rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;transition:color .3s ease}.hero h1{font-size:clamp(2.5rem,6vw,3.5rem);margin-bottom:1rem;line-height:1.1}.hero p,.hero-description{font-size:1.25rem;line-height:1.7;color:#f8fafcd9;margin-bottom:0}.hero-actions{display:flex;gap:1rem;margin-top:2.5rem;flex-wrap:wrap}.btn{border:none;border-radius:999px;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn.primary{background:linear-gradient(135deg,#8a5cf6,#4a9bff);color:#fff;box-shadow:0 12px 25px #8a5cf659}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 35px #8a5cf673}.btn.primary:active{transform:translateY(0)}.btn.ghost{border:1px solid rgba(255,255,255,.25);color:#fff;background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn.ghost:hover{background:#ffffff1a;border-color:#ffffff59;transform:translateY(-1px)}.btn-block{width:100%;padding:1rem 1.5rem;font-size:1rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:4rem}.feature-grid article,.feature-card{padding:2rem;border-radius:1.5rem;background:#1e293b66;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.feature-grid article:hover,.feature-card:hover{background:#1e293b99;border-color:#8a5cf64d;transform:translateY(-2px)}.feature-grid h3{margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.feature-grid p{color:#f8fafcbf;line-height:1.6;margin:0}.form-error{border-radius:.8rem;padding:.85rem 1rem;background:#e11d4814;color:#9f1239;font-size:.95rem}.page.home .home-card{background:var(--bg-surface-light);border:1px solid var(--border-subtle);border-radius:1.75rem;padding:2rem;max-width:720px;transition:background-color .3s ease,border-color .3s ease}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.panel{border-radius:1.75rem;padding:1.75rem;background:#0f172a99;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.75rem}.panel.streak h2{font-size:3rem;margin:0}.panel.actions .actions-grid{display:flex;flex-direction:column;gap:.75rem}.action-tile{border-radius:1.25rem;padding:1rem 1.25rem;background:#ffffff0f;border:1px solid transparent;color:inherit;text-align:left;display:flex;flex-direction:column;gap:.35rem;transition:transform .15s ease,border-color .15s}.action-tile strong{font-size:1.05rem}.action-tile span{opacity:.7}.action-tile:hover{transform:translateY(-2px);border-color:#8a5cf680}.panel.lessons ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.panel.lessons li{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.75rem}.panel.lessons li:last-child{border-bottom:none;padding-bottom:0}.panel.lessons strong{display:block}.panel.lessons span{color:#f8fafcb3;font-size:.95rem}@media(max-width:640px){.app-container{padding:0 1rem 2rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%;justify-content:center}.feature-grid{grid-template-columns:1fr;margin-top:3rem}.hero p,.hero-description{font-size:1.125rem}}
