@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary:#6c63ff;--primary-light:#8b83ff;--primary-dark:#5a52e0;--primary-glow:#6c63ff26;--secondary:#ff6b6b;--success:#51cf66;--success-light:#51cf661f;--warning:#ffd43b;--warning-light:#ffd43b26;--danger:#ff6b6b;--danger-light:#ff6b6b1f;--info:#339af0;--info-light:#339af01f;--bg:#f5f6fa;--bg-card:#fff;--bg-elevated:#fff;--bg-input:#f0f2f5;--bg-hover:#e8ebf0;--text:#1a1d26;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#e2e5ed;--border-light:#ebedf2;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow:0 4px 12px #0000000f, 0 1px 3px #0000000a;--shadow-lg:0 10px 30px #00000014, 0 4px 8px #0000000a;--shadow-xl:0 20px 50px #0000001f, 0 8px 16px #0000000f;--shadow-primary:0 4px 14px #6c63ff40;--shadow-glow:0 0 20px #6c63ff26;--radius-sm:10px;--radius:14px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--transition:.2s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg:#0b0e14;--bg-card:#141820;--bg-elevated:#1a1f2b;--bg-input:#1e2330;--bg-hover:#262d3d;--text:#e8ecf4;--text-secondary:#8892a4;--text-muted:#4a5568;--border:#2a3040;--border-light:#1e2430;--shadow-sm:0 1px 3px #0000004d;--shadow:0 4px 12px #00000059;--shadow-lg:0 10px 30px #0006;--shadow-xl:0 20px 50px #00000080;--shadow-primary:0 4px 14px #6c63ff33;--shadow-glow:0 0 20px #6c63ff1a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--primary-light)}button{cursor:pointer;font-family:var(--font);border:none;outline:none}input,textarea,select{font-family:var(--font);outline:none}.btn{border-radius:var(--radius-sm);transition:all var(--transition);border:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 6px 20px #6c63ff59}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-input);color:var(--text)}.btn-secondary:hover{background:var(--bg-hover)}.btn-outline{border-color:var(--border);color:var(--text);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-glow)}.btn-danger{background:linear-gradient(135deg, var(--danger), #e03131);color:#fff}.btn-danger:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg, var(--success), #40c057);color:#fff}.btn-ghost{color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;padding:8px}.btn-ghost:hover{color:var(--text);background:var(--bg-hover)}.btn-lg{border-radius:var(--radius);padding:14px 28px;font-size:16px}.btn-sm{padding:6px 14px;font-size:12px}.btn-icon{border-radius:var(--radius-sm);width:40px;height:40px;padding:0}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--text-secondary);font-size:14px;font-weight:600}.input{background:var(--bg-input);border-radius:var(--radius-sm);width:100%;color:var(--text);transition:all var(--transition);border:2px solid #0000;padding:12px 16px;font-size:15px}.input:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px var(--primary-glow)}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:80px}.card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border-light);transition:all var(--transition)}.card:hover{box-shadow:var(--shadow)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.page{flex:1;padding:32px 0}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 16px}}@media (width<=1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-primary{background:var(--primary-glow);color:var(--primary)}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:#e8a200}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-info{background:var(--info-light);color:var(--info)}.progress-bar{background:var(--bg-input);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--primary), var(--primary-light));height:100%;transition:width .5s}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-in{animation:.4s forwards fadeIn}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.loading-page{justify-content:center;align-items:center;min-height:400px;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state svg{width:80px;height:80px;color:var(--text-muted);opacity:.5;margin-bottom:16px}.empty-state h3{margin-bottom:8px;font-size:20px}.empty-state p{color:var(--text-secondary);margin-bottom:24px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-light);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-xl);padding:32px;animation:.2s scaleIn;overflow-y:auto}.modal h2{margin-bottom:20px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass{-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #fff3}[data-theme=dark] .glass{background:#141820bf;border:1px solid #ffffff0f}.gradient-text{background:linear-gradient(135deg, var(--primary), #ff6b6b, var(--primary-light));-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:4s infinite gradientShift}.navbar{z-index:100;border-bottom:1px solid var(--border-light);position:sticky;top:0}.navbar-inner{align-items:center;gap:12px;height:64px;display:flex}.navbar-brand{color:var(--text);letter-spacing:-.3px;flex-shrink:0;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.navbar-brand:hover{color:var(--text)}.navbar-logo{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;width:36px;height:36px;box-shadow:var(--shadow-primary);border-radius:10px;justify-content:center;align-items:center;display:flex}.navbar-search{background:var(--bg-input);border-radius:var(--radius-full);max-width:360px;transition:all var(--transition);border:1.5px solid #0000;flex:1;align-items:center;gap:8px;padding:8px 16px;display:flex}.navbar-search:focus-within{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px var(--primary-glow);max-width:420px}.navbar-search svg{color:var(--text-muted);flex-shrink:0}.navbar-search input{color:var(--text);background:0 0;border:none;width:100%;font-size:13px}.navbar-search input::placeholder{color:var(--text-muted)}.navbar-actions{align-items:center;gap:4px;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;display:flex}.nav-link:hover{color:var(--text);background:var(--bg-hover)}.nav-link.active{color:var(--primary);background:var(--primary-glow)}.nav-divider{background:var(--border);flex-shrink:0;width:1px;height:24px;margin:0 4px}.nav-create-btn{border-radius:var(--radius-sm)!important}.nav-theme-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-theme-btn:hover{color:var(--text);background:var(--bg-hover)}.nav-user{align-items:center;gap:6px;margin-left:2px;display:flex}.nav-avatar{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--primary), #ff6b6b);color:#fff;letter-spacing:.5px;cursor:default;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:flex}.nav-logout{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);transition:all var(--transition);background:0 0;justify-content:center;align-items:center;display:flex}.nav-logout:hover{color:var(--danger);background:var(--danger-light)}.menu-toggle{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text);transition:all var(--transition);background:0 0;justify-content:center;align-items:center;margin-left:auto;display:none}.menu-toggle:hover{background:var(--bg-hover)}@media (width<=768px){.navbar-search{display:none}.menu-toggle{display:flex}.navbar-actions{background:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);flex-direction:column;gap:4px;padding:12px 16px;animation:.2s fadeIn;display:none;position:fixed;top:64px;left:0;right:0}.navbar-actions.open{display:flex}.nav-link{width:100%;padding:12px 16px;font-size:14px}.nav-link span{display:inline}.nav-divider{width:100%;height:1px;margin:4px 0}.nav-create-btn{justify-content:center;width:100%;padding:12px!important}.nav-user{justify-content:center;width:100%;padding-top:8px}}@media (width<=1024px){.nav-link span{display:none}}@media (width>=769px) and (width<=1024px){.nav-link{padding:7px 8px}}.pomodoro-overlay{z-index:1001;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.pomodoro-modal{background:var(--bg-card);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:380px;padding:36px;animation:.3s scaleIn}.pomodoro-tabs{background:var(--bg-input);border-radius:var(--radius-full);gap:4px;margin-bottom:32px;padding:4px;display:flex}.pomodoro-tab{border-radius:var(--radius-full);color:var(--text-secondary);transition:all var(--transition);background:0 0;flex:1;padding:8px;font-size:12px;font-weight:600}.pomodoro-tab.active{background:var(--bg-card);color:var(--text);box-shadow:var(--shadow-sm)}.pomodoro-display{margin-bottom:24px}.pomodoro-circle{background:conic-gradient(var(--color) calc(var(--progress) * 1%), var(--bg-input) calc(var(--progress) * 1%));border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:200px;height:200px;margin:0 auto;display:flex;position:relative}.pomodoro-circle:before{content:"";background:var(--bg-card);border-radius:50%;position:absolute;inset:8px}.pomodoro-circle>*{z-index:1;position:relative}.pomodoro-time{font-variant-numeric:tabular-nums;font-size:42px;font-weight:800}.pomodoro-label{color:var(--text-secondary);font-size:13px;font-weight:500}.pomodoro-controls{justify-content:center;align-items:center;gap:20px;margin-bottom:16px;display:flex}.pomodoro-hint{color:var(--text-muted);font-size:13px}.home{overflow:hidden}.hero{text-align:center;padding:100px 0 80px;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-blob{filter:blur(80px);opacity:.5;border-radius:50%;animation:8s ease-in-out infinite float;position:absolute}.hero-blob-1{background:#6c63ff33;width:400px;height:400px;animation-delay:0s;top:-100px;right:-50px}.hero-blob-2{background:#ff6b6b26;width:300px;height:300px;animation-delay:2s;bottom:-80px;left:-60px}.hero-blob-3{background:#51cf661f;width:250px;height:250px;animation-delay:4s;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-grid{background-image:linear-gradient(var(--border-light) 1px, transparent 1px), linear-gradient(90deg, var(--border-light) 1px, transparent 1px);opacity:.4;background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 70%);mask-image:radial-gradient(#000 30%,#0000 70%)}.hero-content{z-index:1;position:relative}.hero-badge{background:var(--primary-glow);color:var(--primary);border-radius:var(--radius-full);border:1px solid #6c63ff26;align-items:center;gap:8px;margin-bottom:28px;padding:8px 18px;font-size:13px;font-weight:600;animation:.5s fadeIn;display:inline-flex}.hero-title{letter-spacing:-1.5px;margin-bottom:22px;font-size:60px;font-weight:900;line-height:1.08;animation:.6s .1s both fadeInUp}.hero-subtitle{color:var(--text-secondary);max-width:520px;margin:0 auto 40px;font-size:18px;line-height:1.7;animation:.6s .2s both fadeInUp}.hero-actions{justify-content:center;gap:14px;animation:.6s .3s both fadeInUp;display:flex}.hero-cta{border-radius:var(--radius)!important;padding:16px 32px!important;font-size:16px!important}.hero-proof{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;margin-top:48px;font-size:14px;font-weight:500;animation:.6s .4s both fadeInUp;display:flex}.hero-proof-avatars{display:flex}.hero-proof-avatar{color:#fff;border:2px solid var(--bg);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:-8px;font-size:11px;font-weight:800;display:flex}.hero-proof-avatar:first-child{margin-left:0}.section-badge{background:var(--primary-glow);color:var(--primary);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:16px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.section-title{text-align:center;letter-spacing:-.5px;margin-bottom:10px;font-size:36px;font-weight:900}.section-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:48px;font-size:16px}.features{text-align:center;padding:80px 0}.features-grid{grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px;margin:0 auto;display:grid}.feature-card{text-align:left;cursor:default;padding:28px 24px;transition:all .3s}.feature-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.feature-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;display:flex}.feature-card h3{margin-bottom:8px;font-size:17px;font-weight:700}.feature-card p{color:var(--text-secondary);font-size:14px;line-height:1.6}.highlights{padding:60px 0 80px}.highlights-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.highlight-card{text-align:center;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-light);padding:32px 20px;transition:all .3s}.highlight-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-4px)}.highlight-icon{background:linear-gradient(135deg, var(--primary-glow), #ff6b6b14);width:56px;height:56px;color:var(--primary);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.highlight-card h3{margin-bottom:8px;font-size:16px;font-weight:700}.highlight-card p{color:var(--text-secondary);font-size:13px;line-height:1.5}.cta-section{padding:40px 0 80px}.cta-card{text-align:center;border-radius:var(--radius-xl);border:1px solid var(--border-light);background:linear-gradient(135deg,#6c63ff0f,#ff6b6b0f);padding:60px 40px}.cta-card h2{margin-bottom:12px;font-size:32px;font-weight:800}.cta-card p{color:var(--text-secondary);margin-bottom:28px;font-size:16px}.home-footer{border-top:1px solid var(--border-light);padding:24px 0}.footer-inner{justify-content:space-between;align-items:center;display:flex}.footer-brand{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.footer-inner p{color:var(--text-muted);font-size:13px}@media (width<=1024px){.highlights-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hero{padding:60px 0 50px}.hero-title{letter-spacing:-1px;font-size:38px}.hero-subtitle{font-size:15px}.hero-actions{flex-direction:column;align-items:center}.section-title{font-size:26px}.features-grid{grid-template-columns:1fr;max-width:400px}.highlights-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.cta-card{padding:40px 24px}.cta-card h2{font-size:24px}.footer-inner{text-align:center;flex-direction:column;gap:8px}.hero-blob-1{width:250px;height:250px}.hero-blob-2{width:200px;height:200px}.hero-blob-3{width:150px;height:150px}}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:40px 20px;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";filter:blur(80px);background:#6c63ff14;border-radius:50%;width:400px;height:400px;position:absolute;top:-100px;right:-100px}.auth-page:after{content:"";filter:blur(80px);background:#ff6b6b0f;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-80px;left:-80px}.auth-card{background:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);z-index:1;border:1px solid var(--border-light);padding:44px;animation:.3s scaleIn;position:relative}.auth-header{text-align:center;margin-bottom:32px}.auth-icon{background:var(--primary-glow);width:56px;height:56px;color:var(--primary);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.auth-header h1{letter-spacing:-.3px;margin-bottom:8px;font-size:26px;font-weight:800}.auth-header p{color:var(--text-secondary);font-size:15px}.auth-form{flex-direction:column;gap:18px;display:flex}.password-input{position:relative}.password-input .input{padding-right:48px}.password-toggle{color:var(--text-muted);transition:all var(--transition);background:0 0;border-radius:6px;padding:4px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:var(--bg-hover)}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:14px}@media (width<=480px){.auth-card{padding:28px 22px}.auth-header h1{font-size:22px}}.set-card{color:var(--text);cursor:pointer;flex-direction:column;text-decoration:none;transition:all .3s;display:flex;overflow:hidden}.set-card:hover{box-shadow:var(--shadow-lg);border-color:#0000;transform:translateY(-4px)}.set-card-accent{flex-shrink:0;width:100%;height:4px}.set-card-body{flex-direction:column;flex:1;padding:18px 20px 16px;display:flex}.set-card-header{margin-bottom:6px}.set-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.set-card-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:auto;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.set-card-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;display:flex}.set-card-meta{align-items:center;gap:12px;display:flex}.set-card-author{color:var(--text-secondary);align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.set-card-count{color:var(--text-muted);font-size:12px;font-weight:500}.set-card-go{background:var(--bg-input);width:28px;height:28px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.set-card:hover .set-card-go{background:var(--primary);color:#fff;transform:translate(2px)}.welcome-banner{border-radius:var(--radius-lg);border:1px solid var(--border-light);background:linear-gradient(135deg,#6c63ff0f,#ff6b6b0a);justify-content:space-between;align-items:center;margin-bottom:28px;padding:28px 32px;display:flex}.welcome-content{flex-direction:column;gap:4px;display:flex}.welcome-greeting{align-items:center;gap:8px;display:flex}.welcome-icon{color:var(--warning)}.welcome-label{color:var(--text-secondary);font-size:14px;font-weight:600}.welcome-name{letter-spacing:-.5px;font-size:28px;font-weight:800}.welcome-motivation{color:var(--text-secondary);margin-top:2px;font-size:15px}.stats-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.stat-card{align-items:center;gap:14px;padding:20px;transition:all .3s;display:flex}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.stat-icon{border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.stat-icon-streak{color:#ff6b6b;background:#ff6b6b1a}.stat-icon-sets{background:var(--primary-glow);color:var(--primary)}.stat-icon-cards{color:#51cf66;background:#51cf661a}.stat-icon-time{color:#339af0;background:#339af01a}.stat-info{min-width:0}.stat-value{font-size:24px;font-weight:800;line-height:1.2}.stat-label{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.due-banner{border-color:var(--primary);background:linear-gradient(135deg,#6c63ff0f,#ff6b6b0a);justify-content:space-between;align-items:center;margin-bottom:28px;padding:16px 20px;display:flex}.due-info{color:var(--text);align-items:center;gap:12px;font-size:14px;display:flex}.due-icon{background:var(--primary-glow);width:36px;height:36px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h2{font-size:20px;font-weight:700}.dashboard-section{margin-bottom:40px}.text-secondary{color:var(--text-secondary);margin-top:4px}@media (width<=768px){.stats-row{grid-template-columns:repeat(2,1fr)}.welcome-banner{flex-direction:column;align-items:flex-start;gap:16px;padding:22px 20px}.welcome-name{font-size:22px}.due-banner{flex-direction:column;align-items:flex-start;gap:12px}}.create-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.create-header h1{letter-spacing:-.3px;font-size:24px;font-weight:800}.create-meta{flex-direction:column;gap:16px;margin-bottom:24px;padding:24px;display:flex}.create-options{gap:16px;display:flex}.toggle-label{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition);align-items:center;gap:10px;padding:8px 14px;font-size:14px;display:flex}.toggle-label:hover{background:var(--bg-input)}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);border-radius:4px}.cards-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cards-header h2{font-size:18px;font-weight:700}.cards-list{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.card-editor{padding:20px;transition:all .2s;overflow:hidden}.card-editor:hover{box-shadow:var(--shadow)}.card-editor-header{border-bottom:2px solid var(--primary);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.card-editor-num{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.card-editor-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.hint-group{grid-column:1/-1}.hint-group label{align-items:center;gap:6px;display:flex}.add-card-btn{cursor:pointer;border:2px dashed var(--border);color:var(--text-secondary);border-radius:var(--radius);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;padding:28px;font-size:15px;font-weight:600;transition:all .25s;display:flex}.add-card-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-glow);transform:translateY(-2px)}.create-actions{justify-content:center;padding:32px 0;display:flex}.lang-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.lang-row label{align-items:center;gap:6px;display:flex}.lang-row select.input{cursor:pointer;appearance:auto}.input-with-speak{position:relative}.input-with-speak .input{padding-right:42px}.speak-btn{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.speak-btn:hover{color:var(--primary);background:var(--primary-glow)}@media (width<=768px){.card-editor-fields,.lang-row{grid-template-columns:1fr}}.set-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.set-header h1{letter-spacing:-.3px;margin-bottom:8px;font-size:28px;font-weight:800}.set-description{color:var(--text-secondary);margin-bottom:12px;font-size:15px;line-height:1.6}.set-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.set-author{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.set-actions{align-items:center;gap:8px;display:flex}.favorited{color:#ff6b6b}.set-progress{margin-bottom:28px}.progress-labels{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.flashcard-preview{margin-bottom:36px}.flashcard{perspective:1000px;cursor:pointer;height:320px;margin-bottom:16px;position:relative}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.flashcard.flipped .flashcard-inner{transform:rotateX(180deg)}.flashcard-front,.flashcard-back{backface-visibility:hidden;border-radius:var(--radius-lg);background:var(--bg-card);border:1.5px solid var(--border-light);width:100%;height:100%;box-shadow:var(--shadow-lg);flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute}.flashcard-back{border-color:var(--primary);background:linear-gradient(135deg, var(--bg-card), #6c63ff08);transform:rotateX(180deg)}.flashcard-content{text-align:center;word-break:break-word;font-size:24px;font-weight:600;line-height:1.4}.flashcard-hint{color:var(--text-muted);font-size:13px;position:absolute;bottom:16px}.flashcard-hint-text{color:var(--text-secondary);margin-top:16px;font-size:14px;font-style:italic}.star-btn{border-radius:var(--radius-sm);z-index:10;transition:all var(--transition);background:0 0;padding:8px;position:absolute;top:16px;right:16px}.star-btn:hover{background:var(--bg-hover)}.flashcard-controls{justify-content:center;align-items:center;gap:24px;display:flex}.flashcard-counter{color:var(--text-secondary);text-align:center;min-width:60px;font-size:14px;font-weight:600}.study-modes{margin-bottom:36px}.study-modes h2{margin-bottom:16px;font-size:20px;font-weight:700}.modes-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.mode-card{color:var(--text);align-items:center;gap:14px;padding:18px 20px;text-decoration:none;transition:all .25s;display:flex;position:relative;overflow:hidden}.mode-card:before{content:"";opacity:0;border-radius:inherit;transition:opacity .25s;position:absolute;inset:0}.mode-card:hover{box-shadow:var(--shadow-lg);border-color:#0000;transform:translateY(-3px)}.mode-card h3{margin-bottom:2px;font-size:15px;font-weight:700}.mode-card p{color:var(--text-secondary);font-size:12px}.cards-overview h2{margin-bottom:16px;font-size:20px;font-weight:700}.cards-list-view{flex-direction:column;gap:8px;display:flex}.card-item{align-items:center;gap:16px;padding:14px 18px;transition:all .2s;display:flex}.card-item:hover{background:var(--bg-input)}.card-item-term{flex:1;font-size:15px;font-weight:600}.card-item-divider{background:var(--border);border-radius:1px;flex-shrink:0;width:2px;height:28px}.card-item-def{color:var(--text-secondary);flex:1;font-size:15px}.card-item-star{transition:all var(--transition);background:0 0;border-radius:6px;flex-shrink:0;padding:4px}.card-item-star:hover{background:var(--bg-hover)}.flashcard-speak-btn{background:var(--bg-input);width:36px;height:36px;color:var(--text-muted);z-index:10;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;bottom:16px;left:16px}.flashcard-speak-btn:hover{color:var(--primary);background:var(--primary-glow)}.card-item-term,.card-item-def{align-items:center;gap:6px;display:flex}.card-item-speak{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border-radius:5px;flex-shrink:0;padding:3px;transition:all .2s}.card-item:hover .card-item-speak{opacity:1}.card-item-speak:hover{color:var(--primary);background:var(--primary-glow)}@media (width<=768px){.set-header{flex-direction:column;gap:16px}.flashcard{height:260px}.flashcard-content{font-size:20px}.card-item{text-align:center;flex-direction:column}.card-item-divider{width:60px;height:2px}.modes-grid{grid-template-columns:1fr}}.stats-title{letter-spacing:-.3px;margin-bottom:24px;font-size:28px;font-weight:800}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.stat-big-card{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px;transition:all .3s;display:flex}.stat-big-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.stat-big-value{font-size:36px;font-weight:800}.stat-big-label{color:var(--text-secondary);font-size:13px;font-weight:500}.stat-big-sub{color:var(--text-muted);font-size:12px}.mastery-section,.heatmap-section,.recent-section{margin-bottom:16px;padding:24px}.mastery-section h2,.heatmap-section h2,.recent-section h2{align-items:center;gap:10px;margin-bottom:20px;font-size:17px;font-weight:700;display:flex}.mastery-bar{border-radius:var(--radius-full);background:var(--bg-input);height:14px;margin-bottom:16px;display:flex;overflow:hidden}.mastery-segment{min-width:2px;transition:width .5s}.mastery-segment.new{background:var(--text-muted)}.mastery-segment.learning{background:var(--warning)}.mastery-segment.reviewing{background:var(--primary)}.mastery-segment.mastered{background:var(--success)}.mastery-labels{flex-wrap:wrap;gap:20px;display:flex}.mastery-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.dot{border-radius:50%;width:10px;height:10px}.dot.new{background:var(--text-muted)}.dot.learning{background:var(--warning)}.dot.reviewing{background:var(--primary)}.dot.mastered{background:var(--success)}.heatmap{grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:4px;display:grid}.heatmap-cell{aspect-ratio:1;color:var(--text-muted);cursor:default;border-radius:6px;justify-content:center;align-items:center;font-size:10px;transition:all .2s;display:flex}.heatmap-cell:hover{transform:scale(1.15)}.heatmap-day{font-weight:600}.sessions-list{flex-direction:column;gap:6px;display:flex}.session-row{background:var(--bg-input);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;transition:all .2s;display:flex}.session-row:hover{background:var(--bg-hover)}.session-info{align-items:center;gap:10px;font-size:14px;display:flex}.session-meta{color:var(--text-secondary);gap:16px;font-size:13px;display:flex}.session-score{color:var(--primary);font-weight:700}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-big-value{font-size:28px}}.study-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.study-top-bar{background:var(--bg-card);border-bottom:1px solid var(--border-light);align-items:center;gap:16px;padding:12px 24px;display:flex}.study-top-bar h2{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:16px;font-weight:700;overflow:hidden}.study-top-actions{gap:4px;display:flex}.study-top-actions .active{color:var(--primary);background:#6c63ff1a}.study-container{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:700px;margin:0 auto;padding:24px;display:flex}.study-progress-bar{align-items:center;gap:12px;width:100%;margin-bottom:24px;display:flex}.study-progress-bar .progress-bar{flex:1}.study-counter{color:var(--text-secondary);white-space:nowrap;font-size:14px;font-weight:600}.study-card{perspective:1000px;cursor:pointer;width:100%;height:360px;margin-bottom:24px;position:relative}.study-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.study-card.flipped .study-card-inner{transform:rotateX(180deg)}.study-card-front,.study-card-back{backface-visibility:hidden;border-radius:var(--radius-lg);background:var(--bg-card);border:2px solid var(--border-light);width:100%;height:100%;box-shadow:var(--shadow-lg);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex;position:absolute}.study-card-back{border-color:var(--primary);transform:rotateX(180deg)}.study-card-label{letter-spacing:2px;color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.study-card-content{text-align:center;word-break:break-word;font-size:28px;font-weight:600;line-height:1.3}.study-card-hint{color:var(--text-secondary);font-size:14px;font-style:italic}.study-star-btn{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm);z-index:10;transition:all var(--transition);padding:8px;position:absolute;top:16px;right:16px}.study-star-btn:hover{background:var(--bg-hover)}.study-speak-btn{background:var(--bg-input);width:36px;height:36px;color:var(--text-muted);z-index:10;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;bottom:16px;left:16px}.study-speak-btn:hover{color:var(--primary);background:#6c63ff1a}.study-nav{gap:16px;display:flex}.study-keyboard-hint{color:var(--text-muted);margin-top:24px;font-size:13px}.learn-options{flex-direction:column;gap:10px;width:100%;margin-top:20px;display:flex}.learn-option{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);text-align:left;width:100%;color:var(--text);padding:16px 20px;font-size:16px;font-weight:500;transition:all .2s}.learn-option:hover:not(:disabled){border-color:var(--primary);background:#6c63ff0d}.learn-option.correct{border-color:var(--success);color:var(--success);background:#51cf661a}.learn-option.incorrect{border-color:var(--danger);color:var(--danger);background:#ff6b6b1a}.write-input-area{width:100%;margin-top:20px}.write-input-area form{gap:12px;display:flex}.write-input-area .input{flex:1;padding:16px 20px;font-size:18px}.write-feedback{border-radius:var(--radius);text-align:center;margin-top:16px;padding:16px 20px;font-weight:600}.write-feedback.correct{color:var(--success);border:1px solid var(--success);background:#51cf661a}.write-feedback.incorrect{color:var(--danger);border:1px solid var(--danger);background:#ff6b6b1a}.match-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;width:100%;display:grid}.match-tile{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;justify-content:center;align-items:center;min-height:60px;padding:20px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.match-tile:hover:not(.matched):not(.selected){border-color:var(--primary);background:#6c63ff0d}.match-tile.selected{border-color:var(--primary);color:var(--primary);background:#6c63ff1a}.match-tile.matched{border-color:var(--success);color:var(--success);opacity:.6;pointer-events:none;background:#51cf661a}.match-tile.wrong{border-color:var(--danger);background:#ff6b6b1a;animation:.3s shake}.match-timer{color:var(--primary);margin-bottom:20px;font-size:32px;font-weight:800}.test-question{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border-light);width:100%;margin-bottom:32px;padding:24px}.test-question-num{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:12px;font-weight:700}.test-question-text{margin-bottom:20px;font-size:20px;font-weight:600}.test-question-type{color:var(--text-secondary);margin-bottom:12px;font-size:12px;font-weight:500}.test-options{flex-direction:column;gap:8px;display:flex}.test-option{background:var(--bg-input);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--text);border:2px solid #0000;align-items:center;gap:12px;padding:14px 18px;font-size:15px;transition:all .2s;display:flex}.test-option:hover{background:var(--bg-hover)}.test-option.selected{border-color:var(--primary);background:#6c63ff0d}.test-tf-options{gap:12px;display:flex}.test-tf-options .test-option{flex:1;justify-content:center;font-weight:600}.test-write-input{width:100%}.results-page{text-align:center}.results-score{background:linear-gradient(135deg, var(--primary), #ff6b6b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:24px 0;font-size:72px;font-weight:800}.results-stats{flex-wrap:wrap;justify-content:center;gap:32px;margin:24px 0;display:flex}.results-stat{text-align:center}.results-stat-value{font-size:28px;font-weight:800}.results-stat-label{color:var(--text-secondary);font-size:13px}.results-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.speed-countdown{flex-direction:column;align-items:center;gap:16px;animation:1s infinite pulse;display:flex}.speed-countdown-number{background:linear-gradient(135deg, var(--warning), var(--danger));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:96px;font-weight:900;line-height:1}.speed-countdown p{color:var(--text-secondary);font-size:18px;font-weight:600}.speed-hud{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:16px;display:flex}.speed-lives{gap:4px;display:flex}.speed-score{color:var(--text);align-items:center;gap:6px;font-size:20px;font-weight:800;display:flex}.speed-streak{color:var(--danger);border-radius:var(--radius-sm);background:#ff6b6b1a;align-items:center;gap:4px;padding:4px 10px;font-size:14px;font-weight:700;animation:.5s streakPulse;display:flex}@keyframes streakPulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.speed-timer-bar{background:var(--bg-hover);border-radius:3px;width:100%;height:6px;margin-bottom:4px;overflow:hidden}.speed-timer-fill{border-radius:3px;height:100%}.speed-timer-text{justify-content:flex-end;align-items:center;gap:4px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.speed-card.speed-correct{animation:.4s correctFlash}.speed-card.speed-wrong,.speed-card.speed-timeout{animation:.3s shake}@keyframes correctFlash{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.speed-feedback{border-radius:var(--radius);text-align:center;flex-direction:column;gap:4px;width:100%;margin-top:16px;padding:14px 20px;font-weight:600;animation:.3s slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.speed-feedback-correct{color:var(--success);border:1px solid var(--success);background:#51cf661a}.speed-feedback-wrong,.speed-feedback-timeout{color:var(--danger);border:1px solid var(--danger);background:#ff6b6b1a}.speed-multiplier{opacity:.8;font-size:13px}.speed-final-score{text-align:center;margin:24px 0}.speed-final-score-value{background:linear-gradient(135deg, var(--warning), #ff6b6b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:64px;font-weight:900}.speed-final-score-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;font-size:14px;font-weight:600}.speed-accuracy{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:300px;margin:20px auto;display:flex}.speed-accuracy-bar{background:var(--bg-hover);border-radius:4px;width:100%;height:8px;overflow:hidden}.speed-accuracy-fill{background:linear-gradient(90deg, var(--danger), var(--warning), var(--success));border-radius:4px;height:100%;transition:width 1s}.speed-accuracy span{color:var(--text-secondary);font-size:14px;font-weight:600}.listen-card .study-card-front{gap:16px}.listen-visual{flex-direction:column;align-items:center;gap:16px;display:flex}.listen-play-btn{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:all .3s;animation:2s infinite pulse;display:flex;box-shadow:0 4px 20px #6c63ff4d}.listen-play-btn:hover{transform:scale(1.08);box-shadow:0 6px 28px #6c63ff66}.listen-play-btn:active{animation:none;transform:scale(.95)}.listen-hint{color:var(--text-muted);font-size:13px}.listen-reveal-btn{background:var(--bg-input);color:var(--text-muted);cursor:pointer;z-index:10;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex;position:absolute;bottom:16px;right:16px}.listen-reveal-btn:hover{color:var(--primary);background:#6c63ff1a}.listen-inline-speak{color:var(--text-muted);cursor:pointer;vertical-align:middle;background:0 0;border:none;border-radius:4px;margin-left:4px;padding:2px 4px;transition:all .2s}.listen-inline-speak:hover{color:var(--primary)}@media (width<=768px){.study-card{height:280px}.study-card-content{font-size:22px}.match-grid{grid-template-columns:repeat(2,1fr)}.study-top-bar{padding:12px 16px}.speed-countdown-number{font-size:64px}.speed-final-score-value{font-size:48px}.listen-play-btn{width:64px;height:64px}}
