@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&display=swap);:root{--primary:#036;--primary-hover:#024;--primary-light:#e6f0ff;--accent:gold;--accent-hover:#e6c200;--secondary:#036;--secondary-hover:#024;--bg-light:#f5f5f5;--bg-dark:#101622;--surface:#fff;--surface-dark:#1c1f27;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--text-muted:#9da6b9;--text-light:#fff;--border:#3b4354;--border-light:#e5e7eb;--success:#00d9a3;--warning:gold;--error:#ef4444;--info:#036;--font-sans:"Manrope",-apple-system,BlinkMacSystemFont,sans-serif;--font-display:"Manrope",-apple-system,BlinkMacSystemFont,sans-serif;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-brutal-sm:3px 3px 0 var(--primary);--shadow-brutal-md:4px 4px 0 var(--primary);--shadow-brutal-lg:6px 6px 0 var(--primary);--shadow-brutal-xl:8px 8px 0 var(--primary);--shadow-accent-sm:3px 3px 0 var(--accent);--shadow-accent-md:4px 4px 0 var(--accent);--shadow-sm:0 1px 3px 0 #0000000f;--shadow-md:0 4px 6px -1px #00000014;--shadow-lg:0 10px 15px -3px #00000014;--shadow-xl:0 20px 25px -5px #00000014}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--bg-light);font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-sans);font-weight:400;line-height:1.6;margin:0}body,h1,h2,h3,h4,h5,h6{color:#333;color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-display);font-weight:700;line-height:1.2;margin:0 0 1rem;margin:0 0 var(--space-md) 0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}button{align-items:center;border:none;cursor:pointer;display:inline-flex;font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-sans);font-weight:500;gap:.25rem;gap:var(--space-xs);justify-content:center;outline:none;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary{background:gold;background:var(--accent);border:2px solid #333;border:2px solid var(--text-primary);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:4px 4px 0 #036;box-shadow:var(--shadow-brutal-md);color:#333;color:var(--text-primary);font-size:.875rem;font-weight:700;letter-spacing:.02em;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg);text-transform:uppercase}.btn-primary:hover:not(:disabled){background:#e6c200;background:var(--accent-hover);box-shadow:6px 6px 0 #036;box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.btn-primary:active{transform:translate(0)}.btn-primary:active,.btn-primary:disabled,.btn-secondary{box-shadow:3px 3px 0 #036;box-shadow:var(--shadow-brutal-sm)}.btn-secondary{background:#fff;border:2px solid #333;border:2px solid var(--text-primary);border-radius:.5rem;border-radius:var(--radius-md);color:#333;color:var(--text-primary);font-size:.875rem;font-weight:700;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg)}.btn-secondary:hover:not(:disabled){background:#f3f4f6;background:var(--gray-100);box-shadow:4px 4px 0 #333;box-shadow:4px 4px 0 var(--text-primary);transform:translate(-1px,-1px)}.btn-outline{background:#0000;border:2px solid #036;border:2px solid var(--primary);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:3px 3px 0 #036;box-shadow:var(--shadow-brutal-sm);color:#036;color:var(--primary);font-size:.875rem;font-weight:700;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg)}.btn-outline:hover:not(:disabled){background:#036;background:var(--primary);box-shadow:4px 4px 0 #036;box-shadow:var(--shadow-brutal-md);color:#fff;transform:translate(-2px,-2px)}.btn-sm{font-size:.75rem;padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm)}.btn-lg{font-size:1rem;padding:1rem 2rem;padding:var(--space-md) var(--space-xl)}.btn-success{background:#00d9a3;background:var(--success);border:2px solid #333;border:2px solid var(--text-primary);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:3px 3px 0 #333;box-shadow:3px 3px 0 var(--text-primary);color:#333;color:var(--text-primary);font-size:.875rem;font-weight:700;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg)}.btn-success:hover:not(:disabled){background:#00b88a;box-shadow:5px 5px 0 #333;box-shadow:5px 5px 0 var(--text-primary);transform:translate(-2px,-2px)}.btn-error{background:#ef4444;background:var(--error);border:2px solid #333;border:2px solid var(--text-primary);border-radius:.5rem;border-radius:var(--radius-md);box-shadow:3px 3px 0 #333;box-shadow:3px 3px 0 var(--text-primary);color:#fff;font-size:.875rem;font-weight:700;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg)}.btn-error:hover:not(:disabled){background:#dc2626;box-shadow:5px 5px 0 #333;box-shadow:5px 5px 0 var(--text-primary);transform:translate(-2px,-2px)}input[type=email],input[type=password],input[type=text],select,textarea{-webkit-text-fill-color:#333!important;background:#fff!important;border:2px solid #3b4354;border:2px solid var(--border);border-radius:.5rem;border-radius:var(--radius-md);color:#333!important;font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-sans);font-size:.875rem;font-weight:500;outline:none;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:all .15s ease}input:focus,select:focus,textarea:focus{border-color:#036;border-color:var(--primary);box-shadow:3px 3px 0 #036;box-shadow:3px 3px 0 var(--primary);transform:translate(-1px,-1px)}input:disabled,select:disabled,textarea:disabled{background:#f3f4f6;background:var(--gray-100);color:#9da6b9;color:var(--text-muted);cursor:not-allowed;opacity:.6}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:#333!important;background-color:#fff!important;box-shadow:inset 0 0 0 1000px #fff!important;color:#333!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.auth-container{align-items:center;background:var(--bg-light);display:flex;justify-content:center;min-height:100vh;padding:var(--space-lg);position:relative}.auth-form{background:var(--surface);border:3px solid var(--text-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-brutal-lg);max-width:420px;padding:var(--space-2xl);position:relative;width:100%;z-index:1}.auth-form:before{background:var(--accent);border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:8px;left:-3px;position:absolute;right:-3px;top:-3px}.auth-form h2{color:var(--primary);font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:.02em;margin-bottom:var(--space-xl);text-align:center;text-transform:uppercase}.auth-form .form-group{margin-bottom:var(--space-lg)}.auth-form label{color:var(--gray-700);display:block;font-size:.875rem;font-weight:600;margin-bottom:var(--space-xs)}.auth-form input{-webkit-text-fill-color:#333!important;background:var(--surface)!important;border:2px solid var(--border);border-radius:var(--radius-lg);box-sizing:border-box;color:#333!important;font-size:1rem;font-weight:500;padding:var(--space-md);transition:all .15s ease;width:100%}.auth-form input:focus{background:var(--surface)!important;border-color:var(--primary);box-shadow:3px 3px 0 var(--primary);outline:none;transform:translate(-1px,-1px)}.auth-form input:-webkit-autofill,.auth-form input:-webkit-autofill:active,.auth-form input:-webkit-autofill:focus,.auth-form input:-webkit-autofill:hover{-webkit-text-fill-color:#333!important;background-color:#fff!important;box-shadow:inset 0 0 0 1000px #fff!important;color:#333!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.auth-form button[type=submit]{background:var(--accent);border:2px solid var(--text-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-brutal-md);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.05em;margin-top:var(--space-md);padding:var(--space-md) var(--space-lg);text-transform:uppercase;transition:all .15s ease;width:100%}.auth-form button[type=submit]:hover:not(:disabled){background:var(--accent-hover);box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.auth-form button[type=submit]:active{box-shadow:var(--shadow-brutal-sm);transform:translate(0)}.auth-form button[type=submit]:disabled{box-shadow:var(--shadow-brutal-sm);cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#ef44441a;border:2px solid var(--error);border-radius:var(--radius-lg);color:var(--error)}.error-message,.success-message{font-weight:600;margin-bottom:var(--space-lg);padding:var(--space-md)}.success-message{background:#00d9a31a;border:2px solid var(--success);border-radius:var(--radius-lg);color:var(--success);text-align:center}.auth-switch{border-top:1px solid var(--gray-200);color:var(--gray-600);margin-top:var(--space-xl);padding-top:var(--space-lg);text-align:center}.link-button{background:none;border:none;border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;font-size:inherit;font-weight:700;letter-spacing:.02em;margin-left:var(--space-xs);padding:var(--space-xs);text-decoration:none;text-transform:uppercase;transition:all .15s ease}.link-button:hover{background:var(--accent);color:var(--text-primary);transform:translate(-1px,-1px)}.code-input-container{display:flex;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-xl)}.code-digit-input{-webkit-text-fill-color:#333!important;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);box-sizing:border-box;color:#333!important;font-size:24px;font-weight:700;height:60px;text-align:center;text-transform:uppercase;transition:all .15s ease;width:50px}.code-digit-input:focus{background:var(--surface);border-color:var(--primary);box-shadow:3px 3px 0 var(--primary);outline:none;transform:translate(-1px,-1px)}.code-digit-input:disabled{background:var(--gray-100);cursor:not-allowed;opacity:.6}@media (max-width:480px){.auth-container{padding:var(--space-md)}.auth-form{padding:var(--space-xl)}.auth-form h2{font-size:1.75rem}.code-digit-input{font-size:20px;height:50px;width:40px}.code-input-container{gap:var(--space-xs)}}.tab-navigation{background:var(--surface);border-bottom:3px solid var(--primary);box-shadow:0 3px 0 var(--accent);margin-bottom:var(--space-xl);padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.tabs-container{margin:0 auto;max-width:1200px}.tab,.tabs-container{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg)}.tab{align-items:center;background:#0000;border:2px solid #0000;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:.875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;transition:all .15s ease}.tab:hover{border-color:var(--primary);box-shadow:2px 2px 0 var(--primary);color:var(--primary);transform:translate(-1px,-1px)}.tab.active{background:var(--accent);border-color:var(--text-primary);box-shadow:var(--shadow-brutal-sm);color:var(--text-primary);font-weight:700}.tab-icon{font-size:1.125rem;transition:transform .2s ease}.tab.active .tab-icon{transform:scale(1.1)}.tab-label{font-size:.875rem;white-space:nowrap}.dropdown-container,.dropdown-toggle{position:relative}.dropdown-menu{animation:dropdownSlide .2s ease;background:var(--surface);border:3px solid var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-brutal-lg);min-width:220px;padding:var(--space-xs);position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{align-items:center;background:#0000;border:2px solid #0000;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:.875rem;font-weight:600;gap:var(--space-sm);margin-bottom:var(--space-xs);padding:var(--space-sm) var(--space-md);text-align:left;transition:all .15s ease;width:100%}.dropdown-item:last-child{margin-bottom:0}.dropdown-item:hover{background:var(--surface);border-color:var(--primary);box-shadow:2px 2px 0 var(--primary);color:var(--primary);transform:translate(-2px,-2px)}.dropdown-item.active{background:var(--accent);border-color:var(--text-primary);box-shadow:var(--shadow-brutal-sm);color:var(--text-primary);font-weight:700}.dropdown-item .tab-icon{font-size:1.125rem}.dropdown-item .tab-label{white-space:nowrap}@media (max-width:768px){.tabs-container{padding:var(--space-sm)}.tab,.tabs-container{justify-content:center}.tab{min-width:60px;padding:var(--space-sm) var(--space-md)}.tab-label{display:none}.tab-icon{font-size:1.25rem}.dropdown-menu{left:50%;right:auto;transform:translateX(-50%)}.dropdown-item .tab-label{display:inline}}@media (max-width:480px){.tabs-container{gap:2px;padding:var(--space-xs) var(--space-sm)}.tab{min-width:50px;padding:var(--space-sm)}.dropdown-menu{min-width:180px}}.vocab-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;margin-bottom:30px;padding:32px;transition:all .3s ease}.vocab-form:hover{box-shadow:0 12px 40px #6366f11f;transform:translateY(-1px)}.vocab-form h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-family:var(--font-display);font-size:1.8rem;font-weight:600;margin-bottom:24px;text-align:center}.form-group input,.form-group select{-webkit-text-fill-color:#333!important;background:#fffc!important;border:2px solid var(--border);border-radius:12px;box-sizing:border-box;color:#333!important;font-family:var(--font-sans);font-size:16px;padding:14px 16px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{background:#fffffff2;border-color:var(--primary);box-shadow:0 0 0 4px #6366f11a;outline:none;transform:translateY(-1px)}.form-group input::placeholder{color:var(--text-muted);opacity:.8}.latin-words-list,.translations-list{display:flex;flex-direction:column;gap:12px}.latin-input,.translation-input{align-items:center;background:#fff9;border:1px solid #6366f11a;border-radius:12px;display:flex;gap:12px;padding:8px;transition:all .3s ease}.latin-input:hover,.translation-input:hover{background:#fffc;border-color:#6366f133}.latin-input input,.translation-input input{-webkit-text-fill-color:#333!important;background:#0000!important;border:none;color:#333!important;flex:1 1;margin-bottom:0;padding:8px 12px}.latin-input input:focus,.translation-input input:focus{box-shadow:none;transform:none}.remove-btn{align-items:center;background:linear-gradient(135deg,var(--error),#dc2626);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.remove-btn:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.05)}.remove-btn:active:not(:disabled){transform:scale(.95)}.remove-btn:disabled{background:var(--muted);cursor:not-allowed;opacity:.5}.add-latin-btn,.add-translation-btn{align-items:center;align-self:flex-start;background:linear-gradient(135deg,var(--success),#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.02em;padding:12px 18px;text-transform:uppercase;transition:all .2s ease}.add-latin-btn:hover:not(:disabled),.add-translation-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.add-latin-btn:active:not(:disabled),.add-translation-btn:active:not(:disabled){transform:translateY(0)}.add-latin-btn:disabled,.add-translation-btn:disabled{background:var(--muted);cursor:not-allowed;opacity:.5}.submit-btn{border-radius:12px;font-size:16px;margin-top:16px;padding:16px 24px;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 8px 24px #6366f14d;transform:translateY(-2px)}.submit-btn:active:not(:disabled){transform:translateY(0)}.vocab-list{margin-top:var(--space-xl)}.vocab-list h2{color:var(--gray-900);font-family:var(--font-display);font-size:2rem;font-weight:600;margin-bottom:var(--space-xl);text-align:center}.no-vocabs{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--gray-500);font-size:1.1rem;line-height:1.6;padding:var(--space-2xl);text-align:center}.vocab-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.vocab-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;padding:var(--space-lg);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.vocab-card:before{background:linear-gradient(135deg,var(--primary),var(--secondary));content:"";height:4px;left:0;position:absolute;right:0;top:0}.vocab-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.vocab-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.latin-words{flex:1 1}.latin-word{color:var(--primary);display:inline;font-size:1.375rem;font-weight:600;margin:0}.latin-word:not(:last-child):after{color:var(--gray-400);content:", "}.delete-btn{align-items:center;border:none;border-radius:50%;box-shadow:var(--shadow-sm);display:flex;height:32px;justify-content:center;line-height:1;margin-left:var(--space-md);opacity:0;transition:all .2s ease;width:32px}.vocab-card:hover .delete-btn{opacity:1}.delete-btn:hover{box-shadow:var(--shadow-md);transform:scale(1.1)}.translations{line-height:1.6;margin-bottom:var(--space-md)}.translation-item{color:var(--gray-700);font-size:1rem;font-weight:500}.translation-item:not(:last-child):after{color:var(--gray-400);content:", "}.vocab-meta{align-items:center;border-top:1px solid var(--gray-200);display:flex;justify-content:space-between;padding-top:var(--space-sm)}.vocab-meta small{color:var(--gray-500);font-size:.8rem;font-weight:500}.collection-tag{background:var(--primary-light);border-radius:var(--radius-md);color:var(--primary);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:var(--space-xs) var(--space-sm);text-transform:uppercase}@media (max-width:768px){.vocab-grid{gap:var(--space-md);grid-template-columns:1fr}.vocab-card{padding:var(--space-md)}.latin-word{font-size:1.25rem}.delete-btn{font-size:16px;height:28px;opacity:1;width:28px}}@media (max-width:480px){.vocab-list h2{font-size:1.5rem}.vocab-card{padding:var(--space-sm)}.vocab-header{align-items:center}}.collection-manager{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;margin-bottom:30px;padding:32px;transition:all .3s ease}.collection-manager:hover{box-shadow:0 12px 40px #6366f11f;transform:translateY(-1px)}.collection-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.collection-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:1.6rem;font-weight:600;margin:0}.header-buttons{display:flex;flex-wrap:wrap;gap:12px}.import-btn,.toggle-form-btn{align-items:center;background:linear-gradient(135deg,var(--success),#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:14px;font-weight:600;gap:8px;letter-spacing:.02em;padding:12px 18px;text-transform:uppercase;transition:all .3s ease}.import-btn{background:linear-gradient(135deg,var(--info),#0284c7)}.import-btn:hover,.toggle-form-btn:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.import-btn:hover{box-shadow:0 4px 12px #0284c74d}.collection-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #6366f11a;border-radius:12px;box-shadow:0 4px 16px #6366f10d;margin-bottom:24px;padding:24px;transition:all .3s ease}.collection-form:hover{border-color:#6366f133;box-shadow:0 6px 20px #6366f114}.form-group label{font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.form-group input,.form-group textarea{background:#fffc;border:2px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;padding:14px 16px;resize:vertical;transition:all .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{background:#fffffff2;border-color:var(--primary);box-shadow:0 0 0 4px #6366f11a;outline:none;transform:translateY(-1px)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.8}.submit-btn{background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:.05em;overflow:hidden;padding:14px 24px;position:relative;text-transform:uppercase;transition:all .3s ease}.submit-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover),var(--secondary));box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.submit-btn:hover:not(:disabled):before{left:100%}.submit-btn:disabled{background:var(--muted);cursor:not-allowed;opacity:.6;transform:none}.collection-list{gap:16px;margin-top:24px}.no-collections{background:#ffffff80;border:2px dashed var(--border);border-radius:12px;padding:32px}.collection-item{align-items:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #fff3;overflow:hidden;position:relative;transition:all .3s ease}.collection-item:before{background:linear-gradient(135deg,var(--primary),var(--secondary));content:"";height:3px;left:0;position:absolute;right:0;top:0}.collection-item:hover{box-shadow:0 8px 24px #6366f11f;transform:translateY(-2px)}.collection-info{margin-right:16px}.collection-info h4{color:var(--text-primary);font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:0 0 8px}.collection-description{font-size:14px;line-height:1.5;margin:0 0 12px}.share-info{background:linear-gradient(135deg,#6366f10d,#a855f70d);border:1px solid #6366f126;border-radius:8px;margin-top:12px;padding:12px 16px}.share-code{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:6px}.share-code small{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.share-code-text{background:#fffc;border:1px solid #6366f133;border-radius:6px;color:var(--primary);cursor:pointer;font-family:monospace;font-family:var(--font-mono,monospace);font-size:13px;font-weight:600;padding:6px 12px;transition:all .2s ease;-webkit-user-select:all;user-select:all}.share-code-text:hover{background:#fff;transform:scale(1.02)}.copy-link-btn{align-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:12px;font-weight:600;gap:6px;letter-spacing:.02em;margin-bottom:8px;padding:8px 16px;text-transform:uppercase;transition:all .3s ease}.copy-link-btn:hover{background:linear-gradient(135deg,var(--primary-hover),var(--secondary));box-shadow:0 3px 8px #6366f14d;transform:translateY(-1px)}.share-hint{color:var(--text-muted);display:block;font-size:11px;line-height:1.4}.import-hint{background:#6366f10d;border-left:3px solid var(--primary);border-radius:6px;color:var(--text-muted);font-size:14px;margin:12px 0;padding:12px}.collection-actions{gap:8px}.collection-actions,.delete-btn,.share-btn{align-items:center;display:flex;flex-shrink:0}.delete-btn,.share-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;height:36px;justify-content:center;transition:all .2s ease;width:36px}.delete-btn{background:linear-gradient(135deg,var(--error),#dc2626)}.delete-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.05)}.share-btn{background:linear-gradient(135deg,var(--muted),#64748b);color:#fff}.share-btn.active{background:linear-gradient(135deg,var(--success),#059669)}.share-btn:hover{opacity:.9;transform:scale(1.05)}@media (max-width:768px){.collection-manager{padding:24px 20px}.collection-header{align-items:stretch;flex-direction:column}.header-buttons{justify-content:stretch;width:100%}.import-btn,.toggle-form-btn{flex:1 1;justify-content:center}.collection-item{flex-direction:column;gap:16px}.collection-info{margin-right:0}.collection-actions{align-self:flex-end}.share-code{align-items:flex-start;flex-direction:column;gap:8px}}.modal-overlay{animation:fadeIn .2s ease-in;background-color:#000000b3;z-index:1000}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:600px;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#333;font-size:1.5rem;margin:0}.close-btn{border-radius:50%;font-size:2rem;height:32px;transition:all .2s;width:32px}.close-btn:hover{background-color:#f0f0f0;color:#333}.modal-body{padding:24px}.upload-mode-selector{display:flex;gap:12px;margin-bottom:24px}.mode-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .2s}.mode-btn:hover{border-color:#4caf50;color:#4caf50}.mode-btn.active{background-color:#4caf50;border-color:#4caf50;color:#fff}.compression-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:250px}.compression-loading .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:50px;width:50px}.compression-loading p{color:#666;font-size:1rem;margin:0}.upload-area{align-items:center;display:flex;justify-content:center;min-height:250px}.camera-upload,.file-upload{width:100%}.file-input-hidden{display:none}.camera-input-label,.file-input-label{align-items:center;background-color:#fafafa;border:2px dashed #ccc;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;transition:all .3s}.camera-input-label:hover,.file-input-label:hover{background-color:#f0f8f0;border-color:#4caf50}.upload-icon{font-size:4rem;margin-bottom:16px}.camera-input-label p,.file-input-label p{color:#333;font-size:1.1rem;font-weight:500;margin:0 0 8px}.file-hint{color:#666;font-size:.9rem}.image-preview img{border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-bottom:16px}.clear-btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;font-size:.95rem;padding:10px 20px;transition:all .2s}.clear-btn:hover{border-color:#666;color:#333}.error-message{background-color:#ffebee;border-left:4px solid #c62828;border-radius:8px;color:#c62828;font-size:.95rem;margin-top:16px;padding:12px 16px}.modal-footer{gap:12px;justify-content:flex-end;padding:20px 24px}.btn-primary,.btn-secondary{border-radius:8px;font-size:1rem}.btn-secondary{background-color:#f0f0f0;color:#666}.btn-secondary:hover{background-color:#e0e0e0;color:#333}.btn-primary{background-color:#4caf50}.btn-primary:hover{background-color:#45a049}.btn-primary:disabled{background-color:#ccc;opacity:.6}@media (max-width:600px){.modal-content{max-height:95vh;width:95%}.modal-header{padding:16px 20px}.modal-header h2{font-size:1.25rem}.modal-body{padding:20px}.upload-mode-selector{flex-direction:column}.mode-btn{width:100%}}.import-progress{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:32px 24px}.import-progress.error{padding:24px}.progress-steps{display:flex;justify-content:space-between;margin-bottom:24px;position:relative}.progress-step{flex:1 1;flex-direction:column;position:relative;z-index:1}.progress-step,.step-icon{align-items:center;display:flex}.step-icon{background:#f0f0f0;border:3px solid #e0e0e0;border-radius:50%;color:#999;font-size:1.8rem;height:60px;justify-content:center;margin-bottom:12px;transition:all .3s ease;width:60px}.progress-step.completed .step-icon{background:#4caf50;border-color:#4caf50;color:#fff;font-size:1.5rem;font-weight:700}.progress-step.active .step-icon{animation:pulse 1.5s infinite;background:#2196f3;border-color:#2196f3;color:#fff}.progress-step.pending .step-icon{background:#fafafa;color:#ccc}.step-label{color:#666;font-size:.9rem;font-weight:500;text-align:center}.progress-step.active .step-label{color:#2196f3;font-weight:600}.progress-step.completed .step-label{color:#4caf50;font-weight:600}.step-spinner{bottom:-30px;margin-top:8px;position:absolute}.spinner{animation:spin .8s linear infinite;border:3px solid #e0e0e0;border-top-color:#2196f3;height:24px;width:24px}.progress-bar-container{background:#e0e0e0;border-radius:3px;height:6px;margin-bottom:16px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#4caf50,#2196f3);border-radius:3px;height:100%;transition:width .5s ease}.progress-message{color:#666;font-size:1.05rem;font-weight:500;margin-top:12px;text-align:center}.progress-error{padding:24px;text-align:center}.error-icon{font-size:4rem;margin-bottom:16px}.progress-error h3{color:#c62828;font-size:1.3rem;margin:0 0 12px}.error-text{color:#666;font-size:1rem;line-height:1.5;margin:0}@media (max-width:600px){.import-progress{padding:24px 16px}.progress-steps{margin-bottom:32px}.step-icon{font-size:1.5rem;height:50px;width:50px}.step-label{font-size:.8rem}.progress-message{font-size:.95rem}}.vocab-preview{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.vocab-preview.empty{padding:48px 24px;text-align:center}.vocab-preview.empty p{color:#999;font-size:1.1rem;margin:0}.preview-header{background:#fafafa;border-bottom:2px solid #f0f0f0;padding:20px 24px}.preview-header h3{color:#333;font-size:1.3rem;margin:0 0 8px}.preview-hint{color:#666;font-size:.9rem;margin:0}.vocab-table-container{max-height:500px;overflow-x:auto;overflow-y:auto}.vocab-table{border-collapse:collapse;width:100%}.vocab-table thead{background:#f8f8f8;position:-webkit-sticky;position:sticky;top:0;z-index:10}.vocab-table th{border-bottom:2px solid #e0e0e0;color:#555;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.col-nr{text-align:center;width:50px}.col-german,.col-latin{width:30%}.col-info{width:25%}.col-actions{text-align:center;width:120px}.vocab-table tbody tr{border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s}.vocab-table tbody tr:hover:not(.editing){background-color:#f8f8f8}.vocab-table tbody tr.editing{background-color:#e3f2fd;cursor:default}.vocab-table td{color:#333;font-size:.95rem;padding:14px 16px}.col-nr{color:#999;font-weight:500}.vocab-table td input{-webkit-text-fill-color:#333!important;background:#fff!important;border:2px solid #2196f3;border-radius:6px;color:#333!important;font-family:inherit;font-size:.95rem;outline:none;padding:8px 12px;width:100%}.vocab-table td input:focus{border-color:#1976d2;box-shadow:0 0 0 3px #2196f31a}.action-buttons{gap:8px}.btn-cancel,.btn-delete,.btn-edit,.btn-save{background:#0000;border:none;border-radius:6px;cursor:pointer;font-size:1.1rem;padding:6px 12px;transition:all .2s}.btn-edit{color:#2196f3}.btn-edit:hover{background-color:#e3f2fd}.btn-delete{color:#f44336}.btn-delete:hover{background-color:#ffebee}.btn-save{background-color:#e8f5e9;color:#4caf50;font-weight:700}.btn-save:hover{background-color:#c8e6c9}.btn-cancel{background-color:#f0f0f0;color:#666;font-weight:700}.btn-cancel:hover{background-color:#e0e0e0}.preview-footer{background:#fafafa;border-top:2px solid #f0f0f0;padding:16px 24px}.vocab-count{color:#4caf50;font-size:1rem;font-weight:600;margin:0;text-align:center}@media (max-width:768px){.vocab-table-container{max-height:400px}.vocab-table td,.vocab-table th{font-size:.85rem;padding:10px 12px}.col-info{display:none}.preview-header{padding:16px 20px}.preview-header h3{font-size:1.1rem}.preview-hint{font-size:.85rem}}@media (max-width:480px){.col-nr{width:40px}.col-actions{width:90px}.action-buttons{gap:4px}.btn-cancel,.btn-delete,.btn-edit,.btn-save{font-size:1rem;padding:4px 8px}}.progress-modal{max-width:600px;width:90%}.preview-modal{max-height:90vh;max-width:900px;width:95%}.error-modal{max-width:600px;width:90%}.collection-selector{background:#f8f8f8;border-radius:8px;margin-bottom:24px;padding:20px}.collection-selector label{align-items:center;color:#333;display:flex;font-size:1rem;gap:12px;margin-bottom:12px}.last-used-badge{background:#4caf50;border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:500;padding:4px 12px}.collection-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-family:inherit;font-size:1rem;padding:12px 16px;transition:all .2s;width:100%}.collection-select:hover{border-color:#4caf50}.collection-select:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.usage-info{color:#666;font-size:.95rem;padding:16px;text-align:center}.usage-info-banner{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;color:#1976d2;font-size:.9rem;margin-top:16px;padding:12px 16px;text-align:center}@media (max-width:768px){.preview-modal{max-height:95vh;width:98%}.collection-selector{padding:16px}.collection-selector label{align-items:flex-start;flex-direction:column;gap:8px}}.image-import-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea33;margin:24px 0;padding:20px;text-align:center}.image-import-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:14px 32px;transition:all .3s}.image-import-btn:hover{background:#ffffff4d;box-shadow:0 6px 20px #ffffff4d;transform:translateY(-2px)}.image-import-btn:active{transform:translateY(0)}@media (max-width:600px){.image-import-section{margin:16px 0;padding:16px}.image-import-btn{font-size:1rem;padding:12px 24px;width:100%}}.trainer-setup{margin:0 auto;max-width:700px;padding:20px}.trainer-setup h2{color:var(--primary);font-family:var(--font-display);font-size:1.8rem;font-weight:700;letter-spacing:.02em;margin-bottom:32px;text-align:center;text-transform:uppercase}.loading,.no-collections{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px dashed var(--border);border-radius:16px;padding:60px 20px;text-align:center}.no-collections h2{color:var(--text-muted);font-family:var(--font-display);font-weight:600;margin-bottom:20px}.no-collections p{color:var(--text-muted);margin-bottom:10px}.setup-section{background:var(--surface);border:3px solid var(--text-primary);border-radius:16px;box-shadow:var(--shadow-brutal-md);margin-bottom:24px;padding:32px;transition:all .15s ease}.setup-section:hover{box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.setup-section h3{border-bottom:2px solid var(--border);color:var(--text-primary);font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:24px;padding-bottom:12px}.collection-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.deselect-all-btn,.select-all-btn{background:var(--surface);border:2px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:.02em;padding:10px 18px;text-transform:uppercase;transition:all .3s ease}.select-all-btn:hover{background:var(--success);color:var(--text-primary)}.deselect-all-btn:hover,.select-all-btn:hover{border-color:var(--text-primary);box-shadow:4px 4px 0 var(--text-primary);transform:translate(-2px,-2px)}.deselect-all-btn:hover{background:var(--error);color:#fff}.collections-list{display:flex;flex-direction:column;gap:16px}.collection-item{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:20px;transition:all .15s ease}.collection-item:hover{background:var(--surface);border-color:var(--primary);box-shadow:3px 3px 0 var(--primary);transform:translate(-1px,-1px)}.collection-checkbox{gap:16px;width:100%}.collection-checkbox input[type=checkbox]{display:none}.checkmark{align-items:center;border:2px solid var(--border);border-radius:6px;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:all .3s ease;width:24px}.collection-checkbox input[type=checkbox]:checked+.checkmark{background:var(--accent);border-color:var(--text-primary);transform:scale(1.05)}.collection-checkbox input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:16px;font-weight:700}.collection-checkbox input[type=checkbox]:disabled+.checkmark{background:var(--surface);border-color:var(--border);cursor:not-allowed;opacity:.6}.collection-checkbox:has(input:disabled){cursor:not-allowed;opacity:.6}.collection-info{flex:1 1}.collection-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:6px}.collection-meta{color:var(--text-muted);font-size:13px;font-weight:500}.collection-description{color:var(--text-secondary);font-style:italic;margin-top:4px}.mode-selection{display:flex;flex-direction:column;gap:16px}.mode-option{align-items:center;background:var(--surface);border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .15s ease}.mode-option:hover{background:var(--surface);border-color:var(--primary);box-shadow:3px 3px 0 var(--primary);transform:translate(-1px,-1px)}.mode-option input[type=radio]{accent-color:var(--primary);transform:scale(1.3)}.mode-label{flex:1 1}.mode-label strong{color:var(--text-primary);display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:6px}.mode-label small{color:var(--text-secondary);font-size:14px;line-height:1.4}.setup-summary{align-items:center;background:var(--surface);border:3px solid var(--primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:32px;padding:24px}.summary-info{color:var(--text-primary);font-size:15px;font-weight:500}.start-training-btn{background:var(--accent);border:2px solid var(--text-primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:16px;font-weight:700;letter-spacing:.05em;padding:16px 32px;text-transform:uppercase;transition:all .15s ease}.start-training-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.start-training-btn:disabled{background:var(--gray-300);box-shadow:var(--shadow-brutal-sm);cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.trainer-setup{padding:20px 16px}.setup-section{padding:24px 20px}.collection-controls{flex-direction:column}.deselect-all-btn,.select-all-btn{justify-content:center;width:100%}.setup-summary{flex-direction:column;text-align:center}.start-training-btn{width:100%}.collection-item,.mode-option{padding:16px}}.xp-popup{cursor:pointer;position:fixed;right:30px;top:100px;z-index:1000}.xp-popup-content{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;box-shadow:0 8px 20px #667eea66;display:flex;gap:10px;padding:15px 25px}.xp-icon{animation:pulse .8s ease-in-out infinite;font-size:1.5rem}.xp-amount{color:#fff;font-size:1.3rem;font-weight:700;text-shadow:0 2px 4px #0003}.xp-breakdown-tooltip{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;margin-top:10px;padding:15px;position:absolute;right:0;top:100%;width:280px;z-index:1001}.xp-breakdown-tooltip h4{color:#667eea;font-size:1rem;margin:0 0 12px}.breakdown-item{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.breakdown-item:last-child{border-bottom:none}.breakdown-item.bonus{background:linear-gradient(90deg,#667eea1a,#0000);margin:0 -15px;padding:8px 15px}.breakdown-label{color:#666;font-size:.9rem}.breakdown-value{color:#333;font-weight:700}.breakdown-value.multiplier{color:#667eea}.breakdown-value.difficulty-easy{color:#27ae60}.breakdown-value.difficulty-medium{color:#f39c12}.breakdown-value.difficulty-hard{color:#e74c3c}.breakdown-divider{background:linear-gradient(90deg,#0000,#ddd 50%,#0000);height:1px;margin:8px 0}.breakdown-item.total{font-size:1.05rem;padding-top:12px}.breakdown-item.total .breakdown-value{color:#667eea;font-size:1.2rem}.vocabulary-trainer{margin:0 auto;max-width:600px}.no-vocabs-trainer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px dashed var(--border);border-radius:16px;padding:60px 20px;text-align:center}.no-vocabs-trainer h2{color:var(--text-muted);font-family:var(--font-display);font-weight:600;margin-bottom:20px}.no-vocabs-trainer p{color:var(--text-muted);margin-bottom:10px}.trainer-controls{border-radius:var(--radius-md)}.mode-selector{display:flex;gap:20px}.mode-selector label{align-items:center;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 12px;transition:all .2s ease}.mode-selector label:hover{background:#6366f10d}.mode-selector input[type=radio]{accent-color:var(--primary);scale:1.2}.session-info{color:var(--text-secondary);font-family:var(--font-sans);font-weight:500}.percentage{color:var(--primary);font-weight:700}.reset-score{background:none;border:2px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.05em;padding:6px 12px;text-transform:uppercase;transition:all .2s ease}.reset-score:hover{background:var(--surface);border-color:var(--primary);color:var(--text-primary);transform:scale(1.05)}.training-area{display:flex;justify-content:center}.question-card{border-radius:var(--radius-lg);max-width:500px;min-height:-webkit-fit-content;min-height:fit-content;width:100%}.word-to-translate{background:var(--surface);border-radius:12px;color:var(--text-primary);font-family:var(--font-display);font-size:28px;padding:20px}.action-buttons button,.word-to-translate{border:2px solid var(--text-primary);font-weight:700;transition:all .15s ease}.action-buttons button{background:var(--primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:16px;letter-spacing:.05em;padding:16px 32px;text-transform:uppercase}.action-buttons button:hover:not(:disabled){background:var(--primary-hover);box-shadow:6px 6px 0 var(--text-primary);transform:translate(-2px,-2px)}.action-buttons button:disabled{background:var(--gray-300);box-shadow:var(--shadow-brutal-sm);cursor:not-allowed;opacity:.6;transform:none}.dont-know-btn{background:#ff9800!important}.dont-know-btn:hover:not(:disabled){background:#f57c00!important}.next-button:hover:not(:disabled){background:#00b88a!important;box-shadow:6px 6px 0 var(--text-primary)!important}@media (max-width:768px){.trainer-controls{align-items:stretch;flex-direction:column;padding:20px;text-align:center}.mode-selector{flex-wrap:wrap;justify-content:center}.question-card{padding:24px 20px}.word-to-translate{font-size:24px;padding:20px}.input-row{flex-direction:column}.record-btn{border-radius:8px;height:48px;width:100%}.action-buttons{flex-direction:column}.action-buttons button{width:100%}.score{justify-content:center}}.progress-bar{position:relative}.completion-screen{background:var(--surface);border:3px solid var(--text-primary);border-radius:16px;box-shadow:var(--shadow-brutal-lg);margin:0 auto;max-width:500px;padding:60px 40px;text-align:center}.completion-screen h2{color:var(--text-primary);font-family:var(--font-display);font-size:2.5rem;margin-bottom:40px}.final-score{margin-bottom:40px}.score-large{color:var(--text-primary);font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:16px}.score-percentage{color:var(--primary);font-size:3.5rem;font-weight:800;margin-bottom:20px}.new-session-btn{background:var(--accent);border:2px solid var(--text-primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);color:var(--text-primary);cursor:pointer;font-size:18px;font-weight:700;letter-spacing:.05em;padding:18px 40px;text-transform:uppercase;transition:all .15s ease}.new-session-btn:hover{background:var(--accent-hover);box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.retry-info{background:#3b82f61a;border:1px solid #3b82f633;color:var(--primary)}@media (max-width:768px){.progress-info{margin-top:12px}.completion-screen{padding:40px 20px}.completion-screen h2{font-size:2rem}.score-percentage{font-size:3rem}}.translation-trainer{margin:0 auto;max-width:800px;padding:20px}.trainer-header{margin-bottom:30px;position:relative;text-align:center}.trainer-header h2{color:var(--primary);font-family:var(--font-display);font-size:1.8rem;font-weight:700;letter-spacing:.02em;margin-bottom:20px;text-transform:uppercase}.header-actions{flex-wrap:wrap;gap:16px;justify-content:center}.create-btn{background:var(--accent);border:2px solid var(--text-primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);color:var(--text-primary);cursor:pointer;font-size:15px;font-weight:700;letter-spacing:.05em;padding:12px 24px;text-transform:uppercase;transition:all .15s ease}.create-btn:hover{background:var(--accent-hover);box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.back-btn{background:var(--gray-500);border:2px solid var(--text-primary);border-radius:8px;box-shadow:3px 3px 0 var(--text-primary);color:#fff;font-weight:700;letter-spacing:.02em;padding:10px 20px;text-transform:uppercase;transition:all .15s ease}.back-btn:hover{background:var(--gray-600);box-shadow:5px 5px 0 var(--text-primary);transform:translate(-2px,-2px)}.user-stats-card{grid-gap:16px;background:var(--surface);border:3px solid var(--primary);border-radius:16px;box-shadow:var(--shadow-brutal-md);display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:32px;padding:24px}.stat-item{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:16px;transition:all .15s ease}.stat-item:hover{box-shadow:3px 3px 0 var(--primary);transform:translate(-1px,-1px)}.stat-value{font-size:2rem;margin-bottom:8px}.stat-label{font-size:13px}.sessions-list{margin-top:32px}.sessions-list h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.4rem;font-weight:600;margin-bottom:20px}.empty-state{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px dashed var(--border);border-radius:16px}.empty-state p{color:var(--text-muted);font-size:1rem;margin-bottom:10px}.session-card{background:var(--surface);border:3px solid var(--text-primary);border-radius:16px;box-shadow:var(--shadow-brutal-md);margin-bottom:16px;padding:24px;transition:all .15s ease}.session-card:hover{box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.session-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.session-header h4{color:var(--text-primary);font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:0}.session-actions{display:flex;gap:12px}.open-btn{background:var(--primary);border:2px solid var(--text-primary);border-radius:8px;box-shadow:3px 3px 0 var(--text-primary);color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:8px 20px;transition:all .15s ease}.open-btn:hover{background:var(--primary-hover);box-shadow:5px 5px 0 var(--text-primary);transform:translate(-2px,-2px)}.delete-btn{background:var(--error);border:2px solid var(--text-primary);border-radius:8px;box-shadow:3px 3px 0 var(--text-primary);color:#fff;cursor:pointer;font-size:18px;padding:8px 12px;transition:all .15s ease}.delete-btn:hover{background:#dc2626;box-shadow:5px 5px 0 var(--text-primary);transform:translate(-2px,-2px)}.session-info{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:12px}.session-info span{color:var(--text-secondary);font-size:14px;font-weight:500}.session-progress{align-items:center;display:flex;gap:12px}.progress-bar{flex:1 1}.session-progress span{color:var(--text-secondary);font-weight:600;min-width:50px}.create-form{background:var(--surface);border:3px solid var(--text-primary);border-radius:16px;box-shadow:var(--shadow-brutal-md);padding:32px}.form-group label{font-size:15px}.form-group input[type=text],.form-group textarea{-webkit-text-fill-color:#333!important;background:#fffc!important;border:2px solid var(--border);border-radius:12px;color:#333!important;font-family:var(--font-sans);font-size:16px;padding:14px 18px;transition:all .3s ease;width:100%}.form-group input[type=text]:focus,.form-group textarea:focus{background:var(--surface);border-color:var(--primary);box-shadow:3px 3px 0 var(--primary);outline:none;transform:translate(-1px,-1px)}.form-group textarea{font-family:var(--font-sans);line-height:1.6;min-height:150px}.form-group small{font-size:13px;margin-top:8px}.file-input{cursor:pointer;padding:12px!important}.image-preview{margin-top:16px;text-align:center}.image-preview img{border:2px solid var(--border);border-radius:12px;box-shadow:0 4px 16px #0000001a;max-height:400px;max-width:100%}.extracted-text{background:#10b9811a;border:2px solid #10b98133;border-radius:12px;margin-top:24px;padding:20px}.extracted-text h4{color:var(--success);font-weight:600;margin-bottom:12px}.extracted-text p{color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.create-session-btn{background:var(--accent);border:2px solid var(--text-primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);color:var(--text-primary);cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.05em;margin-top:8px;padding:16px 32px;text-transform:uppercase;transition:all .15s ease;width:100%}.create-session-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.create-session-btn:disabled{background:var(--gray-300);box-shadow:var(--shadow-brutal-sm);cursor:not-allowed;opacity:.6}.trainer-controls{align-items:center;background:var(--surface);border:3px solid var(--primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:20px 24px}.progress-info{display:flex;flex:1 1;flex-direction:column;gap:12px}.progress-bar-container{width:100%}.progress-text{font-weight:500}.score{align-items:center;background:#fffc;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);display:flex;font-weight:600;gap:12px;padding:8px 16px}.back-setup-btn{background:var(--gray-500);border:2px solid var(--text-primary);border-radius:8px;box-shadow:3px 3px 0 var(--text-primary);color:#fff;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.02em;padding:10px 16px;text-transform:uppercase;transition:all .15s ease}.back-setup-btn:hover{background:var(--gray-600);box-shadow:5px 5px 0 var(--text-primary);transform:translate(-2px,-2px)}.training-area{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr auto;margin-top:24px}.question-card{background:var(--surface);border:3px solid var(--text-primary);border-radius:16px;box-shadow:var(--shadow-brutal-lg);padding:32px;position:relative;transition:all .15s ease}.question-card:before{background:var(--accent);border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:8px;left:-3px;position:absolute;right:-3px;top:-3px}.question-card:hover{box-shadow:8px 8px 0 var(--primary);transform:translate(-2px,-2px)}.question{margin-bottom:24px;text-align:center}.question h3{color:var(--text-secondary);font-family:var(--font-sans);font-size:1.1rem;font-weight:500;margin-bottom:20px}.sentence-to-translate{background:var(--surface);border:2px solid var(--text-primary);border-radius:12px;color:var(--text-primary);font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.4;padding:20px}.favorite-badge{background:#ffc10733;border:2px solid gold;border-radius:20px;color:#f57c00;display:inline-block;font-size:13px;font-weight:700;margin-top:12px;padding:6px 12px}.answer-input{margin-bottom:20px}.input-row input{-webkit-text-fill-color:#333!important;background:#fffc!important;border:2px solid var(--border);border-radius:12px;color:#333!important;flex:1 1;font-family:var(--font-sans);font-size:16px;padding:16px 20px;transition:all .3s ease}.input-row input::placeholder{color:var(--text-muted);opacity:.8}.input-row input:focus{background:var(--surface);border-color:var(--primary);box-shadow:3px 3px 0 var(--primary);outline:none;transform:translate(-1px,-1px)}.input-row input:disabled{background:var(--surface);color:var(--text-muted);opacity:.7}.favorite-btn{align-items:center;background:#ffc10733;border:2px solid #ffc1074d;border-radius:12px;color:#f57c00;cursor:pointer;display:flex;font-size:20px;height:52px;justify-content:center;padding:12px;transition:all .3s ease;width:52px}.favorite-btn:hover{background:#ffc1074d;transform:scale(1.05)}.action-buttons{display:flex;gap:16px;justify-content:center}.check-btn,.next-button{background:var(--primary);border:2px solid var(--text-primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:16px;font-weight:700;letter-spacing:.05em;padding:16px 32px;text-transform:uppercase;transition:all .15s ease}.check-btn:hover:not(:disabled),.next-button:hover{box-shadow:6px 6px 0 var(--text-primary);transform:translate(-2px,-2px)}.check-btn:disabled{background:var(--gray-300);box-shadow:var(--shadow-brutal-sm);cursor:not-allowed;opacity:.6}.next-button{background:var(--success)!important}.next-button:hover{background:#00b88a!important;box-shadow:6px 6px 0 var(--text-primary)!important}.correct-answer-text{color:var(--primary);font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.4}.cache-info{background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;color:var(--primary);font-size:13px;font-weight:500;margin-top:12px;padding:8px 12px;text-align:center}.sentence-list{background:var(--surface);border:3px solid var(--primary);border-radius:16px;box-shadow:var(--shadow-brutal-md);max-width:200px;padding:20px}.sentence-list h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:16px}.sentences-overview{display:flex;flex-direction:column;gap:8px;max-height:500px;overflow-y:auto}.sentence-item{align-items:center;background:var(--surface);border:2px solid var(--border);border-radius:8px;cursor:pointer;display:flex;gap:8px;justify-content:center;padding:12px;position:relative;transition:all .15s ease}.sentence-item:hover{background:var(--gray-100);box-shadow:3px 3px 0 var(--primary);transform:translate(-1px,-1px)}.sentence-item.active{background:var(--accent);border-color:var(--text-primary);box-shadow:3px 3px 0 var(--primary);color:var(--text-primary);font-weight:700}.sentence-item.completed{background:#00d9a31a;border-color:var(--success)}.sentence-number{font-size:14px;font-weight:700}.check-mark,.favorite-mark{font-size:12px}@media (max-width:1024px){.training-area{grid-template-columns:1fr}.sentence-list{max-width:100%}.sentences-overview{flex-direction:row;flex-wrap:wrap;max-height:none}.sentence-item{min-width:60px}}@media (max-width:768px){.translation-trainer{padding:12px}.trainer-controls{align-items:stretch}.header-actions,.trainer-controls{flex-direction:column}.create-btn{width:100%}.user-stats-card{grid-template-columns:repeat(2,1fr)}.session-header{align-items:flex-start;flex-direction:column;gap:12px}.session-actions{justify-content:space-between;width:100%}.open-btn{flex:1 1}.question-card{padding:24px 20px}.sentence-to-translate{font-size:18px;padding:16px}.input-row{flex-wrap:wrap}.favorite-btn,.record-btn{height:48px;width:48%}.action-buttons{flex-direction:column}.check-btn,.next-button{width:100%}}.progress-view h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-family:var(--font-display);font-size:1.8rem;font-weight:600;margin-bottom:32px;text-align:center}.stats-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;overflow:hidden;padding:32px 24px;text-align:center;transition:all .3s ease}.stat-card:before{background:linear-gradient(135deg,var(--primary),var(--secondary));height:4px;left:0;right:0;top:0}.stat-card:hover{box-shadow:0 16px 48px #6366f126;transform:translateY(-4px)}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:var(--primary);font-family:var(--font-display);font-size:42px;font-weight:700;margin-bottom:12px}.stat-label{font-family:var(--font-sans);font-size:14px}.recent-activity{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;padding:32px;transition:all .3s ease}.recent-activity:hover{box-shadow:0 12px 40px #6366f11f;transform:translateY(-1px)}.recent-activity h3{border-bottom:2px solid var(--border);color:var(--text-primary);font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:24px;padding-bottom:12px}.recent-list{display:flex;flex-direction:column;gap:16px}.recent-item{align-items:center;background:linear-gradient(135deg,#6366f105,#a855f705);border:1px solid #6366f11a;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.recent-item:hover{background:linear-gradient(135deg,#6366f10d,#a855f70d);border-color:#6366f133;transform:translateX(4px)}.recent-vocab{flex:1 1}.recent-vocab strong{color:var(--primary);display:block;font-family:var(--font-display);font-size:16px;font-weight:600;margin-bottom:6px}.translations-preview{color:var(--text-secondary);font-size:14px;line-height:1.4}.recent-date{background:#fffc;border-radius:6px;color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.05em;margin-left:20px;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.no-progress{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px dashed var(--border);border-radius:16px;padding:60px 20px;text-align:center}.no-progress p{color:var(--text-muted);font-size:16px;line-height:1.5;margin-bottom:10px}@media (max-width:768px){.stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:24px 16px}.stat-number{font-size:32px}.recent-activity{padding:24px 20px}.recent-item{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.recent-date{align-self:flex-end;margin-left:0}.no-progress{padding:40px 16px}}.settings-view{margin:0 auto;max-width:600px}.settings-view h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-family:var(--font-display);font-size:1.8rem;font-weight:600;margin-bottom:32px;text-align:center}.settings-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;margin-bottom:24px;padding:32px;transition:all .3s ease}.settings-section:hover{box-shadow:0 12px 40px #6366f11f;transform:translateY(-1px)}.settings-section h3{border-bottom:2px solid var(--border);color:var(--text-primary);font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:24px;padding-bottom:12px}.user-info-card{background:linear-gradient(135deg,#6366f10d,#a855f70d);border:1px solid #6366f126;border-radius:12px;padding:24px}.user-detail{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 0}.user-detail:last-child{border-bottom:none}.user-detail label{color:var(--text-primary);font-family:var(--font-sans);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.user-detail span{color:var(--text-secondary);font-family:monospace;font-family:var(--font-mono,monospace);font-weight:500}.settings-actions{display:flex;flex-direction:column;gap:20px}.settings-actions button{align-self:flex-start;border:none;border-radius:12px;cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:.05em;min-width:160px;overflow:hidden;padding:16px 24px;position:relative;text-transform:uppercase;transition:all .3s ease}.settings-actions button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.export-btn{background:linear-gradient(135deg,var(--info),#0284c7);color:#fff}.export-btn:hover{background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 4px 12px #0284c74d;transform:translateY(-1px)}.export-btn:hover:before{left:100%}.logout-btn{background:linear-gradient(135deg,var(--error),#dc2626);color:#fff}.logout-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.logout-btn:hover:before{left:100%}.delete-account-btn{background:linear-gradient(135deg,var(--error),#dc2626);color:#fff}.delete-account-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.delete-account-btn:hover:before{left:100%}.action-description{color:var(--text-muted);font-size:13px;font-style:italic;line-height:1.4;margin:8px 0 0;padding-left:8px}.action-description.danger{color:var(--error);font-weight:500}.app-info{background:linear-gradient(135deg,#6366f10d,#a855f70d);border:1px solid #6366f126;border-radius:12px;padding:24px}.app-info p{color:var(--text-secondary);line-height:1.5;margin:8px 0}.app-info p:first-child{color:var(--primary);font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:12px}.bulk-share-section{display:flex;flex-direction:column;gap:20px}.bulk-share-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.bulk-share-header h4{color:var(--text-primary);font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin:0}.bulk-share-controls{display:flex;flex-wrap:wrap;gap:12px}.bulk-share-btn,.select-all-btn{border:none;border-radius:8px;cursor:pointer;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.05em;padding:10px 16px;text-transform:uppercase;transition:all .3s ease}.select-all-btn{background:linear-gradient(135deg,var(--muted),#64748b);color:#fff}.select-all-btn:hover:not(:disabled){background:linear-gradient(135deg,#64748b,#475569);transform:translateY(-1px)}.bulk-share-btn{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.bulk-share-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover),var(--secondary));box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.bulk-share-btn:disabled,.select-all-btn:disabled{background:var(--muted);cursor:not-allowed;opacity:.6;transform:none}.collection-list{background:#ffffff80;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding:16px}.collection-item{align-items:center;background:#fffc;border:1px solid #6366f11a;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.collection-item:hover{background:#fff;border-color:#6366f133;transform:translateY(-1px)}.collection-checkbox{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:12px}.collection-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.collection-name{color:var(--text-primary);flex:1 1;font-weight:500}.shared-indicator{background:linear-gradient(135deg,var(--success),#059669);color:#fff;font-weight:600;padding:2px 8px}.shared-indicator,.vocab-count{border-radius:12px;font-size:12px}.vocab-count{background:#6366f11a;color:var(--text-muted);font-weight:500;padding:4px 8px}.no-collections{padding:24px;text-align:center}.bulk-share-description,.no-collections{color:var(--text-muted);font-style:italic}.bulk-share-description{background:#6366f10d;border-left:3px solid var(--primary);border-radius:8px;font-size:13px;line-height:1.4;margin:0;padding:16px}.setting-item{background:linear-gradient(135deg,#6366f10d,#a855f70d);border:1px solid #6366f126;border-radius:12px;gap:20px;padding:16px}.setting-info{flex:1 1}.setting-label{color:var(--text-primary);display:block;font-family:var(--font-sans);font-size:1rem;font-weight:600;margin-bottom:8px}.setting-description{color:var(--text-muted);font-size:13px;line-height:1.4;margin:0}.toggle-switch{flex-shrink:0}.toggle-slider{background-color:#ccc}.toggle-slider:before{background-color:#fff}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.number-input-wrapper{flex-shrink:0}.number-input{background:#ffffffe6;border:2px solid #6366f133;border-radius:8px;color:var(--text-primary);font-family:var(--font-sans);font-size:16px;font-weight:600;padding:8px 12px;text-align:center;transition:all .3s ease;width:80px}.number-input:focus,.number-input:hover:not(:disabled){background:#fff;border-color:var(--primary)}.number-input:focus{box-shadow:0 0 0 3px #6366f11a;outline:none}.number-input:disabled{background:#0000000d;cursor:not-allowed;opacity:.5}.mode-select{-webkit-appearance:none;appearance:none;background:#ffffffe6;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236366f1' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:2px solid #6366f133;border-radius:8px;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-family:var(--font-sans);font-size:14px;font-weight:600;min-width:180px;padding:8px 32px 8px 12px;transition:all .3s ease}.mode-select:focus,.mode-select:hover:not(:disabled){background-color:#fff;border-color:var(--primary)}.mode-select:focus{box-shadow:0 0 0 3px #6366f11a;outline:none}.mode-select:disabled{background-color:#0000000d;cursor:not-allowed;opacity:.5}@media (max-width:768px){.settings-section{padding:24px 20px}.user-detail{align-items:flex-start;flex-direction:column;gap:6px;padding:16px 0}.settings-actions button{align-self:stretch;min-width:auto;text-align:center;width:100%}.app-info,.user-info-card{padding:20px}.setting-item{align-items:stretch;flex-direction:column}.mode-select,.number-input,.toggle-switch{align-self:center}.mode-select{min-width:100%}}.feedback-trigger{background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;border-radius:50px 0 0 50px;box-shadow:0 4px 20px #6366f14d;color:#fff;cursor:pointer;font-size:20px;font-weight:600;padding:15px 12px;position:fixed;right:20px;top:50%;transform:translateY(-50%);transition:all .3s ease;z-index:1000}.feedback-trigger:hover{background:linear-gradient(135deg,var(--primary-hover),var(--secondary));box-shadow:0 6px 30px #6366f166;transform:translateY(-50%) translateX(-5px)}.feedback-modal{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.feedback-content{animation:slideUp .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 20px 60px #6366f133;max-height:80vh;max-width:500px;overflow:hidden;padding:0;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.feedback-header{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:20px 24px}.feedback-header h3{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:0}.close-btn{align-items:center;border-radius:8px;color:#fff;display:flex;font-weight:700;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.close-btn:hover{background:#fff3;transform:scale(1.05)}.feedback-content form{padding:24px}.feedback-content textarea{background:#fffc;border:2px solid var(--border);border-radius:12px;box-sizing:border-box;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;min-height:120px;padding:16px;resize:vertical;transition:all .3s ease;width:100%}.feedback-content textarea::placeholder{color:var(--text-muted);opacity:.8}.feedback-content textarea:focus{background:#fffffff2;border-color:var(--primary);box-shadow:0 0 0 4px #6366f11a;outline:none;transform:translateY(-1px)}.feedback-success{background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid #10b98133;border-radius:8px;color:var(--success)}.feedback-error,.feedback-success{font-weight:500;margin:12px 0;padding:12px 16px}.feedback-error{background:linear-gradient(135deg,#ef44441a,#dc26261a);border:1px solid #ef444433;border-radius:8px;color:var(--error)}.feedback-actions{gap:12px;justify-content:flex-end;margin-top:24px}.feedback-actions button{border:none;border-radius:8px;cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:.02em;overflow:hidden;padding:12px 20px;position:relative;text-transform:uppercase;transition:all .3s ease}.feedback-actions button[type=submit]{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.feedback-actions button[type=submit]:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.feedback-actions button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover),var(--secondary));box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.feedback-actions button[type=submit]:hover:not(:disabled):before{left:100%}.feedback-actions button[type=button]{background:var(--surface);border:2px solid var(--border);color:var(--text-muted)}.feedback-actions button[type=button]:hover:not(:disabled){background:var(--muted);border-color:var(--primary);color:var(--text-primary);transform:translateY(-1px)}.feedback-actions button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.feedback-trigger{font-size:18px;padding:12px 10px;right:15px}.feedback-content{margin:20px;width:calc(100% - 40px)}.feedback-header{padding:16px 20px}.feedback-content form{padding:20px}.feedback-actions{flex-direction:column}.feedback-actions button{justify-content:center;width:100%}}.feedback-modal-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.feedback-modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:100%}.modal-header{border-bottom:1px solid #e0e0e0;padding:30px 30px 20px;text-align:center}.modal-header h2{color:#2c3e50;font-size:24px;margin:0 0 10px}.description{color:#666;line-height:1.5;margin:0 0 20px}.progress-bar{background-color:#ecf0f1;margin:20px 0 10px}.progress-fill{background-color:#3498db}.progress-text{color:#666;font-size:14px;margin:0}.modal-content{flex:1 1;overflow-y:auto;padding:30px}.question-container{text-align:center}.question-text{color:#2c3e50;font-size:20px;line-height:1.4;margin:0 0 30px}.required{color:#e74c3c;margin-left:5px}.answer-container{margin:0 auto;max-width:500px}.text-input{-webkit-text-fill-color:#2c3e50!important;border:2px solid #ecf0f1;border-radius:8px;color:#2c3e50!important;font-family:inherit;font-size:16px;padding:15px;resize:vertical;transition:border-color .2s;width:100%}.text-input:focus{border-color:#3498db;outline:none}.rating-input{text-align:center}.stars{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.star{background:none;border:none;border-radius:50%;cursor:pointer;font-size:40px;padding:5px;transition:all .2s}.star.filled,.star:hover{color:#f39c12;transform:scale(1.1)}.star:active{transform:scale(.95)}.rating-labels{color:#666;display:flex;font-size:14px;justify-content:space-between;margin-bottom:15px}.rating-text{color:#3498db;margin:0}.multiple-choice{display:flex;flex-direction:column;gap:15px;text-align:left}.choice-option{align-items:center;border:2px solid #ecf0f1;border-radius:8px;cursor:pointer;display:flex;padding:15px;transition:all .2s}.choice-option:hover{background-color:#f8f9fa;border-color:#bdc3c7}.choice-option input[type=radio]{margin-right:15px;transform:scale(1.2)}.choice-option input[type=radio]:checked+.choice-text{color:#3498db;font-weight:500}.choice-option:has(input[type=radio]:checked){background-color:#ebf3fd;border-color:#3498db}.choice-text{font-size:16px;line-height:1.4}.modal-footer{border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 30px 30px}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;min-width:100px;padding:12px 24px;transition:all .2s}.btn-primary:hover:not(:disabled){background-color:#2980b9;transform:translateY(-1px)}.btn-primary:disabled{background-color:#bdc3c7}.btn-secondary:hover:not(:disabled){background-color:#bdc3c7;transform:translateY(-1px)}.btn-secondary:disabled{transform:none}.error-message{border:1px solid #fcc;border-radius:6px;padding:15px;text-align:center}.loading{font-size:18px;padding:60px 20px}.error-state{padding:60px 20px;text-align:center}.error-state p{color:#e74c3c;font-size:18px;margin-bottom:20px}@media (max-width:768px){.feedback-modal-overlay{padding:10px}.feedback-modal{max-width:100%}.modal-content,.modal-footer,.modal-header{padding:20px}.modal-header h2{font-size:20px}.question-text{font-size:18px}.stars{gap:5px}.star{font-size:32px}.modal-footer{flex-direction:column;gap:10px}.btn-primary,.btn-secondary{width:100%}}@media (max-width:480px){.modal-content,.modal-footer,.modal-header{padding:15px}.question-text{font-size:16px}.star{font-size:28px}.choice-option{padding:12px}.choice-text{font-size:15px}}.admin-panel{background:var(--bg-primary);display:flex;height:100vh;overflow:hidden}.admin-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-right:1px solid var(--border);box-shadow:2px 0 16px #0000000d;display:flex;flex-direction:column;width:280px}.admin-header{background:linear-gradient(135deg,var(--primary),var(--secondary));border-bottom:1px solid #ffffff1a;color:#fff;padding:32px 24px}.admin-header h1{font-family:var(--font-display);font-size:1.6rem;font-weight:700;margin:0 0 8px}.admin-user{font-size:14px;font-weight:500;margin:0;opacity:.9}.admin-nav{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:24px 16px}.nav-item{align-items:center;background:#0000;border:none;border-radius:12px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:14px;font-weight:500;gap:12px;padding:16px 20px;text-align:left;transition:all .2s ease}.nav-item:hover{background:#6366f114;color:var(--primary);transform:translateX(4px)}.nav-item.active{background:linear-gradient(135deg,#6366f126,#a855f726);border-left:3px solid var(--primary);color:var(--primary);font-weight:600;padding-left:17px}.admin-footer{border-top:1px solid var(--border);padding:24px 16px}.admin-footer .logout-btn{align-items:center;background:linear-gradient(135deg,var(--error),#dc2626);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:14px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.05em;padding:14px 20px;text-transform:uppercase;transition:all .3s ease;width:100%}.admin-footer .logout-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.admin-content{background:var(--bg-primary);flex:1 1;overflow-y:auto;padding:40px}.admin-section{margin:0 auto;max-width:1200px}.admin-section h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-family:var(--font-display);font-size:2rem;font-weight:600;margin:0 0 32px}.dashboard-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.dashboard-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;padding:32px;text-align:center;transition:all .3s ease}.dashboard-card:hover{box-shadow:0 12px 40px #6366f11f;transform:translateY(-4px)}.dashboard-card h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:0 0 16px}.card-value{color:var(--primary);font-family:monospace;font-family:var(--font-mono,monospace);font-size:2.5rem;font-weight:700;margin:0 0 8px}.card-label{color:var(--text-muted);font-size:14px;font-weight:500;margin:0}.placeholder-text{background:#ffffff80;border:2px dashed var(--border);border-radius:16px;padding:80px 20px}.loading-text,.placeholder-text{color:var(--text-muted);font-size:16px;font-style:italic;text-align:center}.loading-text{padding:40px 20px}.users-table-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;overflow-x:auto;padding:24px}.users-table{border-collapse:collapse;font-size:14px;width:100%}.users-table th{background:linear-gradient(135deg,#6366f11a,#a855f71a);border-bottom:2px solid var(--border);color:var(--text-primary);font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.users-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:12px 16px}.users-table tbody tr:hover{background:#6366f10d}.act-as-btn{background:linear-gradient(135deg,var(--info),#0284c7);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.act-as-btn:hover:not(:disabled){background:linear-gradient(135deg,#0284c7,#0369a1)}.settings-grid{grid-gap:24px;display:grid;gap:24px;max-width:800px}.setting-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;display:flex;justify-content:space-between;padding:24px}.setting-info h3{color:var(--text-primary);font-family:var(--font-display);font-weight:600;margin:0 0 8px}.setting-info p{color:var(--text-muted);font-size:14px;line-height:1.5;margin:0}.toggle-switch{cursor:pointer;display:inline-block;height:34px;position:relative;width:60px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:var(--muted);border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background:#fff;border-radius:50%;bottom:4px;box-shadow:0 2px 4px #0003;content:"";height:26px;left:4px;position:absolute;transition:.4s;width:26px}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,var(--primary),var(--secondary))}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(26px)}.toggle-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:120px;padding:12px 24px;transition:all .3s ease}.toggle-btn.enabled{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.toggle-btn.disabled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.toggle-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.act-as-btn:disabled{background:var(--muted);cursor:not-allowed;opacity:.6}@media (max-width:768px){.admin-panel{flex-direction:column}.admin-sidebar{border-bottom:1px solid var(--border);border-right:none;height:auto;width:100%}.admin-nav{flex-direction:row;gap:12px;overflow-x:auto;padding:16px}.nav-item{flex-shrink:0;white-space:nowrap}.admin-content{padding:24px 16px}.dashboard-cards{grid-template-columns:1fr}}.system-metrics{margin-top:24px}.metrics-header{align-items:center;color:var(--text-muted);display:flex;font-size:14px;justify-content:space-between;margin-bottom:24px}.auto-refresh-info{color:var(--success);font-weight:500}.metrics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.metric-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;padding:24px;transition:all .3s ease}.metric-card:hover{box-shadow:0 12px 40px #6366f11f;transform:translateY(-4px)}.metric-card h3{align-items:center;color:var(--text-primary);display:flex;font-family:var(--font-display);font-size:1.1rem;font-weight:600;gap:8px;margin:0 0 20px}.metric-main{margin-bottom:20px;text-align:center}.metric-value{color:var(--primary);font-family:monospace;font-family:var(--font-mono,monospace);font-size:2.5rem;font-weight:700}.metric-label{color:var(--text-muted);font-size:14px;font-weight:500;margin-top:4px}.metric-details{border-top:1px solid var(--border);padding-top:16px}.metric-details p{color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;margin:8px 0}.progress-bar{background:#6366f11a;border-radius:4px;height:8px;margin:12px 0}.progress-fill{background:linear-gradient(135deg,var(--primary),var(--secondary))}.progress-bar.swap{background:#ff98001a}.progress-bar.swap .progress-fill{background:linear-gradient(135deg,#ff9800,#f57c00)}.cpu-cores{align-items:flex-end;display:flex;gap:4px;height:40px;margin-top:12px}.core-usage{background:#6366f11a;border-radius:2px;cursor:pointer;flex:1 1;min-width:8px;position:relative}.core-bar{background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:2px 2px 0 0;bottom:0;left:0;position:absolute;right:0;transition:height .3s ease}.swap-info{font-weight:500!important;margin-top:16px!important}.container-id{color:var(--text-muted)!important;font-family:monospace;font-family:var(--font-mono,monospace);font-size:12px!important;margin-top:12px!important}.platform{color:var(--text-secondary)!important;font-size:13px!important;line-height:1.4!important}.loading-metrics{color:var(--text-muted);font-size:16px;padding:80px 20px;text-align:center}.cpu-card .metric-value{color:#3b82f6}.memory-card .metric-value{color:#8b5cf6}.disk-card .metric-value{color:#10b981}.network-card h3{color:#f59e0b}.process-card h3{color:#ef4444}.system-card h3{color:#6b7280}@media (max-width:768px){.metrics-grid{grid-template-columns:1fr}.metrics-header{align-items:flex-start;flex-direction:column;gap:8px}}.code-stats-section{border-top:2px solid var(--border);margin-top:48px;padding-top:48px}.section-title{color:var(--text-primary);font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin-bottom:32px}.code-stats-grid{display:flex;flex-direction:column;gap:32px}.stats-summary{display:flex;gap:32px;justify-content:center;margin-bottom:24px}.stat-item{background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #6366f114;padding:24px 48px;text-align:center}.stat-value{font-family:monospace;font-family:var(--font-mono,monospace);font-size:3rem}.stat-label{color:var(--text-muted);font-size:16px;font-weight:500;margin-top:8px}.stats-detail-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stats-card{background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #6366f114;padding:24px}.stats-card h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 20px}.language-stats{display:flex;flex-direction:column;gap:16px}.language-item{font-size:14px}.language-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.language-name{color:var(--text-primary);font-weight:600}.language-percentage{color:var(--primary);font-family:monospace;font-family:var(--font-mono,monospace);font-weight:700}.language-details{color:var(--text-muted);font-size:12px;margin-bottom:8px}.separator{margin:0 8px;opacity:.5}.language-bar{background:#0000000d;border-radius:4px;height:8px;overflow:hidden}.language-fill{border-radius:4px;height:100%;transition:width .3s ease}.directory-stats{display:flex;flex-direction:column;gap:12px}.directory-item{font-size:14px}.directory-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.directory-name{color:var(--text-secondary);font-weight:500}.directory-lines,.directory-name{font-family:monospace;font-family:var(--font-mono,monospace)}.directory-lines{color:var(--text-primary);font-weight:600}.directory-bar{background:#6366f11a;border-radius:3px;height:6px;overflow:hidden}.directory-fill{background:linear-gradient(135deg,var(--primary),var(--secondary));height:100%;transition:width .3s ease}.largest-files{display:flex;flex-direction:column;gap:12px}.file-item{align-items:center;border-bottom:1px solid var(--border);display:flex;font-size:13px;gap:12px;padding:8px 0}.file-item:last-child{border-bottom:none}.file-rank{color:var(--text-muted);font-weight:700;width:20px}.file-path{color:var(--text-secondary);flex:1 1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-lines,.file-path{font-family:monospace;font-family:var(--font-mono,monospace)}.file-lines{color:var(--primary);font-weight:600;min-width:60px;text-align:right}.file-lang{background:#6366f11a;border-radius:4px;color:var(--primary);font-size:11px;font-weight:500;padding:2px 8px}.code-stats-footer{align-items:center;border-top:1px solid var(--border);color:var(--text-muted);display:flex;font-size:14px;justify-content:space-between;margin-top:24px;padding-top:24px}.loading-code-stats{color:var(--text-muted);padding:40px;text-align:center}@media (max-width:768px){.stats-summary{flex-direction:column}.stat-item{padding:16px 32px}.stats-detail-grid{grid-template-columns:1fr}.code-stats-footer{flex-direction:column;gap:8px}}.gamification-subsection{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #6366f114;margin-bottom:24px;padding:32px}.gamification-subsection h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin:0 0 24px}.search-input-large{background:#fffffff2;border:2px solid var(--border);border-radius:12px;color:var(--text-primary);font-family:var(--font-sans);font-size:16px;padding:16px 20px;transition:all .2s ease;width:100%}.search-input-large:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.search-results-box{background:#fffffff2;border:2px solid var(--border);border-radius:12px;margin-top:16px;max-height:400px;overflow-y:auto}.search-result-item-large{border-bottom:1px solid var(--border);cursor:pointer;padding:16px 20px;transition:all .2s ease}.search-result-item-large:last-child{border-bottom:none}.search-result-item-large:hover{background:#6366f10d}.user-info-row{align-items:center;display:flex;gap:12px;margin-bottom:8px}.user-info-row strong{color:var(--text-primary);font-weight:600}.display-name-badge{background:#6366f11a;border-radius:12px;color:var(--primary);font-size:12px;font-weight:500;padding:4px 12px}.user-stats-row{display:flex;flex-wrap:wrap;gap:12px}.stat-badge{background:linear-gradient(135deg,#6366f11a,#a855f71a);border-radius:8px;color:var(--primary);font-family:monospace;font-family:var(--font-mono,monospace);font-size:12px;padding:4px 12px}.selected-user-card{background:linear-gradient(135deg,#6366f10d,#a855f70d);border:2px solid var(--primary);border-radius:12px;margin-top:20px;padding:24px}.selected-user-card h4{color:var(--primary);font-family:var(--font-display);font-weight:600;margin:0 0 16px}.selected-user-card p{color:var(--text-secondary);font-size:14px;margin:8px 0}.selected-user-card strong{color:var(--text-primary)}.xp-form-large{margin-top:24px}.form-group{margin-bottom:24px}.form-group label{color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:8px}.form-group input[type=number],.form-group select,.form-group textarea{background:#fffffff2;border:2px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-group small{color:var(--text-muted);margin-top:4px}.form-group-checkbox{margin-bottom:24px}.form-group-checkbox label{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;gap:12px}.form-group-checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.xp-preview{border-radius:8px;display:inline-block;font-family:monospace;font-family:var(--font-mono,monospace);font-size:18px;font-weight:700;margin-top:8px;padding:8px 16px}.xp-preview.positive{background:linear-gradient(135deg,#22c55e1a,#16a34a1a);color:#16a34a}.xp-preview.negative{background:linear-gradient(135deg,#ef44441a,#dc26261a);color:#dc2626}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:10px;font-family:var(--font-sans);font-size:15px;padding:14px 28px;transition:all .3s ease}.btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #6366f14d;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-secondary{background:#6366f11a;border:2px solid var(--primary);border-radius:10px;color:var(--primary);font-family:var(--font-sans);font-weight:600;margin-left:8px;padding:12px 24px;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#6366f126}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.btn-danger:disabled{cursor:not-allowed;opacity:.5}.danger-zone-section{background:linear-gradient(135deg,#ef44440d,#dc26260d);border:2px solid #ef4444}.danger-zone-section h3{color:#dc2626}.danger-zone-section p{color:var(--text-secondary);margin-bottom:16px}.reset-buttons{display:flex;flex-wrap:wrap;gap:12px}.league-actions{display:flex;gap:12px;margin-bottom:24px}.leagues-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:24px}.league-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:3px solid;border-radius:16px;box-shadow:0 4px 16px #00000014;padding:24px;transition:all .3s ease}.league-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.league-card h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.3rem;margin:0 0 16px}.league-card p{color:var(--text-secondary);font-size:14px;margin:8px 0}.league-card.league-bronze{border-color:#cd7f32}.league-card.league-silver{border-color:silver}.league-card.league-gold{border-color:gold}.league-card.league-platinum{border-color:#e5e4e2}.league-card.league-diamond{border-color:#b9f2ff}.league-card.league-champion{border-color:#ff6b6b}.league-select-large{background:#fffffff2;border:2px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.league-select-large:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.form-actions{display:flex;gap:12px;margin-top:24px}.info-message{background:linear-gradient(135deg,#3b82f60d,#2563eb0d);border:2px solid #3b82f6;border-radius:12px;padding:32px;text-align:center}.info-message p{color:var(--text-secondary);font-size:16px;margin:0 0 20px}.selected-user-info{align-items:center;background:#fffffff2;border-radius:12px;box-shadow:0 4px 16px #00000014;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px}.selected-user-info h3{color:var(--text-primary);font-family:var(--font-display);font-weight:600;margin:0}.backups-list{grid-gap:16px;display:grid;gap:16px}.backup-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid var(--border);border-radius:12px;padding:20px;transition:all .2s ease}.backup-card:hover{border-color:var(--primary);box-shadow:0 4px 16px #6366f11a}.backup-card h4{color:var(--primary);font-family:var(--font-display);font-weight:600;margin:0 0 12px}.backup-card p{color:var(--text-secondary);font-size:14px;margin:6px 0}.restore-disabled{background:#0000000d;border-radius:8px;color:var(--text-muted);display:inline-block;font-size:13px;font-weight:500;padding:8px 16px}.empty-state{color:var(--text-muted);font-size:16px;font-style:italic}@media (max-width:768px){.gamification-subsection{padding:20px}.leagues-list{grid-template-columns:1fr}.form-actions,.league-actions,.reset-buttons{flex-direction:column}.btn-danger,.btn-primary,.btn-secondary{margin-left:0;width:100%}}.warning-box{background:linear-gradient(135deg,#ff98001a,#ed89361a);border:2px solid #ff9800;border-radius:12px;margin-bottom:32px;padding:24px}.warning-box h3{color:#f57c00;font-family:var(--font-display);font-weight:600;margin:0 0 12px}.warning-box p{color:var(--text-secondary);line-height:1.6;margin:0}.rule-list{list-style:none;margin:16px 0;padding:0}.rule-list li{background:#6366f10d;border-left:3px solid var(--primary);border-radius:8px;color:var(--text-secondary);font-size:14px;margin:8px 0;padding:12px}.rule-list code{background:#0000000d;border-radius:4px;color:var(--text-primary);font-family:monospace;font-family:var(--font-mono,monospace);font-weight:600;padding:2px 6px}.backup-info{background:linear-gradient(135deg,#22c55e1a,#16a34a1a);border-radius:8px;color:#16a34a;font-size:14px;font-weight:600;margin:16px 0;padding:12px 16px}.btn-large{font-size:16px;margin-top:16px;padding:18px 36px}.fix-result-card{background:linear-gradient(135deg,#22c55e0d,#16a34a0d);border:2px solid #22c55e;border-radius:12px;margin-top:24px;padding:24px}.fix-result-card h4{color:#16a34a;font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:0 0 20px}.result-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.result-stats .stat{display:flex;flex-direction:column;gap:4px}.result-stats .stat-label{color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.result-stats .stat-value{color:var(--text-primary);font-family:monospace;font-family:var(--font-mono,monospace);font-size:24px;font-weight:700}.result-stats .stat-value.highlight{color:var(--primary)}.result-stats .stat-value.highlight-total{color:#16a34a;font-size:28px}.change-details{background:#ffffff80;border:1px solid var(--border);border-radius:8px;margin-top:16px;padding:16px}.change-details summary{border-radius:6px;color:var(--text-primary);cursor:pointer;font-weight:600;padding:8px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.change-details summary:hover{background:#6366f10d}.changes-table{border-collapse:collapse;font-size:13px;margin-top:16px;width:100%}.changes-table th{background:linear-gradient(135deg,#6366f11a,#a855f71a);border-bottom:2px solid var(--border);color:var(--text-primary);font-weight:600;padding:10px;text-align:left}.changes-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:10px}.changes-table tbody tr:hover{background:#6366f108}.changes-table .original-text{background:#ef44440d;color:#ef4444}.changes-table .fixed-text,.changes-table .original-text{border-radius:4px;font-family:monospace;font-family:var(--font-mono,monospace);padding:4px 8px}.changes-table .fixed-text{background:#22c55e0d;color:#16a34a;font-weight:600}.backup-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.vocab-backups-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.vocab-backup-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid var(--border);border-radius:12px;box-shadow:0 4px 16px #0000000d;padding:20px;transition:all .3s ease}.vocab-backup-card:hover{border-color:var(--primary);box-shadow:0 8px 24px #6366f126;transform:translateY(-2px)}.backup-header{align-items:center;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.backup-header h4{color:var(--primary);font-family:var(--font-display);font-weight:600;margin:0}.backup-date{color:var(--text-muted);font-family:monospace;font-family:var(--font-mono,monospace);font-size:12px}.backup-info p{color:var(--text-secondary);font-size:13px;margin:6px 0}.backup-stats{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.backup-stat{background:linear-gradient(135deg,#6366f114,#a855f714);border-radius:8px;color:var(--text-secondary);font-size:12px;padding:6px 12px}.backup-stat strong{color:var(--primary);font-family:monospace;font-family:var(--font-mono,monospace);font-weight:700}.vocab-backup-card .btn-danger{margin-top:12px;width:100%}@media (max-width:768px){.result-stats,.vocab-backups-list{grid-template-columns:1fr}.backup-actions{flex-direction:column}.backup-actions .btn-secondary{margin-left:0;width:100%}.changes-table{font-size:11px}.changes-table td,.changes-table th{padding:6px}}.api-docs-fullscreen{background:#f5f7f9;bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.api-docs-nav{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;padding:15px 20px}.api-back-btn{background:#61affe;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.api-back-btn:hover{background:#4e90d9;box-shadow:0 2px 5px #61affe4d;transform:translateY(-1px)}.api-docs{flex:1 1;margin:0 auto;max-width:1200px;overflow-y:auto;padding:20px;width:100%}.api-docs-header{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:30px}.api-docs-header h1{color:#2c3e50;font-size:36px;margin-bottom:10px}.api-docs-header code{background-color:#f4f4f4;border-radius:4px;color:#e83e8c;font-family:Consolas,Monaco,monospace;font-size:16px;padding:8px 15px}.api-intro{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:25px}.api-intro h2{color:#2c3e50;margin-bottom:10px}.auth-example{background-color:#2c3e50;border-radius:4px;color:#fff;display:block;font-family:Consolas,Monaco,monospace;margin-top:10px;padding:10px}.api-category{margin-bottom:40px}.api-category h2{border-bottom:2px solid #e0e0e0;color:#2c3e50;margin-bottom:20px;padding-bottom:10px}.api-endpoint{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #00000008;margin-bottom:15px;overflow:hidden;transition:all .2s}.api-endpoint:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.endpoint-header{align-items:center;background-color:#f8f9fa;cursor:pointer;display:flex;gap:15px;padding:15px 20px}.endpoint-header:hover{background-color:#e9ecef}.method-badge{border-radius:4px;font-size:12px;font-weight:700;min-width:60px;padding:4px 12px;text-align:center;text-transform:uppercase}.method-get{background-color:#61affe;color:#fff}.method-post{background-color:#49cc90;color:#fff}.method-put{background-color:#fca130;color:#fff}.method-delete{background-color:#f93e3e;color:#fff}.endpoint-path{color:#2c3e50;flex:1 1;font-family:Consolas,Monaco,monospace;font-weight:600}.endpoint-description{color:#666;font-size:14px;margin-right:auto}.expand-icon{color:#999;font-size:12px;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.endpoint-details{background-color:#fff;border-top:1px solid #e0e0e0;padding:20px}.param-section{margin-bottom:20px}.param-title{color:#2c3e50;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.param-table{border-collapse:collapse;font-size:14px;width:100%}.param-table th{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#2c3e50;padding:8px;text-align:left}.param-table td{border-bottom:1px solid #e0e0e0;padding:8px}.param-table code{background-color:#f4f4f4;border-radius:3px;font-family:Consolas,Monaco,monospace;font-size:13px;padding:2px 6px}.json-block{background-color:#2c3e50;border-radius:6px;margin-bottom:20px;overflow:hidden}.json-title{background-color:#1a252f;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:8px 15px;text-transform:uppercase}.json-block pre{color:#fff;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.5;margin:0;overflow-x:auto;padding:15px}.api-docs::-webkit-scrollbar{width:10px}.api-docs::-webkit-scrollbar-track{background:#f1f1f1}.api-docs::-webkit-scrollbar-thumb{background:#888;border-radius:5px}.api-docs::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.api-docs{padding:10px}.api-docs-nav{padding:10px 15px}.api-docs-header{padding:20px}.api-docs-header h1{font-size:28px}.endpoint-header{flex-wrap:wrap;gap:10px}.endpoint-path{order:2;width:100%}.endpoint-description{order:3;width:100%}.json-block pre,.param-table{font-size:12px}}.feedback-editor{background:#fff;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:1000}.editor-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.editor-header h2{color:#2c3e50;margin:0}.editor-content{flex:1 1;overflow-y:auto;padding:20px}.form-section{margin-bottom:40px}.form-section h3{color:#2c3e50;font-size:18px;margin-bottom:20px}.section-header{align-items:center;display:flex;justify-content:space-between}.form-group,.section-header{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.form-group input[type=date],.form-group input[type=text],.form-group select,.form-group textarea{-webkit-text-fill-color:#333!important;border:1px solid #ddd;border-radius:4px;color:#333!important;font-size:14px;padding:10px;transition:border-color .2s;width:100%}.form-group input[type=date]:focus,.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;outline:none}.form-group input.readonly{background-color:#f5f5f5;cursor:not-allowed}.form-group small{color:#666;display:block;font-size:12px;margin-top:5px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.empty-questions{background-color:#f8f9fa;border-radius:8px;color:#666;padding:40px;text-align:center}.questions-list{display:flex;flex-direction:column;gap:20px}.question-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.question-number{color:#2c3e50;font-weight:600}.question-actions{display:flex;gap:5px}.delete-btn,.move-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:5px 10px;transition:all .2s}.move-btn:hover:not(:disabled){background-color:#e0e0e0}.move-btn:disabled{cursor:not-allowed;opacity:.5}.delete-btn{color:#e74c3c}.delete-btn:hover{background-color:#fee;border-color:#e74c3c}.options-section{background:#fff;border:1px solid #ddd;border-radius:6px;margin-top:15px;padding:15px}.options-section h4{color:#666;font-size:14px;margin:0 0 15px}.option-item{display:flex;gap:10px;margin-bottom:10px}.option-item input{-webkit-text-fill-color:#333!important;color:#333!important;flex:1 1}.delete-option-btn{background:none;border:1px solid #ddd;border-radius:4px;color:#e74c3c;cursor:pointer;padding:5px 10px;transition:all .2s}.delete-option-btn:hover:not(:disabled){background-color:#fee;border-color:#e74c3c}.delete-option-btn:disabled{cursor:not-allowed;opacity:.5}.btn-small{background-color:#ecf0f1}.btn-small:hover{background-color:#bdc3c7}.editor-footer{background-color:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding:20px}@media (max-width:768px){.form-row{grid-template-columns:1fr}.editor-content{padding:15px}.question-actions{flex-wrap:wrap}}.feedback-responses{background:#fff;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:1000}.responses-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.responses-header h2{color:#2c3e50;margin:0}.subtitle{color:#666;font-size:14px;margin:5px 0 0}.header-actions{align-items:center;display:flex;gap:10px}.back-btn{background:none;border:none;color:#3498db;cursor:pointer;font-size:14px;margin-right:15px;padding:5px 0;text-decoration:underline}.back-btn:hover{color:#2980b9}.close-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:24px;padding:5px 10px;transition:background-color .2s}.close-btn:hover{background-color:#e0e0e0}.responses-content{flex:1 1;overflow-y:auto;padding:20px}.stats-section{margin-bottom:40px}.stats-section h3{color:#2c3e50;margin-bottom:20px}.stats-grid{grid-gap:20px;gap:20px}.stat-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.stat-card h4{color:#2c3e50;font-size:16px;margin:0 0 15px}.stat-value{color:#3498db;font-size:32px;margin:0}.rating-stat{margin-bottom:15px}.rating-stat:last-child{margin-bottom:0}.question-short{color:#666;font-size:14px;margin:0 0 5px}.rating-display{align-items:center;display:flex;gap:5px}.star{color:#ddd;font-size:18px}.star.filled{color:#f39c12}.average-text{color:#666;font-size:14px;margin-left:5px}.responses-section h3{color:#2c3e50;margin-bottom:20px}.responses-table{overflow-x:auto}.responses-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.responses-table th{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-weight:600;padding:15px;text-align:left}.responses-table td{border-bottom:1px solid #e0e0e0;padding:15px;vertical-align:top}.responses-table tr:hover{background-color:#f8f9fa}.btn-small{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:5px 10px;transition:background-color .2s}.btn-small:hover{background-color:#2980b9}.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.empty-state{background-color:#f8f9fa;border-radius:8px}.error-message{margin:0 20px 20px}.response-detail{padding:20px 0}.response-meta{background-color:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:15px}.response-meta p{color:#2c3e50;margin:5px 0}.answers-list{display:flex;flex-direction:column;gap:25px}.answer-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.answer-item h4{color:#2c3e50;font-size:16px;line-height:1.4;margin:0 0 15px}.answer-content{background-color:#f8f9fa;border-radius:6px;padding:15px}.text-answer{color:#333;line-height:1.6;margin:0}.rating-answer{align-items:center;display:flex;gap:5px}.rating-answer .star{font-size:20px}.rating-text{color:#666;font-weight:500;margin-left:10px}.choice-answer{color:#333;font-weight:500;margin:0}@media (max-width:768px){.responses-header{align-items:stretch;flex-direction:column;gap:15px}.header-actions{justify-content:space-between}.stats-grid{grid-template-columns:1fr}.responses-table{font-size:14px}.responses-table td,.responses-table th{padding:10px}}.feedback-manager{margin:0 auto;max-width:1200px;padding:20px}.feedback-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.feedback-header h2{color:#2c3e50;margin:0}.feedback-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:20px}.tab{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:10px 20px;position:relative;transition:color .2s}.tab:hover{color:#333}.tab.active{color:#2c3e50;font-weight:600}.tab.active:after{background-color:#3498db;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.error-message{background-color:#fee;border-radius:4px;color:#c33;margin-bottom:20px;padding:10px}.loading{color:#666;padding:40px;text-align:center}.feedback-list{grid-gap:20px;display:grid;gap:20px}.feedback-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px;transition:box-shadow .2s}.feedback-card:hover{box-shadow:0 4px 8px #0000001a}.feedback-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.feedback-card-header h3{color:#2c3e50;font-size:18px;margin:0}.badge{border-radius:4px;font-size:12px;font-weight:600;padding:4px 8px}.badge.active{background-color:#d4edda;color:#155724}.feedback-description{color:#666;line-height:1.5;margin:10px 0}.feedback-meta{grid-gap:15px;background-color:#f8f9fa;border-radius:6px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:20px 0;padding:15px}.meta-item{display:flex;flex-direction:column}.meta-label{color:#666;font-size:12px;margin-bottom:2px}.feedback-actions{display:flex;gap:10px;margin-top:20px}.btn-danger,.btn-primary,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.btn-primary{background-color:#3498db}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#ecf0f1;color:#2c3e50}.btn-secondary:hover{background-color:#bdc3c7}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.empty-state{color:#666;padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin:0}@media (max-width:768px){.feedback-header{align-items:stretch;gap:15px}.feedback-actions,.feedback-header{flex-direction:column}.feedback-meta{grid-template-columns:1fr 1fr}}.error-boundary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;padding:40px;text-align:center;width:100%}.error-icon{animation:shake .5s;font-size:64px;margin-bottom:20px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.error-container h1{color:#333;font-size:28px;margin-bottom:12px}.error-message{color:#666;font-size:16px;line-height:1.6;margin-bottom:30px}.error-actions{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.error-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.error-btn.primary{background:#667eea;color:#fff}.error-btn.primary:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.error-btn.secondary{background:#e0e0e0;color:#333}.error-btn.secondary:hover{background:#d0d0d0;transform:translateY(-2px)}.error-details{background:#f5f5f5;border:1px solid #ddd;border-radius:8px;margin-top:30px;padding:20px;text-align:left}.error-details summary{color:#667eea;cursor:pointer;font-weight:600;margin-bottom:15px;-webkit-user-select:none;user-select:none}.error-details summary:hover{color:#5568d3}.error-stack{overflow-x:auto}.error-stack h3{color:#333;font-size:14px;margin-bottom:8px;margin-top:15px}.error-stack pre{word-wrap:break-word;background:#fff;border:1px solid #ddd;border-radius:4px;font-size:12px;line-height:1.5;overflow-x:auto;padding:12px;white-space:pre-wrap}.error-help{color:#999;font-size:14px;margin-top:20px}@media (max-width:768px){.error-container{padding:30px 20px}.error-icon{font-size:48px}.error-container h1{font-size:24px}.error-actions{flex-direction:column}.error-btn{width:100%}}.srs-learning{margin:0 auto;max-width:800px;padding:20px}.srs-start-screen{text-align:center;width:100%}.srs-start-screen h1{color:var(--primary);font-family:var(--font-display);font-size:2.5rem;font-weight:800;letter-spacing:.03em;margin-bottom:2rem;text-transform:uppercase}.srs-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem}.stat-card{background:var(--surface);border:3px solid var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-brutal-md);padding:1.5rem;position:relative;transition:all .15s ease}.stat-card:hover{box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.stat-card:before{background:var(--accent);border-radius:var(--radius-md) var(--radius-md) 0 0;content:"";height:8px;left:-3px;position:absolute;right:-3px;top:-3px}.stat-value{color:var(--primary);font-family:var(--font-display);font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-size:.9rem;font-weight:600;letter-spacing:.05em}.start-buttons{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:400px}.start-button{border:2px solid var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-brutal-md);cursor:pointer;font-family:var(--font-sans);font-size:1.1rem;font-weight:700;letter-spacing:.05em;padding:1.2rem 2rem;text-transform:uppercase;transition:all .15s ease}.start-button.primary{background:var(--primary);color:#fff}.start-button.primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:6px 6px 0 var(--text-primary);transform:translate(-2px,-2px)}.start-button.secondary{background:var(--accent);color:var(--text-primary)}.start-button.secondary:hover:not(:disabled){background:var(--accent-hover);box-shadow:6px 6px 0 var(--primary);transform:translate(-2px,-2px)}.start-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.srs-quiz-screen{max-width:600px;width:100%}.quiz-progress{margin-bottom:2rem}.progress-text{color:var(--text-secondary);font-size:1.1rem;font-weight:600;margin-bottom:.5rem;text-align:center}.progress-bar{background:var(--gray-100);border:2px solid var(--border);border-radius:10px;height:20px;overflow:hidden;width:100%}.progress-fill{background:var(--primary);transition:width .3s ease}.session-stats-mini{color:var(--text-secondary);font-size:.9rem;font-weight:500;margin-top:.5rem;text-align:center}.quiz-question{background:var(--surface);border:3px solid var(--text-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-brutal-lg);margin-bottom:2rem;padding:3rem 2rem;position:relative;text-align:center;transition:all .15s ease}.quiz-question:before{background:var(--accent);border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:8px;left:-3px;position:absolute;right:-3px;top:-3px}.quiz-question:hover{box-shadow:8px 8px 0 var(--primary);transform:translate(-2px,-2px)}.latin-word{word-wrap:break-word;background:var(--surface);border:2px solid var(--text-primary);border-radius:12px;color:var(--text-primary);font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1.3;max-width:100%;overflow-wrap:break-word;padding:20px}.quiz-answer{margin-bottom:1.5rem}.input-row{display:flex;gap:12px;margin-bottom:16px}.answer-input{-webkit-text-fill-color:#333!important;background:#fffc!important;border:2px solid var(--border);border-radius:12px;color:#333!important;flex:1 1;font-family:var(--font-sans);font-size:1.2rem;padding:16px 20px;transition:all .3s ease}.answer-input::placeholder{color:var(--text-muted);opacity:.8}.answer-input:focus{background:var(--surface)!important;border-color:var(--primary);box-shadow:3px 3px 0 var(--primary);outline:none;transform:translate(-1px,-1px)}.answer-input:disabled{background:var(--surface);color:var(--text-muted);opacity:.7}.record-btn{align-items:center;background:var(--success);border:2px solid var(--text-primary);border-radius:12px;box-shadow:3px 3px 0 var(--text-primary);color:var(--text-primary);cursor:pointer;display:flex;font-size:20px;font-weight:700;height:52px;justify-content:center;padding:12px;transition:all .15s ease;-webkit-user-select:none;user-select:none;width:52px}.record-btn:hover:not(:disabled){background:#00b88a;box-shadow:5px 5px 0 var(--text-primary);transform:translate(-2px,-2px)}.record-btn.recording{animation:pulse 1s infinite;background:var(--error);color:#fff}.record-btn:disabled{background:var(--muted);cursor:not-allowed;opacity:.6}.quiz-buttons{display:flex;gap:1rem;justify-content:center}.pause-button,.submit-button{border:2px solid var(--text-primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);cursor:pointer;font-family:var(--font-sans);font-size:1.1rem;font-weight:700;letter-spacing:.05em;padding:1.2rem 2rem;text-transform:uppercase;transition:all .15s ease}.submit-button{background:var(--primary);color:#fff;flex:1 1}.submit-button:hover:not(:disabled){background:var(--primary-hover);box-shadow:6px 6px 0 var(--text-primary);transform:translate(-2px,-2px)}.submit-button:disabled{background:var(--gray-300);cursor:not-allowed;opacity:.5}.pause-button{background:var(--gray-500);color:#fff;padding:1.2rem 1.5rem}.pause-button:hover{background:var(--gray-600);box-shadow:5px 5px 0 var(--text-primary);transform:translate(-2px,-2px)}.answer-reveal{border-top:2px solid var(--border);margin-top:16px;padding-top:16px}.result{border-radius:12px;font-family:var(--font-sans);font-size:16px;font-weight:600;margin-bottom:16px;padding:12px 16px;text-align:center}.result.correct{background:#00d9a31a;border:2px solid var(--success);color:var(--success)}.result.incorrect{background:#ef44441a;border:2px solid var(--error);color:var(--error)}.correct-answer{text-align:center}.correct-answer strong{color:var(--text-secondary);display:block;font-size:14px;font-weight:500;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.all-translations{font-family:var(--font-display);line-height:1.3}.all-translations,.xp-info{color:var(--primary);font-size:16px;font-weight:700}.xp-info{background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:8px}.retry-info,.xp-info{margin-top:16px;padding:12px 16px}.retry-info{background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:8px;color:#d97706;font-size:14px;font-weight:500;text-align:center}.next-button{background:var(--success);border:2px solid var(--text-primary);border-radius:12px;box-shadow:var(--shadow-brutal-md);color:#fff;cursor:pointer;flex:1 1;font-family:var(--font-sans);font-size:1.1rem;font-weight:700;letter-spacing:.05em;padding:1.2rem 2rem;text-transform:uppercase;transition:all .15s ease}.next-button:hover{background:#00b88a;box-shadow:6px 6px 0 var(--text-primary);transform:translate(-2px,-2px)}@media (max-width:768px){.srs-learning{padding:10px}.srs-start-screen h1{font-size:2rem}.srs-stats-grid{grid-template-columns:repeat(2,1fr)}.latin-word{font-size:1.5rem;line-height:1.4;padding:16px}.answer-input{font-size:1rem}.quiz-question{padding:2rem 1rem}.input-row{flex-direction:column}.record-btn{height:48px;width:100%}.quiz-buttons{flex-direction:column}.pause-button,.submit-button{width:100%}}.gamification-header{align-items:center;background:#fff;background:var(--surface,#fff);border-bottom:3px solid var(--primary);box-shadow:0 3px 0 var(--accent);display:flex;gap:1rem;padding:.75rem 1rem}.header-stat{align-items:center;border-radius:var(--radius-sm);cursor:default;display:flex;font-size:.9rem;gap:.5rem;padding:.25rem .5rem;transition:all .15s ease}.header-stat:hover{background:var(--bg-light);transform:translate(-1px,-1px)}.stat-icon{line-height:1}.stat-icon.flame{animation:flicker 1.5s ease-in-out infinite}@keyframes flicker{0%,to{opacity:1}50%{opacity:.8}}.stat-label{color:var(--text-secondary,#666);font-size:.75rem;margin-right:.25rem;text-transform:uppercase}.stat-value{color:var(--text-primary,#333)}.level-value{color:var(--primary);font-size:1rem;font-weight:800}.header-divider{background:var(--primary);height:1.5rem;width:2px}.streak.active .stat-value{color:#ff6b35;font-weight:700}.freeze-badge{background:#4a90e2;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;margin-left:.25rem;padding:.15rem .4rem}.header-skeleton{align-items:center;display:flex;gap:1rem;width:100%}.skeleton-stat{animation:loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px;height:1.5rem;width:80px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.gamification-header{font-size:.85rem;gap:.5rem;padding:.5rem}.stat-label{display:none}.header-stat{gap:.3rem}.stat-icon{font-size:1rem}.freeze-badge{font-size:.65rem;padding:.1rem .3rem}}@media (max-width:480px){.gamification-header{gap:.4rem}.header-divider{display:none}}.xp-progress-bar{background:#e0e0e0;background:var(--progress-bg,#e0e0e0);box-shadow:inset 0 2px 4px #0000001a;height:2rem;width:100%}.progress-fill,.xp-progress-bar{border-radius:1rem;overflow:hidden;position:relative}.progress-fill{align-items:center;background:linear-gradient(90deg,gold,orange);display:flex;height:100%;justify-content:center;transition:width 0s}.progress-fill:before{animation:shine 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shine{0%{left:-100%}to{left:200%}}.progress-fill.animated{transition:width 1s ease-out}.progress-label{color:#fff;font-weight:700;text-shadow:1px 1px 2px #0000004d;z-index:1}.stats-card{background:#fff;background:var(--card-bg,#fff);border-radius:8px;border-radius:var(--border-radius,8px);box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-md,0 4px 8px #00000026);padding:1.5rem;transition:transform .2s,box-shadow .2s}.stats-card:hover{box-shadow:0 8px 16px #0003;box-shadow:var(--shadow-lg,0 8px 16px #0003);transform:translateY(-4px)}.card-header{align-items:center;border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);display:flex;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem}.card-icon{font-size:2rem;line-height:1}.card-title{color:#333;color:var(--text-primary,#333);font-size:1.2rem;font-weight:600;margin:0}.card-content{display:flex;flex-direction:column;gap:.75rem}.level-display{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin-bottom:.5rem;text-align:center}.xp-info{color:#666;color:var(--text-secondary,#666);font-size:.9rem;margin-top:.5rem;text-align:center}.xp-remaining{color:#999;color:var(--text-muted,#999);font-size:.85rem;font-style:italic;text-align:center}.streak-main{padding:1rem 0;text-align:center}.streak-number{color:#ff6b35;font-size:3rem;font-weight:700;line-height:1}.streak-label{color:#666;color:var(--text-secondary,#666);font-size:.9rem;margin-top:.25rem}.streak-status{align-items:center;border-radius:6px;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem}.streak-status.safe{background:#e8f5e9;color:#2e7d32}.streak-status.warning{background:#fff3e0;color:#e65100}.status-icon{font-size:1rem}.streak-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-top:1rem}.streak-stat{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-radius:6px;display:flex;flex-direction:column;padding:.5rem;text-align:center}.streak-stat .stat-label{color:#666;color:var(--text-secondary,#666);font-size:.75rem;margin-bottom:.25rem}.streak-stat .stat-value{color:#333;color:var(--text-primary,#333);font-size:1rem;font-weight:600}.activity-stats{display:flex;flex-direction:column;gap:.75rem}.activity-row{align-items:center;background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-radius:6px;display:flex;justify-content:space-between;padding:.5rem}.activity-label{color:#666;color:var(--text-secondary,#666);font-size:.9rem}.activity-value{color:#333;color:var(--text-primary,#333);font-size:1rem;font-weight:600}.streak-progress{background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-radius:8px;margin:1rem 0;padding:1rem}.progress-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-label{color:var(--text-secondary,#666)}.progress-value{color:#333;color:var(--text-primary,#333);font-size:1rem;font-weight:600}.progress-value.completed{color:#2e7d32;font-weight:700}.qualified-badge{background:#e8f5e9;color:#2e7d32;font-size:.9rem;font-weight:600}.not-qualified-hint,.qualified-badge{border-radius:6px;margin-top:.5rem;padding:.5rem;text-align:center}.not-qualified-hint{background:#fff3e0;color:#e65100;font-size:.85rem;font-style:italic}.freeze-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 8px #667eea4d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.freeze-button:hover:not(:disabled){box-shadow:0 6px 12px #667eea66;transform:translateY(-2px)}.freeze-button:active:not(:disabled){transform:translateY(0)}.freeze-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.stats-card{padding:1rem}.level-display{font-size:1.5rem}.streak-number{font-size:2.5rem}.freeze-button{font-size:.85rem;padding:.6rem .8rem}}.dashboard{margin:0 auto;max-width:1200px;padding:2rem}.dashboard-title{color:#333;color:var(--text-primary,#333);font-size:2rem;font-weight:700;margin-bottom:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.dashboard-loading{align-items:center;color:#666;color:var(--text-secondary,#666);display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4a90e2;height:50px;width:50px}.dashboard-error{background:#ffebee;border-radius:8px;color:#c62828;padding:2rem;text-align:center}.error-icon{display:block;font-size:3rem;margin-bottom:1rem}.league-preview-card{background:#fff;background:var(--card-bg,#fff);border-radius:8px;border-radius:var(--border-radius,8px);box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-md,0 4px 8px #00000026);margin-bottom:2rem;padding:1.5rem}.league-header{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);margin-bottom:1rem;padding-bottom:1rem}.league-header h2{color:#333;color:var(--text-primary,#333);font-size:1.5rem;font-weight:600;margin:0}.league-icon{font-size:2.5rem}.league-info{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.league-stat{display:flex;flex-direction:column;gap:.25rem}.league-stat .stat-label{color:#666;color:var(--text-secondary,#666);font-size:.85rem}.league-stat .stat-value{color:#333;color:var(--text-primary,#333);font-size:1.2rem;font-weight:600}.stat-badge{border-radius:12px;display:inline-block;font-size:.9rem;font-weight:600;padding:.25rem .75rem}.stat-badge.promotion{background:#e8f5e9;color:#2e7d32}.stat-badge.safe{background:#e3f2fd;color:#1565c0}.stat-badge.relegation{background:#ffebee;color:#c62828}.recent-achievements-card{background:#fff;background:var(--card-bg,#fff);border-radius:8px;border-radius:var(--border-radius,8px);box-shadow:0 4px 8px #00000026;box-shadow:var(--shadow-md,0 4px 8px #00000026);padding:1.5rem}.recent-achievements-card h2{color:#333;color:var(--text-primary,#333);font-size:1.3rem;font-weight:600;margin:0 0 1rem}.achievements-list{display:flex;flex-direction:column;gap:.75rem}.achievement-item{align-items:center;background:#f5f5f5;background:var(--bg-secondary,#f5f5f5);border-radius:8px;display:flex;gap:1rem;padding:.75rem;transition:transform .2s}.achievement-item:hover{transform:translateX(4px)}.achievement-icon{font-size:2rem}.achievement-info{flex:1 1}.achievement-name{color:#333;color:var(--text-primary,#333);font-weight:600;margin-bottom:.25rem}.achievement-date{color:#666;color:var(--text-secondary,#666);font-size:.85rem}@media (max-width:768px){.dashboard{padding:1rem}.dashboard-title{font-size:1.5rem;margin-bottom:1.5rem}.stats-grid{gap:1rem}.league-info,.stats-grid{grid-template-columns:1fr}}.confetti{animation:confetti-fall linear forwards;height:10px;pointer-events:none;position:fixed;top:-10px;width:10px;z-index:10000}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(2turn)}}.modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9998}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.level-up-modal{animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:2.5rem;position:relative;text-align:center;width:90%}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.modal-title{animation:pulse 1s ease-in-out infinite;color:#333;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}.level-transition{align-items:center;display:flex;font-size:2rem;font-weight:700;gap:1rem;justify-content:center;margin:2rem 0}.old-level{color:#999}.arrow{color:#4a90e2;font-size:2.5rem}.new-level{-webkit-text-fill-color:#0000;animation:glow 2s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text}@keyframes glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.rewards-section{background:#f8f9fa;border-radius:12px;margin:2rem 0;padding:1.5rem}.rewards-section h3{color:#333;font-size:1.2rem;margin-bottom:1rem}.rewards-list{list-style:none;margin:0;padding:0}.rewards-list li{animation:slideIn .5s ease-out backwards;color:#555;font-size:1.1rem;margin:.5rem 0}.rewards-list li:first-child{animation-delay:.2s}.rewards-list li:nth-child(2){animation-delay:.3s}.rewards-list li:nth-child(3){animation-delay:.4s}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem 2rem;transition:transform .2s,box-shadow .2s}.btn-primary:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}@media (prefers-color-scheme:dark){.level-up-modal{background:#2d2d2d}.modal-title{color:#fff}.rewards-section{background:#3d3d3d}.rewards-section h3{color:#fff}.rewards-list li{color:#ccc}}@media (max-width:768px){.level-up-modal{padding:2rem}.level-transition,.modal-title{font-size:1.5rem}.arrow{font-size:2rem}}.league-detail-view{margin:0 auto;max-width:1200px;padding:20px}.league-error,.league-loading{padding:60px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.league-error h3{color:#e74c3c;margin-bottom:15px}.retry-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:15px;padding:10px 20px}.league-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;padding:25px}.league-title{font-size:2.5rem;margin:0 0 10px;text-shadow:2px 2px 4px #0000004d}.league-title.league-bronze{color:#cd7f32;text-shadow:2px 2px 4px #00000080}.league-title.league-silver{color:silver;text-shadow:2px 2px 4px #00000080}.league-title.league-gold{color:gold;text-shadow:2px 2px 4px #00000080}.division-info{font-size:1.1rem;margin:0;opacity:.9}.my-rank-badge{align-items:center;background:#fff3;border-radius:12px;display:flex;flex-direction:column;padding:15px 30px}.rank-label{font-size:.9rem;margin-bottom:5px;opacity:.9}.rank-value{font-size:2.5rem;font-weight:700}.standings-section{margin:30px 0}.standings-section h2{color:#333;margin-bottom:20px}.standings-table{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.standing-row{align-items:center;border-bottom:1px solid #f0f0f0;display:grid;grid-template-columns:80px 1fr 150px 150px;padding:15px 20px;transition:all .2s}.standing-row:hover{background:#f9f9f9}.standing-row.is-me{background:linear-gradient(90deg,#667eea1a,#0000);border-left:4px solid #667eea;font-weight:600}.standing-row.top-3{background:linear-gradient(90deg,#ffd7001a,#0000)}.standing-row.promotion{border-left:4px solid #27ae60}.standing-row.safe{border-left:4px solid #3498db}.standing-row.relegation{border-left:4px solid #e74c3c}.rank-cell{color:#666;font-size:1.5rem;font-weight:700}.user-cell{gap:15px}.user-avatar,.user-cell{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:1.2rem;font-weight:700;height:45px;justify-content:center;width:45px}.user-info{flex-direction:column;gap:4px}.username{align-items:center;display:flex;font-size:1.1rem;gap:8px}.me-badge{background:#667eea;border-radius:12px;color:#fff;font-size:.8rem;font-weight:700;padding:2px 8px}.user-level{color:#999;font-size:.9rem}.xp-cell{align-items:baseline;display:flex;gap:5px}.xp-value{color:#f39c12;font-size:1.3rem;font-weight:700}.xp-label{color:#999;font-size:.9rem}.zone-cell{text-align:right}.zone-badge{border-radius:20px;font-size:.85rem;font-weight:700;padding:6px 12px}.zone-badge.promotion{background:#d4edda;color:#155724}.zone-badge.safe{background:#d1ecf1;color:#0c5460}.zone-badge.relegation{background:#f8d7da;color:#721c24}.league-prognosis{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:30px 0;padding:25px}.league-prognosis.promotion{border-left:4px solid #27ae60}.league-prognosis.safe{border-left:4px solid #3498db}.league-prognosis.relegation{border-left:4px solid #e74c3c}.prognosis-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.prognosis-header h3{color:#333;margin:0}.status-badge{border-radius:20px;font-size:1rem;font-weight:700;padding:8px 16px}.status-badge.promotion{background:#27ae60;color:#fff}.status-badge.safe{background:#3498db;color:#fff}.status-badge.relegation{background:#e74c3c;color:#fff}.prognosis-message{color:#333;font-size:1.1rem;margin-bottom:20px}.prognosis-bar{border-radius:25px;box-shadow:inset 0 2px 4px #0000001a;display:flex;height:50px;margin:20px 0;overflow:hidden;position:relative}.bar-section{align-items:center;display:flex;justify-content:center;transition:width .3s}.bar-section.promotion{background:linear-gradient(90deg,#27ae60,#2ecc71)}.bar-section.safe{background:linear-gradient(90deg,#3498db,#5dade2)}.bar-section.relegation{background:linear-gradient(90deg,#e74c3c,#ec7063)}.bar-label{color:#fff;font-size:.9rem;font-weight:700}.user-marker{align-items:center;display:flex;flex-direction:column;position:absolute;top:-10px;transform:translateX(-50%)}.marker-dot{background:#667eea;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0000004d;height:20px;width:20px}.marker-label{background:#667eea;border-radius:12px;color:#fff;font-size:.8rem;font-weight:700;margin-top:5px;padding:2px 8px}.prognosis-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:20px}.prognosis-stats .stat{background:#f9f9f9;border-radius:8px;display:flex;justify-content:space-between;padding:10px 15px}.stat-label{color:#666}.stat-value{color:#333;font-weight:700}.league-history{margin:30px 0}.history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.history-header h2{color:#333;margin:0}.expand-btn,.show-more-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px}.expand-btn:hover,.show-more-btn:hover{background:#5568d3}.history-empty,.history-error,.history-loading{background:#fff;border-radius:12px;color:#999;padding:40px;text-align:center}.history-empty .hint{font-size:.9rem;margin-top:10px}.history-list{grid-gap:15px;display:grid;gap:15px}.history-item{background:#fff;border-left:4px solid #667eea;border-radius:10px;box-shadow:0 2px 4px #0000001a;padding:20px}.history-week-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.week-label{color:#333;font-weight:700}.league-badge{border-radius:12px;font-size:.85rem;font-weight:700;padding:4px 12px}.league-badge.league-bronze{background:#cd7f32;color:#fff}.league-badge.league-silver{background:silver;color:#333}.league-badge.league-gold{background:gold;color:#333}.league-badge.league-platinum{background:#e5e4e2;color:#333}.league-badge.league-diamond{background:linear-gradient(135deg,#b9f2ff,#a8e0ff);color:#333}.history-stats{flex-wrap:wrap;gap:15px;justify-content:space-between}.history-stat,.history-stats{align-items:center;display:flex}.history-stat{gap:8px}.stat-icon{font-size:1.2rem}.result-badge{border-radius:20px;font-size:.85rem;font-weight:700;padding:6px 12px}.result-badge.promotion{background:#d4edda;color:#155724}.result-badge.relegation{background:#f8d7da;color:#721c24}.result-badge.stayed{background:#d1ecf1;color:#0c5460}.history-footer{margin-top:15px;text-align:center}.reset-countdown{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:30px 0;padding:25px}.reset-countdown.urgent{border-left:4px solid #f39c12}.reset-countdown.critical{animation:pulse 2s infinite;border-left:4px solid #e74c3c}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.countdown-header{margin-bottom:20px;text-align:center}.countdown-header h3{color:#333;font-size:1.5rem;margin:0}.countdown-display{gap:10px;justify-content:center;margin:20px 0}.countdown-display,.time-unit{align-items:center;display:flex}.time-unit{flex-direction:column;min-width:70px}.time-value{color:#667eea;font-size:3rem;font-weight:700;line-height:1}.time-label{color:#999;font-size:.9rem;margin-top:5px}.time-separator{color:#ccc;font-size:2.5rem;font-weight:700;margin:0 5px}.countdown-progress{margin-top:25px}.progress-bar-bg{background:#f0f0f0;border-radius:6px;height:12px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px;height:100%;transition:width 1s linear}.progress-label{color:#666;display:block;font-size:.9rem;margin-top:10px;text-align:center}.countdown-warning{background:#fff3cd;color:#856404}.countdown-critical,.countdown-warning{border-radius:8px;font-weight:700;margin-top:15px;padding:12px;text-align:center}.countdown-critical{animation:blink 1s infinite;background:#f8d7da;color:#721c24}@keyframes blink{0%,to{opacity:1}50%{opacity:.7}}.countdown-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:30px;margin:15px auto;width:30px}.league-info-box{background:#f9f9f9;border-left:4px solid #667eea;border-radius:12px;margin:30px 0;padding:25px}.league-info-box h3{color:#667eea;margin-top:0}.league-info-box ul{list-style:none;margin:15px 0 0;padding:0}.league-info-box li{border-bottom:1px solid #e0e0e0;color:#666;padding:10px 0}.league-info-box li:last-child{border-bottom:none}@media (max-width:768px){.league-header{flex-direction:column;gap:20px;text-align:center}.league-title{font-size:2rem}.standing-row{gap:10px;grid-template-columns:60px 1fr}.xp-cell,.zone-cell{grid-column:2}.countdown-display{flex-wrap:wrap}.time-value{font-size:2rem}.time-separator{display:none}}.App{background:var(--bg-light);min-height:100vh}.App-header{background:var(--primary);border-bottom:3px solid var(--text-primary);box-shadow:0 6px 0 var(--accent);color:#fff;position:relative}.header-top{padding:var(--space-xl) var(--space-lg);position:relative}.App-header h1{color:#fff;font-family:var(--font-display);font-size:2.5rem;font-weight:800;letter-spacing:.03em;margin:0;text-transform:uppercase}.user-info{align-items:center;display:flex;font-weight:500;gap:var(--space-md);position:absolute;right:var(--space-lg);top:50%;transform:translateY(-50%)}.user-info span{font-size:.9rem;opacity:.9}.header-actions{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.srs-learn-button{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #fff;border-radius:var(--radius-md);box-shadow:3px 3px 0 #fff;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:.02em;padding:var(--space-md) var(--space-xl);text-transform:uppercase;transition:all .15s ease;white-space:nowrap}.srs-learn-button:hover{box-shadow:5px 5px 0 #fff;transform:translate(-2px,-2px)}.logout-button{background:var(--error);border:2px solid #fff;border-radius:var(--radius-md);box-shadow:3px 3px 0 #fff;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;letter-spacing:.02em;padding:var(--space-sm) var(--space-md);text-transform:uppercase;transition:all .15s ease}.logout-button:hover{background:#dc2626;box-shadow:5px 5px 0 #fff;transform:translate(-2px,-2px)}.back-to-admin-btn{background:var(--accent);border:2px solid #fff;border-radius:var(--radius-md);box-shadow:3px 3px 0 #fff;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:700;letter-spacing:.02em;padding:var(--space-sm) var(--space-md);text-transform:uppercase;transition:all .15s ease}.back-to-admin-btn:hover{background:var(--accent-hover);box-shadow:5px 5px 0 #fff;transform:translate(-2px,-2px)}main{margin:0 auto;max-width:1200px;padding:var(--space-xl)}@media (max-width:768px){.header-top{padding:var(--space-lg);text-align:center}.App-header h1{font-size:2rem;margin-bottom:var(--space-sm)}.user-info{flex-direction:column;gap:var(--space-sm);justify-content:center;position:static;transform:none}main{padding:var(--space-lg)}}@media (max-width:480px){.header-top{padding:var(--space-md)}.App-header h1{font-size:1.75rem}main{padding:var(--space-md)}}:root{--primary-color:#4a90e2;--success-color:#4caf50;--warning-color:#ffa726;--danger-color:#ef5350;--xp-color:gold;--bronze-color:#cd7f32;--silver-color:silver;--gold-color:gold;--platinum-color:#e5e4e2;--diamond-color:#b9f2ff;--champion-color:#9b59b6;--bg-primary:#fff;--bg-secondary:#f5f5f5;--card-bg:#fff;--card-bg-unlocked:#fff;--card-bg-locked:#f9f9f9;--header-bg:#fff;--text-primary:#333;--text-secondary:#666;--text-muted:#999;--border-color:#e0e0e0;--border-radius:8px;--progress-bg:#e0e0e0;--progress-fill:linear-gradient(90deg,gold,orange);--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 8px #00000026;--shadow-lg:0 8px 16px #0003}@media (prefers-color-scheme:dark){:root{--bg-primary:#1e1e1e;--bg-secondary:#2d2d2d;--card-bg:#2d2d2d;--card-bg-unlocked:#2d2d2d;--card-bg-locked:#252525;--header-bg:#1e1e1e;--text-primary:#fff;--text-secondary:#ccc;--text-muted:#888;--border-color:#404040;--progress-bg:#404040}}[data-theme=dark]{--bg-primary:#1e1e1e;--bg-secondary:#2d2d2d;--card-bg:#2d2d2d;--card-bg-unlocked:#2d2d2d;--card-bg-locked:#252525;--header-bg:#1e1e1e;--text-primary:#fff;--text-secondary:#ccc;--text-muted:#888;--border-color:#404040;--progress-bg:#404040}
/*# sourceMappingURL=main.c383a7f1.css.map*/