*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary: #223A76;--primary-hover: #1A2D5E;--primary-light: rgba(34,58,118,.08);--primary-soft: rgba(34,58,118,.06);--primary-text: #ffffff;--primary-glow: rgba(34,58,118,.12);--accent: #DA7028;--accent-hover: #C4631F;--accent-light: rgba(218,112,40,.08);--accent-glow: rgba(218,112,40,.1);--glow: #4A6BAF;--hover-glow: rgba(74,107,175,.2);--secondary: #64748B;--success: #16A34A;--success-light: rgba(22,163,74,.08);--error: #DC2626;--error-light: rgba(220,38,38,.08);--danger: #DC2626;--warning: #D97706;--warning-light: rgba(217,119,6,.08);--info: #4682B4;--info-light: rgba(70,130,180,.08);--bg: #EEECEA;--bg-subtle: #F6F5F3;--surface: rgba(255,255,255,.72);--surface-solid: #FFFFFF;--surface-hover: rgba(255,255,255,.9);--text: #0F172A;--text-secondary: #475569;--text-tertiary: #94A3B8;--border: rgba(15,23,42,.1);--border-light: rgba(15,23,42,.05);--input-bg: rgba(255,255,255,.85);--glass-bg: rgba(255,255,255,.6);--glass-border: rgba(255,255,255,.5);--glass-blur: 20px;--bg-glow-1: rgba(218,112,40,.04);--bg-glow-2: rgba(34,58,118,.03);--bg-glow-3: rgba(74,107,175,.02);--welcome-bg: radial-gradient(ellipse 50% 50% at 85% 25%, rgba(218,112,40,.15) 0%, transparent 60%), linear-gradient(135deg, #2A4A8A 0%, #223A76 60%, #1A2D5E 100%);--welcome-text: #ffffff;--welcome-orb: rgba(255,255,255,.08);--radius-sm: 10px;--radius: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 2px 8px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.03);--shadow: 0 4px 16px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.04);--shadow-md: 0 8px 24px rgba(0,0,0,.09), 0 4px 8px rgba(0,0,0,.05);--shadow-lg: 0 16px 48px rgba(0,0,0,.12), 0 8px 16px rgba(0,0,0,.06);--shadow-glow: 0 0 30px var(--primary-glow);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-heading: "Poppins", "Inter", -apple-system, sans-serif;--transition: .25s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--badge-standard: #2E4A8E;--badge-standard-bg: rgba(46,74,142,.09);--badge-flashcard: #0E8A7D;--badge-flashcard-bg: rgba(14,138,125,.09);--badge-gapfill: #1D8348;--badge-gapfill-bg: rgba(29,131,72,.09);--badge-matching: #7C3AED;--badge-matching-bg: rgba(124,58,237,.09);--badge-both: #C0456A;--badge-both-bg: rgba(192,69,106,.09)}[data-theme=dark]{--primary: #4A6BAF;--primary-hover: #5E7EC4;--primary-light: rgba(74,107,175,.1);--primary-soft: rgba(74,107,175,.12);--primary-glow: rgba(74,107,175,.2);--accent: #DA7028;--accent-hover: #E8883E;--accent-light: rgba(218,112,40,.1);--accent-glow: rgba(218,112,40,.2);--glow: #5E7EC4;--hover-glow: rgba(94,126,196,.35);--secondary: #949CA9;--success: #4ADE80;--success-light: rgba(74,222,128,.1);--error: #F87171;--error-light: rgba(248,113,113,.1);--warning: #FBBF24;--warning-light: rgba(251,191,36,.1);--info: #6CA0DC;--info-light: rgba(108,160,220,.1);--bg: #0F172A;--bg-subtle: #1E293B;--surface: rgba(30,41,59,.7);--surface-solid: #1E293B;--surface-hover: rgba(30,41,59,.88);--text: #E5E7EB;--text-secondary: #949CA9;--text-tertiary: #64748B;--border: rgba(30,41,59,.8);--border-light: rgba(30,41,59,.4);--input-bg: rgba(15,23,42,.75);--glass-bg: rgba(15,23,42,.6);--glass-border: rgba(30,41,59,.6);--glass-blur: 24px;--bg-glow-1: rgba(218,112,40,.05);--bg-glow-2: rgba(74,107,175,.04);--bg-glow-3: rgba(218,112,40,.02);--welcome-bg: radial-gradient(ellipse 80% 50% at 20% 80%, rgba(218,112,40,.3) 0%, transparent 60%), radial-gradient(ellipse 60% 60% at 80% 20%, rgba(74,107,175,.25) 0%, transparent 60%), radial-gradient(circle at 50% 50%, rgba(94,126,196,.08) 0%, transparent 50%), linear-gradient(135deg, rgba(218,112,40,.12) 0%, #0F172A 40%, rgba(74,107,175,.08) 100%);--welcome-text: #E5E7EB;--welcome-orb: rgba(218,112,40,.1);--shadow-xs: 0 1px 2px rgba(0,0,0,.3);--shadow-sm: 0 2px 8px rgba(0,0,0,.35);--shadow: 0 4px 16px rgba(0,0,0,.4);--shadow-md: 0 8px 24px rgba(0,0,0,.45);--shadow-lg: 0 16px 48px rgba(0,0,0,.5);--shadow-glow: 0 0 40px var(--primary-glow);--badge-standard: #6B8FD4;--badge-standard-bg: rgba(107,143,212,.13);--badge-flashcard: #34D1BF;--badge-flashcard-bg: rgba(52,209,191,.13);--badge-gapfill: #4ADE80;--badge-gapfill-bg: rgba(74,222,128,.13);--badge-matching: #A78BFA;--badge-matching-bg: rgba(167,139,250,.13);--badge-both: #F472B6;--badge-both-bg: rgba(244,114,182,.13)}@media(prefers-color-scheme:dark){[data-theme=system]{--primary: #4A6BAF;--primary-hover: #5E7EC4;--primary-light: rgba(74,107,175,.1);--primary-soft: rgba(74,107,175,.12);--primary-glow: rgba(74,107,175,.2);--accent: #DA7028;--accent-hover: #E8883E;--accent-light: rgba(218,112,40,.1);--accent-glow: rgba(218,112,40,.2);--glow: #5E7EC4;--hover-glow: rgba(94,126,196,.35);--secondary: #949CA9;--success: #4ADE80;--success-light: rgba(74,222,128,.1);--error: #F87171;--error-light: rgba(248,113,113,.1);--warning: #FBBF24;--warning-light: rgba(251,191,36,.1);--info: #6CA0DC;--info-light: rgba(108,160,220,.1);--bg: #0F172A;--bg-subtle: #1E293B;--surface: rgba(30,41,59,.7);--surface-solid: #1E293B;--surface-hover: rgba(30,41,59,.88);--text: #E5E7EB;--text-secondary: #949CA9;--text-tertiary: #64748B;--border: rgba(30,41,59,.8);--border-light: rgba(30,41,59,.4);--input-bg: rgba(15,23,42,.75);--glass-bg: rgba(15,23,42,.6);--glass-border: rgba(30,41,59,.6);--glass-blur: 24px;--bg-glow-1: rgba(218,112,40,.05);--bg-glow-2: rgba(74,107,175,.04);--bg-glow-3: rgba(218,112,40,.02);--welcome-bg: radial-gradient(ellipse 80% 50% at 20% 80%, rgba(218,112,40,.3) 0%, transparent 60%), radial-gradient(ellipse 60% 60% at 80% 20%, rgba(74,107,175,.25) 0%, transparent 60%), radial-gradient(circle at 50% 50%, rgba(94,126,196,.08) 0%, transparent 50%), linear-gradient(135deg, rgba(218,112,40,.12) 0%, #0F172A 40%, rgba(74,107,175,.08) 100%);--welcome-text: #E5E7EB;--welcome-orb: rgba(218,112,40,.1);--shadow-xs: 0 1px 2px rgba(0,0,0,.3);--shadow-sm: 0 2px 8px rgba(0,0,0,.35);--shadow: 0 4px 16px rgba(0,0,0,.4);--shadow-md: 0 8px 24px rgba(0,0,0,.45);--shadow-lg: 0 16px 48px rgba(0,0,0,.5);--shadow-glow: 0 0 40px var(--primary-glow);--badge-standard: #6B8FD4;--badge-standard-bg: rgba(107,143,212,.13);--badge-flashcard: #34D1BF;--badge-flashcard-bg: rgba(52,209,191,.13);--badge-gapfill: #4ADE80;--badge-gapfill-bg: rgba(74,222,128,.13);--badge-matching: #A78BFA;--badge-matching-bg: rgba(167,139,250,.13);--badge-both: #F472B6;--badge-both-bg: rgba(244,114,182,.13)}}html{transition:background-color .4s ease,color .4s ease}html *,html *:before,html *:after{transition:background-color .3s ease,border-color .3s ease,color .2s ease,box-shadow .3s ease}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 15% 20%,var(--bg-glow-1) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 85% 30%,var(--bg-glow-2) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 50% 85%,var(--bg-glow-3) 0%,transparent 70%);pointer-events:none;z-index:0}#root{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh;width:100%}a{color:var(--primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--primary-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-feature-settings:"ss01","ss02"}h1{font-size:1.7rem;font-weight:800}h2{font-size:1.45rem;font-weight:700}h3{font-size:1.25rem;font-weight:700}::selection{background:var(--primary);color:#fff}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2rem;color:var(--text-secondary)}.container{width:100%;max-width:1120px;margin:0 auto;padding:1.5rem 1.25rem;flex:1}.navbar{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:100;transition:background .3s ease,border-color .3s ease}.nav-container{max-width:1120px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;height:64px;gap:1rem}.logo{font-size:1.3rem;font-weight:800;letter-spacing:-.03em;color:var(--primary);white-space:nowrap;flex-shrink:0;text-decoration:none;cursor:pointer;transition:opacity var(--transition)}a.logo:hover{opacity:.8}.nav-links{display:flex;align-items:center;gap:.25rem;margin-left:1.5rem;flex:1;min-width:0}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem .85rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;transition:all var(--transition);white-space:nowrap;position:relative}.nav-link:hover{color:var(--primary);background:var(--primary-light)}.nav-link.active{color:var(--primary);background:var(--primary-light);font-weight:600}.nav-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0;margin-left:auto}#username-display{font-size:.875rem;color:var(--text-secondary);font-weight:500}.nav-toggle{display:none;background:var(--glass-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .6rem;font-size:1.25rem;cursor:pointer;color:var(--text);line-height:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-settings-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);font-size:1.15rem;color:var(--text-secondary);text-decoration:none;transition:all var(--transition);flex-shrink:0}.nav-settings-btn:hover,.nav-settings-btn.active{color:var(--primary);background:var(--primary-light);box-shadow:0 0 12px var(--primary-glow)}.role-badge{padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.role-student{background:var(--info-light);color:var(--info)}.role-teacher{background:var(--warning-light);color:var(--warning)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.3rem;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition);text-decoration:none;line-height:1.4;white-space:nowrap;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover{color:#fff;box-shadow:0 0 24px var(--hover-glow),0 0 0 3px var(--hover-glow),0 4px 14px var(--primary-glow);transform:translateY(-1px)}.btn-secondary{background:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-glow)}.btn-secondary:hover{color:#fff;box-shadow:0 0 24px var(--hover-glow),0 0 0 3px var(--hover-glow),0 4px 14px var(--accent-glow);transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px 14px #16a34a40}.btn-success:hover{box-shadow:0 6px 20px #16a34a59;transform:translateY(-1px);color:#fff}.btn-success:disabled{background:var(--text-tertiary);cursor:not-allowed;opacity:.5;box-shadow:none}.btn-error,.btn-danger{background:var(--error);color:#fff;box-shadow:0 4px 14px #dc262640}.btn-ghost{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-ghost:hover{color:var(--text);border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 16px var(--hover-glow)}.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}.btn-outline:hover{background:var(--accent);color:#fff;box-shadow:0 0 20px var(--hover-glow)}.btn-large{padding:.9rem 2.25rem;font-size:1rem;border-radius:var(--radius)}.btn-sm{padding:.35rem .8rem;font-size:.8rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.45rem;font-weight:600;font-size:.95rem;color:var(--text);letter-spacing:-.01em}.form-group input,.form-group select,.form-group textarea,input,select,textarea{width:100%;padding:.85rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);background:var(--input-bg);color:var(--text);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light),0 0 16px var(--primary-glow)}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:3rem}.password-toggle{position:absolute;top:0;right:0;width:3rem;height:100%;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition)}.password-toggle:hover{color:var(--text-secondary)}.password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.auth-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;width:100%}.auth-brand{background:var(--welcome-bg);display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.auth-brand:before{content:"";position:absolute;top:10%;left:10%;width:300px;height:300px;background:var(--welcome-orb);border-radius:50%;filter:blur(80px);pointer-events:none}.auth-brand:after{content:"";position:absolute;bottom:10%;right:15%;width:200px;height:200px;background:var(--welcome-orb);border-radius:50%;filter:blur(60px);pointer-events:none}.auth-brand-content{position:relative;z-index:1;color:var(--welcome-text);max-width:480px}.auth-brand-title{font-size:3rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem;color:var(--welcome-text)}.auth-brand-subtitle{font-size:1.25rem;opacity:.85;margin-bottom:2.5rem}.auth-brand-features{display:flex;flex-direction:column;gap:1.25rem}.auth-brand-feature{display:flex;align-items:center;gap:1rem;font-size:1.1rem;opacity:.9}.auth-brand-icon{font-size:1.5rem;flex-shrink:0;width:48px;height:48px;border-radius:12px;background:#ffffff1f;display:flex;align-items:center;justify-content:center}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;background:var(--bg)}.auth-lang-toggle{position:absolute;top:1.5rem;right:1.5rem;z-index:2}.auth-form-wrapper{width:100%;max-width:480px}.auth-form-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;color:var(--text);margin-bottom:2rem}.auth-form-wrapper input,.auth-form-wrapper select{padding:1.1rem 1.2rem;font-size:1.1rem;min-height:54px}.auth-form-wrapper .form-group label{font-size:1.05rem}.auth-submit-btn{width:100%;padding:1.15rem;font-size:1.15rem;min-height:56px;margin-top:.5rem}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--text-tertiary);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-yandex-btn{width:100%;padding:.9rem 1.15rem;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--surface-solid);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all var(--transition);min-height:50px}.auth-yandex-btn:hover{border-color:var(--primary);background:var(--primary-light)}.yandex-role-picker{padding:1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.auth-switch-link{text-align:center;margin-top:1.5rem;font-size:.95rem;color:var(--text-secondary)}.auth-container{max-width:640px;margin:6vh auto;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:3rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 60px var(--primary-glow);border:1px solid var(--glass-border);position:relative;overflow:hidden}.subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:.9rem;position:relative}.error-message{padding:.85rem 1rem;border-radius:var(--radius-sm);margin-top:1rem;text-align:center;font-size:.875rem;font-weight:500;background:var(--error-light);color:var(--error);border:1px solid rgba(220,38,38,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.success-message{padding:.85rem 1rem;border-radius:var(--radius-sm);margin-top:1rem;text-align:center;font-size:.875rem;font-weight:500;background:var(--success-light);color:var(--success);border:1px solid rgba(22,163,74,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.feedback-message{padding:.85rem;border-radius:var(--radius-sm);margin:1rem 0 0;text-align:center;font-weight:500;overflow-wrap:break-word;word-break:break-word}.feedback-message.success{background:var(--success-light);color:var(--success)}.feedback-message.error{background:var(--error-light);color:var(--error)}.welcome-section{text-align:center;padding:2rem 1.5rem 1.75rem;background:var(--welcome-bg);color:var(--welcome-text);border-radius:var(--radius-xl);margin-bottom:1.5rem;position:relative;overflow:hidden;box-shadow:0 8px 32px var(--primary-glow)}.welcome-section:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:var(--welcome-orb, rgba(255,255,255,.08));border-radius:50%;animation:float 8s ease-in-out infinite}.welcome-section:after{content:"";position:absolute;bottom:-40%;left:-15%;width:300px;height:300px;background:var(--welcome-orb, rgba(255,255,255,.05));border-radius:50%;animation:float 10s ease-in-out infinite reverse}.welcome-section h2{font-size:1.5rem;margin-bottom:.3rem;font-weight:800;position:relative;letter-spacing:-.02em}.welcome-section p{font-size:1rem;opacity:.85;margin-bottom:0;position:relative}.action-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem;margin-bottom:2rem}.action-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.15rem;text-align:center;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}.action-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--primary-glow) 0%,transparent 60%);opacity:0;transition:opacity .4s ease;pointer-events:none}.action-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md),0 0 24px var(--primary-glow);border-color:var(--primary)}.action-card:hover:after{opacity:.3}.action-card-icon{width:46px;height:46px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:.6rem;transition:transform var(--transition-spring)}.action-card:hover .action-card-icon{transform:scale(1.1)}.action-card-icon.learn{background:var(--accent-light);color:var(--accent)}.action-card-icon.dict{background:var(--success-light);color:var(--success)}.action-card-icon.repeat{background:var(--warning-light);color:var(--warning)}.action-card h3{font-size:.95rem;font-weight:700;margin-bottom:.3rem;color:var(--text);position:relative}.action-card p{font-size:.82rem;color:var(--text-secondary);margin-bottom:.75rem;line-height:1.5;position:relative;min-height:3.5em}.badge-count{display:inline-block;padding:0;background:none;color:var(--text-secondary);font-size:.82rem;font-weight:500;letter-spacing:-.01em}.lessons-section{margin-bottom:2rem}.lessons-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.lessons-section-header h3{font-size:1.15rem;font-weight:700;color:var(--text);margin:0;letter-spacing:-.01em}.recent-lesson-row:hover{box-shadow:var(--shadow),0 0 16px var(--primary-glow);transform:translateY(-1px);border-color:var(--primary)!important}.lessons-grid{display:flex;flex-direction:column;gap:.5rem}.lesson-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:.75rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow-xs);border:1px solid var(--glass-border);transition:all var(--transition);cursor:pointer;display:flex;align-items:center;gap:1rem}.lesson-card:hover{box-shadow:var(--shadow-md),0 0 20px var(--primary-glow);border-color:var(--primary)}.lesson-card h4{font-size:.92rem;font-weight:700;margin:0;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-card-info{flex:1;min-width:0}.lesson-card-badges{display:flex;gap:.3rem;flex-wrap:wrap;flex-shrink:0}.lesson-meta{display:flex;gap:.6rem;margin-top:.25rem;font-size:.78rem;color:var(--text-secondary)}.lesson-status{display:inline-block;padding:.2rem .65rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.lesson-status.in-progress{background:var(--warning-light);color:var(--warning)}.lesson-status.completed{background:var(--success-light);color:var(--success)}.lesson-status.assigned{background:var(--primary-light);color:var(--primary)}.badge-type{padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;white-space:nowrap}.badge-type-standard{background:var(--badge-standard-bg);color:var(--badge-standard)}.badge-type-flashcard{background:var(--badge-flashcard-bg);color:var(--badge-flashcard)}.badge-type-gapfill{background:var(--badge-gapfill-bg);color:var(--badge-gapfill)}.badge-type-matching{background:var(--badge-matching-bg);color:var(--badge-matching)}.badge-type-both{background:var(--badge-both-bg);color:var(--badge-both)}.badge-overflow{background:var(--primary);color:var(--primary-text);font-size:.65rem;min-width:28px;text-align:center;flex-shrink:0}.lesson-source-tag{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.lesson-source-standard{background:var(--primary-light);color:var(--primary)}.lesson-source-expression{background:var(--accent-light);color:var(--accent)}.lesson-source-repeat{background:var(--warning-light);color:var(--warning)}.lesson-source-dictionary{background:var(--info-light);color:var(--info)}.lesson-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.lesson-header h4{margin:0}.lesson-progress{margin-bottom:1.5rem}.progress-bar{width:100%;height:6px;background:var(--border);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px var(--primary-glow)}.progress-text{text-align:center;color:var(--text-secondary);font-weight:500;font-size:.85rem}.step-content{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:1.25rem 1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--glass-border);min-height:320px;max-width:600px;margin:0 auto}.step-content h2{margin-bottom:.25rem;color:var(--text);font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.step-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.85rem}.words-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.65rem;margin-bottom:1.25rem}.word-item{padding:1rem;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius);border:1.5px solid var(--border);transition:all var(--transition)}.word-item:hover{border-color:var(--primary);box-shadow:0 0 16px var(--primary-glow);transform:translateY(-2px)}.word-item h3{font-size:1.1rem;color:var(--primary);margin-bottom:.1rem;font-weight:700}.word-item .transcription{color:var(--text-tertiary);font-style:italic;font-size:.8rem;margin-bottom:.4rem}.word-item .translation{font-size:1rem;color:var(--text);font-weight:500}.word-status{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;margin-top:.4rem}.status-new{background:var(--info-light);color:var(--info)}.status-learning{background:var(--warning-light);color:var(--warning)}.status-learned{background:var(--success-light);color:var(--success)}.word-card{margin:0 0 1rem;padding:1.25rem;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);border:1.5px solid var(--glass-border);text-align:center;min-height:200px}.word-display{font-size:1.7rem;font-weight:800;letter-spacing:-.02em;color:var(--primary);margin-bottom:.5rem;overflow-wrap:break-word;word-break:break-word}.word-buttons{display:flex;gap:.75rem;justify-content:center;margin-top:1rem}.word-buttons .btn{flex:1;min-width:100px;min-height:38px;font-size:.85rem}.mark-btn{width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;line-height:1;padding:0;outline:none;font-family:Segoe UI Symbol,Apple Symbols,sans-serif;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.mark-btn:active{transform:scale(.9)}.mark-btn-correct{border:2.5px solid var(--primary);background:var(--primary-light);color:var(--primary)}.mark-btn-correct:hover{background:var(--primary);color:#fff;box-shadow:0 4px 14px #223a7640}.mark-btn-incorrect{border:2.5px solid var(--accent);background:var(--accent-light);color:var(--accent)}.mark-btn-incorrect:hover{background:var(--accent);color:#fff;box-shadow:0 4px 14px #da702840}.word-buttons.mark-buttons{flex-direction:row;flex-wrap:nowrap;gap:1rem}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.75rem}.option-button{padding:.65rem .9rem;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:.9rem;transition:all var(--transition);color:var(--text);font-weight:500;min-height:44px;display:flex;align-items:center;justify-content:center;overflow-wrap:break-word;word-break:break-word}@media(hover:hover){.option-button:hover{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 16px var(--primary-glow);transform:translateY(-1px)}}.option-button.correct{background:var(--success);color:#fff;border-color:var(--success);box-shadow:0 4px 16px #16a34a4d}.option-button.incorrect{background:var(--error);color:#fff;border-color:var(--error);box-shadow:0 4px 16px #dc26264d}.option-button.disabled-wrong{opacity:.3;text-decoration:line-through;cursor:not-allowed;border-color:var(--error);color:var(--error)}.write-input{width:100%;padding:.65rem .9rem;border:2px solid var(--border);border-radius:var(--radius);font-size:1rem;text-align:center;margin:.75rem 0 0;background:var(--input-bg);color:var(--text);font-family:var(--font);transition:border-color var(--transition),box-shadow var(--transition);min-height:44px;box-sizing:border-box}.write-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light),0 0 20px var(--primary-glow)}.gapfill-input{display:inline-block;min-width:180px;max-width:400px;width:auto;padding:.25rem .5rem;border:none;border-bottom:2px solid var(--primary);background:transparent;text-align:center;font-size:1.1rem;font-weight:700;color:var(--text);outline:none;font-family:var(--font);transition:border-color var(--transition)}.gapfill-input:focus{border-bottom-color:var(--accent)}.gapfill-input.correct{border-bottom-color:var(--success);color:var(--success)}.gapfill-input.incorrect{border-bottom-color:var(--error);color:var(--error)}.gapfill-input:disabled{opacity:.8}.matching-container{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.25rem;margin-bottom:1.25rem}.matching-container h3{margin-bottom:.1rem;color:var(--text);font-size:.95rem;font-weight:700}.matching-item{padding:.8rem 1rem;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);color:var(--text);font-weight:500;min-height:52px;display:flex;align-items:center;overflow-wrap:break-word;word-break:break-word;font-size:.95rem}.matching-item:hover{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 12px var(--primary-glow)}.matching-item.selected{background:var(--primary-light);color:var(--primary);border-color:var(--primary);box-shadow:0 2px 8px var(--primary-glow);font-weight:600}.matching-item.matched{background:var(--success);color:#fff;border-color:transparent;cursor:default;opacity:.85;box-shadow:0 4px 12px #16a34a40}.matching-item.wrong{background:var(--error);color:#fff;border-color:transparent;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.results-summary{text-align:center;padding:1.5rem}.score-display{font-size:2.75rem;font-weight:800;margin:1.25rem 0;color:var(--accent)}.results-list{margin:1.5rem 0;text-align:left;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.result-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-sm);font-size:.9rem;border:1px solid var(--border-light)}.result-marker{width:12px;height:12px;border-radius:50%;flex-shrink:0}.result-marker.good{background:var(--success);box-shadow:0 0 8px #16a34a66}.result-marker.ok{background:var(--warning);box-shadow:0 0 8px #d9770666}.result-marker.bad{background:var(--error);box-shadow:0 0 8px #dc262666}.words-filter{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{padding:.4rem .9rem;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--glass-bg);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.filter-btn:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.filter-btn.active{background:var(--primary);color:#fff;border-color:transparent;box-shadow:0 4px 12px var(--primary-glow)}.settings-section{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.settings-section h3{margin-bottom:1rem;color:var(--text);padding-bottom:.4rem;border-bottom:1px solid var(--border);font-size:.95rem;font-weight:700;letter-spacing:-.01em}.settings-info div{padding:.5rem 0;font-size:.9rem;color:var(--text-secondary)}.settings-info strong{color:var(--text)}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--border-light);gap:1rem}.setting-row:last-child{border-bottom:none}.setting-row label{font-size:.9rem;font-weight:500;color:var(--text);display:flex;align-items:center;gap:.5rem}.setting-row select,.setting-row input[type=number]{width:auto;max-width:180px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;border-radius:4px}.checkbox-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);-webkit-user-select:none;user-select:none}.checkbox-row:hover{background:var(--primary-light)}.checkbox-row label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9rem;font-weight:500;flex:1}.assignment-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.assignment-status-bar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.theme-toggle{display:flex;gap:.25rem;padding:.2rem;background:var(--border-light);border-radius:var(--radius-full)}.theme-toggle-btn{padding:.4rem .85rem;border:none;border-radius:var(--radius-full);font-size:.8rem;font-weight:500;cursor:pointer;background:transparent;color:var(--text-secondary);transition:all var(--transition)}.theme-toggle-btn.active{background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-sm)}.theme-toggle-btn:hover:not(.active){color:var(--text)}.levels-container{display:grid;gap:1rem}.level-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:all var(--transition)}.level-card:hover{box-shadow:var(--shadow),0 0 16px var(--primary-glow);border-color:var(--primary)}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.level-header h3{text-transform:capitalize;font-size:.95rem;color:var(--text);font-weight:700}.dictionaries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}.dictionary-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:all var(--transition)}.dictionary-card:hover{box-shadow:var(--shadow),0 0 16px var(--primary-glow);border-color:var(--primary);transform:translateY(-2px)}.dictionary-card h3{font-size:.95rem;margin-bottom:.3rem;font-weight:700}.dictionary-card p{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.dictionary-meta{display:flex;gap:.75rem;font-size:.8rem;color:var(--text-secondary);align-items:center}.badge-default{background:var(--primary-light);color:var(--primary);padding:.1rem .55rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700}.expr-card{text-align:center}.expr-card h3{margin-bottom:.25rem}.expr-card .dictionary-meta{justify-content:center}.assignments-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.assignments-header h2{margin:0}.assignments-sort{display:inline-flex;align-items:stretch;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:999px;padding:.2rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.assignments-sort-option{padding:.3rem .75rem;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border:0;background:transparent;transition:background var(--transition),color var(--transition)}.assignments-sort-option:hover{color:var(--primary)}.assignments-sort-option[aria-pressed=true]{background:var(--primary-light);color:var(--primary);font-weight:700}.assignments-sort-option:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.assignments-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.assignments-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border-radius:999px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.assignments-tab:hover{border-color:var(--primary);color:var(--primary)}.assignments-tab[aria-selected=true]{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.assignments-tab:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.assignments-tab-count{font-size:.72rem;font-weight:700;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:999px;padding:.05rem .45rem;color:var(--text-secondary)}.assignments-tab[aria-selected=true] .assignments-tab-count{background:#ffffff80;color:var(--primary);border-color:transparent}.assignments-empty-tab{text-align:center;padding:2rem 1rem;background:var(--glass-bg);border:1px dashed var(--glass-border);border-radius:var(--radius);color:var(--text-secondary);margin-bottom:1.5rem}.assignments-empty-tab p{margin:0 0 .75rem;color:var(--text-secondary);font-size:.9rem}.assignment-group{margin-bottom:2rem}.group-header{font-size:1.1rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-light);color:var(--text);letter-spacing:-.01em}.group-header-collapsible{cursor:pointer;display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none;transition:color var(--transition)}.group-header-collapsible:hover{color:var(--primary)}.group-header-chevron{display:inline-block;font-size:.7rem;transition:transform .2s ease;color:var(--text-secondary);flex-shrink:0}.group-header-chevron-expanded{transform:rotate(90deg)}.group-header-count{font-size:.7rem;font-weight:600;color:var(--text-secondary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:999px;padding:.1rem .5rem;margin-left:auto}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.assignment-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:1rem 1.1rem;border-radius:var(--radius);box-shadow:var(--shadow-xs);border:1px solid var(--glass-border);transition:all var(--transition);cursor:pointer;display:flex;flex-direction:column;gap:0}.assignment-card:hover{box-shadow:var(--shadow-md),0 0 20px var(--primary-glow);border-color:var(--primary);transform:translateY(-1px)}.assignment-card h4{font-size:.95rem;font-weight:700;margin:.55rem 0 0;color:var(--text);letter-spacing:-.01em;line-height:1.3}.assignment-card-badges{display:flex;gap:.35rem;flex-wrap:wrap}.assignment-card-badges .badge-type{padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid transparent}.assignment-card-badges .badge-type-standard{background:#2e4a8e1a;color:var(--badge-standard);border-color:#2e4a8e26}.assignment-card-badges .badge-type-flashcard{background:#0e8a7d1a;color:var(--badge-flashcard);border-color:#0e8a7d26}.assignment-card-badges .badge-type-gapfill{background:#1d83481a;color:var(--badge-gapfill);border-color:#1d834826}.assignment-card-badges .badge-type-matching{background:#7c3aed1a;color:var(--badge-matching);border-color:#7c3aed26}.assignment-card-badges .badge-type-both{background:#c0456a1a;color:var(--badge-both);border-color:#c0456a26}[data-theme=dark] .assignment-card-badges .badge-type-standard{background:#6b8fd426;border-color:#6b8fd440}[data-theme=dark] .assignment-card-badges .badge-type-flashcard{background:#34d1bf26;border-color:#34d1bf40}[data-theme=dark] .assignment-card-badges .badge-type-gapfill{background:#4ade8026;border-color:#4ade8040}[data-theme=dark] .assignment-card-badges .badge-type-matching{background:#a78bfa26;border-color:#a78bfa40}[data-theme=dark] .assignment-card-badges .badge-type-both{background:#f472b626;border-color:#f472b640}.assignment-card-body{flex:1;display:flex;flex-direction:column}.assignment-card-meta{display:flex;gap:.6rem;margin-top:.35rem;font-size:.78rem;color:var(--text-secondary)}.assignment-card-progress{margin-top:.55rem}.assignment-card-actions{margin-top:auto;padding-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.results-table{border-collapse:collapse;font-size:.85rem;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius);overflow:hidden}.results-table th,.results-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--border-light)}.results-table th{font-weight:600;color:var(--text-secondary)}.results-table tbody tr:hover{background:var(--primary-light)}.empty-state{text-align:center;padding:2rem 1rem}.empty-state h3{font-size:1.05rem;color:var(--text);margin-bottom:.4rem;font-weight:700}.empty-state p{color:var(--text-secondary);font-size:.9rem}.word-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius);overflow:hidden;border:1px solid var(--glass-border)}.word-table thead{background:var(--border-light)}.word-table th{text-align:left;padding:.6rem .75rem;font-weight:700;font-size:.8rem;color:var(--text-secondary);border-bottom:1.5px solid var(--border);white-space:nowrap}.word-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border-light);vertical-align:middle}.word-table tbody tr:last-child td{border-bottom:none}.word-table tbody tr:hover{background:var(--primary-light)}.word-table tbody tr{transition:background .15s}@media(max-width:600px){.word-table{font-size:.8rem}.word-table th,.word-table td{padding:.4rem .5rem}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(3deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px var(--primary-glow)}50%{box-shadow:0 0 35px var(--primary-glow)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes onboard-fade-in{0%{opacity:0}to{opacity:1}}@keyframes onboard-slide-up{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.container>*{animation:fadeIn .3s ease}@media(max-width:768px){.nav-toggle{display:block}.nav-links{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);padding:.75rem;box-shadow:var(--shadow-md);z-index:99}.nav-links.open{display:flex}.nav-right{gap:.5rem}#username-display{display:none}.container{padding:1rem}.action-cards{grid-template-columns:repeat(2,1fr)}.words-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.word-display{font-size:1.7rem}.step-content{padding:1.25rem;min-height:340px}.action-card p{min-height:2.8em}.word-buttons{flex-direction:column;align-items:center}.word-buttons .btn{width:100%}.options-grid{grid-template-columns:1fr}.matching-container{grid-template-columns:1fr 1fr;gap:.4rem .75rem}.matching-item{padding:.7rem .85rem;font-size:.9rem}.matching-container h3{font-size:.9rem}.lessons-grid{gap:.4rem}.assignments-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.assignment-card{padding:.85rem .95rem}.assignment-card h4{font-size:.88rem}.welcome-section{padding:1.5rem 1rem}.welcome-section h2{font-size:1.3rem}.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.auth-form-side{padding:2rem}.auth-form-wrapper{max-width:none}.auth-container{margin:3vh 1rem;padding:2.25rem}input,select,textarea{font-size:16px}.dictionaries-grid{grid-template-columns:1fr 1fr}.setting-row{flex-direction:column;align-items:flex-start;gap:.5rem}.setting-row select,.setting-row input[type=number]{width:100%;max-width:none}.results-table{font-size:.75rem}.results-table th,.results-table td{padding:.4rem .5rem}}@media(max-width:640px){.assignments-header{gap:.5rem}.assignments-tabs{gap:.4rem}.assignments-tab{padding:.45rem .8rem;font-size:.82rem}.assignments-sort-option{padding:.28rem .6rem;font-size:.75rem}}@media(max-width:480px){.container{padding:.75rem}h2{font-size:1.25rem}.nav-container{padding:0 .75rem;height:56px}.nav-links{top:56px}.logo{font-size:1.1rem}.welcome-section{padding:1.25rem .85rem;border-radius:var(--radius-lg)}.welcome-section h2{font-size:1.1rem}.welcome-section p{font-size:.8rem}.action-cards{grid-template-columns:1fr;gap:.6rem}.action-card{padding:1rem}.action-card-icon{width:40px;height:40px;font-size:1.15rem;margin-bottom:.4rem}.action-card h3{font-size:.9rem}.action-card p{font-size:.78rem;margin-bottom:.6rem;min-height:0}.lesson-card{padding:.65rem .75rem;flex-direction:column;align-items:flex-start;gap:.4rem}.lesson-card h4{font-size:.85rem}.lesson-meta{font-size:.68rem;gap:.4rem}.lesson-card-badges{flex-wrap:wrap}.assignments-grid{grid-template-columns:1fr;gap:.5rem}.assignment-card{padding:.75rem .85rem}.assignment-card h4{font-size:.85rem}.assignment-card-meta{font-size:.72rem;gap:.4rem}.assignment-card-badges .badge-type{font-size:.62rem;padding:.15rem .5rem}.step-content{padding:1rem;border-radius:var(--radius);min-height:300px}.step-content h2{font-size:1.15rem}.step-description{font-size:.82rem;margin-bottom:.85rem}.word-card{padding:1.15rem;margin-bottom:.85rem;min-height:200px}.word-display{font-size:1.4rem;margin-bottom:.4rem}.word-buttons{gap:.4rem}.word-buttons .btn{padding:.6rem;font-size:.8rem;min-height:40px}.option-button{padding:.75rem;font-size:.88rem;min-height:42px}.write-input{font-size:1rem;padding:.75rem;min-height:42px}.matching-container{gap:.3rem .4rem}.matching-item{padding:.6rem;font-size:.8rem;min-height:38px}.matching-container h3{font-size:.8rem;margin-bottom:0}.words-grid{grid-template-columns:1fr;gap:.4rem}.word-item{padding:.75rem}.word-item h3{font-size:.95rem}.filter-btn{padding:.35rem .65rem;font-size:.75rem}.btn-sm{padding:.3rem .65rem;font-size:.75rem;min-height:36px}.btn{min-height:44px}.dictionaries-grid{grid-template-columns:1fr}.dictionary-card,.level-card{padding:1rem}.level-header h3{font-size:.95rem}.settings-section{padding:1.15rem}.settings-section h3{font-size:.95rem;margin-bottom:.75rem}.auth-form-side{padding:1.5rem}.auth-form-title{font-size:1.5rem;margin-bottom:1.25rem}.auth-form-wrapper input,.auth-form-wrapper select{padding:.9rem 1rem;font-size:1rem;min-height:48px}.auth-submit-btn{padding:1rem;font-size:1rem;min-height:48px}.auth-container{margin:2vh .5rem;padding:1.5rem;border-radius:var(--radius-lg)}.auth-container h1{font-size:1.5rem}.score-display{font-size:2rem}.results-list{margin:1rem 0;grid-template-columns:1fr}.result-item{padding:.6rem .75rem;font-size:.8rem}.result-item>div{min-width:0}.result-item span{overflow-wrap:break-word;word-break:break-word;min-width:0}.results-table{font-size:.7rem;display:block;overflow-x:auto;white-space:nowrap}.results-table th,.results-table td{padding:.35rem .4rem}.empty-state{padding:1.5rem .75rem}.empty-state h3{font-size:.92rem}.empty-state p{font-size:.75rem}}@media(pointer:coarse){.btn,.option-button,.matching-item,.filter-btn,.nav-link{min-height:44px}.nav-link{padding:.6rem .85rem}.mark-btn{width:56px;height:56px}}@supports (padding: env(safe-area-inset-bottom)){.navbar{padding-top:env(safe-area-inset-top)}.container{padding-bottom:env(safe-area-inset-bottom)}}.profile-header{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:var(--welcome-bg);color:var(--welcome-text);border-radius:var(--radius-xl);margin-bottom:2rem;position:relative;overflow:hidden}.profile-avatar{width:72px;height:72px;border-radius:50%;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;flex-shrink:0;border:3px solid rgba(255,255,255,.3)}.profile-info h2{margin-bottom:.25rem;color:inherit}.profile-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.85rem;margin-bottom:1.5rem}.profile-stat-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.25rem;text-align:center}.profile-stat-value{font-size:1.65rem;font-weight:800;color:var(--primary);line-height:1}.profile-stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:.35rem}.chart-container{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.chart-container h3{margin-bottom:1rem;font-size:1.05rem;font-weight:700}.chart-bar-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.chart-bar-label{min-width:80px;font-size:.8rem;color:var(--text-secondary);text-align:right}.chart-bar-track{flex:1;height:24px;background:var(--border-light);border-radius:var(--radius-full);overflow:hidden;position:relative}.chart-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .8s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem;font-size:.7rem;font-weight:700;color:#fff;min-width:fit-content}.chart-bar-fill.primary{background:linear-gradient(90deg,var(--primary),var(--accent))}.chart-bar-fill.success{background:var(--success)}.chart-bar-fill.warning{background:var(--warning)}.chart-bar-fill.error{background:var(--error)}.chart-bar-fill.accent{background:var(--accent)}.chart-bar-value{min-width:40px;text-align:right;font-size:.8rem;font-weight:600}.matching-pairs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin:1.5rem 0}.matching-pair-card{padding:1rem;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;font-weight:600;transition:all var(--transition);-webkit-user-select:none;user-select:none;min-height:60px;display:flex;align-items:center;justify-content:center}.matching-pair-card:hover:not(.matched):not(.wrong){border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 12px var(--primary-glow);transform:translateY(-2px)}.matching-pair-card.selected{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-color:transparent;box-shadow:0 4px 14px var(--primary-glow)}.matching-pair-card.matched{background:var(--success);color:#fff;border-color:transparent;cursor:default;opacity:.8}.matching-pair-card.wrong{background:var(--error);color:#fff;border-color:transparent;animation:shake .4s ease}@media(max-width:480px){.profile-header{flex-direction:column;text-align:center;padding:1.5rem}.profile-stats-grid{grid-template-columns:repeat(2,1fr)}.matching-pairs-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.matching-pair-card{padding:.75rem;min-height:48px;font-size:.85rem}}.site-footer{margin-top:auto;border-top:1px solid var(--border);background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.footer-container{max-width:1120px;margin:0 auto;padding:.5rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.footer-compact{display:flex;align-items:center;gap:.75rem}.footer-logo{font-size:.78rem;font-weight:700;letter-spacing:-.02em;color:var(--primary);flex-shrink:0}.footer-right{display:flex;gap:.5rem;align-items:center}.footer-right a{color:var(--text-secondary);font-size:.72rem;text-decoration:none;transition:color var(--transition)}.footer-right a:hover{color:var(--accent)}.footer-divider{color:var(--text-tertiary);font-size:.65rem;opacity:.5}.footer-bottom{color:var(--text-secondary);font-size:.68rem}@media(max-width:480px){.footer-container{flex-direction:column;align-items:center;gap:.25rem;padding:.4rem 1rem}.footer-compact{gap:.5rem}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.85rem;margin-bottom:1rem}.folder-tile{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:.6rem .6rem .85rem;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:pointer;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow var(--transition),border-color var(--transition);text-align:left;font-family:inherit;color:var(--text);outline:none}.folder-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md),0 0 24px var(--folder-glow, var(--primary-glow));border-color:var(--folder-tint, var(--primary))}.folder-tile:focus-visible{border-color:var(--folder-tint, var(--primary));box-shadow:0 0 0 3px var(--folder-tint-soft, var(--primary-light)),var(--shadow-sm)}.folder-tile:hover .folder-tile-icon{transform:translateY(-2px) rotate(-1.5deg)}.folder-tile:hover .folder-tile-icon:after{opacity:1}.folder-tile-icon-wrap{width:100%;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;position:relative;pointer-events:none}.folder-tile-icon{width:86%;height:86%;position:relative;transition:transform .25s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 4px 10px rgba(0,0,0,.1))}.folder-tile-icon svg{width:100%;height:100%;display:block;overflow:visible}.folder-tile-icon:after{content:"";position:absolute;left:8%;right:8%;bottom:-6%;height:8%;background:radial-gradient(ellipse at center,rgba(0,0,0,.18),transparent 70%);opacity:.7;transition:opacity var(--transition);pointer-events:none}.folder-tile-count-pill{position:absolute;top:8%;right:8%;font-size:.7rem;font-weight:700;padding:.12rem .5rem;border-radius:var(--radius-full);background:#ffffffeb;color:var(--folder-tint, var(--text));border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #00000014;letter-spacing:-.01em;pointer-events:none}.folder-tile-name{font-size:.88rem;font-weight:700;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .15rem}.folder-tile-sub{font-size:.72rem;color:var(--text-secondary);padding:0 .15rem;margin-top:-.2rem}.folder-tile.empty .folder-tile-icon{opacity:.78}.folder-tile.empty .folder-tile-name{color:var(--text-secondary);font-weight:600}.folder-tile-menu-btn{position:absolute;top:.4rem;right:.4rem;width:26px;height:26px;border-radius:var(--radius-full);background:#ffffffd9;border:1px solid var(--border-light);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;color:var(--text-secondary);opacity:0;transition:opacity var(--transition),background var(--transition),color var(--transition);z-index:2}.folder-tile:hover .folder-tile-menu-btn,.folder-tile:focus-within .folder-tile-menu-btn,.folder-tile-menu-btn:focus-visible{opacity:1}.folder-tile-menu-btn:hover{background:#fff;color:var(--text)}.folder-tile.is-drop-target{border-color:var(--folder-tint, var(--accent));box-shadow:0 0 0 3px var(--folder-tint-soft, var(--accent-light)),var(--shadow-md);transform:translateY(-3px) scale(1.02)}.folder-tile.is-drop-target .folder-tile-icon{transform:translateY(-3px) rotate(-3deg) scale(1.04)}.folder-tile.is-unfoldered{background:repeating-linear-gradient(45deg,var(--glass-bg),var(--glass-bg) 8px,transparent 8px,transparent 16px),var(--glass-bg);border-style:dashed;border-color:var(--border)}.folder-tile.is-new{background:transparent;border:1.5px dashed var(--border);box-shadow:none;align-items:center;justify-content:center;padding:1rem .6rem;min-height:100%}.folder-tile.is-new:hover{border-color:var(--accent);background:var(--accent-light);transform:translateY(-2px);box-shadow:0 0 20px var(--accent-glow)}.folder-tile.is-new .folder-tile-plus{width:44px;height:44px;border-radius:var(--radius-full);background:var(--accent-light);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:300;line-height:1;margin-bottom:.5rem;transition:transform var(--transition-spring),background var(--transition)}.folder-tile.is-new:hover .folder-tile-plus{transform:rotate(90deg) scale(1.08);background:var(--accent);color:#fff}.folder-tile.is-new .folder-tile-name{text-align:center;color:var(--text-secondary)}.folder-tile.is-creating{border:1.5px solid var(--accent);background:var(--surface);cursor:default;align-items:stretch;justify-content:flex-start;padding:.7rem;gap:.5rem}.folder-tile.is-creating input{width:100%;padding:.4rem .55rem;font-size:.82rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg)}.folder-tile-color-row{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center}.folder-tile-color-swatch{width:18px;height:18px;border-radius:50%;border:1px solid var(--border);cursor:pointer;padding:0;position:relative}.folder-tile-color-swatch.selected{outline:2px solid var(--text);outline-offset:1px}.folder-tile-actions{display:flex;gap:.35rem}.folder-tile-actions .btn-sm{flex:1;font-size:.72rem;padding:.3rem .5rem}.folder-tile-menu{position:absolute;top:2.4rem;right:.4rem;z-index:12;min-width:180px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 32px #0000002e;padding:.3rem;display:flex;flex-direction:column}.folder-tile-menu button{text-align:left;background:transparent;border:none;padding:.4rem .6rem;font-size:.78rem;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.45rem;font-family:inherit}.folder-tile-menu button:hover{background:var(--surface)}.folder-tile-menu button.danger{color:var(--danger)}.folder-tile-menu .folder-tile-menu-divider{height:1px;background:var(--border);margin:.25rem 0}.folder-tile-menu-color-row{display:flex;gap:.3rem;padding:.35rem .5rem .5rem;flex-wrap:wrap}.folder-detail-header{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-left:4px solid var(--folder-tint, var(--border));border-radius:var(--radius-lg);margin-bottom:1rem;position:relative}.folder-detail-back{background:transparent;border:1px solid var(--border);border-radius:var(--radius-full);padding:.3rem .7rem;font-size:.78rem;cursor:pointer;color:var(--text-secondary);font-family:inherit;display:inline-flex;align-items:center;gap:.3rem;transition:all var(--transition)}.folder-detail-back:hover{border-color:var(--text);color:var(--text);background:var(--surface)}.folder-detail-icon{width:36px;height:36px;flex-shrink:0}.folder-detail-icon svg{width:100%;height:100%;display:block}.folder-detail-title{font-size:1.05rem;font-weight:800;letter-spacing:-.01em;margin:0}.folder-detail-sub{font-size:.78rem;color:var(--text-secondary);margin-top:.1rem}.folder-detail-meta{display:flex;flex-direction:column;min-width:0;flex:1}.folder-detail-actions{margin-left:auto;display:flex;gap:.35rem;align-items:center;position:relative}@media(max-width:480px){.folder-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.6rem}.folder-tile{padding:.45rem .45rem .65rem;border-radius:var(--radius)}.folder-tile-name{font-size:.82rem}.folder-tile-sub{font-size:.68rem}.folder-tile-menu-btn{opacity:1}.folder-detail-header{padding:.65rem .75rem;gap:.6rem}.folder-detail-icon{width:30px;height:30px}.folder-detail-title{font-size:.95rem}}.lesson-card.is-dragging{opacity:.45;transform:scale(.98)}.student-analytics-row{display:flex;justify-content:space-between;align-items:center;gap:.85rem;padding:.65rem .85rem;cursor:pointer;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);transition:background var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.student-analytics-row:hover{background:var(--surface-hover);border-color:var(--primary);box-shadow:0 2px 12px var(--primary-glow);transform:translateY(-1px)}.student-analytics-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.student-analytics-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;letter-spacing:0}.student-analytics-main{display:flex;align-items:center;gap:.7rem;min-width:0;flex:1}.student-analytics-text{display:flex;flex-direction:column;min-width:0}.student-analytics-name{font-weight:600;display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.student-analytics-meta{font-size:.75rem;color:var(--text-tertiary);display:inline-flex;gap:.35rem;flex-wrap:wrap;align-items:center}.student-analytics-stats{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.student-stat-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .5rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;white-space:nowrap;line-height:1}.student-stat-chip.done{background:var(--success-light);color:var(--success)}.student-stat-chip.pending{background:var(--accent-light, rgba(218,112,40,.12));color:var(--accent)}.student-stat-chip.avg{background:var(--primary-light);color:var(--primary)}.student-analytics-chevron{color:var(--text-secondary);font-size:1.25rem;line-height:1;flex-shrink:0;transition:transform var(--transition),color var(--transition)}.student-analytics-row:hover .student-analytics-chevron{color:var(--primary);transform:translate(2px)}.students-breadcrumb{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary);margin-bottom:.5rem;flex-wrap:wrap}.students-breadcrumb .crumb-link{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--primary);cursor:pointer;text-decoration:none}.students-breadcrumb .crumb-link:hover{text-decoration:underline}.students-breadcrumb .crumb-sep{color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.students-breadcrumb .crumb-current{color:var(--text);font-weight:600;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-student-search{display:flex;align-items:center;gap:.4rem;margin-bottom:.85rem;padding:.4rem .7rem;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);transition:border-color var(--transition),box-shadow var(--transition)}.group-student-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.group-student-search input{flex:1;border:none;background:transparent;outline:none;padding:.25rem 0;font-size:.85rem;color:var(--text)}.group-student-search .gss-icon{color:var(--text-secondary);font-size:.9rem;line-height:1}.group-student-search .gss-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.95rem;line-height:1;padding:0 .2rem}.group-student-search .gss-clear:hover{color:var(--text)}.students-section{margin-bottom:1.75rem;padding:1.25rem 1.25rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.students-section-header{margin-bottom:.85rem}.students-section-title-row{display:flex;align-items:center;gap:.6rem}.students-section-title{margin:0;font-size:1.05rem;font-weight:700}.students-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.4rem;padding:0 .45rem;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);font-size:.72rem;font-weight:700}.students-section-desc{margin:.25rem 0 0;color:var(--text-secondary);font-size:.82rem;line-height:1.4}.roster-add-row{display:flex;gap:.5rem;margin:.85rem 0 .5rem;flex-wrap:wrap}.roster-add-row input{flex:1;min-width:200px}.roster-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.6rem}.roster-row{display:flex;align-items:center;gap:.75rem;padding:.55rem .85rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.roster-row:hover{background:var(--surface-hover);border-color:var(--primary);box-shadow:0 2px 12px var(--primary-glow);transform:translateY(-1px)}.roster-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.roster-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.roster-text{display:flex;flex-direction:column;min-width:0;flex:1}.roster-name{display:inline-flex;align-items:baseline;gap:.4rem;font-size:.9rem;flex-wrap:wrap}.roster-display{font-weight:600;color:var(--text)}.roster-username{font-weight:400;color:var(--text-secondary);font-size:.82rem}.roster-meta{font-size:.72rem;color:var(--text-tertiary);margin-top:.1rem}.roster-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.roster-alias-btn{font-size:.72rem!important;padding:.25rem .55rem!important}.roster-details{display:inline-flex;align-items:center;gap:.2rem;font-size:.75rem;font-weight:600;color:var(--primary);white-space:nowrap}.roster-chevron{display:inline-block;font-size:1.1rem;line-height:1;transition:transform var(--transition)}.roster-row:hover .roster-chevron{transform:translate(2px)}.roster-edit{display:flex;gap:.4rem;align-items:center;flex:1;flex-wrap:wrap}.roster-edit input{flex:1;min-width:150px}@media(max-width:540px){.roster-row{flex-wrap:wrap;gap:.5rem}.roster-text{flex-basis:calc(100% - 44px)}.roster-actions{width:100%;justify-content:flex-end}.roster-alias-btn{order:1}.roster-details{order:2}}.activity-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.75rem}.activity-filter-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-right:.25rem}.activity-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.78rem;font-weight:500;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.activity-chip:hover{border-color:var(--primary);background:var(--surface-hover)}.activity-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.activity-chip.is-active:hover{filter:brightness(1.05)}.activity-chip-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.activity-groups{display:flex;flex-direction:column;gap:1rem}.activity-group{display:flex;flex-direction:column;gap:.4rem}.activity-group-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border)}.activity-group-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.activity-group-count{font-size:.72rem;font-weight:600;color:var(--text-tertiary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:.05rem .45rem}.activity-group-rows{display:flex;flex-direction:column;gap:.4rem}
