@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap";.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:radial-gradient(600px circle at 50% 0%,var(--accent-softer),transparent 60%),var(--bg-primary)}.error-boundary-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-8);max-width:560px;width:100%;box-shadow:var(--shadow-xl);text-align:center}.error-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:var(--space-4);border-radius:var(--radius-full);background:var(--danger-soft);color:var(--danger-color)}.error-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.error-message{font-size:var(--text-md);color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.6}.error-warning{background:var(--warning-soft);border-left:3px solid var(--warning-color);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);border-radius:var(--radius-xs);text-align:left}.error-warning p{margin:0;color:var(--warning-dark, var(--warning-color));font-size:var(--text-sm)}.error-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-2)}.error-details{text-align:left;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);padding:var(--space-5);border-radius:var(--radius-md);margin-top:var(--space-6)}.error-details summary{cursor:pointer;font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-3);-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--primary)}.error-stack h3{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;margin-top:var(--space-4);margin-bottom:var(--space-2)}.error-stack pre{background:var(--bg-code);border:1px solid var(--border-light);color:var(--text-secondary);font-family:var(--font-mono);padding:var(--space-3);border-radius:var(--radius-sm);overflow-x:auto;font-size:var(--text-xs);line-height:1.5;margin:0}@media (max-width: 640px){.error-boundary{padding:var(--space-4)}.error-boundary-container{padding:var(--space-6) var(--space-5)}.error-title{font-size:var(--text-xl)}.error-message{font-size:var(--text-base)}.error-actions{flex-direction:column}.error-actions .btn{width:100%}.error-stack pre{font-size:11px}}@media (prefers-reduced-motion: reduce){.error-boundary *{animation:none!important;transition:none!important}}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-text,.skeleton-avatar,.skeleton-badge{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-hover) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-4)}.skeleton-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.skeleton-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0}.skeleton-avatar.small{width:32px;height:32px}.skeleton-text-group{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-text-group.flex-1{flex:1}.skeleton-text{height:16px;border-radius:var(--radius-md);margin-bottom:var(--space-2)}.skeleton-title{width:60%;height:20px}.skeleton-subtitle{width:40%;height:14px}.skeleton-text.short{width:70%}.skeleton-body{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-badge{width:80px;height:24px;border-radius:var(--radius-full)}.skeleton-list{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-list-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.skeleton-table{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden}.skeleton-table-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.skeleton-table-header-cell{height:20px;width:80%}.skeleton-table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--border-color)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-table-cell{height:16px;width:90%}.skeleton-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.skeleton-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-5)}.skeleton-stat-label{height:14px;width:60%;margin-bottom:var(--space-3)}.skeleton-stat-value{height:32px;width:40%}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner-small .spinner-svg{width:20px;height:20px}.spinner-medium .spinner-svg{width:40px;height:40px}.spinner-large .spinner-svg{width:60px;height:60px}.spinner-svg{animation:spinner-rotate 1.4s linear infinite}.spinner-circle{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round;stroke-dasharray:125;stroke-dashoffset:0;animation:spinner-dash 1.4s ease-in-out infinite}@keyframes spinner-dash{0%{stroke-dasharray:1,125;stroke-dashoffset:0}50%{stroke-dasharray:90,125;stroke-dashoffset:-35}to{stroke-dasharray:90,125;stroke-dashoffset:-125}}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-4)}.page-loader-message{margin:0;color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium)}.inline-loader{display:inline-flex;align-items:center;gap:var(--space-2)}.inline-loader-message{color:var(--text-secondary);font-size:var(--text-sm)}.content-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12);min-height:300px}.placeholder-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:var(--space-4);border-radius:var(--radius-xl);background:var(--bg-tertiary);color:var(--text-muted);font-size:1.5rem}.placeholder-title{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.placeholder-description{margin:0 0 var(--space-6);max-width:400px;color:var(--text-secondary);font-size:var(--text-base);line-height:1.6}.placeholder-action{margin-top:var(--space-4)}@media (max-width: 768px){.skeleton-stats-grid,.skeleton-table-header,.skeleton-table-row{grid-template-columns:1fr}.content-placeholder{padding:var(--space-8) var(--space-4)}}[data-theme=light] .skeleton-text,[data-theme=light] .skeleton-avatar,[data-theme=light] .skeleton-badge{background:linear-gradient(90deg,#eceae2,#f5f3ec,#eceae2);background-size:200% 100%}@media (prefers-reduced-motion: reduce){.skeleton-text,.skeleton-avatar,.skeleton-badge{animation:none;background:var(--bg-tertiary)}.spinner-svg,.spinner-circle{animation:none}}.app-toast{background:var(--bg-card)!important;color:var(--text-primary)!important;border:1px solid var(--border-color);border-radius:14px!important;box-shadow:0 12px 32px #0000002e!important;font-family:var(--font-primary);font-size:.92rem;padding:12px 14px!important;max-width:380px}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:16px;background:#080c0a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:confirm-fade .16s ease-out}.confirm-card{width:min(420px,100%);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:20px;padding:28px 24px 20px;box-shadow:0 30px 80px #00000059;text-align:center;animation:confirm-pop .2s cubic-bezier(.2,.9,.3,1.2)}.confirm-badge{width:52px;height:52px;margin:0 auto 14px;border-radius:16px;display:grid;place-items:center;color:#0e9f6e;background:#10b98124}.confirm-card.is-danger .confirm-badge{color:#e11d48;background:#e11d481f}.confirm-badge .lucide{color:inherit}.confirm-title{font-size:1.15rem;margin-bottom:6px}.confirm-message{color:var(--text-secondary);font-size:.95rem;line-height:1.55;margin-bottom:22px;white-space:pre-line}.confirm-actions{display:flex;gap:10px}.confirm-btn{flex:1;padding:11px 16px;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer}.confirm-btn.ghost{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.confirm-btn.ghost:hover{background:var(--bg-hover)}.confirm-btn.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.confirm-btn.danger{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}.confirm-btn.primary:hover,.confirm-btn.danger:hover{filter:brightness(1.08);transform:translateY(-1px)}@keyframes confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-pop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.theme-toggle-btn{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);width:38px;height:38px;border-radius:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;padding:0;flex-shrink:0}.theme-toggle-btn:hover{color:#f59e0b;border-color:#f59e0b80;transform:rotate(-12deg)}.theme-toggle-btn:active{transform:scale(.94)}.theme-toggle-glyph{display:flex;align-items:center;justify-content:center}.password-input-wrapper{position:relative;display:flex}.password-input-field{width:100%;padding-right:2.75rem!important}.password-toggle-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:.375rem;border-radius:.4rem;color:var(--text-secondary, #666);display:flex;align-items:center;justify-content:center}.password-toggle-btn:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.password-toggle-btn:focus-visible{outline:2px solid var(--primary-color, #667eea);outline-offset:2px}.login-container{display:flex;min-height:100vh;background:var(--bg-primary);position:relative}.back-to-landing{position:absolute;top:2rem;left:2rem;background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:.625rem 1.25rem;border-radius:.5rem;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s;z-index:10}.back-to-landing:hover{background:var(--bg-secondary);border-color:var(--primary-color);transform:translate(-3px)}.theme-toggle-login{position:absolute;top:2rem;right:2rem;z-index:10}.login-left{flex:1;padding:5rem 4rem 4rem;display:flex;flex-direction:column;justify-content:center;color:var(--text-primary);background:linear-gradient(135deg,var(--accent-10),var(--accent-10))}.branding{display:flex;align-items:center;gap:.75rem;margin-bottom:3rem}.branding .icon{font-size:1.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.branding h2{font-size:1.5rem;font-weight:700;font-family:var(--font-display);letter-spacing:-.02em}.login-left h1{font-size:3rem;margin-bottom:1rem;line-height:1.2;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.login-left>p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem}.features{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}.feature{display:flex;align-items:center;gap:.75rem}.check-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--primary);background:var(--primary-10)}.users{display:flex;align-items:center;gap:1rem}.avatars{display:flex}.avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;margin-left:-10px;border:2px solid var(--bg-primary)}.avatar:first-child{margin-left:0}.badge{background:var(--gradient-primary);color:var(--bg-primary);padding:.35rem 1rem;border-radius:1rem;font-size:.875rem;font-weight:600}.login-right{flex:1;padding:5rem 4rem 4rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--accent-10) 100%);display:flex;flex-direction:column;justify-content:center;max-width:500px;border-left:1px solid var(--border-color)}.tabs{display:flex;gap:1rem;margin-bottom:2.5rem;border-bottom:2px solid var(--border-color)}.tabs button{background:none;border:none;color:var(--text-secondary);font-size:1.0625rem;padding:1rem 2rem;cursor:pointer;position:relative;transition:all .3s ease;font-weight:700;font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;font-size:.95rem}.tabs button.active{color:var(--primary)}.tabs button.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background-image:var(--gradient-button);background-color:var(--primary);border-radius:2px}form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem;position:relative}.form-group label{color:var(--text-primary);font-size:.9375rem;font-weight:600;letter-spacing:-.01em;text-transform:uppercase;font-size:.75rem}.form-group input{background:var(--bg-tertiary);border:1.5px solid var(--border-color);padding:.875rem 1rem;border-radius:.625rem;color:var(--text-primary);font-size:1rem;transition:all .3s ease;font-family:var(--font-primary)}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px var(--accent-10);transform:translateY(-1px)}.password-hint{color:var(--warning-color);font-size:.75rem;margin-top:-.25rem}.otp-message{display:block;margin-top:.375rem;font-size:.75rem;color:var(--success-color);font-weight:500}.otp-group{margin-bottom:1.5rem}.otp-input-container{display:flex;gap:.75rem;align-items:center}.otp-input{flex:1;background:var(--bg-tertiary);border:1.5px solid var(--border-color);padding:.875rem 1rem;border-radius:.625rem;color:var(--text-primary);font-size:1rem;transition:all .3s ease;font-family:Courier New,monospace;letter-spacing:.2em;text-align:center}.otp-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px var(--accent-10);transform:translateY(-1px)}.verify-btn{padding:.875rem 1.5rem;background-image:var(--gradient-button);background-color:var(--primary);color:#fff;border:none;border-radius:.625rem;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-primary);font-family:var(--font-display)}.verify-btn:hover:not(:disabled){background-image:none;background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 35%,transparent);opacity:1}.verify-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.send-otp-btn{position:absolute;right:.5rem;top:1.75rem;padding:.5rem 1rem;background-image:var(--gradient-button);background-color:var(--primary);color:#fff;border:none;border-radius:.625rem;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-primary);font-family:var(--font-display)}.send-otp-btn:hover:not(:disabled){background-image:none;background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 35%,transparent);opacity:1}.send-otp-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{background:var(--danger-10);color:var(--danger-color);padding:.875rem 1rem;border-radius:.625rem;font-size:.875rem;display:flex;align-items:center;gap:.75rem;animation:slideIn .3s ease-out;border:1px solid var(--danger-border);border-left:4px solid var(--danger-color)}.error-icon{font-size:1.25rem;flex-shrink:0;font-weight:700}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.forgot-password{display:flex;justify-content:flex-end;margin-top:-.5rem}.forgot-password-link{background:none;border:none;color:var(--primary-color);font-size:.875rem;cursor:pointer;padding:0;text-decoration:none;transition:all .2s}.forgot-password-link:hover{text-decoration:underline;color:var(--primary-dark)}.form-options{display:flex;align-items:center;justify-content:space-between}.checkbox{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem;cursor:pointer}.checkbox input{cursor:pointer;accent-color:var(--primary-color)}.login-btn{background-image:var(--gradient-button);background-color:var(--primary);color:#fff;border:none;padding:1rem;border-radius:.625rem;font-size:1.0625rem;font-weight:700;cursor:pointer;transition:all .3s ease;letter-spacing:.5px;text-transform:uppercase;font-family:var(--font-display);box-shadow:var(--shadow-primary)}.login-btn:hover:not(:disabled){background-image:none;background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--primary) 40%,transparent)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.divider{text-align:center;color:var(--text-secondary);font-size:.875rem;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-color)}.divider:before{left:0}.divider:after{right:0}.google-btn{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:.875rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s}.google-btn:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.google-icon{font-size:1.25rem;font-weight:700;color:var(--danger-color)}.terms{text-align:center;color:var(--text-secondary);font-size:.75rem;line-height:1.5}@media (max-width: 1024px){.login-container{flex-direction:column}.login-left,.login-right{max-width:100%;padding:3rem 2rem}.login-right{border-left:none;border-top:1px solid var(--border-color)}.back-to-landing{top:1rem;left:1rem}.theme-toggle-login{top:1rem;right:1rem}}.login-left .branding .brand-logo{height:34px;width:auto;max-width:160px;object-fit:contain}.otp-group .req{color:var(--danger-color, #ef4444);font-size:.8em}.phone-verified{padding:.6rem .85rem;border-radius:8px;background:var(--primary-10);color:var(--primary);font-weight:600;font-size:.9rem}#recaptcha-container{margin-top:.5rem}.dashboard{display:flex;min-height:100vh;width:100%;background:var(--gradient-hero);animation:fadeIn .5s ease-out;position:relative;overflow-x:hidden}.sidebar{width:260px;min-width:260px;background:var(--bg-secondary);display:flex;flex-direction:column;padding:0;border-right:1px solid var(--border-color);transition:all .3s ease;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar.admin-sidebar{background:var(--bg-admin)}.logo{font-size:2rem;font-family:var(--font-display);font-weight:800;color:var(--primary);margin-bottom:2rem;margin-top:2rem;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1.5rem;text-shadow:0 0 20px var(--accent-30);animation:glow 3s ease-in-out infinite alternate;min-height:60px}@keyframes glow{0%{text-shadow:0 0 10px var(--accent-30)}to{text-shadow:0 0 25px var(--accent-50),0 0 30px var(--accent-30)}}.admin-badge{font-size:.625rem;background:var(--danger-color);color:var(--on-semantic, #fff);padding:.25rem .5rem;border-radius:.25rem;font-weight:600}.sidebar nav{display:flex;flex-direction:column;gap:.25rem;width:100%;padding:0 1rem 2rem;flex:1}.sidebar nav a{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;margin:0;color:var(--text-tertiary);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);border-left:3px solid transparent;border-radius:.5rem;font-size:.9375rem;font-weight:500;position:relative;overflow:hidden;line-height:1.5}.sidebar nav a:before{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:var(--gradient-hover);transition:width .3s cubic-bezier(.4,0,.2,1);z-index:0}.sidebar nav a .nav-icon{font-size:1.375rem;min-width:1.5rem;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.sidebar nav a .nav-text{flex:1;white-space:nowrap;position:relative;z-index:1}.sidebar nav a:hover{color:var(--primary);background:var(--accent-10);border-left-color:transparent;transform:translate(5px);box-shadow:0 4px 12px var(--accent-15)}.sidebar nav a.active{color:var(--primary);background:var(--accent-15);border-left-color:var(--primary);font-weight:600;box-shadow:0 4px 20px var(--accent-20);transform:translate(5px)}.sidebar nav a.active:before{width:100%}.main-content{flex:1;width:100%;min-width:0;padding:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;background:transparent}.header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;gap:1.5rem;background:var(--bg-secondary-alpha);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10;flex-wrap:wrap}.header h2{color:var(--primary);font-size:1.5rem}.search-bar{flex:1;max-width:500px;min-width:200px}.search-bar input{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);padding:.625rem 1rem;border-radius:.5rem;color:var(--text-primary);font-size:.9375rem;transition:all .3s ease}.search-bar input::placeholder{color:var(--text-tertiary)}.search-bar input:focus{outline:none;border-color:var(--primary);background:var(--bg-tertiary);box-shadow:0 0 0 3px var(--accent-10)}.user-info{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.streak{background:var(--bg-secondary);padding:.5rem 1rem;border-radius:.5rem;color:var(--warning-light)}.avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-weight:600;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.admin{background:var(--danger-color);color:var(--on-semantic, #fff)}.logout-btn{background:var(--border-color);color:var(--text-primary);border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;transition:background .3s}.logout-btn:hover{background:var(--bg-hover)}.role-badge{padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.welcome{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.welcome h1{font-size:2.5rem;font-family:var(--font-display);font-weight:800;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:slideInFromLeft .6s ease-out;letter-spacing:-.03em;line-height:1.2}.welcome p{color:var(--text-muted);margin-bottom:.5rem;font-size:1.125rem;animation:fadeIn .8s ease-out .2s both;line-height:1.6}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:.5rem}.btn-success{background:var(--success-color);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(.92)}.btn-warning{background:var(--warning-color);color:#fff}.btn-warning:hover:not(:disabled){filter:brightness(.92)}.btn-info{background:var(--primary);color:var(--btn-primary-text, #fff)}.btn-info:hover:not(:disabled){background:var(--primary-hover)}.btn-sm{height:var(--ctl-h-sm);padding:0 10px;font-size:var(--text-sm)}.btn-lg{height:var(--ctl-h-lg);padding:0 20px;font-size:var(--text-md)}.btn-block{width:100%;display:flex}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem;width:100%}.stats-grid.admin-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.nav-section-divider{margin-top:1.5rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-quaternary);display:flex;align-items:center;gap:.75rem;position:relative}.nav-section-divider:before{content:"";flex:1;height:1px;background:linear-gradient(to right,var(--border-color),transparent)}.nav-section-divider:after{content:"";flex:1;height:1px;background:linear-gradient(to left,var(--border-color),transparent)}.nav-section-divider .divider-label{padding:0 .5rem;white-space:nowrap}.stat-card{background:var(--gradient-card);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:scaleIn .5s ease-out;display:flex;flex-direction:column;gap:.75rem;min-height:140px}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary-alt);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.stat-card:hover{transform:translateY(-8px) scale(1.02);border-color:var(--primary);box-shadow:0 20px 40px var(--accent-20),0 0 30px var(--accent-10)}.stat-card:hover:before{transform:scaleX(1)}.stat-card.admin-card{background:var(--bg-admin)}.stat-icon{font-size:2rem;margin-bottom:.5rem;line-height:1;display:flex;align-items:center}.stat-card h3{color:var(--text-muted);font-size:.875rem;font-weight:500;margin:0;line-height:1.4;text-transform:uppercase;letter-spacing:.025em}.stat-value{font-size:2rem;font-weight:700;color:var(--primary);line-height:1.2;margin:0}.progress-section{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.progress-card,.focus-zone{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color)}.progress-card h3,.focus-zone h3{margin-bottom:1.5rem}.topics{display:flex;flex-direction:column;gap:1.5rem}.topic{display:flex;align-items:center;gap:1rem}.topic span:first-child{width:80px;color:var(--text-secondary)}.progress-bar{flex:1;height:8px;background:var(--border-color);border-radius:1rem;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:1rem}.percentage{width:50px;text-align:right;color:var(--primary);font-weight:600}.focus-alert{background:#fbbf241a;border:1px solid var(--warning-light);color:var(--warning-light);padding:1rem;border-radius:.5rem;margin-bottom:1.5rem}.focus-stats{display:flex;flex-direction:column;gap:1rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-tertiary);border-radius:.5rem}.stat-item .value{color:var(--primary);font-weight:600}.recommendations{margin-bottom:2rem;display:flex;flex-direction:column;gap:1.25rem;width:100%}.recommendations>h3{margin:0;font-size:1.5rem;color:var(--text-light);font-weight:600}.recommendation-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;width:100%}.recommendation-card{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color);transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.recommendation-card:hover{transform:translateY(-5px);border-color:var(--primary);box-shadow:var(--shadow-primary-md)}.recommendation-card h4{margin:0;color:var(--text-light);font-size:1.125rem;font-weight:600;line-height:1.4}.recommendation-card p{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.6}.tags{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:0}.tag{background:var(--border-color);color:var(--text-secondary);padding:.375rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;line-height:1;white-space:nowrap}.tag.difficulty{background:var(--warning-light);color:var(--bg-primary);font-weight:600}.tag.difficulty.easy{background:var(--primary-hover);color:#fff}.tag.difficulty.medium{background:var(--warning-color);color:var(--on-semantic, #fff)}.tag.difficulty.hard{background:var(--danger-color);color:var(--on-semantic, #fff)}.solve-btn,.try-btn{background:var(--primary);color:var(--bg-primary);border:none;padding:.625rem 1.25rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease;font-size:.9375rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.try-btn{background:transparent;color:var(--primary);border:1px solid var(--primary)}.solve-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-30)}.try-btn:hover{background:var(--accent-10);transform:translateY(-2px)}.action-buttons-bottom{display:flex;gap:1rem;flex-wrap:wrap}.practice-btn,.mentor-btn,.analytics-btn{flex:1;min-width:200px;background:var(--bg-secondary);color:#fff;border:1px solid var(--border-color);padding:1rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s}.practice-btn:hover,.mentor-btn:hover,.analytics-btn:hover{background:var(--border-color);border-color:var(--primary)}.users-section{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem;width:100%}.users-section h3{margin:0;font-size:1.5rem;color:var(--text-light);font-weight:600}.users-table-container{overflow-x:auto;background:var(--bg-secondary);border-radius:.75rem;border:1px solid var(--border-color);width:100%}.users-table{width:100%;border-collapse:collapse;min-width:600px}.users-table thead{background:var(--bg-tertiary)}.users-table th{padding:1rem 1.25rem;text-align:left;color:var(--text-muted);font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.users-table td{padding:1rem 1.25rem;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9375rem;vertical-align:middle}.users-table tbody tr{transition:background .2s ease}.users-table tbody tr:hover{background:var(--accent-10)}.admin-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.admin-btn{background:var(--primary);color:var(--bg-primary);border:none;padding:1rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:background .3s}.admin-btn:hover{background:var(--primary-hover)}@media (max-width: 768px){.dashboard{flex-direction:column}.sidebar{width:100%;min-width:100%;height:auto;flex-direction:row;padding:1rem;position:relative;overflow-x:auto}.logo{margin:0;padding:0 1rem}.sidebar nav{flex-direction:row;overflow-x:auto;padding:0 1rem;gap:.5rem}.sidebar nav a{flex-shrink:0}.progress-section{grid-template-columns:1fr}.header{flex-direction:column;align-items:stretch;padding:1rem}.search-bar{width:100%;max-width:100%}.page-content{padding:1.5rem 1rem}.stats-grid,.recommendation-cards{grid-template-columns:1fr}.welcome h1{font-size:2rem}}.page-content{width:100%;max-width:100%;padding:2.5rem 2rem 2rem;display:flex;flex-direction:column;gap:2rem;flex:1}.page-header{margin-bottom:0;display:block;padding-bottom:.75rem;border-bottom:2px solid rgba(114,137,218,.1)}.header-content{margin:0;padding:0}.page-header h1{font-size:1.875rem;margin:0 0 .5rem;padding:0;display:block;line-height:1.2;font-weight:700;color:var(--text-primary);text-align:left}.page-header p{color:var(--text-muted);font-size:.9375rem;line-height:1.4;font-weight:500;margin:0 0 1rem;padding:0;text-align:left}.filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center;width:100%}.filter-group{display:flex;align-items:center;gap:.625rem;flex-wrap:nowrap}.filter-group label{color:var(--text-muted);font-weight:500;font-size:.9375rem;white-space:nowrap}.filter-group select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:.625rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.9375rem;transition:all .3s ease;min-width:120px}.filter-group select:hover{border-color:var(--primary)}.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-10)}.filter-group.radio-filter{display:flex;align-items:center;gap:.75rem}.filter-group.radio-filter .filter-label{color:var(--text-muted);font-weight:500;font-size:.9375rem;white-space:nowrap;display:flex;align-items:center;gap:.375rem}.filter-group.radio-filter .radio-group{display:flex;gap:1rem;background:var(--bg-secondary);padding:.5rem;border-radius:.5rem;border:1px solid var(--border-color)}.filter-group.radio-filter .radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.375rem .75rem;border-radius:.375rem;transition:all .2s ease;color:var(--text-secondary);font-weight:500;font-size:.9rem}.filter-group.radio-filter .radio-label:hover{background:var(--bg-tertiary);color:var(--text-primary)}.filter-group.radio-filter .radio-label input[type=radio]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary)}.filter-group.radio-filter .radio-label input[type=radio]:checked+span{color:var(--primary);font-weight:600}.problems-list{display:flex;flex-direction:column;gap:1rem;width:100%}.problem-item{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;min-height:80px}.problem-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:var(--gradient-primary-alt);transform:scaleY(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}.problem-item:hover{border-color:var(--primary);transform:translate(8px);box-shadow:-4px 8px 30px var(--accent-15);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%)}.problem-item:hover:before{transform:scaleY(1)}.problem-item.solved{border-left:3px solid var(--primary)}.problem-item.solved:before{transform:scaleY(1)}.problem-status{font-size:1.5rem}.problem-info{flex:1}.problem-info h3{margin-bottom:.5rem}.problem-meta{display:flex;gap:.75rem;align-items:center}.difficulty-badge{padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.difficulty-badge.easy{background:linear-gradient(135deg,var(--accent-20) 0%,var(--accent-20) 100%);color:var(--primary-hover);border:1px solid var(--accent-30);box-shadow:0 2px 8px var(--accent-20)}.difficulty-badge.medium{background:linear-gradient(135deg,var(--difficulty-medium-bg) 0%,var(--difficulty-medium-bg) 100%);color:var(--warning-light);border:1px solid var(--difficulty-medium-border);box-shadow:0 2px 8px var(--difficulty-medium-bg)}.difficulty-badge.hard{background:linear-gradient(135deg,var(--difficulty-hard-bg) 0%,var(--difficulty-hard-bg) 100%);color:var(--danger-color);border:1px solid var(--difficulty-hard-border);box-shadow:0 2px 8px var(--difficulty-hard-bg)}.topic-badge{color:var(--text-muted);font-size:.875rem}.solve-problem-btn{background:var(--primary);color:var(--bg-primary);border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:background .3s}.solve-problem-btn:hover{background:var(--primary-hover)}.mentor-container{display:flex;flex-direction:column;gap:2rem}.mentor-suggestions{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color)}.mentor-suggestions h3{margin-bottom:1rem}.suggestion-chips{display:flex;gap:.75rem;flex-wrap:wrap}.chip{background:var(--border-color);color:var(--text-primary);border:none;padding:.5rem 1rem;border-radius:2rem;cursor:pointer;font-size:.875rem;transition:all .3s}.chip:hover{background:var(--primary);color:var(--bg-primary)}.chat-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden;display:flex;flex-direction:column;height:500px}.chat-messages{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.message{display:flex;gap:1rem;align-items:flex-start}.message.user{flex-direction:row-reverse}.message-avatar{font-size:2rem;min-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--border-color);border-radius:50%}.message.user .message-avatar{background:var(--primary)}.message-content{flex:1;background:var(--bg-tertiary);padding:1rem;border-radius:.75rem;max-width:70%}.message.user .message-content{background:var(--primary);color:var(--bg-primary)}.message-time{font-size:.75rem;color:var(--text-tertiary);margin-top:.5rem;display:block}.chat-input-form{display:flex;gap:1rem;padding:1.5rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.chat-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);padding:.75rem 1rem;border-radius:.5rem;color:var(--text-primary);font-size:1rem}.chat-input:focus{outline:none;border-color:var(--primary)}.send-btn{background:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:background .3s}.send-btn:hover{background:#218838}.analytics-controls{display:flex;gap:1rem;margin-bottom:2rem;align-items:center;background:transparent!important;padding:0;border:none;box-shadow:none}.analytics-controls label{color:var(--text-secondary);font-weight:500;font-size:.95rem}.analytics-controls select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.95rem;outline:none;transition:all .3s ease;min-width:180px}.analytics-controls select:hover{border-color:var(--primary);background:var(--bg-tertiary)}.analytics-controls select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--accent-30)}.analytics-controls select option{background:var(--bg-secondary);color:var(--text-primary);padding:.5rem}.export-btn{background:var(--primary);color:var(--bg-primary);border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:background .3s}.export-btn:hover{background:var(--primary-hover)}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.analytics-card{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color)}.analytics-card h3{margin-bottom:1.5rem}.chart-placeholder{min-height:200px;display:flex;align-items:flex-end;justify-content:center}.bar-chart{display:flex;gap:1rem;align-items:flex-end;width:100%;height:200px}.bar-chart .bar{flex:1;background:var(--primary);border-radius:.25rem .25rem 0 0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.5rem;transition:all .3s}.bar-chart .bar:hover{background:var(--primary-hover)}.bar-chart .bar span{font-size:.75rem;color:var(--bg-primary);font-weight:600}.topic-mastery,.time-stats,.submission-stats{display:flex;flex-direction:column;gap:1rem}.mastery-item{display:flex;align-items:center;gap:1rem}.mastery-item>span:first-child{flex:0 0 150px;color:var(--text-secondary);font-size:.875rem}.mastery-bar{flex:1;height:8px;background:var(--border-color);border-radius:1rem;overflow:hidden}.mastery-fill{height:100%;background:var(--primary);border-radius:1rem}.mastery-percent{color:var(--primary);font-weight:600;min-width:50px;text-align:right}.time-stat{display:flex;justify-content:space-between;padding:.75rem;background:var(--bg-tertiary);border-radius:.5rem}.time-value{color:var(--primary);font-weight:600}.stat-row{display:flex;justify-content:space-between;padding:.75rem;border-bottom:1px solid var(--border-color)}.stat-row:last-child{border-bottom:none}.stat-row .stat-value{font-weight:600;font-size:1rem}.stat-row .stat-value.success{color:var(--primary-hover)}.stat-row .stat-value.error{color:var(--danger-color)}.stat-row .stat-value.warning{color:var(--warning-light)}.achievements-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color);display:flex;align-items:center;gap:1rem}.summary-icon{font-size:2.5rem}.summary-info h3{color:var(--text-muted);font-size:.875rem;margin-bottom:.25rem}.summary-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.achievements-filter{display:flex;gap:1rem;margin-bottom:2rem}.achievements-filter button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all .3s}.achievements-filter button.active{background:var(--primary);color:var(--bg-primary);border-color:var(--primary)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.achievement-card{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color);text-align:center;transition:all .3s}.achievement-card:hover{transform:translateY(-5px);border-color:var(--primary)}.achievement-card.locked{opacity:.5}.achievement-icon{font-size:3rem;margin-bottom:1rem}.achievement-card h3{margin-bottom:.5rem}.achievement-card p{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem}.achievement-date{color:var(--primary);font-size:.75rem}.achievement-progress{margin-top:1rem}.achievement-progress .progress-bar{margin-bottom:.5rem}.achievement-progress span{font-size:.875rem;color:var(--text-muted)}.settings-container{display:flex;gap:2rem}.settings-tabs{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.settings-tabs button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:1rem 1.5rem;border-radius:.5rem;cursor:pointer;text-align:left;transition:all .3s;display:flex;align-items:center;gap:.75rem}.settings-tabs button:hover{background:var(--border-color)}.settings-tabs button.active{background:var(--primary);color:var(--bg-primary);border-color:var(--primary)}.settings-content{flex:1;background:var(--bg-secondary);padding:2rem;border-radius:.75rem;border:1px solid var(--border-color)}.settings-form h2{margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.75rem 1rem;border-radius:.5rem;color:var(--text-primary);font-size:1rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.form-group.checkbox{display:flex;align-items:center;gap:.75rem;flex-direction:row}.form-group.checkbox input{width:auto;cursor:pointer}.form-group.checkbox label{margin-bottom:0;cursor:pointer}.save-btn{background:#28a745;color:#fff;border:none;padding:.75rem 2rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:background .3s}.save-btn:hover{background:#218838}.save-btn:disabled{opacity:.6;cursor:not-allowed}.roadmap-admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.roadmap-admin-grid{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:1.5rem}.roadmap-admin-list{display:flex;flex-direction:column;gap:.75rem}.roadmap-admin-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;display:flex;justify-content:space-between;gap:1rem}.roadmap-admin-item.active{border-color:var(--primary);box-shadow:0 0 0 1px #0e7a4b66}.roadmap-admin-title{font-weight:600;margin-bottom:.25rem}.roadmap-admin-meta{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.roadmap-admin-actions{display:flex;gap:.5rem;flex-wrap:wrap}.roadmap-admin-editor{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.roadmap-admin-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.roadmap-admin-sections{margin-bottom:1.5rem}.roadmap-admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.roadmap-admin-section{border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;background:var(--bg-secondary);margin-bottom:1rem}.roadmap-admin-section-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.roadmap-admin-message{background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:.5rem;padding:1rem;color:var(--text-secondary);margin-bottom:1rem}.action-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem .75rem;border-radius:.5rem;cursor:pointer;transition:all .3s}.action-btn:hover{background:var(--border-color)}.danger-btn{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#ef4444;padding:.5rem .75rem;border-radius:.5rem;cursor:pointer;transition:all .3s}.danger-btn:hover{background:#ef444440}@media (max-width: 1024px){.roadmap-admin-grid{grid-template-columns:1fr}.roadmap-admin-item{flex-direction:column;align-items:flex-start}}.message{padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;font-weight:500}.message.success{background:#22c55e1a;border:1px solid rgb(34,197,94);color:#22c55e}.message.error{background:#ef44441a;border:1px solid rgb(239,68,68);color:#ef4444}.resume-status{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-tertiary);border-radius:.5rem;margin-bottom:1rem}.resume-upload-section{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.file-label{flex:1;padding:.75rem 1rem;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:.5rem;cursor:pointer;text-align:center;transition:all .3s}.file-label:hover{border-color:var(--primary);background:var(--bg-secondary)}.upload-btn{padding:.75rem 1.5rem;background:var(--accent);color:var(--bg-primary);border:none;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s;white-space:nowrap}.upload-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px)}.upload-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.delete-btn{padding:.5rem 1rem;background:#ef44441a;color:#ef4444;border:1px solid rgb(239,68,68);border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .3s}.delete-btn:hover:not(:disabled){background:#ef4444;color:#fff}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.notification-options{display:flex;flex-direction:column;gap:1rem}.notification-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-tertiary);border-radius:.5rem}.notification-item h4{margin-bottom:.25rem}.notification-item p{color:var(--text-muted);font-size:.875rem}.visualization-section{background:linear-gradient(135deg,#8b5cf60d,#0e7a4b0d);border:2px solid rgba(139,92,246,.3);border-radius:1rem;padding:2rem;margin-bottom:2rem}.visualization-section h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.section-description{color:var(--text-muted);font-size:.9375rem;margin-bottom:1.5rem}.visualization-stats{margin-bottom:1.5rem}.visualization-stats .stat-card{background:var(--gradient-card)}.visualization-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-top:1.5rem}.viz-btn{background:var(--gradient-card);border:1px solid var(--border-color);padding:1.5rem;border-radius:.75rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .3s ease;color:var(--text-primary)}.viz-btn:hover:not(:disabled){border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-15)}.viz-btn:disabled{opacity:.6;cursor:not-allowed}.viz-btn .btn-icon{font-size:2rem;flex-shrink:0}.viz-btn .btn-content{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.viz-btn .btn-title{font-weight:600;font-size:1rem}.viz-btn .btn-subtitle{font-size:.875rem;color:var(--text-muted)}.viz-btn.generate-new-btn{border-left:3px solid var(--primary)}.viz-btn.regenerate-all-btn{border-left:3px solid #f59e0b}.seeder-section{background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:1rem;padding:2rem;margin-bottom:2rem}.seeder-section h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.seeder-description{color:var(--text-muted);font-size:.9375rem;margin-bottom:1.5rem}.seeder-message{padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;font-weight:500}.seeder-message.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.seeder-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.seeder-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.seeder-btn{background:var(--gradient-card);border:1px solid var(--border-color);padding:1.5rem;border-radius:.75rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .3s ease;color:var(--text-primary)}.seeder-btn:hover:not(.disabled){border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-15)}.seeder-btn.disabled{opacity:.6;cursor:not-allowed}.seeder-btn .btn-icon{font-size:2rem;flex-shrink:0}.seeder-btn .btn-content{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.seeder-btn .btn-title{font-weight:600;font-size:1rem}.seeder-btn .btn-subtitle{font-size:.875rem;color:var(--text-muted)}.seeder-btn.export-btn{border-left:3px solid #22c55e}.seeder-btn.import-btn{border-left:3px solid var(--primary)}.seeder-loading{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:.5rem;margin-bottom:1rem}.seeder-loading .spinner{width:20px;height:20px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.seeder-info{background:var(--bg-tertiary);border-left:3px solid var(--primary);padding:1rem;border-radius:.5rem;margin-top:1.5rem}.seeder-info p{color:var(--text-primary);font-weight:600;margin-bottom:.75rem}.seeder-info ul{list-style:none;padding:0;margin:0}.seeder-info li{color:var(--text-secondary);font-size:.9375rem;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.seeder-info li:before{content:"→";position:absolute;left:0;color:var(--primary);font-weight:700}.seeder-info strong{color:var(--text-primary)}.admin-quick-actions{margin-bottom:2rem}.admin-quick-actions h3{margin-bottom:1rem}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-card{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1.5rem;border-radius:.75rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;transition:all .3s}.action-card:hover{background:var(--border-color);border-color:var(--primary);transform:translateY(-3px)}.action-icon{font-size:2rem}.action-card span:last-child{color:var(--text-secondary);font-weight:500}.recent-activity{margin-bottom:2rem}.recent-activity h3{margin-bottom:1rem}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1rem;border-radius:.5rem;display:flex;gap:1rem;align-items:flex-start}.activity-icon{font-size:1.5rem;min-width:2rem}.activity-content{flex:1}.activity-content p{color:var(--text-secondary);margin-bottom:.25rem}.activity-time{font-size:.75rem;color:var(--text-tertiary)}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.report-card{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color);cursor:pointer;transition:all .3s;text-align:center}.report-card:hover{border-color:var(--primary);transform:translateY(-3px)}.report-card.active{border-color:var(--primary);background:var(--accent-10)}.report-icon{font-size:3rem;margin-bottom:1rem}.report-card h3{margin-bottom:.5rem}.report-card p{color:var(--text-muted);font-size:.875rem}.report-viewer{background:var(--bg-secondary);padding:2rem;border-radius:.75rem;border:1px solid var(--border-color)}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.report-header h2{margin:0}.report-actions{display:flex;gap:1rem}.btn-download,.btn-refresh{background:var(--primary);color:var(--bg-primary);border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:background .3s;font-size:.875rem}.btn-download:hover,.btn-refresh:hover{background:var(--primary-hover)}.report-content{overflow-x:auto}.report-section{margin-bottom:2rem}.report-section h3{margin-bottom:1rem}.report-table{width:100%;border-collapse:collapse;background:var(--bg-tertiary);border-radius:.5rem;overflow:hidden}.report-table thead{background:var(--bg-secondary)}.report-table th,.report-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.report-table th{color:var(--text-muted);font-weight:600;font-size:.875rem;text-transform:uppercase}.report-table td{color:var(--text-secondary)}.report-table tbody tr:hover{background:var(--accent-10)}.positive{color:var(--primary-hover)}.negative{color:var(--danger-color)}.empty-state{text-align:center;padding:3rem 2rem;background:var(--bg-secondary);border-radius:.75rem;border:1px solid var(--border-color);margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:200px}.empty-state p{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.6}.coming-soon-box{padding:2rem;background:var(--bg-tertiary);border-radius:.5rem;text-align:center}.coming-soon-box p{color:var(--text-secondary);margin-bottom:1rem}.coming-soon-box ul{list-style:none;padding:0;text-align:left;max-width:400px;margin:0 auto}.coming-soon-box li{padding:.5rem 0;color:var(--text-muted)}.stats-list{display:flex;flex-direction:column;gap:1rem}.focus-areas-list{display:flex;flex-direction:column;gap:.75rem}.focus-area-item{padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:.5rem;color:var(--text-secondary)}.empty-message{color:var(--text-tertiary);font-style:italic;text-align:center;padding:2rem}.activity-stats,.problem-analytics,.topic-popularity{display:flex;flex-direction:column;gap:1rem}.topic-bar{display:flex;align-items:center;gap:1rem}.topic-bar>span:first-child{min-width:100px;color:var(--text-secondary)}.topic-bar .bar{flex:1;height:8px;background:var(--border-color);border-radius:1rem;overflow:hidden}.topic-bar .bar .fill{height:100%;background:var(--primary);border-radius:1rem;transition:width .3s}.topic-bar>span:last-child{min-width:50px;text-align:right;color:var(--primary);font-weight:600}.loading{text-align:center;padding:3rem;color:var(--text-muted);font-size:1.125rem}.action-buttons{display:flex;gap:.5rem}.action-buttons button{padding:.5rem;background:transparent;border:none;cursor:pointer;transition:all .2s}.problem-detail-page{padding:0;margin:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;z-index:50;background:var(--bg-primary)}.problem-control-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--bg-secondary);border-bottom:2px solid var(--border-color);flex-shrink:0;gap:1rem;z-index:100}.control-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.back-btn-top{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .3s;font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:.375rem;box-shadow:0 2px 8px #6e6acf4d;flex-shrink:0}.back-btn-top:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6e6acf66}.problem-title-compact{font-size:1rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-center{display:flex;align-items:center;justify-content:center;flex-shrink:0}.timer-display{display:flex;align-items:center;gap:.625rem;background:linear-gradient(135deg,#7289da26,#6e6acf1a);padding:.5rem 1rem;border-radius:10px;border:1px solid rgba(114,137,218,.3)}.timer-icon{font-size:1.25rem}.timer-value{font-family:Courier New,monospace;font-size:1.125rem;font-weight:700;color:var(--primary);min-width:85px;text-align:center}.timer-control-btn{background:#7289da33;border:none;color:var(--text-primary);width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:.875rem}.timer-control-btn:hover{background:#7289da66;transform:scale(1.1)}.control-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.control-icon-btn{background:linear-gradient(135deg,#7289da33,#6e6acf26);border:1px solid rgba(114,137,218,.3);color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .3s;font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:.375rem}.control-icon-btn:hover{background:linear-gradient(135deg,#7289da4d,#6e6acf40);transform:translateY(-2px);box-shadow:0 4px 12px #6e6acf4d}.problem-container{display:flex;flex-direction:row;height:calc(100% - 55px);gap:0;overflow:hidden}.problem-left{flex:0 0 auto;width:44%;min-width:260px;max-width:78%;padding:1.5rem;overflow-y:auto;background:var(--bg-primary);border-right:1px solid var(--border-color);height:100%;display:flex;flex-direction:column}.problem-right{flex:1 1 0%;min-width:320px;display:flex;flex-direction:column;background:var(--bg-tertiary);height:100%;overflow:hidden}.panel-resize-handle-v{flex:0 0 6px;width:6px;cursor:col-resize;background:var(--border-color);position:relative;z-index:5;transition:background .15s ease}.panel-resize-handle-v:hover,.panel-resize-handle-v.is-dragging{background:var(--primary)}.panel-resize-handle-v:after{content:"";position:absolute;top:0;right:-4px;bottom:0;left:-4px}.panel-resize-handle-h{flex:0 0 6px;height:6px;cursor:row-resize;background:var(--border-color);position:relative;z-index:5;transition:background .15s ease}.panel-resize-handle-h:hover,.panel-resize-handle-h.is-dragging{background:var(--primary)}.panel-resize-handle-h:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.editor-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.results-pane{min-height:0;overflow-y:auto}.problem-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-shrink:0}.back-btn{background:var(--border-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;transition:background .3s}.back-btn:hover{background:var(--bg-hover)}.problem-header h1{flex:1;font-size:1.375rem;margin:0}.problem-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.problem-tabs button{background:transparent;border:none;color:var(--text-muted);padding:.625rem 1.25rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s;font-size:.875rem}.problem-tabs button:hover{color:var(--text-secondary)}.problem-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.problem-content{color:var(--text-secondary);line-height:1.6;flex:1;overflow-y:auto;padding-right:.5rem}.problem-description,.problem-section{margin-bottom:1.5rem}.problem-section h3{color:var(--text-light);margin-bottom:.75rem;font-size:1rem}.problem-section pre{background:var(--bg-secondary);padding:.875rem;border-radius:.5rem;overflow-x:auto;border:1px solid var(--border-color);font-size:.875rem;line-height:1.5}.test-case{background:var(--bg-secondary);padding:.875rem;border-radius:.5rem;margin-bottom:.75rem;border:1px solid var(--border-color)}.test-case h4{color:var(--primary);margin-bottom:.5rem;font-size:.9375rem}.test-case-content{display:flex;flex-direction:column;gap:.625rem}.test-case-content>div{background:var(--bg-tertiary);padding:.625rem;border-radius:.25rem;font-size:.875rem}.hint{background:#fbbf241a;border:1px solid var(--warning-light);padding:1rem;border-radius:.5rem;margin-bottom:.75rem;color:var(--warning-light)}.topic-tags,.company-tags{display:flex;gap:.5rem;flex-wrap:wrap}.topic-tag,.company-tag{background:var(--border-color);color:var(--text-secondary);padding:.25rem .75rem;border-radius:.25rem;font-size:.875rem}.company-tag{background:var(--accent-20);color:var(--primary)}.code-editor-header{padding:.875rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:1rem}.language-selector-group{display:flex;align-items:center;gap:.75rem}.language-select{background:var(--bg-tertiary);border:1px solid var(--border-color);color:#fff;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;transition:all .2s ease}.language-select:hover{border-color:var(--primary);background:var(--bg-hover)}.language-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4ade801a}.language-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--primary-20);color:var(--primary);border-radius:.375rem;font-size:.75rem;font-weight:600;font-family:Courier New,monospace;border:1px solid var(--primary);animation:fadeIn .3s ease}.compiler-status{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:#22c55e1a;color:#22c55e;border-radius:.375rem;font-size:.75rem;font-weight:600;border:1px solid rgba(34,197,94,.3);animation:fadeIn .3s ease;cursor:help}.editor-controls{display:flex;align-items:center;gap:1rem}.editor-controls label{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.editor-controls label:hover{color:var(--text-secondary)}.font-size-input{width:3.5rem;padding:.25rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.25rem;color:#fff;font-size:.8125rem;text-align:center}.font-size-input:focus{outline:none;border-color:var(--primary)}.editor-controls input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--primary)}.code-editor{flex:1;overflow:hidden;min-height:0;position:relative}.code-editor>div{height:100%!important}.code-textarea{width:100%;height:100%;min-height:400px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;padding:1.25rem;font-family:Courier New,monospace;font-size:.9375rem;line-height:1.5;resize:none}.code-textarea:focus{outline:none}.code-actions{padding:.875rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;gap:.875rem;justify-content:flex-end;flex-shrink:0}.run-btn,.submit-btn{border:none;padding:.875rem 1.75rem;border-radius:10px;cursor:pointer;font-weight:700;font-size:.9375rem;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;position:relative;overflow:hidden}.run-btn:before,.submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.run-btn:hover:before,.submit-btn:hover:before{left:100%}.run-btn{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 4px 12px #6e6acf59}.run-btn:hover{background:linear-gradient(135deg,var(--primary),var(--primary-hover));transform:translateY(-2px);box-shadow:0 6px 20px #6e6acf80}.run-btn:active{transform:translateY(0)}.submit-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e59}.submit-btn:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 6px 20px #22c55e80}.submit-btn:active{transform:translateY(0)}.problem-title-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.problem-meta-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.acceptance-stat,.attempts-stat{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-muted);background:#7289da1a;padding:.3rem .625rem;border-radius:5px}.stat-icon{color:var(--primary);font-size:.9375rem}.problem-description h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.125rem}.problem-formats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.format-section{background:var(--bg-secondary);padding:1rem;border-radius:10px;border:1px solid rgba(114,137,218,.2)}.format-section h3{color:var(--primary);font-size:.9375rem;margin-bottom:.625rem;display:flex;align-items:center;gap:.5rem}.format-content{color:var(--text-secondary);line-height:1.5;font-size:.875rem}.constraints-box{background:#eab3081a!important;border:1px solid rgba(234,179,8,.3)!important;color:#eab308}.test-cases-grid{display:grid;gap:1rem}.test-case{background:var(--bg-secondary);border-radius:12px;border:1px solid rgba(114,137,218,.2);overflow:hidden;transition:all .3s ease}.test-case:hover{transform:translateY(-2px);box-shadow:0 4px 16px #7289da33;border-color:#7289da66}.test-case-header{background:linear-gradient(135deg,#7289da1f,#6e6acf14);padding:.875rem 1rem;border-bottom:1px solid rgba(114,137,218,.2);display:flex;justify-content:space-between;align-items:center}.test-case-header h4{color:var(--primary);margin:0;font-size:.9375rem;font-weight:700;letter-spacing:.5px}.test-case-content{padding:1rem;display:flex;flex-direction:column;gap:1rem}.test-case-item{display:flex;flex-direction:column;gap:.5rem}.test-case-item strong{color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.test-case-item pre{background:var(--bg-tertiary);padding:.75rem;border-radius:6px;margin:0;font-family:Courier New,monospace;font-size:.875rem;color:#22c55e}.problem-meta-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.problem-meta-sections .problem-section h3{color:var(--text-primary);font-size:1rem;margin-bottom:1rem}.topic-tag{background:#7289da26;color:var(--primary);border:1px solid rgba(114,137,218,.3);padding:.375rem .875rem;border-radius:6px;font-size:.875rem;font-weight:500}.company-tag{background:#6e6acf26;color:var(--primary-color);border:1px solid rgba(110,106,207,.3);padding:.375rem .875rem;border-radius:6px;font-size:.875rem;font-weight:500}.execution-results{padding:1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);animation:slideDown .3s ease}.results-empty-state{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;padding:1rem;color:var(--text-muted);font-size:.9rem;text-align:center}.execution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.execution-header h4{margin:0;color:var(--text-light);font-size:1rem}.execution-language{font-size:.8125rem;padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem;font-weight:600}.success-text{color:var(--success-color, #22c55e);font-weight:600;margin:.5rem 0}.error-text{color:var(--error-color, #ef4444);font-weight:600;margin:.5rem 0}.results-table{width:100%;border-collapse:collapse;margin-top:.75rem}.results-row{display:grid;grid-template-columns:40px 100px 1fr 1fr 80px;gap:.5rem;padding:.75rem .5rem;border-bottom:1px solid var(--border-color);align-items:start}.results-row.header{background:var(--bg-tertiary);font-weight:600;color:var(--text-light);font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px;border-radius:.375rem;margin-bottom:.5rem}.results-row span{font-size:.875rem;color:var(--text-secondary)}.results-row .pass{color:var(--success-color, #22c55e);font-weight:600}.results-row .fail{color:var(--error-color, #ef4444);font-weight:600}.results-row pre{margin:0;padding:.375rem .5rem;background:var(--bg-tertiary);border-radius:.25rem;font-family:Courier New,monospace;font-size:.75rem;white-space:pre-wrap;word-break:break-word;max-height:100px;overflow-y:auto}.error-output{color:var(--error-color, #ef4444)!important;background:#ef44441a!important}.time-cell{font-family:Courier New,monospace;color:var(--text-muted);font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.solutions-tab,.submissions-tab,.discussions-tab{padding:1.5rem;color:var(--text-muted);animation:fadeIn .3s ease}.discussions-tab.active{display:block;height:100%;overflow-y:auto}.discussions-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.discussions-header h3{font-size:1.125rem;color:var(--text-light);margin:0}.discussions-hint{font-size:.75rem;color:var(--text-muted);background:var(--bg-tertiary);padding:.375rem .75rem;border-radius:.375rem;display:inline-block;width:fit-content;font-family:Courier New,monospace}.solutions-tab:not(.active),.submissions-tab:not(.active){text-align:center}.test-cases-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.test-cases-header h3{margin:0;font-size:1.25rem;color:var(--text-primary);font-weight:700;display:flex;align-items:center;gap:.5rem}.test-case-tabs{display:flex;gap:.75rem;background:linear-gradient(135deg,#7289da14,#6e6acf14);padding:.5rem;border-radius:12px;border:1px solid rgba(114,137,218,.2);box-shadow:0 2px 8px #0000001a}.test-tab{padding:.625rem 1.25rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:8px;font-weight:600;font-size:.875rem;transition:all .3s ease;position:relative;overflow:hidden}.test-tab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#7289da33,#6e6acf33);opacity:0;transition:opacity .3s ease;z-index:-1}.test-tab:hover:not(.active):before{opacity:1}.test-tab.active{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 4px 12px #6e6acf66;transform:translateY(-2px)}.test-tab:hover:not(.active){color:var(--text-primary);transform:translateY(-1px)}.custom-test-cases-section{min-height:200px}.add-test-case-btn-wrapper{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#22c55e0d,#10b9810d);border-radius:12px;border:1px dashed rgba(34,197,94,.3)}.add-test-case-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:10px;cursor:pointer;font-weight:700;font-size:.9375rem;transition:all .3s ease;display:flex;align-items:center;gap:.625rem;box-shadow:0 4px 12px #22c55e59;position:relative;overflow:hidden}.add-test-case-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.add-test-case-btn:hover:not(:disabled):before{left:100%}.add-test-case-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 6px 20px #22c55e80;background:linear-gradient(135deg,#16a34a,#15803d)}.add-test-case-btn:active:not(:disabled){transform:translateY(-1px) scale(.98)}.add-test-case-btn:disabled{background:linear-gradient(135deg,#7289da26,#6e6acf26);color:var(--text-muted);cursor:not-allowed;box-shadow:none;opacity:.6}.limit-text{font-size:.8125rem;color:#f59e0b;font-style:italic;font-weight:500;background:#f59e0b1a;padding:.375rem .75rem;border-radius:6px;border:1px solid rgba(245,158,11,.3)}.test-case.custom{border:2px solid rgba(34,197,94,.4);background:linear-gradient(135deg,#22c55e0d,#10b98108);box-shadow:0 2px 8px #22c55e26}.test-case-actions{display:flex;gap:.5rem}.edit-btn,.delete-btn{background:#7289da26;border:1px solid rgba(114,137,218,.3);cursor:pointer;font-size:1.125rem;padding:.5rem .625rem;border-radius:6px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.edit-btn:hover{background:linear-gradient(135deg,var(--primary),var(--primary-hover));border-color:var(--primary);transform:translateY(-2px) scale(1.1);box-shadow:0 4px 12px #0e7a4b66}.delete-btn:hover{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ef4444;transform:translateY(-2px) scale(1.1);box-shadow:0 4px 12px #ef444466}.no-custom-tests{text-align:center;padding:3rem 1rem;background:linear-gradient(135deg,#7289da0d,#6e6acf08);border-radius:12px;border:2px dashed rgba(114,137,218,.3)}.no-custom-tests p{margin:.75rem 0;font-size:1rem;color:var(--text-secondary)}.no-custom-tests p:first-child{font-size:1.25rem;font-weight:600}.no-custom-tests .hint-text{font-size:.875rem;color:var(--text-muted);opacity:.8;max-width:400px;margin:.5rem auto 0;line-height:1.5}.no-test-cases{text-align:center;padding:2rem;color:var(--text-muted);font-style:italic;background:linear-gradient(135deg,#7289da0d,#6e6acf08);border-radius:8px;border:1px dashed rgba(114,137,218,.2)}.test-case-modal{background:var(--bg-secondary);border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 80px #0009;border:1px solid rgba(114,137,218,.2)}.test-case-modal .modal-header{background:linear-gradient(135deg,#7289da26,#6e6acf1a);border-bottom:2px solid rgba(114,137,218,.3)}.test-case-modal .modal-body{padding:1.5rem;overflow-y:auto;flex:1}.test-case-modal .modal-footer{padding:1rem 1.5rem;background:linear-gradient(135deg,#7289da14,#6e6acf0d);border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end}.test-case-modal .modal-btn-cancel{background:linear-gradient(135deg,#ef444426,#dc26261a);color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9375rem;transition:all .3s ease}.test-case-modal .modal-btn-cancel:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.test-case-modal .modal-btn-confirm{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9375rem;transition:all .3s ease;box-shadow:0 4px 12px #22c55e59;position:relative;overflow:hidden}.test-case-modal .modal-btn-confirm:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.test-case-modal .modal-btn-confirm:hover:not(:disabled):before{left:100%}.test-case-modal .modal-btn-confirm:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 6px 20px #22c55e80}.test-case-modal .modal-btn-confirm:disabled{background:linear-gradient(135deg,#7289da26,#6e6acf26);color:var(--text-muted);cursor:not-allowed;box-shadow:none;opacity:.6}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;font-size:.875rem}.form-group textarea{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;color:var(--text-primary);font-family:Courier New,monospace;font-size:.875rem;resize:vertical;transition:border-color .3s}.form-group textarea:focus{outline:none;border-color:var(--primary)}.char-count{position:absolute;right:.5rem;bottom:.5rem;font-size:.75rem;color:var(--text-muted);background:var(--bg-secondary);padding:.25rem .5rem;border-radius:4px}.results-table-wrapper{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.result-card{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:2px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:all .3s ease}.result-card.passed{border-color:#22c55e80;background:linear-gradient(135deg,#22c55e14,#10b98108);box-shadow:0 2px 8px #22c55e26}.result-card.passed:before{background:linear-gradient(90deg,#22c55e,#16a34a)}.result-card.failed{border-color:#ef444480;background:linear-gradient(135deg,#ef444414,#dc262608);box-shadow:0 2px 8px #ef444426}.result-card.failed:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.result-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0003}.result-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.result-number{font-weight:700;color:var(--text-primary);font-size:.875rem}.result-status{padding:.375rem .875rem;border-radius:8px;font-weight:700;font-size:.875rem;border:1px solid;box-shadow:0 2px 6px #0000001a}.result-status.pass{background:linear-gradient(135deg,#22c55e40,#10b98133);color:#22c55e;border-color:#22c55e66}.result-status.fail{background:linear-gradient(135deg,#ef444440,#dc262633);color:#ef4444;border-color:#ef444466}.result-time{margin-left:auto;font-family:Courier New,monospace;color:var(--text-muted);font-size:.875rem;background:var(--bg-secondary);padding:.25rem .5rem;border-radius:4px}.badge-custom,.badge-hidden{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 6px #00000026;border:1px solid}.badge-custom{background:linear-gradient(135deg,#22c55e40,#10b98133);color:#22c55e;border-color:#22c55e66}.badge-hidden{background:linear-gradient(135deg,#8b5cf640,#7c3aed33);color:#a78bfa;border-color:#8b5cf666}.execution-summary-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:10px;margin-bottom:1rem;border:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem}.summary-left{display:flex;align-items:center;gap:.75rem}.summary-right{display:flex;align-items:center;gap:1rem}.summary-text{font-weight:600;color:var(--text-primary);font-size:.9rem}.summary-metric{font-family:Courier New,monospace;font-size:.8125rem;color:var(--text-muted);background:var(--bg-secondary);padding:.25rem .625rem;border-radius:6px;border:1px solid var(--border-color)}.verdict-badge{padding:.3rem .75rem;border-radius:8px;font-weight:700;font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px;border:1px solid;box-shadow:0 2px 6px #0000001a}.verdict-badge.verdict-ac{background:linear-gradient(135deg,#22c55e40,#10b98133);color:#22c55e;border-color:#22c55e66}.verdict-badge.verdict-wa{background:linear-gradient(135deg,#ef444440,#dc262633);color:#ef4444;border-color:#ef444466}.verdict-badge.verdict-tle{background:linear-gradient(135deg,#f59e0b40,#d9770633);color:#f59e0b;border-color:#f59e0b66}.verdict-badge.verdict-mle{background:linear-gradient(135deg,#a855f740,#8b5cf633);color:var(--primary-color);border-color:#a855f766}.verdict-badge.verdict-re{background:linear-gradient(135deg,#eab30840,#ca8a0433);color:#eab308;border-color:#eab30866}.verdict-badge.verdict-ce{background:linear-gradient(135deg,#6b728040,#4b556333);color:#9ca3af;border-color:#6b728066}.result-memory{font-family:Courier New,monospace;color:var(--text-muted);font-size:.8125rem;background:var(--bg-secondary);padding:.25rem .5rem;border-radius:4px}.result-section{margin-bottom:1rem}.result-section:last-child{margin-bottom:0}.result-section strong{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.result-content{background:var(--bg-secondary);padding:.75rem;border-radius:6px;margin:0;font-family:Courier New,monospace;font-size:.875rem;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;border:1px solid var(--border-color)}.result-content.success{color:#22c55e;border-color:#22c55e4d}.result-content.error-output{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.hidden-notice{text-align:center;padding:1rem;background:#8b5cf61a;border-radius:6px;border:1px solid rgba(139,92,246,.2)}.hidden-notice em{color:var(--text-muted);font-size:.875rem}.error-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.comparison-view{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:start;margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.comparison-column{display:flex;flex-direction:column;gap:.5rem}.comparison-column strong{display:block;margin-bottom:.5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.comparison-column.expected strong{color:#22c55e}.comparison-column.actual strong{color:#ef4444}.comparison-divider{font-size:1.5rem;font-weight:700;color:#ef4444;display:flex;align-items:center;padding-top:1.5rem}@media (max-width: 768px){.comparison-view{grid-template-columns:1fr;gap:1.5rem}.comparison-divider{display:none}.result-card-header{font-size:.8125rem}.test-case-tabs{flex-direction:column}}.chatbot-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease}.chatbot-panel{background:var(--bg-secondary);border-radius:16px;width:90%;max-width:600px;height:70vh;max-height:600px;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.chatbot-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:2px solid var(--border-color);background:linear-gradient(135deg,#7289da1a,#6e6acf0d)}.chatbot-header h3{margin:0;font-size:1.25rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.close-chatbot{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#ef4444;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s}.close-chatbot:hover{background:#ef44444d;transform:scale(1.1)}.chatbot-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chatbot-message{padding:1rem;border-radius:12px;max-width:85%;animation:messageSlide .3s ease}@keyframes messageSlide{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.chatbot-message.assistant{background:linear-gradient(135deg,#7289da26,#6e6acf1a);border:1px solid rgba(114,137,218,.3);align-self:flex-start}.chatbot-message.user{background:linear-gradient(135deg,#a855f726,#8b5cf61a);border:1px solid rgba(168,85,247,.3);align-self:flex-end}.chatbot-message p{margin:0 0 .5rem;color:var(--text-secondary);line-height:1.6}.chatbot-message p:last-child{margin-bottom:0}.chatbot-message ul{margin:.5rem 0;padding-left:1.5rem;color:var(--text-secondary)}.chatbot-message li{margin:.375rem 0}.chatbot-input{display:flex;gap:.75rem;padding:1.25rem 1.5rem;border-top:2px solid var(--border-color);background:var(--bg-primary)}.chatbot-input input{flex:1;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:.9375rem;transition:all .3s}.chatbot-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #7289da1a}.chatbot-input button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary),var(--primary-hover));border:none;border-radius:10px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #6e6acf4d}.chatbot-input button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6e6acf66}.custom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .2s ease}.custom-modal{background:var(--bg-secondary);border-radius:16px;width:90%;max-width:500px;box-shadow:0 25px 70px #0009;border:1px solid var(--border-color);animation:modalSlideIn .3s ease;overflow:hidden}@keyframes modalSlideIn{0%{transform:scale(.9) translateY(-20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:2px solid var(--border-color)}.modal-header.modal-success{background:linear-gradient(135deg,#22c55e26,#22c55e0d);border-bottom-color:#22c55e4d}.modal-header.modal-error{background:linear-gradient(135deg,#ef444426,#ef44440d);border-bottom-color:#ef44444d}.modal-header.modal-warning{background:linear-gradient(135deg,#eab30826,#eab3080d);border-bottom-color:#eab3084d}.modal-header.modal-info{background:linear-gradient(135deg,#0e7a4b26,#0e7a4b0d);border-bottom-color:#0e7a4b4d}.modal-header.modal-confirm{background:linear-gradient(135deg,#a855f726,#a855f70d);border-bottom-color:#a855f74d}.modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.close-modal{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#ef4444;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s}.close-modal:hover{background:#ef44444d;transform:scale(1.1)}.modal-body{padding:1.5rem}.modal-body p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:1rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;background:var(--bg-primary)}.modal-btn{padding:.625rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.375rem}.modal-btn-ok,.modal-btn-confirm{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 4px 12px #6e6acf4d}.modal-btn-ok:hover,.modal-btn-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6e6acf66}.modal-btn-cancel{background:#7289da1a;border:1px solid rgba(114,137,218,.3);color:var(--text-primary)}.modal-btn-cancel:hover{background:#7289da33;transform:translateY(-2px)}@media (max-width: 1024px){.problem-container{flex-direction:column}.problem-left{width:100%!important;max-width:100%;border-right:none;border-bottom:1px solid var(--border-color)}.panel-resize-handle-v{display:none}.problem-control-bar{flex-wrap:wrap;padding:.625rem 1rem}.control-left,.control-center,.control-right{flex:1 1 auto}}@media (max-width: 768px){.settings-container{flex-direction:column}.settings-tabs{flex-direction:row;overflow-x:auto}.analytics-card.large{grid-column:span 1}}.acceptance-rate{color:var(--text-muted);font-size:.875rem}.modal-form .form-group{margin-bottom:1rem}.modal-form .form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500}.modal-form .form-group input,.modal-form .form-group select{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.75rem 1rem;border-radius:.5rem;color:#fff;font-size:1rem}.modal-form .form-group input:focus,.modal-form .form-group select:focus{outline:none;border-color:var(--primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 2rem}.content-wrapper{width:100%;display:flex;flex-direction:column;gap:2rem}.section{width:100%;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-title{font-size:1.5rem;font-weight:600;color:var(--text-light);margin:0;line-height:1.2}.section-subtitle{color:var(--text-muted);font-size:.9375rem;margin:0;line-height:1.6}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;width:100%}.cards-grid.two-cols{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.cards-grid.three-cols{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.cards-grid.four-cols{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.card:hover{border-color:var(--border-hover)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.card-title{font-size:1.125rem;font-weight:600;color:var(--text-light);margin:0;line-height:1.4}.card-body{display:flex;flex-direction:column;gap:.75rem;flex:1}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color)}.list-container{width:100%;display:flex;flex-direction:column;gap:.75rem}.list-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;transition:all .3s ease;cursor:pointer}.list-item:hover{border-color:var(--primary);background:#1f2d3d;transform:translate(4px)}.list-item-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--border-color);border-radius:.5rem;font-size:1.25rem}.list-item-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.list-item-title{font-weight:600;color:var(--text-light);font-size:.9375rem;line-height:1.4}.list-item-subtitle{color:var(--text-muted);font-size:.8125rem;line-height:1.4}.list-item-actions{display:flex;gap:.5rem;align-items:center}.button-group{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.button-group.vertical{flex-direction:column;align-items:stretch}.form-container{width:100%;display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;width:100%}.form-row.two-cols{grid-template-columns:repeat(2,1fr)}.form-row.three-cols{grid-template-columns:repeat(3,1fr)}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%}.analytics-card{background:#1e293b;border:1px solid #334155;border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.analytics-card h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-light);line-height:1.4}.analytics-card.full-width{grid-column:1 / -1}.progress-container{width:100%;display:flex;flex-direction:column;gap:.5rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.progress-label{color:var(--text-secondary);font-size:.9375rem;font-weight:500}.progress-value{color:var(--primary);font-size:.9375rem;font-weight:600}.progress-bar-wrapper{width:100%;height:8px;background:var(--border-color);border-radius:1rem;overflow:hidden}.progress-bar-fill{height:100%;background:var(--gradient-primary-alt);border-radius:1rem;transition:width .6s ease}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .625rem;border-radius:.375rem;font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap}.badge.primary{background:var(--primary);color:var(--bg-primary)}.badge.secondary{background:var(--border-color);color:var(--text-secondary)}.badge.success{background:var(--primary-hover);color:#fff}.badge.warning{background:var(--warning-color);color:var(--on-semantic, #fff)}.badge.error{background:var(--danger-color);color:var(--on-semantic, #fff)}.badge.info{background:var(--info-color);color:var(--on-semantic, #fff)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.5rem}.status-dot.active{background:var(--primary-hover);box-shadow:0 0 8px #22c55e80}.status-dot.inactive{background:var(--text-tertiary)}.status-dot.pending{background:var(--warning-color);animation:pulse 2s ease-in-out infinite}.divider{width:100%;height:1px;background:var(--border-color);margin:1.5rem 0}.divider.thick{height:2px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary)}.text-success{color:var(--primary-hover)}.text-warning{color:var(--warning-color)}.text-error{color:var(--danger-color)}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.5rem}.ml-2{margin-left:1rem}.mr-0{margin-right:0}.mr-1{margin-right:.5rem}.mr-2{margin-right:1rem}.p-0{padding:0}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-1{flex:1}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}.w-full{width:100%}.w-auto{width:auto}@media (max-width: 1024px){.cards-grid.four-cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.cards-grid.three-cols{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-row.two-cols,.form-row.three-cols{grid-template-columns:1fr}}@media (max-width: 640px){.container{padding:0 1rem}.cards-grid,.cards-grid.two-cols,.cards-grid.three-cols,.cards-grid.four-cols,.analytics-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.button-group{width:100%}.button-group>*{flex:1}.list-item{padding:.875rem 1rem}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fadeInUp{animation:fadeInUp .5s ease-out}.animate-slideInRight{animation:slideInRight .5s ease-out}.animate-scaleIn{animation:scaleIn .5s ease-out}.stagger-children>*{animation:fadeInUp .5s ease-out}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.users-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-filter-group{display:flex;gap:1rem;flex:1;max-width:600px;align-items:center}.search-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);padding:.625rem 1rem;border-radius:.5rem;color:var(--text-primary);font-size:.9375rem;transition:all .3s ease}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-10)}.search-filter-group select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:.625rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.9375rem;transition:all .3s ease;min-width:140px}.search-filter-group select:hover{border-color:var(--primary)}.search-filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-10)}.add-user-btn,.add-problem-btn{background:var(--gradient-button);color:var(--bg-primary);border:none;padding:.625rem 1.25rem;border-radius:.5rem;cursor:pointer;font-weight:600;font-size:.9375rem;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.add-user-btn:hover,.add-problem-btn:hover{background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary-dark) 100%);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-30)}.action-buttons{display:flex;gap:.5rem;align-items:center;justify-content:center}.btn-edit,.btn-delete,.btn-view{background:transparent;border:none;padding:.375rem .625rem;border-radius:.375rem;cursor:pointer;font-size:1.125rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-edit:hover{background:#0e7a4b33;transform:scale(1.1)}.btn-delete:hover{background:var(--difficulty-hard-bg);transform:scale(1.1)}.btn-view:hover{background:var(--accent-20);transform:scale(1.1)}.no-results{text-align:center;padding:3rem 2rem;background:var(--bg-secondary);border-radius:.75rem;border:1px solid var(--border-color);margin-top:1rem}.no-results p{color:var(--text-muted);font-size:1rem;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0e27d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-deep);animation:scaleIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-secondary);z-index:1}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-light);font-weight:600}.modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.25rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s ease}.modal-close:hover{background:var(--danger-bg);color:var(--danger-color)}.modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.modal-form .form-group{display:flex;flex-direction:column;gap:.5rem}.modal-form .form-group label{color:var(--text-secondary);font-weight:500;font-size:.9375rem}.modal-form .form-group input,.modal-form .form-group select,.modal-form .form-group textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.75rem 1rem;border-radius:.5rem;color:#fff;font-size:.9375rem;transition:all .3s ease}.modal-form .form-group input::placeholder,.modal-form .form-group textarea::placeholder{color:var(--text-tertiary)}.modal-form .form-group input:focus,.modal-form .form-group select:focus,.modal-form .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-10)}.modal-form .form-group textarea{min-height:100px;resize:vertical;font-family:inherit}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-color);background:#1a2332;border-radius:0 0 .75rem .75rem}.btn-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.625rem 1.25rem;border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .3s ease}.btn-cancel:hover{background:var(--border-color);border-color:var(--bg-hover)}.btn-submit{background:var(--gradient-button);color:var(--bg-primary);border:none;padding:.625rem 1.25rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-submit:hover{background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary-dark) 100%);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-30)}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.role-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.role-badge.client{background:var(--info-color);color:var(--on-semantic, #fff)}.role-badge.superadmin{background:var(--danger-color);color:var(--on-semantic, #fff)}.role-badge.admin{background:var(--warning-color);color:var(--on-semantic, #fff)}.test-cases-container{display:flex;flex-direction:column;gap:1rem}.test-case-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.test-case-header{display:flex;justify-content:space-between;align-items:center}.test-case-title{font-weight:600;color:var(--text-secondary);font-size:.875rem}.btn-remove-test-case{background:transparent;border:none;color:var(--danger-color);cursor:pointer;padding:.25rem;font-size:1rem;transition:all .2s ease}.btn-remove-test-case:hover{transform:scale(1.2)}.btn-add-test-case{background:transparent;border:1px dashed var(--primary);color:var(--primary);padding:.625rem 1rem;border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .3s ease;width:100%}.btn-add-test-case:hover{background:var(--accent-10);border-style:solid}.chip{display:inline-flex;align-items:center;background:var(--border-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:2rem;cursor:pointer;font-size:.875rem;transition:all .3s ease;font-weight:500}.chip:hover{background:var(--primary);color:var(--bg-primary);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-30)}.chip.active{background:var(--primary);color:var(--bg-primary)}.coming-soon-box{padding:3rem 2rem;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:.75rem;text-align:center;margin:2rem 0}.coming-soon-box h2{font-size:2rem;margin-bottom:1rem;color:var(--primary)}.coming-soon-box p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.125rem}.coming-soon-box ul{list-style:none;padding:0;text-align:left;max-width:500px;margin:1.5rem auto 0;display:flex;flex-direction:column;gap:.75rem}.coming-soon-box li{padding:.75rem 1rem;color:var(--text-muted);background:var(--bg-tertiary);border-radius:.5rem;border-left:3px solid var(--primary);font-size:.9375rem}@media (max-width: 768px){.users-controls{flex-direction:column;align-items:stretch}.search-filter-group{max-width:100%;flex-direction:column}.search-filter-group select{width:100%}.add-user-btn,.add-problem-btn{width:100%;justify-content:center}.modal-content{max-width:100%;margin:0;border-radius:0;max-height:100vh}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.logo{font-size:1.5rem!important;font-weight:700;color:var(--primary);margin-bottom:2rem;margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:0 1.5rem;animation:logoGlow 3s ease-in-out infinite alternate;min-height:auto}.logo-icon{font-size:2.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-text{font-size:1.1rem;font-weight:700;letter-spacing:1px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes logoGlow{0%{filter:drop-shadow(0 0 10px var(--accent-30))}to{filter:drop-shadow(0 0 25px var(--accent-50))}}.sidebar{width:280px!important;min-width:280px!important;height:100vh!important;position:fixed!important;left:0;top:0;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;z-index:100}.sidebar nav{flex:1;padding:0 1rem;display:flex;flex-direction:column;gap:.5rem}.sidebar nav a{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;color:var(--text-secondary);text-decoration:none;border-radius:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;font-size:1.05rem!important;font-weight:500}.sidebar nav a .nav-icon{font-size:1.5rem;transition:transform .3s ease}.sidebar nav a .nav-text{font-size:1.05rem;font-weight:500;transition:transform .3s ease}.sidebar nav a:before{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:var(--gradient-hover);transition:width .3s ease;z-index:-1}.sidebar nav a:hover{color:var(--primary-color);background:var(--accent-10);transform:translate(5px)}.sidebar nav a:hover:before{width:100%}.sidebar nav a:hover .nav-icon{transform:scale(1.2) rotate(5deg)}.sidebar nav a:hover .nav-text{transform:translate(3px)}.sidebar nav a.active{background:linear-gradient(135deg,var(--accent-20),var(--accent-10));color:var(--primary-color);border-left:4px solid var(--primary-color);font-weight:600;box-shadow:var(--shadow-primary)}.sidebar nav a.active .nav-icon{transform:scale(1.1)}.sidebar-footer{padding:1.5rem 1rem;border-top:1px solid var(--border-color);margin-top:auto}.user-profile{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:.75rem;transition:all .3s ease;cursor:pointer}.user-profile:hover{background:var(--accent-10);transform:translateY(-2px);box-shadow:var(--shadow-md)}.user-avatar{width:45px;height:45px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-details{flex:1;min-width:0}.user-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.8rem;color:var(--text-secondary);margin:0;margin-top:.15rem}.admin-sidebar{background:var(--gradient-admin)}.admin-sidebar .logo{border-bottom:2px solid var(--danger-border)}.admin-badge{font-size:.7rem;background:linear-gradient(135deg,var(--danger-color),var(--danger-alt));color:#fff;padding:.35rem .75rem;border-radius:1rem;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 10px var(--danger-border);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.95)}}.admin-profile{border:2px solid var(--danger-bg)}.admin-avatar{background:linear-gradient(135deg,var(--danger-color),var(--danger-alt));box-shadow:0 0 20px var(--danger-shadow)}.main-content{margin-left:280px;width:calc(100% - 280px);min-height:100vh;display:flex;flex-direction:column}@media (max-width: 1024px){.sidebar{width:240px!important;min-width:240px!important}.main-content{margin-left:240px;width:calc(100% - 240px)}.logo-text{font-size:.9rem}.sidebar nav a{padding:.875rem 1rem;font-size:.95rem!important}.sidebar nav a .nav-icon{font-size:1.3rem}}@media (max-width: 768px){.sidebar{width:70px!important;min-width:70px!important}.main-content{margin-left:70px;width:calc(100% - 70px)}.logo-text,.admin-badge,.nav-text,.sidebar-footer{display:none}.logo{padding:.5rem}.sidebar nav a{justify-content:center;padding:1rem .5rem}.sidebar nav a .nav-icon{margin:0}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--danger-bg-light);border:1px solid var(--danger-bg);border-radius:1rem;margin:2rem}.error-state h2{color:var(--danger-color);font-size:1.5rem;margin-bottom:1rem}.error-state p{color:var(--text-secondary);font-size:1rem;margin-bottom:1.5rem;max-width:500px}.retry-btn,.error-state .btn-primary{background:var(--gradient-primary);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.retry-btn:hover,.error-state .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-30)}.loading{display:flex;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.1rem}.loading:before{content:"";display:inline-block;width:1.5rem;height:1.5rem;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-right:1rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state p{font-size:1.1rem;margin:.5rem 0}.interview-banner{background:linear-gradient(135deg,#667eeaf2,#764ba2f2);border-radius:20px;padding:3rem;margin-bottom:2rem;color:#fff;box-shadow:0 12px 32px #667eea40;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;transition:all .3s ease}.interview-banner:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.interview-banner:after{content:"";position:absolute;bottom:-30%;left:-5%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.interview-banner:hover{transform:translateY(-2px);box-shadow:0 16px 40px #667eea59}.interview-content{position:relative;z-index:1}.interview-content h2{margin:0 0 .75rem;font-size:2.25rem;font-weight:700;letter-spacing:-.5px;display:flex;align-items:center;gap:.5rem}.interview-content p{margin:0 0 1.5rem;opacity:.95;font-size:1.15rem;font-weight:400;line-height:1.6}.interview-quick-stats{display:flex;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.interview-quick-stats span{background:#ffffff40;padding:.65rem 1.25rem;border-radius:12px;font-size:.95rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);font-weight:500;transition:all .2s ease}.interview-quick-stats span:hover{background:#ffffff59;transform:translateY(-1px)}.btn-interview{background:#fff;color:var(--primary);border:none;padding:1rem 2.5rem;border-radius:12px;font-weight:600;font-size:1.05rem;cursor:pointer;transition:all .3s ease;margin-top:1rem;box-shadow:0 4px 12px #00000026;display:inline-flex;align-items:center;gap:.5rem}.btn-interview:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000040;background:#f8f9ff}.btn-interview:active{transform:translateY(-1px)}.topic-distribution{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.topic-bar{display:flex;align-items:center;gap:.75rem}.topic-name{min-width:120px;font-size:.9rem;color:var(--text-primary);font-weight:500}.bar-container{flex:1;height:24px;background:var(--background);border-radius:4px;overflow:hidden}.bar-fill{height:100%;background-image:var(--gradient-button);background-color:var(--primary);transition:width .5s ease}.topic-count{min-width:30px;text-align:right;font-weight:600;color:var(--text-secondary);font-size:.9rem}.practice-page{max-width:100%;margin:0;padding:2rem 2.5rem;background:var(--bg-primary);overflow-y:auto;height:100vh}.practice-page::-webkit-scrollbar{width:10px}.practice-page::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:10px}.practice-page::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#7289da99,#6e6acf99);border-radius:10px;transition:background .3s ease}.practice-page::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#7289dacc,#6e6acfcc)}.header-stats{display:flex;gap:1rem;flex-wrap:wrap}.stat-pill{display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#7289da1f,#6e6acf14);padding:.875rem 1.5rem;border-radius:12px;border:1.5px solid rgba(114,137,218,.25);min-width:85px;transition:all .3s ease;box-shadow:0 2px 8px #00000014}.stat-pill:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7289da33;border-color:#7289da66}.stat-pill.success{background:linear-gradient(135deg,#22c55e1f,#16a34a14);border-color:#22c55e40}.stat-pill.info{background:linear-gradient(135deg,#0e7a4b1f,#2563eb14);border-color:#0e7a4b40}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary);line-height:1}.stat-pill.success .stat-value{color:#22c55e}.stat-pill.info .stat-value{color:var(--info-color)}.stat-label{font-size:.7rem;color:var(--text-muted);margin-top:.375rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.practice-filters-section{margin:.75rem 0 1.25rem;display:flex;flex-direction:column;gap:.875rem}.search-bar-container{position:relative;width:100%;max-width:500px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--text-muted);pointer-events:none}.search-input-practice{width:100%;padding:1rem 3.5rem;background:var(--bg-secondary);border:2px solid rgba(114,137,218,.15);border-radius:12px;color:var(--text-primary);font-size:.95rem;transition:all .3s ease;box-shadow:0 2px 8px #0000000f}.search-input-practice:focus{outline:none;border-color:var(--primary);background:var(--bg-primary);box-shadow:0 4px 16px #7289da26;transform:translateY(-1px)}.search-input-practice::placeholder{color:var(--text-muted);font-weight:400}.clear-search{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:#7289da1a;border:none;width:28px;height:28px;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:all .2s ease}.clear-search:hover{background:#7289da33;color:var(--text-primary)}.filters-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.4rem}.filter-group label{display:flex;align-items:center;gap:.4rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;font-size:.875rem}.filter-icon{font-size:1rem}.filter-group select{padding:.625rem 2.5rem .625rem 1rem;background:linear-gradient(135deg,var(--bg-secondary),rgba(114,137,218,.02));border:1.5px solid rgba(114,137,218,.25);border-radius:10px;color:var(--text-primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237289da' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;box-shadow:0 2px 4px #0000000d}.filter-group select:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 8px #7289da26}.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #7289da26}.clear-filters-btn{padding:.625rem 1.25rem;background:linear-gradient(135deg,#ef44441f,#ef444414);border:1.5px solid rgba(239,68,68,.35);border-radius:10px;color:#ef4444;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-left:auto;box-shadow:0 2px 4px #ef44441a}.clear-filters-btn:hover{background:linear-gradient(135deg,#ef44442e,#ef44441f);border-color:#ef444480;transform:translateY(-1px);box-shadow:0 4px 8px #ef444433}.problems-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;margin-top:.75rem;animation:fadeIn .4s ease-in;transition:opacity .15s ease}.problems-grid.is-refetching{opacity:.45;pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.problem-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(114,137,218,.03) 100%);border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1.5px solid rgba(114,137,218,.15);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:1rem;box-shadow:0 2px 8px #00000014;animation:slideIn .4s ease-out forwards;opacity:0}@keyframes slideIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.problem-card:nth-child(1){animation-delay:.05s}.problem-card:nth-child(2){animation-delay:.1s}.problem-card:nth-child(3){animation-delay:.15s}.problem-card:nth-child(4){animation-delay:.2s}.problem-card:nth-child(5){animation-delay:.25s}.problem-card:nth-child(6){animation-delay:.3s}.problem-card:nth-child(n+7){animation-delay:.35s}.problem-card.solved{border-color:#22c55e4d;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(34,197,94,.05) 100%)}.problem-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-hover));transform:scaleX(0);transition:transform .3s ease}.problem-card:hover:before{transform:scaleX(1)}.problem-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px #00000026,0 0 0 1px #7289da33;border-color:#7289da66}.problem-card:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-color:var(--primary)}.problem-card-header{display:flex;align-items:center;justify-content:space-between}.problem-status-icon{font-size:1.5rem;line-height:1}.solved-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:50%;font-weight:700;font-size:1.25rem;box-shadow:0 4px 12px #22c55e4d;animation:bounceIn .5s ease}.difficulty-badge{padding:.4rem 1rem;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 6px #0000001a;transition:all .2s ease}.difficulty-badge:hover{transform:scale(1.05)}.difficulty-badge.easy{background:linear-gradient(135deg,#22c55e33,#22c55e26);color:#22c55e;border:1.5px solid rgba(34,197,94,.4)}.difficulty-badge.medium{background:linear-gradient(135deg,#eab30833,#eab30826);color:#eab308;border:1.5px solid rgba(234,179,8,.4)}.difficulty-badge.hard{background:linear-gradient(135deg,#ef444433,#ef444426);color:#ef4444;border:1.5px solid rgba(239,68,68,.4)}.problem-card-body{flex:1;display:flex;flex-direction:column;gap:.625rem}.problem-title{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.solved-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;background:linear-gradient(135deg,#22c55e33,#22c55e4d);border:1px solid rgba(34,197,94,.4);border-radius:6px;font-size:.7rem;font-weight:600;color:#22c55e;text-transform:uppercase;letter-spacing:.5px}.problem-description{color:var(--text-muted);font-size:.875rem;line-height:1.5;margin:0}.problem-topics{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.topic-tag{padding:.3rem .75rem;background:linear-gradient(135deg,#7289da1f,#7289da14);border:1px solid rgba(114,137,218,.25);border-radius:6px;font-size:.7rem;color:var(--primary);font-weight:600;transition:all .2s ease}.topic-tag:hover{background:linear-gradient(135deg,#7289da33,#7289da26);border-color:#7289da66;transform:translateY(-1px)}.topic-tag.more{background:linear-gradient(135deg,#6e6acf2e,#6e6acf1f);border-color:#6e6acf59;color:var(--primary-color);font-weight:700}.problem-companies{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.375rem}.companies-label{font-size:.95rem}.company-tag{padding:.3rem .75rem;background:linear-gradient(135deg,#a855f71f,#a855f714);border:1px solid rgba(168,85,247,.25);border-radius:6px;font-size:.7rem;color:var(--primary-color);font-weight:600;transition:all .2s ease}.company-tag:hover{background:linear-gradient(135deg,#a855f733,#a855f726);border-color:#a855f766;transform:translateY(-1px)}.company-tag.more{background:linear-gradient(135deg,#a855f72e,#a855f71f);border-color:#a855f759;font-weight:700}.problem-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;margin-top:.5rem;border-top:1px solid rgba(114,137,218,.15)}.problem-stats{display:flex;align-items:center;gap:1rem}.stat-item{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;padding:.25rem .5rem;border-radius:6px;transition:all .2s ease}.stat-item.acceptance{color:#22c55e;background:linear-gradient(135deg,#22c55e14,#22c55e0a)}.stat-item.submissions{color:var(--text-muted);background:linear-gradient(135deg,#7289da14,#7289da0a)}.stat-icon{font-size:1rem}.stat-text{font-weight:500}.acceptance-info{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.875rem}.acceptance-icon{color:#22c55e;font-size:1rem}.solve-btn{padding:.625rem 1.5rem;background:#28a745;border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.875rem;box-shadow:0 2px 8px #28a74540;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;position:relative;overflow:hidden}.solve-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.solve-btn:hover:before{left:100%}.solve-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a74566;background:#218838}.solve-btn .arrow{transition:transform .2s ease}.solve-btn:hover .arrow{transform:translate(3px)}.no-problems-container{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#7289da0d,#6e6acf0d);border-radius:16px;border:2px dashed rgba(114,137,218,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.no-problems-icon{font-size:4rem;margin-bottom:1rem;opacity:.4;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.no-problems-container h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem}.no-problems-container p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9375rem}.reset-filters-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary),var(--primary-hover));border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #6e6acf40}.reset-filters-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6e6acf66;background:linear-gradient(135deg,var(--primary),var(--primary-hover))}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1.5rem}.loading-spinner{width:50px;height:50px;border:4px solid rgba(114,137,218,.15);border-top:4px solid var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:var(--text-muted);font-size:.9375rem;font-weight:500}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;text-align:center;padding:2rem}.error-icon{font-size:4rem;line-height:1;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-container h2{color:#ef4444;font-size:1.5rem;font-weight:700;margin:0}.error-container p{color:var(--text-muted);font-size:1rem;max-width:500px}@media (max-width: 1200px){.problems-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width: 768px){.practice-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.header-stats{width:100%;justify-content:space-evenly}.search-bar-container{max-width:100%}.filters-row{flex-direction:column;align-items:stretch}.filter-group{flex-direction:column;align-items:flex-start;width:100%}.filter-group select{width:100%}.clear-filters-btn{margin-left:0;width:100%}.problems-grid{grid-template-columns:1fr;gap:1rem}.problem-card{padding:1.25rem}}@media (max-width: 480px){.stat-pill{padding:.5rem 1rem;min-width:70px}.stat-value{font-size:1.25rem}.problem-title{font-size:1rem}.problem-card-footer{flex-direction:column;gap:.75rem;align-items:stretch}.solve-btn{width:100%;justify-content:center}}.wave{display:inline-block;animation:wave 1.5s infinite;transform-origin:70% 70%;font-size:2.5rem;line-height:1;margin-left:.5rem;background:transparent!important;border:none!important;padding:0}@keyframes wave{0%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}}.welcome-animated h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;animation:fadeInUp .6s ease-out;line-height:1.2}.contribution-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;margin-bottom:2rem}.contribution-section h2{margin-bottom:1.5rem;font-size:1.5rem;color:var(--text-primary)}.contribution-graph{display:flex;gap:3px;overflow-x:auto;padding:1rem 0}.contribution-week{display:flex;flex-direction:column;gap:3px}.contribution-day{width:12px;height:12px;border-radius:2px;background:var(--bg-tertiary);transition:all .2s;cursor:pointer}.contribution-day:hover{transform:scale(1.2);border:1px solid var(--primary-color)}.contribution-day.intensity-0{background:var(--bg-tertiary)}.contribution-day.intensity-1{background:#667eea4d}.contribution-day.intensity-2{background:#667eea80}.contribution-day.intensity-3{background:#667eeab3}.contribution-day.intensity-4{background:var(--primary-color)}.contribution-legend{display:flex;align-items:center;gap:.5rem;justify-content:flex-end;margin-top:1rem;font-size:.875rem;color:var(--text-secondary)}.legend-squares{display:flex;gap:3px}.profile-picture-section{display:flex;align-items:center;gap:2rem;padding:2rem;background:var(--bg-secondary);border-radius:.75rem;margin-bottom:2rem}.profile-picture-preview{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid var(--primary-color);box-shadow:var(--shadow-md)}.profile-picture-preview img{width:100%;height:100%;object-fit:cover}.profile-picture-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;background:var(--gradient-primary);color:#fff}.profile-picture-controls{display:flex;flex-direction:column;gap:1rem}.upload-picture-btn{background:var(--gradient-button);color:#1a1a1a;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s;display:inline-block;text-align:center;border:none}.upload-picture-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary-md);filter:brightness(1.1)}.remove-picture-btn{background:transparent;color:var(--danger-color);border:1px solid var(--danger-color);padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .3s}.remove-picture-btn:hover{background:var(--danger-color);color:var(--on-semantic, #fff)}.picture-hint{font-size:.875rem;color:var(--text-secondary);margin:0}@media (max-width: 768px){.contribution-graph{overflow-x:scroll}.contribution-day{width:10px;height:10px}.profile-picture-section{flex-direction:column;text-align:center}}.dashboard-hero{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:2.5rem;margin-bottom:2rem;box-shadow:var(--shadow-md);transition:all .3s ease}.dashboard-hero-content{display:flex;flex-direction:column;gap:2rem}.dashboard-greeting{font-size:1.75rem!important;font-weight:600!important;color:var(--text-secondary)!important;margin:0!important;padding:0!important;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:var(--text-secondary)!important;background-clip:unset!important;letter-spacing:normal!important;line-height:1.4!important;text-align:left!important}.dashboard-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.dashboard-action-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border:1px solid var(--border-color);border-radius:.75rem;background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.dashboard-action-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-hover);opacity:0;transition:opacity .3s ease;z-index:0}.dashboard-action-btn:hover:before{opacity:.1}.dashboard-action-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.dashboard-action-btn:active{transform:translateY(-1px)}.dashboard-action-btn .action-icon{font-size:1.5rem;z-index:1;flex-shrink:0}.dashboard-action-btn .action-text{z-index:1;flex:1;text-align:left}.dashboard-action-btn.interview-btn:hover{border-color:var(--primary-color);background:var(--accent-05)}.dashboard-action-btn.analytics-btn:hover{border-color:var(--info-color);background:#0e7a4b0d}.dashboard-action-btn.mentor-btn:hover{border-color:var(--success-color);background:#10b9810d}.dashboard-action-btn.practice-btn:hover{border-color:var(--warning-color);background:#f59e0b0d}@media (max-width: 768px){.dashboard-hero{padding:1.5rem}.dashboard-greeting{font-size:1.5rem!important}.dashboard-action-grid{grid-template-columns:1fr}.dashboard-action-btn{padding:1.25rem 1.5rem}}@media (max-width: 640px){.dashboard-action-grid{grid-template-columns:1fr}}.problem-statistics{background:var(--bg-secondary);border-radius:1rem;padding:2rem;margin:1.5rem 0;border:1px solid var(--border-color)}.problem-statistics h3{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-primary);font-weight:700}.problem-statistics h4{font-size:1.125rem;margin-bottom:1rem;color:var(--text-primary);font-weight:600}.stats-grid.problem-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}.stat-card.highlight-card{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border:2px solid var(--border-color);transition:all .3s ease}.stat-card.highlight-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 8px 20px #7289da33}.stat-detail{display:block;margin-top:.5rem;color:var(--text-muted);font-size:.875rem;font-weight:500}.stats-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.breakdown-section{background:var(--bg-tertiary);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border-color)}.breakdown-section.wide{grid-column:span 2}.breakdown-list{display:flex;flex-direction:column;gap:.75rem}.breakdown-list.topics-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:.5rem;border:1px solid var(--border-color);transition:all .2s ease}.breakdown-item:hover{background:var(--bg-hover);border-color:var(--primary-light)}.breakdown-label{font-size:.9375rem;color:var(--text-secondary);font-weight:500;display:flex;align-items:center;gap:.5rem}.breakdown-value{font-size:1.125rem;color:var(--text-primary);font-weight:700;padding:.25rem .75rem;background:var(--primary-10);border-radius:.375rem}.topic-rank{color:var(--primary);font-weight:700;min-width:1.5rem}@media (max-width: 1200px){.breakdown-section.wide{grid-column:span 1}.breakdown-list.topics-list{grid-template-columns:1fr}}@media (max-width: 768px){.problem-statistics{padding:1.5rem}.stats-grid.problem-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.stats-breakdown,.breakdown-list.topics-list{grid-template-columns:1fr}}@media (max-width: 480px){.stats-grid.problem-stats{grid-template-columns:1fr}}.pagination-container{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:.75rem;border:1px solid var(--border-color)}.pagination-info{font-size:.9375rem;color:var(--text-secondary);font-weight:500}.pagination-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.pagination-numbers{display:flex;align-items:center;gap:.25rem}.pagination-btn{min-width:2.5rem;height:2.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:var(--primary);color:var(--btn-primary-text, #fff);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #7289da4d}.pagination-btn.active{background:var(--primary);color:var(--btn-primary-text, #fff);border-color:var(--primary);font-weight:700;box-shadow:0 4px 12px #7289da4d}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--bg-tertiary);color:var(--text-muted)}.pagination-ellipsis{padding:0 .5rem;color:var(--text-muted);font-weight:500}@media (max-width: 768px){.pagination-container{padding:1rem}.pagination-info{font-size:.875rem;text-align:center}.pagination-btn{min-width:2.25rem;height:2.25rem;padding:.5rem;font-size:.875rem}.pagination-numbers{gap:.125rem}.pagination-controls{gap:.25rem}}@media (max-width: 480px){.pagination-btn:first-child,.pagination-btn:nth-child(2),.pagination-btn:nth-last-child(2),.pagination-btn:last-child{display:none}.pagination-info{font-size:.8125rem}}.home-page{padding-top:1.25rem}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}.home-main{min-width:0;display:flex;flex-direction:column;gap:1.5rem}.home-sidebar{display:flex;flex-direction:column;gap:1rem}.home-welcome-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1.25rem;padding:2rem;box-shadow:var(--shadow-md);display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.5rem}.home-title{font-size:2rem;font-weight:800;margin:0}.home-subtitle{margin-top:.5rem;color:var(--text-secondary);max-width:52ch}.home-welcome-actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.home-welcome-input{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.home-input-label{font-size:.875rem;color:var(--text-muted);font-weight:600}.home-mini-search{display:flex;align-items:center;gap:.5rem;padding:.75rem .875rem;border-radius:.75rem;border:1px solid var(--border-color);background:var(--bg-tertiary);opacity:.8}.home-mini-search input{border:none;outline:none;background:transparent;width:100%;color:var(--text-primary)}.home-feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:space-between;gap:1rem}.home-feature-left{min-width:0}.home-feature-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-bottom:.75rem}.home-feature-title{margin:0;font-size:1.25rem}.home-feature-subtitle{margin-top:.35rem;color:var(--text-secondary)}.home-feature-cta{border:none;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-full);padding:.75rem 1.25rem;font-weight:700;cursor:pointer}.home-feature-cta:hover{background:var(--hover-bg);transform:translateY(-1px)}.home-heatmap-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-md)}.home-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.home-card-meta{color:var(--text-muted);font-size:.875rem;font-weight:600}.home-stat-card{display:flex;align-items:center;gap:.875rem;padding:1.25rem;border-radius:1rem}.home-stat-icon{width:2.5rem;height:2.5rem;border-radius:.875rem;background:var(--bg-secondary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.home-stat-copy{display:flex;flex-direction:column;gap:.125rem}.home-stat-value{font-size:1.5rem;font-weight:800}.home-stat-label{color:var(--text-secondary);font-weight:600;font-size:.875rem}.home-panel{padding:1.25rem;border-radius:1rem}.home-link-btn{background:transparent;border:none;color:var(--accent-color);font-weight:700;cursor:pointer}.home-link-btn:hover{opacity:.85}.home-recent-list{display:flex;flex-direction:column;gap:.5rem}.home-recent-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .875rem;border-radius:.75rem;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.home-recent-item:hover{background:var(--hover-bg)}.home-recent-title{text-align:left;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-actions-list{display:flex;flex-direction:column;gap:.5rem}.home-action-row{width:100%;text-align:left;padding:.85rem .875rem;border-radius:.75rem;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-weight:700;cursor:pointer}.home-action-row:hover{background:var(--hover-bg)}.home-empty{color:var(--text-muted);font-weight:600;padding:.75rem .25rem}@media (max-width: 1100px){.home-grid,.home-welcome-card{grid-template-columns:1fr}}@media (max-width: 640px){.home-welcome-card{padding:1.5rem}.home-title{font-size:1.6rem}}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:.75rem}.theme-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.9rem;display:flex;flex-direction:column;gap:.4rem}.theme-swatch-row{display:flex;gap:4px}.theme-swatch{width:22px;height:22px;border-radius:50%;border:1px solid var(--border-color)}.theme-card-name{font-weight:600;display:flex;align-items:center;gap:.4rem}.theme-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;background:var(--primary);color:var(--btn-primary-text, #fff);padding:.1rem .4rem;border-radius:4px}.theme-card-meta{font-size:.8rem;color:var(--text-muted);text-transform:capitalize}.theme-card-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.theme-token-group{margin-top:1.25rem}.theme-token-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-top:.5rem}.theme-token-field label{font-family:monospace;font-size:.75rem}.theme-token-input-row{display:flex;gap:.4rem;align-items:center}.theme-token-input-row input[type=color]{width:36px;height:36px;padding:0;border:1px solid var(--border-color);border-radius:6px;background:none;flex-shrink:0}.theme-token-input-row input[type=text]{flex:1;min-width:0}.hamburger-menu{display:none;flex-direction:column;justify-content:space-between;width:28px;height:22px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger-menu span{display:block;height:3px;width:100%;background:var(--text-primary);border-radius:3px;transition:all .3s ease}.hamburger-menu:hover span{background:var(--primary)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:999;animation:fadeIn .3s ease}@media (max-width: 1024px){.hamburger-menu{display:flex}.sidebar{position:fixed;left:-100%;top:0;height:100vh;z-index:1000;transition:left .3s ease;box-shadow:2px 0 10px #0000001a}.sidebar-open{left:0}.sidebar-overlay{display:block}.main-content{width:100%;margin-left:0}.header{padding:1rem;gap:1rem}.search-bar{flex:1;max-width:none}.user-info{gap:.75rem}.streak{display:none}}@media (max-width: 768px){.header{flex-wrap:wrap;padding:.75rem}.search-bar{order:3;width:100%;margin-top:.5rem}.search-bar input{font-size:.9rem}.user-info{order:2;gap:.5rem}.logout-btn{padding:.5rem .75rem;font-size:.85rem}.page-content{padding:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.quick-actions{grid-template-columns:1fr;gap:.75rem}.action-card{padding:1rem}.interview-banner{padding:1.5rem}.interview-content h2{font-size:1.5rem}.interview-content p{font-size:1rem}.btn-interview{width:100%;text-align:center}}@media (max-width: 480px){.sidebar{width:80%;min-width:80%}.logo{font-size:1.5rem;padding:0 1rem}.sidebar nav a{padding:.875rem 1rem;font-size:.9rem}.nav-icon{font-size:1.1rem}.user-profile{padding:.75rem}.user-avatar{width:36px;height:36px;font-size:1rem}.stats-grid{grid-template-columns:1fr}.avatar{width:36px;height:36px;font-size:.9rem}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}.sidebar,.sidebar-overlay,.hamburger-menu span{transition:none}}.ws{--side-w: var(--shell-sidebar-w);display:flex;min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.ws.is-collapsed{--side-w: var(--shell-sidebar-w-collapsed)}.ws-side{position:sticky;top:0;align-self:flex-start;flex:0 0 var(--side-w);width:var(--side-w);height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:var(--z-sticky);transition:width var(--transition-slow),flex-basis var(--transition-slow)}.ws-brand{display:flex;align-items:center;height:var(--shell-topbar-h);padding:0 14px;color:var(--text-primary);text-decoration:none;flex-shrink:0}.brand{display:inline-flex;align-items:center;gap:10px;min-width:0}.brand-mark{flex-shrink:0}.brand-name{font-size:var(--text-md);font-weight:600;letter-spacing:-.015em;white-space:nowrap}.ws-nav{flex:1;min-height:0;overflow-y:auto;padding:4px 8px 12px}.ws-group+.ws-group{margin-top:14px}.ws-group-label{padding:4px 8px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);white-space:nowrap}.ws-link{position:relative;display:flex;align-items:center;gap:10px;height:32px;padding:0 8px;margin-bottom:1px;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:500;color:var(--text-secondary);text-decoration:none;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast)}.ws-link svg{width:16px;height:16px;stroke-width:1.75;color:var(--text-muted);flex-shrink:0;transition:color var(--transition-fast)}.ws-link:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-link:hover svg{color:var(--text-secondary)}.ws-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ws-link.is-active{background:var(--accent-soft);color:var(--text-primary);font-weight:600}.ws-link.is-active svg{color:var(--primary)}.ws-link.is-active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:2px;border-radius:0 2px 2px 0;background:var(--primary)}.ws-side-foot{display:flex;align-items:center;gap:4px;padding:8px;border-top:1px solid var(--border-color)}.ws-side-foot .ds-menu-wrap{flex:1;min-width:0}.ws-user{display:flex;align-items:center;gap:10px;width:100%;min-width:0;height:44px;padding:0 8px;border-radius:var(--radius-sm);text-align:left;color:var(--text-primary);background:none;transition:background-color var(--transition-fast)}.ws-user:hover{background:var(--bg-hover)}.ws-user:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ws-user-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.ws-user-name{font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-user-role{font-size:var(--text-xs);color:var(--text-muted)}.ws-user-chev{width:14px;height:14px;margin-left:auto;color:var(--text-muted);flex-shrink:0}.ws-avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;overflow:hidden;font-weight:600;color:var(--btn-primary-text);background:var(--primary);line-height:1}.ws-avatar img{width:100%;height:100%;object-fit:cover}.ws-collapse{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-sm);color:var(--text-muted);background:none}.ws-collapse:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-collapse:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ws-collapse svg{width:16px;height:16px}.ws.is-collapsed .ws-brand{padding:0 18px}.ws.is-collapsed .brand-name,.ws.is-collapsed .ws-link-text,.ws.is-collapsed .ws-user-text,.ws.is-collapsed .ws-user-chev{display:none}.ws.is-collapsed .ws-group-label{height:1px;padding:0;margin:8px 10px;background:var(--border-color);font-size:0}.ws.is-collapsed .ws-group+.ws-group{margin-top:0}.ws.is-collapsed .ws-link{justify-content:center;padding:0}.ws.is-collapsed .ws-link.is-active:before{left:-8px}.ws.is-collapsed .ws-side-foot{flex-direction:column-reverse}.ws.is-collapsed .ws-user{justify-content:center;padding:0}.ws.is-collapsed .ws-side-foot .ds-menu-wrap{flex:none;width:100%}.ws.is-collapsed .ds-menu.up{left:0}.ws-body{flex:1;min-width:0;display:flex;flex-direction:column}.ws-top{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-3);height:var(--shell-topbar-h);padding:0 var(--page-pad);background:color-mix(in srgb,var(--bg-primary) 92%,transparent);-webkit-backdrop-filter:saturate(1.1) blur(6px);backdrop-filter:saturate(1.1) blur(6px);border-bottom:1px solid var(--border-color)}.ws .ws-hamburger{display:none;margin-left:-8px}.ws-crumbs{flex:1;min-width:0}.ws-crumbs ol{display:flex;align-items:center;gap:2px;list-style:none;min-width:0}.ws-crumbs li{display:inline-flex;align-items:center;gap:2px;min-width:0;font-size:var(--text-base);color:var(--text-muted)}.ws-crumbs li:last-child{color:var(--text-primary);font-weight:600;min-width:0}.ws-crumbs li:last-child>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-crumbs a{color:inherit;text-decoration:none;white-space:nowrap;border-radius:var(--radius-xs)}.ws-crumbs a:hover{color:var(--text-primary)}.ws-crumbs svg{width:14px;height:14px;color:var(--text-tertiary);flex-shrink:0}.ws-search{position:relative;display:flex;align-items:center;width:260px;flex-shrink:1}.ws-search>svg{position:absolute;left:10px;width:15px;height:15px;color:var(--text-muted);pointer-events:none}.ws .ws-search input{height:var(--ctl-h-sm);min-height:var(--ctl-h-sm);padding:0 30px 0 32px;background:var(--bg-card);font-size:var(--text-sm)}.ws-search .ds-kbd{position:absolute;right:8px;pointer-events:none}.ws .ws-search input:focus+.ds-kbd{display:none}.ws .ws-search input::-webkit-search-cancel-button{display:none}.ws-top-actions{display:flex;align-items:center;gap:2px}.ws-top-actions .theme-toggle-btn{display:inline-grid;place-items:center;width:var(--ctl-h-md);height:var(--ctl-h-md);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);box-shadow:none}.ws-top-actions .theme-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-top-actions .theme-toggle-btn svg{width:17px;height:17px}.ws-streak{display:inline-flex;align-items:center;gap:5px;height:var(--ctl-h-sm);padding:0 9px;margin-right:4px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary);text-decoration:none}.ws-streak svg{width:15px;height:15px;color:var(--warning-color)}.ws-streak:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-top-avatar{display:none}.ws-main{flex:1;min-width:0;outline:none}.ws-tabbar{display:none}.ws-nav-drawer{padding:0}.ws-drawer-foot{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-color)}.ws-drawer-foot .btn svg{width:16px;height:16px}.ds-drawer.from-left .ds-drawer-body{padding:8px 12px 16px}@media (max-width: 1023px) and (min-width: 768px){.ws{--side-w: var(--shell-sidebar-w-collapsed)}.ws-side{transition:none}.ws-collapse,.ws .brand-name,.ws .ws-link-text,.ws .ws-user-text,.ws .ws-user-chev{display:none}.ws .ws-brand{padding:0 18px}.ws .ws-group-label{height:1px;padding:0;margin:8px 10px;background:var(--border-color);font-size:0}.ws .ws-group+.ws-group{margin-top:0}.ws .ws-link,.ws .ws-user{justify-content:center;padding:0}.ws .ws-side-foot .ds-menu-wrap{flex:none;width:100%}.ws .ds-menu.up{left:0}.ws-search{width:200px}}@media (max-width: 767px){.ws{display:block}.ws-side{display:none}.ws-body{min-height:100vh}.ws-top{padding:0 var(--space-4)}.ws .ws-hamburger{display:inline-grid}.ws-search{display:none}.ws-top-avatar{display:block}.ws-crumbs li:not(:last-child){display:none}.ws-main{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.ws.is-immersive .ws-main{padding-bottom:0}.ws-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-fixed);display:grid;grid-template-columns:repeat(5,1fr);height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-secondary);border-top:1px solid var(--border-color)}.ws.is-immersive .ws-tabbar{display:none}.ws-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:500;color:var(--text-muted);text-decoration:none;background:none}.ws-tab svg{width:20px;height:20px;stroke-width:1.75}.ws-tab.is-active{color:var(--primary);font-weight:600}.ws-tab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 60%,transparent)}}.theme-picker-select{background:transparent;border:2px solid var(--border-color);color:var(--text-primary);border-radius:8px;height:45px;padding:0 .6rem;margin-left:.75rem;font-size:.85rem;cursor:pointer;transition:all .3s ease;max-width:160px}.theme-picker-select:hover{background:var(--hover-bg);border-color:var(--accent-color)}.theme-picker-select option{background:var(--bg-secondary);color:var(--text-primary)}@media (max-width: 768px){.theme-picker-select{height:40px;max-width:120px}}.notification-bell-container{position:relative}.notification-bell-btn{position:relative;background:transparent;border:1px solid var(--border-color);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;color:var(--text-primary)}.notification-bell-btn:hover{background:var(--bg-hover)}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--difficulty-hard);color:#fff;border-radius:999px;font-size:.65rem;font-weight:700;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 3px}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-width:90vw;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}.notification-dropdown-header{display:flex;justify-content:space-between;align-items:flex-start;padding:.85rem 1rem;border-bottom:1px solid var(--border-color)}.notification-dropdown-header p{margin:.15rem 0 0;font-size:.78rem;color:var(--text-muted)}.notification-mark-all{background:none;border:none;color:var(--primary);font-size:.78rem;cursor:pointer;white-space:nowrap}.notification-list{max-height:360px;overflow-y:auto}.notification-empty{padding:1.5rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem;margin:0}.notification-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border-color);padding:.75rem 1rem;cursor:pointer}.notification-item:hover{background:var(--bg-hover)}.notification-item.unread{background:var(--accent-10)}.notification-item-title{font-weight:600;font-size:.85rem;color:var(--text-primary)}.notification-item-message{font-size:.8rem;color:var(--text-secondary);margin-top:.2rem}.notification-item-time{font-size:.72rem;color:var(--text-muted);margin-top:.3rem}.notification-view-all{display:block;width:100%;padding:.7rem;text-align:center;background:var(--bg-secondary);border:none;border-top:1px solid var(--border-color);color:var(--primary);font-size:.82rem;font-weight:600;cursor:pointer}.notification-view-all:hover{background:var(--bg-hover)}.app-shell{--shell-w: 248px;--shell-w-collapsed: 72px;--shell-accent: var(--primary);--shell-accent-soft: color-mix(in srgb, var(--primary) 12%, transparent);--shell-grad: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);--shell-radius: 14px;background:radial-gradient(1200px 500px at 110% -10%,color-mix(in srgb,var(--primary) 6%,transparent),transparent 60%),var(--bg-primary)}.app-shell .sidebar{width:var(--shell-w)!important;min-width:var(--shell-w)!important;padding:16px 0 12px;background:color-mix(in srgb,var(--bg-secondary) 92%,transparent);border-right:1px solid var(--border-color);scrollbar-width:thin;display:flex;flex-direction:column;transition:width .25s cubic-bezier(.2,.8,.2,1),min-width .25s cubic-bezier(.2,.8,.2,1)}.app-shell .main-content{margin-left:var(--shell-w);width:calc(100% - var(--shell-w));transition:margin-left .25s cubic-bezier(.2,.8,.2,1)}.app-shell .sidebar.shell-collapsed{width:var(--shell-w-collapsed)!important;min-width:var(--shell-w-collapsed)!important}.app-shell .sidebar.shell-collapsed~.main-content{margin-left:var(--shell-w-collapsed);width:calc(100% - var(--shell-w-collapsed))}.shell-brand{display:flex;align-items:center;gap:10px;margin:0 16px 18px;padding:6px 4px;color:var(--text-primary);text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;white-space:nowrap}.shell-brand-mark{display:grid;place-items:center;width:36px;height:36px;min-width:36px;border-radius:10px;color:#fff;background:var(--gradient-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 30%,transparent);transition:transform .25s ease}.shell-brand:hover .shell-brand-mark{transform:rotate(-6deg) scale(1.04)}.app-shell .sidebar nav{gap:2px;padding:0 12px;flex:1;overflow-y:auto}.app-shell .sidebar nav a{display:flex;align-items:center;gap:12px;height:40px;padding:0 10px;margin-bottom:2px;border:0;border-left:0!important;border-radius:10px;font-size:.93rem;font-weight:500;color:var(--text-secondary);transform:none;white-space:nowrap;text-decoration:none;transition:background-color .15s ease,color .15s ease}.app-shell .sidebar nav a:before{display:none}.app-shell .sidebar nav a .nav-text{font-size:inherit;transform:none!important}.nav-glyph{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;flex-shrink:0;color:var(--text-muted);background:transparent;transition:background .15s ease,color .15s ease}.app-shell .sidebar nav a:hover{color:var(--text-primary);background:var(--bg-hover);transform:none}.app-shell .sidebar nav a:hover .nav-glyph{color:var(--shell-accent)}.app-shell .sidebar nav a.active{color:var(--text-primary);font-weight:600;background:var(--shell-accent-soft);box-shadow:inset 3px 0 0 -1px var(--shell-accent)}.app-shell .sidebar nav a.active .nav-glyph{color:var(--shell-accent);background:color-mix(in srgb,var(--shell-accent) 16%,transparent)}.app-shell .sidebar nav a.nav-site-link{margin-top:10px;border:1px dashed var(--border-color)!important}.app-shell .nav-section-divider{margin:14px 0 6px;padding:0 12px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.app-shell .sidebar-footer{margin:12px 12px 0;padding:0;border:0;display:flex;flex-direction:column;gap:8px}.app-shell .user-profile{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);min-width:0}.app-shell .user-avatar,.app-shell .header .avatar{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:50%;overflow:hidden;font-weight:700;color:#fff;background:var(--gradient-primary);box-shadow:0 0 0 2px var(--bg-secondary)}.app-shell .user-avatar img,.app-shell .header .avatar img{width:100%;height:100%;object-fit:cover}.app-shell .user-name{margin:0;font-weight:600;font-size:.92rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.app-shell .user-role{margin:0;font-size:.76rem;color:var(--text-muted)}.sidebar-collapse-btn{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;border-radius:10px;font-family:var(--font-primary);font-size:.88rem;font-weight:500;color:var(--text-muted);background:transparent;transition:background-color .15s ease,color .15s ease}.sidebar-collapse-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.app-shell .sidebar.shell-collapsed .shell-brand{margin:0 12px 18px;justify-content:center}.app-shell .sidebar.shell-collapsed .shell-brand-name{display:none}.app-shell .sidebar.shell-collapsed nav{padding:0 10px}.app-shell .sidebar.shell-collapsed nav a{justify-content:center;gap:0;padding:0}.app-shell .sidebar.shell-collapsed .nav-section-divider,.app-shell .sidebar.shell-collapsed .nav-site-link{display:none}.app-shell .sidebar.shell-collapsed .sidebar-footer{margin:12px 10px 0}.app-shell .sidebar.shell-collapsed .user-details,.app-shell .sidebar.shell-collapsed .collapse-label{display:none}.app-shell .sidebar.shell-collapsed .user-profile{justify-content:center;padding:8px}.app-shell .sidebar.shell-collapsed .sidebar-collapse-btn{justify-content:center;padding:0}.app-shell .sidebar.shell-collapsed .sidebar-collapse-btn .collapse-label{display:none}.app-shell .sidebar.shell-collapsed .nav-glyph{width:32px;height:32px}.app-shell .header{padding:12px 28px;min-height:68px;background:color-mix(in srgb,var(--bg-primary) 75%,transparent);backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid var(--border-color);flex-wrap:nowrap}.app-shell .user-info{margin-left:auto;gap:10px;flex-wrap:nowrap}.shell-search{position:relative;display:flex;align-items:center}.shell-search>.lucide{position:absolute;left:13px;color:var(--text-muted);pointer-events:none}.app-shell .shell-search input{padding:10px 14px 10px 38px;border-radius:12px;background:var(--bg-secondary)}.shell-home-btn,.shell-streak,.app-shell .logout-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:11px;font-size:.86rem;font-weight:600;white-space:nowrap;text-decoration:none}.shell-home-btn{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color)}.shell-home-btn:hover{color:var(--shell-accent);border-color:color-mix(in srgb,var(--shell-accent) 45%,transparent)}.shell-streak{color:#ea580c;background:#ea580c1a;border:1px solid rgba(234,88,12,.22)}.app-shell .logout-btn{color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color)}.app-shell .logout-btn:hover{color:#fff;background:#e11d48;border-color:#e11d48}.app-shell .role-badge{padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--shell-accent);background:var(--shell-accent-soft)}.app-shell .notification-bell-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color)}.app-shell .page-content,.app-shell .main-content>div:not(.header){animation:shell-in .35s ease both}.app-shell .page-header h1,.app-shell .page-content>h1{letter-spacing:-.03em}.app-shell .stat-card,.app-shell .action-card,.app-shell .recommendation-card,.app-shell .progress-card,.app-shell .modal-content{border-radius:var(--shell-radius);border:1px solid var(--border-color);box-shadow:0 1px 2px #0000000a,0 6px 20px #0000000d;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.app-shell .stat-card:hover,.app-shell .action-card:hover,.app-shell .recommendation-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--shell-accent) 30%,transparent);box-shadow:0 14px 34px #0000001a}.app-shell table{border-collapse:separate;border-spacing:0}.app-shell th{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.app-shell tbody tr{transition:background .15s ease}.app-shell tbody tr:hover{background:var(--bg-hover)}.app-shell .modal-overlay{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@keyframes shell-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width: 1024px){.app-shell .sidebar,.app-shell .sidebar.shell-collapsed{left:-110%!important;width:280px!important;min-width:280px!important;box-shadow:20px 0 50px #00000040;transition:left .3s cubic-bezier(.2,.8,.2,1);z-index:1000}.app-shell .sidebar.shell-collapsed .shell-brand,.app-shell .sidebar.shell-collapsed .shell-brand-name,.app-shell .sidebar.shell-collapsed .nav-text,.app-shell .sidebar.shell-collapsed .nav-section-divider,.app-shell .sidebar.shell-collapsed .nav-site-link,.app-shell .sidebar.shell-collapsed .user-details,.app-shell .sidebar.shell-collapsed .collapse-label,.app-shell .sidebar.shell-collapsed .user-profile{display:revert}.app-shell .sidebar.shell-collapsed .user-profile,.app-shell .sidebar.shell-collapsed .sidebar-collapse-btn,.app-shell .sidebar.shell-collapsed .sidebar-footer,.app-shell .sidebar.shell-collapsed nav a{justify-content:flex-start}.app-shell .sidebar.shell-collapsed .sidebar-collapse-btn{display:none}.app-shell .sidebar.shell-collapsed .user-profile{padding:10px 12px}.app-shell .sidebar.shell-collapsed .nav-glyph{width:24px;height:24px}.app-shell .sidebar.shell-collapsed .sidebar-footer{margin:12px 12px 0}.app-shell .sidebar.shell-collapsed .shell-brand{margin:0 16px 18px}.app-shell .sidebar.shell-collapsed .shell-brand-name{display:inline}.app-shell .sidebar.shell-collapsed nav a{padding:0 10px;gap:12px}.app-shell .sidebar.shell-collapsed .nav-section-divider{display:block;margin:16px 0 6px}.app-shell .sidebar.shell-collapsed nav a.nav-site-link{display:flex}.app-shell .sidebar.shell-collapsed .user-details{display:block}.app-shell .sidebar.shell-collapsed .collapse-label{display:none}.app-shell .sidebar.shell-open{left:0!important}.app-shell .main-content{margin-left:0;width:100%}.app-shell .hamburger-menu{display:flex}.app-shell .header{padding:10px 16px;gap:12px}.app-shell .shell-brand-name,.app-shell .shell-brand-tag,.app-shell .nav-text,.app-shell .sidebar-footer{display:revert}.app-shell .sidebar nav a{justify-content:flex-start;padding:10px 12px}}@media (max-width: 768px){.app-shell .header{flex-wrap:wrap}.app-shell .shell-search{order:3;flex:1 1 100%;max-width:none}.shell-home-btn span,.app-shell .logout-btn span,.app-shell .role-badge{display:none}.shell-home-btn,.app-shell .logout-btn{padding:0 11px}}@media (max-width: 420px){.app-shell .user-info{gap:6px}.app-shell .theme-picker,.app-shell .header .avatar{display:none}}@media (prefers-reduced-motion: reduce){.app-shell .page-content,.app-shell .main-content>div:not(.header){animation:none}}.lp{background:var(--bg-primary);color:var(--text-primary)}.lp .lp-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 var(--space-6)}.lp .lp-wrap-wide{max-width:1240px}.lp .lp-nav{position:sticky;top:0;z-index:var(--z-sticky);background:transparent;border-bottom:1px solid transparent;box-shadow:none;transition:background-color var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard)}.lp .lp-nav.is-scrolled{background:color-mix(in srgb,var(--bg-primary) 88%,transparent);-webkit-backdrop-filter:saturate(1.1) blur(10px);backdrop-filter:saturate(1.1) blur(10px);border-bottom-color:var(--border-color);box-shadow:var(--shadow-sm)}.lp .lp-nav-in{display:flex;align-items:center;gap:var(--space-6);height:56px;transition:height var(--duration-normal) var(--ease-standard)}.lp .lp-nav.is-scrolled .lp-nav-in{height:52px}.lp .lp-brand{display:inline-flex;color:var(--text-primary);text-decoration:none}.lp .lp-links{display:flex;align-items:center;gap:var(--space-5);margin-left:var(--space-4)}.lp .lp-links a{font-size:var(--text-base);font-weight:500;color:var(--text-secondary);text-decoration:none}.lp .lp-links a:hover{color:var(--text-primary)}.lp .lp-nav-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.lp .lp-nav-actions .theme-toggle-btn{display:inline-grid;place-items:center;width:var(--ctl-h-md);height:var(--ctl-h-md);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);box-shadow:none}.lp .lp-nav-actions .theme-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.lp .lp-nav-actions .theme-toggle-btn svg{width:17px;height:17px}.lp .lp-burger{display:none}.lp .lp-eyebrow,.lp .lp-kicker{font-size:var(--text-xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--primary)}.lp .lp-kicker{margin-bottom:8px}.lp .lp-h1,.lp .lp-h2{font-family:var(--font-serif);font-weight:500;letter-spacing:-.02em;color:var(--text-primary);text-wrap:balance}.lp .lp-h1{margin-top:18px;font-size:clamp(2.6rem,5.2vw,3.75rem);line-height:1.06}.lp .lp-h2{font-size:clamp(1.8rem,3.2vw,2.4rem);line-height:1.15}.lp .lp-h2-sm{font-size:clamp(1.6rem,2.6vw,2rem)}.lp h3{font-size:var(--text-xl);font-weight:600;letter-spacing:-.015em;line-height:1.25}.lp .lp-lede{max-width:56ch;margin-top:20px;font-size:var(--text-lg);line-height:1.6;color:var(--text-secondary)}.lp .lp-hero{position:relative;padding:104px 0 0;overflow:hidden}.lp .lp-hero-bg{position:absolute;inset:-10% -10% auto -10%;height:640px;z-index:0;pointer-events:none;background-image:linear-gradient(to right,color-mix(in srgb,var(--border-color) 70%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border-color) 70%,transparent) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse 70% 60% at 50% 10%,black 40%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 10%,black 40%,transparent 85%);opacity:.6}.lp .lp-hero-glow{position:absolute;z-index:0;top:60px;right:6%;width:480px;height:480px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 16%,transparent),transparent 70%);filter:blur(10px)}.lp .lp-hero>.lp-wrap{position:relative;z-index:1}.lp .lp-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:32px}.lp .lp-cta .btn svg{width:17px;height:17px}.lp .lp-cta-center{justify-content:center}.lp .lp-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;font-size:var(--text-base);color:var(--text-muted)}.lp .lp-facts b{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}.lp .lp-app{margin:64px 0 0}.lp .lp-app-frame{display:grid;grid-template-columns:172px 1fr;min-height:380px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;box-shadow:var(--shadow-xl);overflow:hidden;transition:transform .3s var(--ease-standard);will-change:transform}.lp .lp-app-nav{opacity:0;transform:translate(-6px);transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard),background-color var(--transition-fast)}.lp .lp-app-nav.is-in{opacity:1;transform:none}.lp .lp-app-row{opacity:0;transform:translateY(8px);transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.lp .lp-app-row.is-head{opacity:1;transform:none;transition:none}.lp .lp-app-row.is-in{opacity:1;transform:none}.lp .lp-app-stats strong{font-variant-numeric:tabular-nums}.lp .lp-app figcaption{padding:10px 0 0;font-size:var(--text-xs);color:var(--text-muted);text-align:center}.lp .lp-app-side{padding:12px 10px;background:var(--bg-secondary);border-right:1px solid var(--border-color)}.lp .lp-app-brand{padding:4px 6px 14px}.lp .lp-app-nav{display:flex;align-items:center;gap:8px;height:26px;padding:0 8px;margin-bottom:2px;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-xs)}.lp .lp-app-nav span{width:10px;height:10px;border-radius:3px;background:var(--border-strong)}.lp .lp-app-nav.is-active{background:var(--accent-soft);color:var(--text-primary);font-weight:600}.lp .lp-app-nav.is-active span{background:var(--primary)}.lp .lp-app-main{padding:0 0 12px;min-width:0}.lp .lp-app-top{display:flex;align-items:center;justify-content:space-between;height:38px;padding:0 16px;border-bottom:1px solid var(--border-color);font-size:var(--text-xs)}.lp .lp-app-crumb{font-weight:600}.lp .lp-app-search{padding:4px 10px;min-width:160px;color:var(--text-muted);border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--bg-card)}.lp .lp-app-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-sm)}.lp .lp-app-stats>div{padding:8px 12px;border-left:1px solid var(--border-color)}.lp .lp-app-stats>div:first-child{border-left:0}.lp .lp-app-stats span{display:block;font-size:11px;color:var(--text-muted)}.lp .lp-app-stats strong{font-size:var(--text-lg);font-weight:600;letter-spacing:-.015em}.lp .lp-app-table{margin:0 16px;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.lp .lp-app-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px;align-items:center;gap:12px;padding:9px 14px;border-top:1px solid var(--border-light);font-size:var(--text-sm)}.lp .lp-app-row.is-head{border-top:0;padding-top:7px;padding-bottom:7px;font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-secondary)}.lp .lp-app-title{display:flex;flex-direction:column;min-width:0}.lp .lp-app-title b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp .lp-app-title small{font-size:11px;color:var(--text-muted)}.lp .lp-diff{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:500}.lp .lp-diff:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.lp .lp-diff.easy{color:var(--difficulty-easy)}.lp .lp-diff.medium{color:var(--difficulty-medium)}.lp .lp-diff.hard{color:var(--difficulty-hard)}.lp .lp-st{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.lp .lp-st svg{width:14px;height:14px}.lp .lp-st.is-solved{color:var(--success-color)}.lp .lp-st.is-progress{color:var(--warning-color)}.lp .lp-section{padding:104px 0}.lp .lp-tint{background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.lp .lp-sec-head{max-width:720px;margin-bottom:48px}.lp .lp-sec-head .lp-h2{margin-top:10px}.lp .lp-ticks{display:flex;flex-direction:column;gap:8px;margin-top:20px;list-style:none}.lp .lp-ticks li{display:flex;align-items:flex-start;gap:10px;font-size:var(--text-base);color:var(--text-secondary)}.lp .lp-ticks svg{width:16px;height:16px;margin-top:2px;color:var(--primary);flex-shrink:0}.lp p{color:var(--text-secondary)}.lp .lp-feature{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center;padding-bottom:72px;border-bottom:1px solid var(--border-color)}.lp .lp-feature-copy p:not(.lp-kicker){margin-top:12px;font-size:var(--text-md);line-height:1.65}.lp .lp-shot{background:var(--bg-code);border:1px solid var(--border-strong);border-radius:var(--radius-md);overflow:hidden}.lp .lp-shot-bar{display:flex;justify-content:space-between;padding:8px 14px;font:500 var(--text-xs) var(--font-mono);color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.lp .lp-code{margin:0;padding:16px 18px;font:400 13px/1.7 var(--font-mono);color:var(--text-primary);overflow-x:auto;-moz-tab-size:2;tab-size:2}.lp .lp-code .k{color:var(--primary)}.lp .lp-code .f{color:var(--info-color)}.lp .lp-code .n{color:var(--warning-color)}.lp .lp-code-line{display:inline-block;opacity:0;transform:translate(-8px);transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.lp .lp-code-line.is-in{opacity:1;transform:none}.lp .type-caret{color:var(--primary)}.lp .lp-shot-status{display:flex;align-items:center;gap:8px;height:0;padding:0 18px;overflow:hidden;font:500 var(--text-xs) var(--font-mono);color:var(--warning-color);border-top:1px solid transparent;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),height var(--duration-fast) var(--ease-standard),padding var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.lp .lp-shot-status.is-on{height:34px;padding:8px 18px;opacity:1;border-top-color:var(--border-color)}.lp .lp-shot-status .state-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:state-pulse .9s ease-in-out infinite}.lp .lp-shot-result{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;padding:0 18px;border-top:1px solid var(--border-color);background:var(--bg-card);font:500 var(--text-xs) var(--font-mono);color:var(--text-muted);opacity:0;transform:translateY(6px);max-height:0;overflow:hidden;border-top-color:transparent;transition:opacity var(--duration-normal) var(--ease-emphasized),transform var(--duration-normal) var(--ease-emphasized),max-height var(--duration-normal) var(--ease-emphasized),padding var(--duration-normal) var(--ease-emphasized),border-color var(--duration-normal) var(--ease-emphasized)}.lp .lp-shot-result.is-in{opacity:1;transform:none;max-height:60px;padding:10px 18px;border-top-color:var(--border-color)}.lp .lp-shot-result strong{font:600 var(--text-md) var(--font-primary);color:var(--success-color)}.lp .lp-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:56px}.lp .lp-trio article{padding:0 32px;border-left:1px solid var(--border-color);transition:transform var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.lp .lp-trio article:first-child{padding-left:0;border-left:0}.lp .lp-trio article:last-child{padding-right:0}.lp .lp-trio article:hover{transform:translateY(-4px)}.lp .lp-trio article:not(:first-child):hover{border-left-color:var(--primary)}.lp .lp-trio h3{font-size:var(--text-lg)}.lp .lp-trio p:not(.lp-kicker){margin-top:8px;font-size:var(--text-base);line-height:1.6}.lp .lp-timeline{position:relative;display:flex;flex-direction:column;margin-top:20px;list-style:none;border-left:1px solid var(--border-strong)}.lp .lp-timeline li{position:relative;padding:4px 0 4px 16px;font-size:var(--text-sm);color:var(--text-muted);opacity:0;transform:translate(-8px);transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard),color var(--transition-fast)}.lp .lp-timeline.is-visible li{opacity:1;transform:none}.lp .lp-timeline li:before{content:"";position:absolute;left:-4px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--bg-primary);border:1.5px solid var(--border-strong);transition:background-color var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard),box-shadow var(--transition-fast)}.lp .lp-timeline li.is-done{color:var(--text-secondary)}.lp .lp-timeline li.is-done:before{background:var(--primary);border-color:var(--primary)}.lp .lp-timeline li.is-now{color:var(--text-primary);font-weight:600}.lp .lp-timeline li.is-now:before{border-color:var(--primary)}.lp .lp-timeline.is-visible li.is-now:before{animation:node-pulse 2.2s ease-in-out infinite}.lp .lp-term{display:flex;flex-direction:column;gap:2px;margin-top:20px;padding:12px 14px;font:400 var(--text-sm)/1.6 var(--font-mono);background:var(--bg-code);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.lp .lp-prompt{color:var(--primary);min-height:1.6em}.lp .lp-dim{color:var(--text-muted)}.lp .lp-term-line{opacity:0;transform:translateY(4px);transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.lp .lp-term-line.is-in{opacity:1;transform:none}.lp .lp-reslist{display:flex;flex-direction:column;margin-top:20px;list-style:none}.lp .lp-reslist li{padding:8px 0;font-size:var(--text-sm);color:var(--text-secondary);border-top:1px solid var(--border-color)}.lp .lp-reslist li:last-child{border-bottom:1px solid var(--border-color)}.lp .lp-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;list-style:none;counter-reset:s}.lp .lp-steps li{position:relative;padding:20px 20px 0 0;border-top:1px solid var(--border-strong)}.lp .lp-steps li:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--primary)}.lp .lp-step-n{display:block;margin-bottom:14px;font:500 var(--text-sm) var(--font-mono);color:var(--primary)}.lp .lp-steps h3{font-size:var(--text-md)}.lp .lp-steps p{margin-top:6px;font-size:var(--text-sm);line-height:1.55}.lp .lp-library{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px;align-items:start}.lp .lp-diffs{display:flex;flex-direction:column;gap:22px}.lp .lp-diffrow-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.lp .lp-diffrow-h strong{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.lp .lp-bar{height:4px;border-radius:2px;background:var(--bg-tertiary);overflow:hidden}.lp .lp-bar>span{display:block;height:100%;background:var(--primary);border-radius:inherit}.lp .lp-bar>span.medium{background:var(--warning-color)}.lp .lp-bar>span.hard{background:var(--danger-color)}.lp .lp-facets>div{display:grid;grid-template-columns:110px 1fr;gap:var(--space-4);padding:16px 0;border-top:1px solid var(--border-color)}.lp .lp-facets>div:last-child{border-bottom:1px solid var(--border-color)}.lp .lp-facets dt{font-size:var(--text-sm);font-weight:600;color:var(--text-muted)}.lp .lp-facets dd{display:flex;flex-wrap:wrap;gap:6px;margin:0}.lp .lp-chip{display:inline-flex;align-items:center;height:24px;padding:0 9px;font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-xs);transition:transform var(--duration-fast) var(--ease-standard),background-color var(--transition-fast),color var(--transition-fast)}.lp .lp-chip:hover{transform:scale(1.06);background:var(--accent-soft);color:var(--primary)}.lp .lp-more{margin-top:28px}.lp .lp-more .ds-link svg{transition:transform var(--duration-fast) var(--ease-standard)}.lp .lp-more .ds-link:hover svg{transform:translate(3px)}.lp .lp-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.lp .lp-principles article{padding:0 32px;border-left:1px solid var(--border-strong);transition:transform var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.lp .lp-principles article:first-child{padding-left:0;border-left:0}.lp .lp-principles article:last-child{padding-right:0}.lp .lp-principles article:hover{transform:translateY(-4px)}.lp .lp-principles article:not(:first-child):hover{border-left-color:var(--primary)}.lp .lp-principles p{margin-top:10px;font-size:var(--text-md);line-height:1.65}.lp .lp-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:center}.lp .lp-split-copy p:not(.lp-kicker){margin-top:14px;font-size:var(--text-md);line-height:1.65}.lp .lp-panel{margin:0;padding:20px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md)}.lp .lp-panel-h{display:flex;justify-content:space-between;margin-bottom:12px;font-size:var(--text-sm)}.lp .lp-panel-h span{color:var(--text-muted)}.lp .lp-mini{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.lp .lp-mini>div{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:12px;font-size:var(--text-xs);color:var(--text-muted)}.lp .lp-mini i{display:block;height:4px;border-radius:2px;background:var(--primary)}.lp .lp-mini i.m{background:var(--warning-color)}.lp .lp-mini i.h{background:var(--danger-color)}.lp .lp-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lp .lp-duo article{padding:0 48px;border-left:1px solid var(--border-strong)}.lp .lp-duo article:first-child{padding-left:0;border-left:0}.lp .lp-duo article:last-child{padding-right:0}.lp .lp-duo article>p:not(.lp-kicker){margin-top:10px;font-size:var(--text-md);line-height:1.65}.lp .lp-chat{display:flex;flex-direction:column;gap:8px;margin-top:22px;min-height:84px}.lp .lp-msg{max-width:88%;padding:9px 12px;font-size:var(--text-base);line-height:1.55;border-radius:var(--radius-md);opacity:0;transform:translateY(8px) scale(.98);transition:opacity var(--duration-normal) var(--ease-emphasized),transform var(--duration-normal) var(--ease-emphasized)}.lp .lp-msg.is-in{opacity:1;transform:none}.lp .lp-msg.you{align-self:flex-end;background:var(--accent-soft);color:var(--text-primary)}.lp .lp-msg.bot{align-self:flex-start;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary)}.lp .lp-msg.lp-typing{padding:12px 14px;color:var(--primary)}.lp .typing-dots{color:var(--primary)}.lp .lp-review{display:flex;flex-direction:column;gap:12px;margin-top:22px;padding:16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.lp .lp-review>div{display:grid;grid-template-columns:130px 1fr 28px;align-items:center;gap:12px;font-size:var(--text-sm);color:var(--text-secondary)}.lp .lp-review b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary)}.lp .lp-review small{font-size:var(--text-xs);color:var(--text-muted)}.lp .lp-duo article{transition:transform var(--duration-normal) var(--ease-standard)}.lp .lp-duo article:hover{transform:translateY(-4px)}.lp .lp-final{padding:96px 0;border-top:1px solid var(--border-color)}.lp .lp-final-in{text-align:center}.lp .lp-final-in p{margin-top:12px;font-size:var(--text-lg)}.lp .lp-footer{padding:56px 0 28px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.lp .lp-foot-in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-8)}.lp .lp-foot-brand p{max-width:36ch;margin-top:12px;font-size:var(--text-sm);color:var(--text-muted)}.lp .lp-footer nav{display:flex;flex-direction:column;gap:8px}.lp .lp-footer .lp-foot-h{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.lp .lp-footer nav a{font-size:var(--text-base);color:var(--text-secondary);text-decoration:none}.lp .lp-footer nav a:hover{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px}.lp .lp-legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--border-color);font-size:var(--text-sm);color:var(--text-muted)}@media (max-width: 1023px){.lp .lp-hero{padding-top:72px}.lp .lp-section{padding:64px 0}.lp .lp-sec-head{margin-bottom:36px}.lp .lp-feature,.lp .lp-library,.lp .lp-split{grid-template-columns:minmax(0,1fr);gap:36px}.lp .lp-feature{padding-bottom:48px}.lp .lp-trio{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:40px}.lp .lp-trio article,.lp .lp-trio article:first-child,.lp .lp-trio article:last-child{padding:0;border-left:0}.lp .lp-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px;column-gap:24px}.lp .lp-principles{grid-template-columns:minmax(0,1fr);gap:28px}.lp .lp-principles article,.lp .lp-principles article:first-child,.lp .lp-principles article:last-child{padding:0;border-left:0}.lp .lp-duo{grid-template-columns:minmax(0,1fr);gap:44px}.lp .lp-duo article,.lp .lp-duo article:first-child,.lp .lp-duo article:last-child{padding:0;border-left:0}.lp .lp-app-frame{grid-template-columns:1fr}.lp .lp-app-side{display:none}.lp .lp-final{padding:64px 0}}@media (max-width: 720px){.lp .lp-wrap{padding:0 var(--space-4)}.lp .lp-hero{padding-top:48px}.lp .lp-lede{font-size:var(--text-md)}.lp .lp-cta .btn{flex:1 1 100%}.lp .lp-app{margin-top:40px}.lp .lp-app-stats{grid-template-columns:repeat(2,1fr)}.lp .lp-app-stats>div:nth-child(3){border-left:0}.lp .lp-app-stats>div:nth-child(n+3){border-top:1px solid var(--border-color)}.lp .lp-app-row{grid-template-columns:minmax(0,1fr) auto}.lp .lp-app-row>:nth-child(3){display:none}.lp .lp-app-search{display:none}.lp .lp-section{padding:48px 0}.lp .lp-steps{grid-template-columns:minmax(0,1fr)}.lp .lp-facets>div{grid-template-columns:minmax(0,1fr);gap:8px}.lp .lp-review>div{grid-template-columns:110px 1fr 24px}.lp .lp-foot-in{grid-template-columns:1fr 1fr}.lp .lp-foot-brand{grid-column:1 / -1}.lp .lp-hide-sm{display:none}.lp .lp-burger{display:inline-grid}.lp .lp-links{display:none}.lp .lp-links.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:56px;left:0;right:0;margin:0;padding:8px var(--space-4) 12px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.lp .lp-links.is-open a{padding:12px 0;border-top:1px solid var(--border-light);font-size:var(--text-md)}.lp .lp-links.is-open a:first-child{border-top:0}.lp .lp-hero-bg{animation:none;height:420px;opacity:.4}.lp .lp-hero-glow{animation:none;width:260px;height:260px;filter:none}.lp .lp-app-frame{transform:none!important}}:root[data-theme=light],:root{--bg-primary: #F5F3EE;--bg-secondary: #FBFAF7;--bg-tertiary: #EFEDE6;--bg-card: #FDFCFA;--bg-admin: #EFEDE6;--bg-hover: rgba(28, 30, 26, .045);--bg-gradient-start: #FDFCFA;--bg-gradient-end: #F5F3EE;--bg-gradient-alt: #F1EFE8;--bg-code: #F8F6F1;--text-primary: #191C1A;--text-secondary: #464E48;--text-muted: #5F6861;--text-tertiary: #6A716B;--text-light: #A5ABA5;--text-subtle: #646C65;--primary: #0E7A4B;--primary-hover: #0B6640;--primary-dark: #095234;--primary-light: #128B58;--primary-color: #5E5BC4;--accent-color: #0E7A4B;--accent-hover: #0B6640;--accent-cyan: #0E7490;--accent-purple: #5E5BC4;--accent-strong: #0A5C39;--accent-primary: #0E7A4B;--success-color: #167540;--success-alt: #1B8A4C;--warning-color: #98570A;--warning-light: #D4900E;--warning-dark: #85500A;--danger-color: #B5342D;--danger-alt: #D9534A;--danger-dark: #A32E27;--danger-bg: rgba(194, 58, 50, .08);--danger-bg-light: rgba(194, 58, 50, .04);--danger-border: rgba(194, 58, 50, .28);--danger-shadow: rgba(194, 58, 50, .16);--info-color: #2F62B8;--text-success: #167540;--error: #B5342D;--error-color: #B5342D;--difficulty-easy: #167540;--difficulty-medium: #98570A;--difficulty-hard: #B5342D;--difficulty-easy-bg: rgba(27, 138, 76, .09);--difficulty-easy-border: rgba(27, 138, 76, .28);--difficulty-medium-bg: rgba(168, 98, 11, .09);--difficulty-medium-border: rgba(168, 98, 11, .28);--difficulty-hard-bg: rgba(194, 58, 50, .09);--difficulty-hard-border: rgba(194, 58, 50, .28);--border-color: #E3DFD4;--border-light: #ECE9E0;--border-strong: #D2CDBE;--border-hover: #C4BEAD;--divider-color: #E9E6DC;--hover-bg: rgba(28, 30, 26, .05);--hover-bg-alt: rgba(28, 30, 26, .08);--accent: rgba(14, 122, 75, .08);--accent-05: rgba(14, 122, 75, .05);--accent-10: rgba(14, 122, 75, .09);--accent-15: rgba(14, 122, 75, .13);--accent-20: rgba(14, 122, 75, .18);--accent-30: rgba(14, 122, 75, .26);--accent-50: rgba(14, 122, 75, .42);--primary-10: rgba(14, 122, 75, .1);--primary-20: rgba(14, 122, 75, .2);--overlay-dark: rgba(18, 20, 19, .82);--overlay-medium: rgba(18, 20, 19, .55);--overlay-light: rgba(18, 20, 19, .32);--modal-overlay: rgba(25, 28, 26, .48);--bg-secondary-alpha: rgba(251, 250, 247, .9);--shimmer-light: rgba(28, 30, 26, .07);--warning-bg: rgba(168, 98, 11, .09);--bg-info: rgba(47, 98, 184, .08);--gradient-primary: linear-gradient(0deg, #0E7A4B, #0E7A4B);--gradient-primary-alt: linear-gradient(0deg, #0E7A4B, #0E7A4B);--gradient-button: linear-gradient(0deg, #0E7A4B, #0E7A4B);--gradient-card: linear-gradient(0deg, #FDFCFA, #FDFCFA);--gradient-card-alt: linear-gradient(0deg, #F5F3EE, #F5F3EE);--gradient-hero: linear-gradient(0deg, #F5F3EE, #F5F3EE);--gradient-hover: linear-gradient(0deg, rgba(28, 30, 26, .045), rgba(28, 30, 26, .045));--gradient-accent: linear-gradient(0deg, #0E7A4B, #0E7A4B);--gradient-admin: linear-gradient(0deg, #EFEDE6, #EFEDE6);--gradient-overlay: linear-gradient(to bottom, transparent, rgba(25, 28, 26, .5));--cta-bg: linear-gradient(0deg, #0E7A4B, #0E7A4B);--shadow-xs: 0 1px 0 rgba(28, 30, 26, .04);--shadow-sm: 0 1px 2px rgba(28, 30, 26, .06);--shadow-md: 0 1px 3px rgba(28, 30, 26, .07), 0 1px 2px rgba(28, 30, 26, .04);--shadow-lg: 0 4px 12px rgba(28, 30, 26, .08), 0 1px 3px rgba(28, 30, 26, .05);--shadow-xl: 0 8px 24px rgba(28, 30, 26, .1), 0 2px 6px rgba(28, 30, 26, .05);--shadow-2xl: 0 12px 32px rgba(28, 30, 26, .12), 0 2px 8px rgba(28, 30, 26, .06);--shadow-primary: 0 1px 2px rgba(14, 122, 75, .2);--shadow-primary-md: 0 2px 6px rgba(14, 122, 75, .18);--shadow-primary-lg: 0 4px 12px rgba(14, 122, 75, .2);--shadow-card: 0 1px 0 rgba(28, 30, 26, .03);--shadow-card-hover: 0 2px 8px rgba(28, 30, 26, .07);--shadow-deep: 0 16px 40px rgba(28, 30, 26, .16);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-serif: "Newsreader", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Fira Code", Menlo, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 48px;--text-6xl: 56px;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-20: 80px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 16px;--radius-full: 9999px;--radius: 8px;--ctl-h-sm: 32px;--ctl-h-md: 36px;--ctl-h-lg: 44px;--ease: cubic-bezier(.2, 0, 0, 1);--transition-fast: .12s var(--ease);--transition-base: .18s var(--ease);--transition-slow: .24s var(--ease);--duration-fast: .14s;--duration-normal: .28s;--duration-slow: .52s;--duration-slower: .9s;--ease-standard: cubic-bezier(.22, 1, .36, 1);--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--shadow-hover: var(--shadow-card-hover);--glow-accent: 0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent), 0 8px 28px color-mix(in srgb, var(--primary) 22%, transparent);--shell-sidebar-w: 232px;--shell-sidebar-w-collapsed: 60px;--shell-topbar-h: 52px;--page-max: 1320px;--page-pad: 1.75rem;--z-base: 1;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--btn-primary-text: #ffffff;--on-semantic: #ffffff;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg-primary: #0E1110;--bg-secondary: #131615;--bg-tertiary: #191D1B;--bg-card: #141816;--bg-admin: #0F1211;--bg-hover: rgba(232, 235, 232, .055);--bg-gradient-start: #141816;--bg-gradient-end: #0E1110;--bg-gradient-alt: #161A18;--bg-code: #101312;--text-primary: #E8EBE8;--text-secondary: #B9BFB9;--text-muted: #8D958D;--text-tertiary: #7A827A;--text-light: #D0D5D0;--text-subtle: #7C847C;--primary: #34C58A;--primary-hover: #52D29C;--primary-dark: #22A672;--primary-light: #6BDDAE;--primary-color: #8A88E6;--accent-color: #34C58A;--accent-hover: #52D29C;--accent-cyan: #3CCBE0;--accent-purple: #8A88E6;--accent-strong: #3FCB92;--accent-primary: #34C58A;--success-color: #4ACB84;--success-alt: #6FDB9F;--warning-color: #E6A93B;--warning-light: #F0BE5F;--warning-dark: #D49A2E;--danger-color: #EF7B72;--danger-alt: #F59D96;--danger-dark: #E2615A;--danger-bg: rgba(239, 123, 114, .13);--danger-bg-light: rgba(239, 123, 114, .06);--danger-border: rgba(239, 123, 114, .32);--danger-shadow: rgba(239, 123, 114, .2);--info-color: #6EA4EE;--text-success: #6FDB9F;--error: #EF7B72;--error-color: #EF7B72;--difficulty-easy: #4ACB84;--difficulty-medium: #E6A93B;--difficulty-hard: #EF7B72;--difficulty-easy-bg: rgba(74, 203, 132, .12);--difficulty-easy-border: rgba(74, 203, 132, .32);--difficulty-medium-bg: rgba(230, 169, 59, .12);--difficulty-medium-border: rgba(230, 169, 59, .32);--difficulty-hard-bg: rgba(239, 123, 114, .12);--difficulty-hard-border: rgba(239, 123, 114, .32);--border-color: #252A27;--border-light: #2C322F;--border-strong: #363D39;--border-hover: #444C47;--divider-color: #1F2422;--hover-bg: rgba(232, 235, 232, .06);--hover-bg-alt: rgba(232, 235, 232, .1);--accent: rgba(52, 197, 138, .12);--accent-05: rgba(52, 197, 138, .06);--accent-10: rgba(52, 197, 138, .12);--accent-15: rgba(52, 197, 138, .17);--accent-20: rgba(52, 197, 138, .24);--accent-30: rgba(52, 197, 138, .34);--accent-50: rgba(52, 197, 138, .5);--primary-10: rgba(52, 197, 138, .12);--primary-20: rgba(52, 197, 138, .24);--overlay-dark: rgba(0, 0, 0, .82);--overlay-medium: rgba(0, 0, 0, .6);--overlay-light: rgba(0, 0, 0, .4);--modal-overlay: rgba(0, 0, 0, .66);--bg-secondary-alpha: rgba(19, 22, 21, .9);--shimmer-light: rgba(232, 235, 232, .09);--warning-bg: rgba(230, 169, 59, .12);--bg-info: rgba(110, 164, 238, .12);--gradient-primary: linear-gradient(0deg, #34C58A, #34C58A);--gradient-primary-alt: linear-gradient(0deg, #34C58A, #34C58A);--gradient-button: linear-gradient(0deg, #34C58A, #34C58A);--gradient-card: linear-gradient(0deg, #141816, #141816);--gradient-card-alt: linear-gradient(0deg, #191D1B, #191D1B);--gradient-hero: linear-gradient(0deg, #0E1110, #0E1110);--gradient-hover: linear-gradient(0deg, rgba(232, 235, 232, .055), rgba(232, 235, 232, .055));--gradient-accent: linear-gradient(0deg, #34C58A, #34C58A);--gradient-admin: linear-gradient(0deg, #0F1211, #0F1211);--gradient-overlay: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .8));--cta-bg: linear-gradient(0deg, #34C58A, #34C58A);--shadow-xs: 0 1px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 1px 3px rgba(0, 0, 0, .45);--shadow-lg: 0 6px 16px rgba(0, 0, 0, .5);--shadow-xl: 0 10px 28px rgba(0, 0, 0, .55);--shadow-2xl: 0 14px 36px rgba(0, 0, 0, .6);--shadow-primary: 0 1px 2px rgba(52, 197, 138, .25);--shadow-primary-md: 0 2px 8px rgba(52, 197, 138, .2);--shadow-primary-lg: 0 4px 14px rgba(52, 197, 138, .24);--shadow-card: 0 1px 0 rgba(0, 0, 0, .3);--shadow-card-hover: 0 4px 14px rgba(0, 0, 0, .45);--shadow-deep: 0 20px 48px rgba(0, 0, 0, .65);--btn-primary-text: #04140C;--on-semantic: #04140C}:root,:root[data-theme=light],:root[data-theme=dark]{--color-bg: var(--bg-primary);--color-surface-muted: var(--bg-tertiary);--color-surface-elevated: var(--bg-card);--surface-elevated: var(--bg-card);--color-text: var(--text-primary);--color-text-muted: var(--text-muted);--color-danger: var(--danger-color);--btn-primary-bg: var(--primary);--btn-primary-hover: var(--primary-hover);--btn-secondary-bg: var(--bg-secondary);--btn-secondary-hover: var(--bg-hover);--icon-color: var(--text-primary);--accent-soft: color-mix(in srgb, var(--primary) 9%, transparent);--accent-softer: color-mix(in srgb, var(--primary) 5%, transparent);--accent-line: color-mix(in srgb, var(--primary) 30%, transparent);--success-soft: color-mix(in srgb, var(--success-color) 11%, transparent);--warning-soft: color-mix(in srgb, var(--warning-color) 12%, transparent);--danger-soft: color-mix(in srgb, var(--danger-color) 10%, transparent);--info-soft: color-mix(in srgb, var(--info-color) 10%, transparent);--ai-soft: color-mix(in srgb, var(--primary-color) 10%, transparent);--on-primary: var(--btn-primary-text);--surface-sunken: var(--bg-tertiary);--focus-ring: 0 0 0 2px var(--bg-primary), 0 0 0 4px color-mix(in srgb, var(--primary) 60%, transparent);--card-bg: var(--bg-card);--card-background: var(--bg-card);--background: var(--bg-primary);--background-primary: var(--bg-primary);--background-secondary: var(--bg-secondary);--input-bg: var(--bg-tertiary);--text-color: var(--text-primary);--bg-info: var(--bg-info, rgba(37, 99, 235, .08));--success: var(--success-color);--success-light: color-mix(in srgb, var(--success-color) 13%, transparent);--success-dark: var(--success-color);--danger: var(--danger-color);--warning: var(--warning-color);--warning-dark: var(--warning-dark, var(--warning-color));--text-quaternary: var(--text-tertiary);--color-primary: var(--primary);--color-primary-hover: var(--primary-hover);--color-primary-light: color-mix(in srgb, var(--primary) 12%, transparent);--color-primary-lighter: color-mix(in srgb, var(--primary) 7%, transparent);--color-primary-dark: var(--primary-dark);--color-secondary: var(--text-secondary);--color-secondary-light: var(--bg-tertiary);--color-background: var(--bg-primary);--color-surface: var(--bg-card);--color-surface-secondary: var(--bg-secondary);--color-surface-tertiary: var(--bg-tertiary);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-tertiary: var(--text-tertiary);--color-text-light: var(--text-light);--color-border: var(--border-color);--color-success: var(--success-color);--color-success-light: color-mix(in srgb, var(--success-color) 13%, transparent);--color-warning: var(--warning-color);--color-warning-light: color-mix(in srgb, var(--warning-color) 13%, transparent);--color-error: var(--danger-color);--color-error-light: var(--danger-bg-light);--color-info: var(--info-color);--color-info-light: var(--bg-info)}body{background:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-base),color var(--transition-base)}.dashboard{background:var(--bg-primary);color:var(--text-primary)}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color)}.main-content{background:var(--bg-primary)}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.page-content{background:var(--bg-primary);color:var(--text-primary)}.stat-card,.recommendation-card,.progress-card,.focus-zone,.problem-item,.modal-content,.activity-item{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}input,select,textarea{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select option{background:var(--bg-secondary);color:var(--text-primary);padding:.5rem}:root[data-theme=light] select option{background:#fff;color:#171a18}:root[data-theme=dark] select option{background:#111413;color:#e7eae7}.btn-primary,.add-problem-btn,.submit-btn{background:var(--btn-primary-bg, var(--primary));color:var(--btn-primary-text, #ffffff)}.btn-primary:hover,.add-problem-btn:hover,.submit-btn:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-delete,.remove-btn{background:var(--danger-color)}.difficulty-badge.easy{background:var(--difficulty-easy-bg);color:var(--difficulty-easy)}.difficulty-badge.medium{background:var(--difficulty-medium-bg);color:var(--difficulty-medium)}.difficulty-badge.hard{background:var(--difficulty-hard-bg);color:var(--difficulty-hard)}.modal-overlay{background:var(--modal-overlay)}:root[data-theme=light] .sidebar nav a{color:var(--text-secondary)}:root[data-theme=light] .sidebar nav a:hover,:root[data-theme=light] .sidebar nav a.active{background:var(--hover-bg);color:var(--accent-color)}:root[data-theme=light] .code-textarea{background:var(--bg-tertiary);color:var(--text-primary)}:root[data-theme=light] .test-case,:root[data-theme=light] .test-case-group{background:var(--bg-tertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-base) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-base) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-base) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-base) ease-out}.animate-scale-in{animation:scaleIn var(--transition-fast) ease-out}.animate-bounce{animation:bounce 1s ease infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-shake{animation:shake .5s ease}.animate-rotate{animation:rotate 1s linear infinite}.stagger-item{animation:fadeInUp var(--transition-base) ease-out;animation-fill-mode:both}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px var(--primary),var(--shadow-card-hover)}@keyframes progress{0%{width:0}}.progress-bar{animation:progress 1s ease-out forwards}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutToRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-enter{animation:slideInFromRight .3s ease-out}.toast-exit{animation:slideOutToRight .3s ease-out}.modal-overlay-enter{animation:fadeIn .2s ease-out}.modal-overlay-exit{animation:fadeOut .2s ease-out}.modal-content-enter{animation:scaleIn .3s ease-out}.modal-content-exit{animation:scaleOut .2s ease-out}.page-enter{animation:fadeInUp .4s ease-out}.page-exit{animation:fadeOut .3s ease-out}@keyframes dotPulse{0%,80%,to{opacity:.3}40%{opacity:1}}.loading-dots span{display:inline-block;animation:dotPulse 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes ripple{to{transform:scale(4);opacity:0}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:200px;height:200px;animation:ripple .6s ease-out}html{scroll-behavior:smooth}.reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease-standard),transform var(--duration-slow) var(--ease-standard);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal-up{transform:translateY(20px)}.reveal-fade{transform:none}.reveal-left{transform:translate(-18px)}.reveal-right{transform:translate(18px)}.reveal-scale{transform:translateY(14px) scale(.98)}.reveal.is-visible{opacity:1;transform:none;will-change:auto}.reveal-group>*{transition-delay:calc(var(--reveal-step, 80ms) * var(--i, 0))}.motion-card{transition:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.motion-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--border-hover)}.cursor-glow{position:relative;isolation:isolate}.cursor-glow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--primary) 12%,transparent),transparent 70%);opacity:0;transition:opacity var(--duration-normal) var(--ease-standard);pointer-events:none}.cursor-glow:hover:before{opacity:1}.cursor-glow>*{position:relative;z-index:1}@keyframes ambient-drift{0%{transform:translateZ(0)}50%{transform:translate3d(-6px,6px,0)}to{transform:translateZ(0)}}.ambient-grid{animation:ambient-drift 26s var(--ease-standard) infinite}@keyframes ambient-glow{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}.ambient-glow{animation:ambient-glow 9s ease-in-out infinite}@keyframes caret-blink{0%,45%{opacity:1}50%,95%{opacity:0}to{opacity:1}}.type-caret{display:inline-block;width:2px;height:1em;margin-left:1px;vertical-align:-.15em;background:currentColor;animation:caret-blink 1s steps(1) infinite}@keyframes state-pulse{0%,to{opacity:1}50%{opacity:.45}}.state-running{color:var(--warning-color)}.state-running .state-dot{animation:state-pulse 1s ease-in-out infinite}@keyframes check-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.success-pop{animation:check-pop var(--duration-slow) var(--ease-emphasized) both}.line-draw{transform:scaleY(0);transform-origin:top;transition:transform .9s var(--ease-standard)}.line-draw.is-visible{transform:scaleY(1)}@keyframes node-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--primary) 35%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 0%,transparent)}}.node-current{animation:node-pulse 2.2s ease-in-out infinite}@keyframes dot-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.typing-dots{display:inline-flex;align-items:center;gap:3px}.typing-dots span{width:5px;height:5px;border-radius:50%;background:currentColor;animation:dot-bounce 1.1s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes error-shake{0%{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}to{transform:translate(0)}}.error-shake{animation:error-shake .2s var(--ease-standard) 1}.grow-bar{transform:scaleX(0);transform-origin:left;transition:transform var(--duration-slow) var(--ease-standard)}.grow-bar.is-visible{transform:scaleX(1)}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--primary);z-index:1000;transform-origin:left;transition:transform 80ms linear}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}.reveal,.reveal.is-visible{transition-delay:0ms!important}.ambient-grid,.ambient-glow,.node-current,.typing-dots span{animation:none!important}html{scroll-behavior:auto}}.btn,.btn-primary,.btn-secondary,.btn-danger,.btn-ghost,.btn-text{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--ctl-h-md);padding:0 14px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-primary);font-weight:600;font-size:var(--text-base);line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;color:var(--text-primary);background:transparent;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--duration-fast) var(--ease-standard)}.btn:active:not(.btn-disabled):not(:disabled),.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){filter:brightness(.96);transform:scale(.97)}.btn-primary.btn-large:hover:not(.btn-disabled):not(:disabled){box-shadow:var(--glow-accent)}.btn>svg:last-child,.btn-content svg:last-child{transition:transform var(--duration-fast) var(--ease-standard)}.btn:hover>svg:last-child,.btn:hover .btn-content svg:last-child{transform:translate(2px)}.btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.btn-ghost:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background:var(--btn-primary-bg, var(--primary));color:var(--btn-primary-text, #fff);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(.btn-disabled):not(:disabled){background:var(--btn-primary-hover, var(--primary-hover));color:var(--btn-primary-text, #fff)}.btn-secondary{background:var(--bg-card);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover:not(.btn-disabled):not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover)}.btn-ghost,.btn-text{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(.btn-disabled):not(:disabled),.btn-text:hover:not(.btn-disabled):not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-text{padding:0 6px;color:var(--primary)}.btn-text:hover:not(.btn-disabled):not(:disabled){background:var(--accent-soft);color:var(--primary)}.btn-danger{background:var(--danger-color);color:var(--on-semantic, #fff)}.btn-danger:hover:not(.btn-disabled):not(:disabled){background:var(--danger-dark)}.btn-danger-quiet{background:transparent;border-color:var(--danger-border);color:var(--danger-color)}.btn-danger-quiet:hover:not(.btn-disabled):not(:disabled){background:var(--danger-soft)}.btn-small{height:var(--ctl-h-sm);padding:0 10px;font-size:var(--text-sm)}.btn-medium{height:var(--ctl-h-md);padding:0 14px}.btn-large{height:var(--ctl-h-lg);padding:0 20px;font-size:var(--text-md);border-radius:var(--radius-md)}.btn-full{width:100%}.btn-disabled,.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-icon{display:inline-flex;align-items:center;justify-content:center}.btn-icon svg,.btn>svg{width:16px;height:16px;flex-shrink:0}.btn-large .btn-icon svg,.btn-large>svg{width:18px;height:18px}.btn-content{display:inline-flex;align-items:center;gap:2px}.btn-loader{display:inline-flex;align-items:center;justify-content:center}.icon-btn{display:inline-grid;place-items:center;width:var(--ctl-h-md);height:var(--ctl-h-md);padding:0;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.icon-btn[aria-pressed=true],.icon-btn.is-active{background:var(--accent-soft);color:var(--primary)}.icon-btn.sm{width:var(--ctl-h-sm);height:var(--ctl-h-sm)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn svg{width:17px;height:17px}.btn-spinner{width:16px;height:16px;animation:spinner-rotate .9s linear infinite}.btn-spinner-circle{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:45;stroke-dashoffset:0;animation:spinner-dash 1.2s ease-in-out infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@keyframes spinner-dash{0%{stroke-dasharray:1,45;stroke-dashoffset:0}50%{stroke-dasharray:30,45;stroke-dashoffset:-12}to{stroke-dasharray:30,45;stroke-dashoffset:-45}}.card{background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:none}.card-default{border:1px solid var(--border-color)}.card-plain{border-color:transparent;box-shadow:none;background-color:transparent}.card-elevated{box-shadow:var(--shadow-md)}.card-hoverable{cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.card-hoverable:hover{border-color:var(--border-hover);background-color:var(--bg-secondary)}.card-padding-none{padding:0}.card-padding-small{padding:var(--space-4)}.card-padding-medium{padding:var(--space-5)}.card-padding-large{padding:var(--space-8)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.card-title{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.card-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.card-body{color:var(--text-secondary)}.card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-color)}:where(.input,.select,.textarea,input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],select,textarea){width:100%;min-height:var(--ctl-h-md);padding:7px 10px;background-color:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-primary);font-size:var(--text-base);line-height:1.4;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}:where(select,.select){-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.input:hover,.select:hover,.textarea:hover,input:hover,select:hover,textarea:hover{border-color:var(--border-hover)}.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);background-color:var(--bg-card);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,select:disabled,textarea:disabled{background-color:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}input[aria-invalid=true],.input.is-invalid,textarea[aria-invalid=true]{border-color:var(--danger-color)}input[aria-invalid=true]:focus,.input.is-invalid:focus{box-shadow:0 0 0 3px var(--danger-soft)}input[type=checkbox],input[type=radio]{width:15px;height:15px;min-height:0;padding:0;accent-color:var(--primary);cursor:pointer}.textarea,textarea{min-height:88px;resize:vertical;line-height:1.55}.field-label{display:block;margin-bottom:6px;font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.field-hint{margin-top:6px;font-size:var(--text-xs);color:var(--text-muted)}.field-error{margin-top:6px;font-size:var(--text-xs);color:var(--danger-color)}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:500;letter-spacing:0;line-height:1;white-space:nowrap;background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid transparent}.badge svg{width:12px;height:12px}.badge-primary{background-color:var(--accent-soft);color:var(--primary)}.badge-success{background-color:var(--success-soft);color:var(--success-color)}.badge-warning{background-color:var(--warning-soft);color:var(--warning-color)}.badge-danger{background-color:var(--danger-soft);color:var(--danger-color)}.badge-info{background-color:var(--info-soft);color:var(--info-color)}.badge-neutral{background-color:var(--bg-tertiary);color:var(--text-muted)}.difficulty-badge{display:inline-flex;align-items:center;gap:6px;height:auto;padding:0;border:0!important;background:transparent!important;font-size:var(--text-sm);font-weight:500;line-height:1.2;color:var(--text-secondary)}.difficulty-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.difficulty-badge.easy{color:var(--difficulty-easy)}.difficulty-badge.medium{color:var(--difficulty-medium)}.difficulty-badge.hard{color:var(--difficulty-hard)}.table,.data-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.table th,.data-table th{padding:9px 14px;text-align:left;font-size:var(--text-xs);font-weight:600;text-transform:none;letter-spacing:.01em;color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}.table td,.data-table td{padding:11px 14px;border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:middle}.table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:none}.table tbody tr,.data-table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover,.data-table tbody tr:hover{background-color:var(--bg-hover)}.section-title{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.divider{height:1px;background:var(--border-color);border:none;margin:var(--space-4) 0}.divider-vertical{width:1px;align-self:stretch;background:var(--border-color)}.ds-page{width:100%;max-width:var(--page-max);margin:0 auto;padding:var(--space-6) var(--page-pad) var(--space-12)}.ds-page.is-narrow{max-width:960px}.ds-page.is-wide{max-width:1480px}.ds-stack{display:flex;flex-direction:column;gap:var(--space-6)}.ds-stack.tight{gap:var(--space-4)}.ds-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-6);flex-wrap:wrap;padding-bottom:var(--space-5);margin-bottom:var(--space-6);border-bottom:1px solid var(--border-color)}.ds-page-head.no-rule{border-bottom:0;padding-bottom:0;margin-bottom:var(--space-5)}.ds-eyebrow{display:block;margin-bottom:6px;font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.ds-page-title{font-size:var(--text-3xl);line-height:1.15;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.ds-page-lede{margin-top:6px;max-width:62ch;font-size:var(--text-md);color:var(--text-secondary);line-height:1.5}.ds-page-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ds-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.ds-section-title{font-size:var(--text-md);font-weight:600;letter-spacing:-.005em;color:var(--text-primary)}.ds-section-sub{font-size:var(--text-sm);color:var(--text-muted)}.ds-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:500;color:var(--primary);text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.ds-link:hover{text-decoration:underline;text-underline-offset:3px}.ds-link svg{width:14px;height:14px}.ds-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:0}.ds-panel-pad{padding:var(--space-5)}.ds-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px var(--space-5);border-bottom:1px solid var(--border-color)}.ds-panel-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.ds-panel-body{padding:var(--space-5)}.ds-panel-foot{padding:10px var(--space-5);border-top:1px solid var(--border-color);background:var(--bg-secondary);border-radius:0 0 var(--radius-md) var(--radius-md)}.ds-divided>*+*{border-top:1px solid var(--border-light)}.ds-statgroup{display:grid;grid-template-columns:repeat(var(--cols, 4),minmax(0,1fr));background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.ds-stat{padding:14px var(--space-5);min-width:0;border-left:1px solid var(--border-color)}.ds-stat:first-child{border-left:0}.ds-stat-label{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:500;color:var(--text-muted);white-space:nowrap}.ds-stat-label svg{width:13px;height:13px}.ds-stat-value{margin-top:4px;display:flex;align-items:baseline;gap:6px;font-size:var(--text-2xl);line-height:1.15;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.ds-stat-unit{font-size:var(--text-sm);font-weight:500;color:var(--text-muted);letter-spacing:0}.ds-stat-note{margin-top:2px;font-size:var(--text-xs);color:var(--text-muted)}.ds-bar{position:relative;height:6px;border-radius:3px;background:var(--bg-tertiary);border:0;overflow:hidden}.ds-bar>span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width var(--transition-slow)}.ds-bar.thin{height:4px}.ds-bar.tall{height:8px}.ds-bar.warn>span{background:var(--warning-color)}.ds-bar.danger>span{background:var(--danger-color)}.ds-bar.neutral>span{background:var(--text-tertiary)}.ds-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.ds-status svg{width:15px;height:15px;flex-shrink:0}.ds-status.is-solved{color:var(--success-color)}.ds-status.is-progress{color:var(--warning-color)}.ds-status.is-failed{color:var(--danger-color)}.ds-diff{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:500;white-space:nowrap;color:var(--text-secondary)}.ds-diff:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.ds-diff.easy{color:var(--difficulty-easy)}.ds-diff.medium{color:var(--difficulty-medium)}.ds-diff.hard{color:var(--difficulty-hard)}.ds-tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-xs);white-space:nowrap}.ds-tag.is-accent{background:var(--accent-soft);color:var(--primary)}.ds-tag.is-ai{background:var(--ai-soft);color:var(--primary-color)}.ds-dotlist{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0 6px;color:var(--text-muted);font-size:var(--text-sm)}.ds-dotlist>*+*:before{content:"·";margin-right:6px;color:var(--text-tertiary)}.ds-kbd{display:inline-block;padding:1px 5px;font:500 11px/1.4 var(--font-mono);color:var(--text-muted);background:var(--bg-tertiary);border:1px solid var(--border-color);border-bottom-width:2px;border-radius:var(--radius-xs)}.ds-tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--border-color);overflow-x:auto;scrollbar-width:none}.ds-tabs::-webkit-scrollbar{display:none}.ds-tab{position:relative;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0;font-size:var(--text-base);font-weight:500;color:var(--text-muted);background:none;border:0;cursor:pointer;white-space:nowrap;text-decoration:none}.ds-tab:hover{color:var(--text-primary)}.ds-tab[aria-selected=true],.ds-tab.is-active{color:var(--text-primary);font-weight:600}.ds-tab[aria-selected=true]:after,.ds-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary)}.ds-tab-count{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.ds-tab:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}.ds-seg{display:inline-flex;padding:2px;gap:2px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.ds-seg button{height:28px;padding:0 10px;font-size:var(--text-sm);font-weight:500;color:var(--text-muted);background:transparent;border-radius:4px;cursor:pointer}.ds-seg button:hover{color:var(--text-primary)}.ds-seg button[aria-pressed=true],.ds-seg button.is-active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.ds-search{position:relative;display:flex;align-items:center;min-width:0}.ds-search>svg{position:absolute;left:10px;width:15px;height:15px;color:var(--text-muted);pointer-events:none}.ds-search input{padding-left:32px;padding-right:30px}.ds-search .ds-search-clear{position:absolute;right:4px;display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-xs);color:var(--text-muted);background:none}.ds-search .ds-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.ds-search .ds-search-clear svg{position:static;width:14px;height:14px}.ds-filterbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ds-filterbar .ds-search{flex:1 1 260px}.ds-filterbar select{width:auto;min-width:120px}.ds-chip{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 4px 0 9px;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-xs)}.ds-chip button{display:grid;place-items:center;width:18px;height:18px;border-radius:3px;color:var(--text-muted)}.ds-chip button:hover{background:var(--bg-hover);color:var(--text-primary)}.ds-chip button svg{width:12px;height:12px}.ds-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-base)}.ds-table-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:auto}.ds-table thead th{position:sticky;top:0;z-index:2;padding:9px 14px;text-align:left;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}.ds-table thead th button{display:inline-flex;align-items:center;gap:4px;font:inherit;color:inherit;cursor:pointer}.ds-table thead th button:hover{color:var(--text-primary)}.ds-table thead th button svg{width:12px;height:12px;opacity:.7}.ds-table tbody td{padding:12px 14px;border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:middle}.ds-table tbody tr:last-child td{border-bottom:0}.ds-table tbody tr{transition:background-color var(--transition-fast)}.ds-table tbody tr:hover{background:var(--bg-hover)}.ds-table .num{text-align:right;font-variant-numeric:tabular-nums}.ds-table .mono{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary)}.ds-table-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 14px;border-top:1px solid var(--border-color);background:var(--bg-secondary);font-size:var(--text-sm);color:var(--text-muted)}.ds-pager{display:inline-flex;align-items:center;gap:4px}.ds-row{display:flex;align-items:center;gap:var(--space-3);padding:11px var(--space-4);min-width:0;color:inherit;text-decoration:none;transition:background-color var(--transition-fast)}a.ds-row:hover,button.ds-row:hover{background:var(--bg-hover)}.ds-row-main{flex:1;min-width:0}.ds-row-title{font-size:var(--text-base);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-row-sub{font-size:var(--text-xs);color:var(--text-muted);margin-top:1px}.ds-empty{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:var(--space-8) var(--space-6);max-width:520px;margin:0 auto;text-align:left}.ds-empty.is-center{align-items:center;text-align:center}.ds-empty.is-inline{padding:var(--space-5) var(--space-4);margin:0;max-width:none}.ds-empty-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:4px;color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.ds-empty-icon svg{width:16px;height:16px}.ds-empty-title{font-size:var(--text-md);font-weight:600;color:var(--text-primary)}.ds-empty-text{font-size:var(--text-base);color:var(--text-secondary);line-height:1.5;max-width:46ch}.ds-empty-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.ds-error .ds-empty-icon{color:var(--danger-color);background:var(--danger-soft)}.ds-callout{display:flex;gap:var(--space-3);padding:10px var(--space-4);font-size:var(--text-base);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-left-width:3px;border-radius:var(--radius-sm)}.ds-callout.info{border-left-color:var(--info-color)}.ds-callout.warn{border-left-color:var(--warning-color)}.ds-callout.danger{border-left-color:var(--danger-color)}.ds-callout.success{border-left-color:var(--success-color)}.ds-callout svg{width:16px;height:16px;margin-top:2px;flex-shrink:0}@keyframes ds-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ds-skel{display:block;height:12px;border-radius:var(--radius-xs);background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 37%,var(--bg-tertiary) 63%);background-size:400% 100%;animation:ds-shimmer 1.6s ease infinite}.ds-skel.lg{height:22px}.ds-skel.xl{height:34px;border-radius:var(--radius-sm)}.ds-skel.block{height:80px;border-radius:var(--radius-md)}.ds-form{display:flex;flex-direction:column;gap:var(--space-4)}.ds-field{display:flex;flex-direction:column;min-width:0}.ds-field>label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:6px}.ds-field-hint{margin-top:5px;font-size:var(--text-xs);color:var(--text-muted)}.ds-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.ds-switch{position:relative;flex-shrink:0;width:32px;height:18px;border-radius:9px;background:var(--border-strong);border:0;cursor:pointer;transition:background-color var(--transition-fast)}.ds-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--transition-fast)}.ds-switch[aria-checked=true]{background:var(--primary)}.ds-switch[aria-checked=true]:after{transform:translate(14px)}.ds-switch:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ds-menu-wrap{position:relative}.ds-menu{position:absolute;z-index:var(--z-dropdown);min-width:220px;padding:4px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);animation:ds-pop .14s var(--ease)}.ds-menu.align-right{right:0}.ds-menu.up{bottom:calc(100% + 6px)}.ds-menu.down{top:calc(100% + 6px)}@keyframes ds-pop{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.ds-menu-label{padding:8px 10px 4px;font-size:var(--text-xs);font-weight:600;color:var(--text-muted)}.ds-menu-sep{height:1px;margin:4px -4px;background:var(--border-color)}.ds-menu-item{display:flex;align-items:center;gap:10px;width:100%;height:32px;padding:0 10px;font-size:var(--text-base);color:var(--text-primary);text-align:left;text-decoration:none;background:none;border-radius:var(--radius-xs);cursor:pointer}.ds-menu-item svg{width:15px;height:15px;color:var(--text-muted)}.ds-menu-item:hover,.ds-menu-item:focus-visible{background:var(--bg-hover);outline:none}.ds-menu-item[aria-checked=true]{font-weight:600}.ds-menu-item .ds-menu-check{margin-left:auto;color:var(--primary)}.ds-menu-item.danger{color:var(--danger-color)}.ds-menu-item.danger svg{color:var(--danger-color)}.ds-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);background:var(--modal-overlay);animation:ds-fade .18s var(--ease)}@keyframes ds-fade{0%{opacity:0}to{opacity:1}}.ds-drawer{position:fixed;z-index:var(--z-modal);background:var(--bg-card);box-shadow:var(--shadow-deep);display:flex;flex-direction:column}.ds-drawer.from-bottom{left:0;right:0;bottom:0;max-height:86vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--border-strong);animation:ds-up .22s var(--ease)}.ds-drawer.from-left{top:0;bottom:0;left:0;width:min(300px,86vw);border-right:1px solid var(--border-strong);animation:ds-in-left .22s var(--ease)}@keyframes ds-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes ds-in-left{0%{transform:translate(-100%)}to{transform:none}}.ds-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:12px var(--space-4);border-bottom:1px solid var(--border-color);font-weight:600}.ds-drawer-body{padding:var(--space-4);overflow-y:auto}.ds-drawer-foot{padding:12px var(--space-4);border-top:1px solid var(--border-color);display:flex;gap:var(--space-2);justify-content:flex-end}.ds-dialog-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-4)}.ds-dialog{width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-deep);animation:ds-pop .16s var(--ease)}.ds-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:14px var(--space-5);border-bottom:1px solid var(--border-color)}.ds-dialog-head h2{font-size:var(--text-lg);font-weight:600}.ds-dialog-body{padding:var(--space-5);overflow-y:auto}.ds-dialog-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:12px var(--space-5);border-top:1px solid var(--border-color);background:var(--bg-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.ds-activity{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,11px);grid-auto-columns:11px;gap:3px}.ds-activity i{width:11px;height:11px;border-radius:2px;background:var(--bg-tertiary);border:1px solid color-mix(in srgb,var(--border-color) 60%,transparent)}.ds-activity i[data-l="1"]{background:color-mix(in srgb,var(--primary) 28%,var(--bg-card));border-color:transparent}.ds-activity i[data-l="2"]{background:color-mix(in srgb,var(--primary) 50%,var(--bg-card));border-color:transparent}.ds-activity i[data-l="3"]{background:color-mix(in srgb,var(--primary) 75%,var(--bg-card));border-color:transparent}.ds-activity i[data-l="4"]{background:var(--primary);border-color:transparent}.ds-activity i.is-future{visibility:hidden}.ds-muted{color:var(--text-muted)}.ds-mono{font-family:var(--font-mono)}.ds-serif{font-family:var(--font-serif);font-weight:500;letter-spacing:-.01em}.ds-nowrap{white-space:nowrap}.ds-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ds-grow{flex:1;min-width:0}.ds-row-flex{display:flex;align-items:center;gap:var(--space-2)}@media (max-width: 720px){.ds-hide-sm{display:none!important}.ds-page{padding:var(--space-4) var(--space-4) var(--space-10)}.ds-page-title{font-size:var(--text-2xl)}.ds-statgroup{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-stat:nth-child(odd){border-left:0}.ds-stat:nth-child(n+3){border-top:1px solid var(--border-color)}.ds-filterbar select{flex:1 1 130px}.ds-page-actions{width:100%}.ds-page-actions>.btn{flex:1 1 0;min-width:0}}.ds-chart{display:block;overflow:visible}.ds-chart-grid{stroke:var(--border-color);stroke-width:1;stroke-dasharray:2 3}.ds-chart-axis{fill:var(--text-muted);font:500 10.5px var(--font-primary)}.ds-chart-bar{fill:var(--primary);opacity:.88;transition:opacity var(--transition-fast)}.ds-chart-bar:hover{opacity:1}.ds-chart-line{stroke:var(--primary);stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round}.ds-chart-dot{fill:var(--bg-card);stroke:var(--primary);stroke-width:1.5}:where(*:not(input,select,textarea)){margin:0;padding:0}:where(input,select,textarea){margin:0}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:15px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--text-base);line-height:1.5;font-weight:400;overflow-x:hidden}:root{--icon-color: var(--text-primary)}.lucide{color:inherit;fill:none;flex-shrink:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.25;letter-spacing:-.012em;text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--accent-line);color:var(--text-primary)}.tnum,table,.ds-stat-value{font-variant-numeric:tabular-nums}code,pre{font-family:var(--font-mono);font-variant-ligatures:common-ligatures}#root{min-height:100vh}button,a,input,select,textarea{transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.5rem;color:var(--primary);font-family:var(--font-display);animation:pulse 2s ease-in-out infinite}.animate-fadeIn{animation:fadeIn .5s ease-out forwards}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-xs)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--border-hover);background-clip:content-box;border:2px solid transparent}::-webkit-scrollbar-track{background:transparent}.ds-skip{position:fixed;top:8px;left:8px;z-index:3000;padding:8px 12px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;transform:translateY(-160%)}.ds-skip:focus{transform:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
