@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--radius-full:999px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--success-color:#22c55e;--amber-color:#f59e0b;--danger-color:#ef4444;--learning-color:#10b981;--practice-color:#3b82f6;--project-color:#6366f1}[data-theme=dark]{--bg-color:#000;--bg-secondary:#0a0a0f;--bg:var(--bg-color);--bg-card:#101014eb;--bg-panel:#0a0a10f0;--panel-bg:#141419cc;--panel-border:#ffffff1a;--border-color:#ffffff1a;--text-primary:#fff;--text-secondary:#a1a1aa;--primary-color:#fff;--primary-hover:#e4e4e7;--primary-glow:#ffffff26;--accent-color:#fff;--accent-glow:#ffffff1a;--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--surface-soft:#ffffff0d;--surface-soft-hover:#ffffff17;--field-bg:#ffffff0d;--field-text:#fff;--shadow-soft:0 12px 30px #0000003d;--shadow-elevated:0 18px 40px #00000059;--gradient-bg:radial-gradient(circle at 15% 50%, #ffffff08, transparent 30%), radial-gradient(circle at 85% 20%, #ffffff08, transparent 30%)}[data-theme=light]{--bg-color:#fff;--bg-secondary:#f3f5f8;--bg:var(--bg-color);--bg-card:#fffffffa;--bg-panel:#fffffff5;--panel-bg:#ffffffe0;--panel-border:#0f172a14;--border-color:#0f172a1a;--text-primary:#111827;--text-secondary:#6b7280;--primary-color:#111827;--primary-hover:#1f2937;--primary-glow:#11182714;--accent-color:#0f766e;--accent-glow:#0f766e1a;--glass-bg:#0f172a09;--glass-border:#0f172a14;--surface-soft:#0f172a0a;--surface-soft-hover:#0f172a14;--field-bg:#fffffff5;--field-text:#111827;--shadow-soft:0 10px 28px #0f172a14;--shadow-elevated:0 22px 50px #0f172a1f;--gradient-bg:radial-gradient(circle at 15% 50%, #0f172a08, transparent 30%), radial-gradient(circle at 85% 20%, #0f766e0a, transparent 30%)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:var(--gradient-bg);background-attachment:fixed;min-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;transition:background-color .3s,color .3s}#root{flex-direction:column;min-height:100vh;display:flex}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);transition:var(--transition);padding:24px}.glass-panel:hover{border-color:var(--glass-border)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;line-height:1.2}h1{letter-spacing:-.02em;font-size:2.2rem}h2{font-size:1.8rem}h3{font-size:1.4rem}p{color:var(--text-secondary);margin-bottom:1rem}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--text-primary);color:var(--bg-color);box-shadow:0 4px 20px var(--primary-glow)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 30px var(--primary-glow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-outline{color:var(--text-primary);border:1px solid var(--panel-border);background:0 0}.btn-outline:hover{background:var(--surface-soft);border-color:var(--glass-border);transform:translateY(-1px)}.btn-danger{color:#fff;background:#ef4444e6;box-shadow:0 6px 24px #ef444433}.btn-danger:hover:not(:disabled){background:#ef4444;transform:translateY(-1px)}.button-group-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-confirm{background:var(--primary-color);color:#fff}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--surface-soft);color:var(--text-primary)}.input-group{margin-bottom:20px}.input-label{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.input-field{background:var(--field-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--field-text);width:100%;transition:var(--transition);padding:12px 16px;font-family:inherit;font-size:1rem}.input-field:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.input-field::placeholder{color:var(--text-secondary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.main-content{flex:1;padding:24px 0}.mb-8{margin-bottom:32px}.mt-6{margin-top:24px}.mt-4{margin-top:16px}.text-xs{font-size:.8rem}.text-sm{font-size:.9rem}.text-center{text-align:center}.text-right{text-align:right!important}.page-loader{justify-content:center;align-items:center;min-height:calc(100vh - 48px);display:flex}.loading-block{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;display:flex}.loading-block p{margin-bottom:0}.app-modal-backdrop{z-index:1200;background:#05060eb3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.app-modal{flex-direction:column;gap:14px;width:min(440px,100%);display:flex}.app-modal h3,.app-modal p{margin-bottom:0}.app-modal-icon{border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.app-modal-icon.info,.app-modal-icon.success{color:var(--accent-color);background:#06b6d424}.app-modal-icon.warning{color:#f59e0b;background:#f59e0b24}.app-modal-icon.danger,.app-modal-icon.error{color:var(--danger-color);background:#ef444424}.app-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.toast-stack{z-index:1250;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;top:20px;right:20px}.toast-card{border-radius:var(--radius-md);border:1px solid var(--panel-border);background:#0f111bf5;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;display:flex;box-shadow:0 12px 30px #00000047}.toast-card.success{border-color:#10b9814d}.toast-card.error{border-color:#ef44444d}.toast-card.warning{border-color:#f59e0b4d}.toast-card.info{border-color:#06b6d44d}.toast-content{align-items:flex-start;gap:10px;display:flex}.toast-icon{color:var(--accent-color);margin-top:2px}.toast-card.success .toast-icon{color:var(--learning-color)}.toast-card.error .toast-icon{color:var(--danger-color)}.toast-card.warning .toast-icon{color:#f59e0b}.toast-card strong{margin-bottom:4px;display:block}.toast-card p{margin-bottom:0;font-size:.85rem}.toast-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--primary-glow)}50%{box-shadow:0 0 40px var(--primary-glow), 0 0 60px #7c3aed1a}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 37%,#ffffff08 63%) 0 0/400% 100%;animation:1.4s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0}}.loading-spinner{border:2px solid var(--panel-border);border-top-color:var(--text-primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.navbar{border-radius:var(--radius-lg);z-index:100;align-items:center;margin:12px 24px;padding:12px 24px;display:flex}.nav-content{justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.nav-brand{align-items:center;gap:10px;font-size:1.2rem;font-weight:700;display:flex}.brand-dot{background:var(--primary-color);width:10px;height:10px;box-shadow:0 0 12px var(--primary-color);border-radius:50%}.nav-links{gap:4px;display:flex}.nav-link{color:var(--text-secondary);transition:var(--transition);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:8px 14px;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.nav-link:hover,.nav-link.active{color:var(--text-primary);background:#ffffff0d}.nav-link.active svg{color:var(--primary-color)}.nav-user{position:relative}.nav-avatar-btn{cursor:pointer;border-radius:var(--radius-full);transition:var(--transition);background:0 0;border:none;align-items:center;gap:6px;padding:4px;display:flex}.nav-avatar-btn:hover{background:#ffffff0d}.nav-avatar-img{border:2px solid var(--panel-border);border-radius:50%;width:32px;height:32px}.nav-avatar-fallback{background:var(--primary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.dropdown-arrow{color:var(--text-secondary);transition:var(--transition)}.dropdown-arrow.open{transform:rotate(180deg)}.nav-dropdown{z-index:200;min-width:200px;padding:8px;animation:.2s ease-out slideDown;position:absolute;top:calc(100% + 8px);right:0}.dropdown-header{padding:8px 12px}.dropdown-name{font-size:.95rem;font-weight:600;display:block}.dropdown-college{color:var(--text-secondary);font-size:.8rem}.dropdown-divider{background:var(--panel-border);height:1px;margin:8px 0}.dropdown-item{width:100%;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:.9rem;display:flex}.dropdown-item:hover{color:var(--text-primary);background:#ffffff0d}.dropdown-item.danger:hover{color:var(--danger-color);background:#ef44441a}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:32px}.auth-header p{font-size:.95rem}.brand-logo{justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.brand-logo h1{margin-bottom:0}.error-message{color:var(--danger-color);border-radius:var(--radius-sm);background:#ef44441a;border:1px solid #ef444433;margin-bottom:20px;padding:12px;font-size:.9rem}.onboarding-container{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.onboarding-card{width:100%;max-width:640px}.onboarding-progress{justify-content:center;align-items:center;gap:40px;margin-bottom:36px;display:flex;position:relative}.progress-step{width:36px;height:36px;color:var(--text-secondary);border:2px solid var(--panel-border);z-index:2;transition:var(--transition);background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.progress-step.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 0 16px var(--primary-glow)}.progress-step.done{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.progress-line{background:var(--panel-border);z-index:1;border-radius:2px;width:60%;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.progress-fill{background:linear-gradient(90deg, var(--accent-color), var(--primary-color));border-radius:2px;height:100%}.step-header{text-align:center;margin-bottom:28px}.step-icon{color:var(--primary-color);margin-bottom:8px}.step-header h2{font-size:1.5rem}.step-header p{margin-bottom:0;font-size:.95rem}.goal-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.goal-card{border-radius:var(--radius-md);border:1px solid var(--panel-border);cursor:pointer;transition:var(--transition);color:var(--text-primary);text-align:center;background:#ffffff08;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;font-family:inherit;font-size:.85rem;display:flex}.goal-card:hover{background:#ffffff0f;transform:translateY(-2px)}.goal-card.selected{border-color:var(--primary-color);box-shadow:0 0 20px var(--primary-glow);background:#7c3aed1a}.goal-emoji{font-size:1.5rem}.goal-label{font-weight:500;line-height:1.3}.custom-goal-input{margin-top:16px}.skills-grid{flex-wrap:wrap;gap:8px;display:flex}.skill-card{border-radius:var(--radius-sm);border:1px solid var(--panel-border);transition:var(--transition);background:#ffffff08;align-items:center;gap:6px;display:flex;overflow:hidden}.skill-card.selected{border-color:var(--accent-color);background:#06b6d414}.skill-name-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:.85rem;font-weight:500;display:flex}.proficiency-selector{gap:2px;padding-right:4px;display:flex}.prof-btn{cursor:pointer;width:24px;height:24px;transition:var(--transition);color:var(--text-secondary);background:#ffffff0d;border:none;border-radius:50%;font-family:inherit;font-size:.7rem;font-weight:700}.prof-btn.active{background:var(--accent-color);color:#fff}.college-form{flex-direction:column;gap:4px;display:flex}.state-pill{border-radius:var(--radius-sm);border:1px solid var(--panel-border);min-height:48px;color:var(--text-primary);background:#ffffff0a;align-items:center;padding:12px 16px;font-weight:500;display:inline-flex}.searchable-select,.searchable-select-input{position:relative}.searchable-select-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.searchable-input{padding-left:42px}.searchable-select-menu{border-radius:var(--radius-md);border:1px solid var(--panel-border);background:var(--bg-panel);max-height:260px;box-shadow:var(--shadow-elevated);z-index:30;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.searchable-select-option{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.searchable-select-option:hover,.searchable-select-option.selected{background:#7c3aed1f}.searchable-select-empty,.college-helper-text{color:var(--text-secondary);font-size:.85rem}.searchable-select-empty{padding:14px}.college-helper-text{margin-bottom:0}.onboarding-actions{gap:12px;margin-top:32px;display:flex}.dashboard-header{justify-content:space-between;align-items:flex-end;margin-top:24px;display:flex}.greeting{background:linear-gradient(135deg, var(--text-primary), var(--accent-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.8rem}.subtitle{margin-bottom:0}.score-hero-row{gap:16px;margin-bottom:24px;display:flex}.score-hero-card{flex:1;align-items:center;gap:20px;display:flex;position:relative;overflow:hidden}.score-hero-card:before{content:"";border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary-color), transparent 50%);z-index:-1;opacity:.3;position:absolute;inset:-1px}.score-ring{background:var(--text-primary);width:64px;height:64px;color:#fff;box-shadow:0 0 30px var(--primary-glow);border-radius:50%;justify-content:center;align-items:center;animation:3s ease-in-out infinite glow;display:flex}.score-info{flex-direction:column;display:flex}.score-big{letter-spacing:-.02em;background:linear-gradient(135deg, #fff, var(--accent-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;line-height:1}.score-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;font-size:.8rem}.rank-badge-hero{color:var(--accent-color);border-radius:var(--radius-full);background:#06b6d426;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:600;display:flex;position:absolute;top:16px;right:16px}.streak-card{align-items:center;gap:16px;min-width:160px;display:flex}.streak-icon{color:#fff;background:linear-gradient(135deg,#f97316,#ef4444);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.streak-info{flex-direction:column;display:flex}.streak-big{font-size:2rem;font-weight:800;line-height:1}.streak-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;font-size:.75rem}.goal-card-mini{align-items:center;gap:12px;min-width:180px;display:flex}.goal-mini-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;display:block}.goal-mini-text{font-size:.95rem;font-weight:600;line-height:1.3;display:block}.dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.dashboard-main{min-width:0}.section-title{margin-bottom:20px;font-size:1.2rem}.smart-input-wrapper{position:relative}.activity-list{flex-direction:column;gap:10px;list-style:none;display:flex}.activity-item{border-radius:var(--radius-md);border:1px solid var(--panel-border);transition:var(--transition);background:#0003;align-items:center;gap:14px;padding:14px;display:flex}.activity-item:hover{background:var(--surface-soft);transform:translate(4px)}.activity-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.bg-learning{color:var(--learning-color);background:#10b98126}.bg-practice{color:var(--practice-color);background:#3b82f626}.bg-project{color:var(--project-color);background:#8b5cf626}.activity-details{flex:1;min-width:0}.activity-desc{margin-bottom:4px;font-size:.9rem;font-weight:500}.activity-time{color:var(--text-secondary);font-size:.75rem}.activity-score{color:var(--accent-color);border-radius:var(--radius-sm);white-space:nowrap;background:#06b6d41a;padding:4px 10px;font-size:.85rem;font-weight:700}.activity-skills{flex-wrap:wrap;gap:4px;margin:4px 0;display:flex}.activity-skill-tag{color:var(--text-secondary);background:#ffffff08;border-radius:4px;padding:2px 6px;font-size:.7rem}.logs-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.logs-subtitle{margin-bottom:0;font-size:.85rem}.activity-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.activity-delete-btn{color:#fca5a5;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:#ef444414;border:1px solid #ef444438;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;display:inline-flex}.activity-delete-btn:hover:not(:disabled){color:#fff;background:#ef444429}.activity-delete-btn:disabled{opacity:.65;cursor:not-allowed}.info-list{margin-top:16px;list-style:none}.info-list li{color:var(--text-secondary);align-items:center;gap:10px;margin-bottom:10px;font-size:.85rem;display:flex}.info-list li span{flex:1}.empty-state{color:var(--text-secondary);text-align:center;padding:24px}.ai-suggestion-panel{border-radius:var(--radius-md);background:#7c3aed0d;border:1px dashed #7c3aed4d;margin-top:16px;padding:16px}.ai-suggestion-header{color:var(--primary-color);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;margin-bottom:10px;font-size:.8rem;font-weight:600;display:flex}.ai-suggestion-content{flex-direction:column;gap:10px;display:flex}.skills-container{flex-wrap:wrap;gap:6px;display:flex}.skill-tag{border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--text-secondary);background:#ffffff0d;padding:4px 10px;font-size:.8rem}.dashboard-redesign-container{flex-direction:column;gap:32px;min-width:1024px;max-width:1200px;margin:0 auto;padding:24px 48px;display:flex}.dashboard-top{justify-content:space-between;align-items:center;width:100%;display:flex}.dashboard-top-left{flex-direction:column;display:flex}.dashboard-top-right{align-items:center;gap:16px;display:flex}.stat-module{background:var(--surface-soft);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:12px;padding:12px 20px;display:flex}.stat-module-icon{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-module-icon.primary{background:var(--text-primary);box-shadow:0 0 15px var(--primary-glow);color:var(--bg-color)}.stat-module-icon.orange{color:#fff;background:linear-gradient(135deg,#f97316,#ef4444)}.stat-module-info{flex-direction:column;display:flex}.stat-module-val{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1}.stat-module-lbl{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;margin-top:4px;font-size:.65rem;font-weight:600}.stat-module-goal{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;border:none;outline:none;max-width:160px;font-size:.85rem;font-weight:600;overflow:hidden}.dashboard-log-section{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.log-form-wrapper{flex-direction:column;align-items:center;width:100%;max-width:70%;display:flex;position:relative}.log-input{background:var(--field-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;color:var(--field-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:56px;transition:var(--transition);box-shadow:var(--shadow-soft);padding:16px 180px 16px 24px;font-family:inherit;font-size:1.1rem}.log-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-glow);outline:none}.log-input::placeholder{color:var(--text-secondary)}.log-actions{z-index:10;align-items:center;gap:8px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.recent-logs-inline{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;min-width:0;margin-top:16px;display:flex}.inline-log-chip{background:var(--surface-soft);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);transition:var(--transition);align-items:center;gap:8px;padding:6px 12px;font-size:.75rem;display:flex}.inline-log-chip:hover{background:var(--surface-soft-hover)}.inline-log-chip .trash-icon{color:var(--text-secondary);cursor:pointer;visibility:hidden;opacity:0;transition:color .2s}.inline-log-chip:hover .trash-icon{visibility:visible;opacity:1;color:var(--danger-color)}.dashboard-challenges-wrapper{background:var(--surface-soft);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;margin-top:16px;padding:24px;position:relative;box-shadow:inset 0 2px 10px #0000000f}.dashboard-challenges-grid{grid-template-columns:1fr 1fr;gap:24px;width:100%;margin-top:16px;display:grid}.challenges-col{flex-direction:column;gap:16px;width:100%;min-width:0;display:flex}.challenges-col-header{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:8px;font-size:1.1rem;font-weight:600;display:flex}.btn-icon{background:var(--surface-soft);border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-icon:hover{color:var(--text-primary);background:var(--surface-soft-hover)}.hsw-container{z-index:50;position:absolute;top:16px;right:16px}.how-scoring-works-tooltip{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:260px;box-shadow:var(--shadow-elevated);opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px;transition:all .2s;position:absolute;top:40px;right:0}.btn-icon:hover+.how-scoring-works-tooltip,.how-scoring-works-tooltip:hover{opacity:1;visibility:visible;transform:translateY(4px)}.hsw-header{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:.85rem;font-weight:600;display:flex}.hsw-list{color:var(--text-secondary);flex-direction:column;gap:12px;margin:0;font-size:.75rem;list-style:none;display:flex}.hsw-item{justify-content:space-between;align-items:center;display:flex}.hsw-item-left{align-items:center;gap:8px;display:flex}.filter-tab{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);text-align:center;background:0 0;border:none;flex:1;padding:10px 16px;font-family:inherit;font-size:.85rem;font-weight:500}.filter-tab:hover{color:var(--text-primary);background:var(--surface-soft)}.filter-tab.active{background:var(--text-primary);color:var(--bg-color);box-shadow:0 2px 12px var(--primary-glow)}.leaderboard-note{margin-top:16px;padding:16px 20px}.leaderboard-note p{margin-bottom:0;font-size:.9rem}.leaderboard-hint{border-color:#f59e0b40;margin-top:14px;padding:14px 18px}.leaderboard-hint p{margin-bottom:0;font-size:.88rem}.search-bar{align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;display:flex}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.95rem}.search-input::placeholder{color:var(--text-secondary)}.leaderboard-table{border-collapse:collapse;width:100%}.leaderboard-table th{text-align:left;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--panel-border);letter-spacing:.05em;background:#0003;padding:14px 24px;font-size:.8rem}.leaderboard-table td{border-bottom:1px solid var(--border-color);padding:14px 24px}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table tr:hover td{background:var(--surface-soft)}.top-rank td{font-weight:600}.rank-col{width:80px}.user-col{align-items:center;gap:12px;display:flex}.avatar{background:var(--text-secondary);width:36px;height:36px;color:var(--bg-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.avatar-img{object-fit:cover;border:2px solid var(--panel-border);border-radius:50%;flex-shrink:0;width:36px;height:36px}.user-info{flex-direction:column;display:flex}.username{font-weight:500}.user-college{color:var(--text-secondary);font-size:.75rem}.you-badge{border-radius:var(--radius-full);background:var(--primary-color);color:#fff;text-transform:uppercase;letter-spacing:.05em;margin-left:8px;padding:2px 6px;font-size:.65rem;font-weight:600}.current-user-row td{background:#7c3aed0d!important}.rank-badge{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:4px 8px;font-size:.85rem;display:inline-flex}.rank-badge.gold{color:#facc15;background:#facc1526}.rank-badge.silver{color:#94a3b8;background:#94a3b826}.rank-badge.bronze{color:#d97706;background:#d9770626}.rank-text{color:var(--text-secondary);padding-left:8px;font-weight:600}.score-col strong{font-size:1.1rem}.roadmap-goals-row{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.roadmap-goal-card{align-items:flex-start;gap:14px;display:flex}.roadmap-goal-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.roadmap-goal-icon.today{background:var(--text-primary);color:var(--bg-color)}.roadmap-goal-icon.week{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--panel-border)}.roadmap-goal-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);font-size:.7rem;font-weight:600}.roadmap-goal-text{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:500}.roadmap-resources-panel{margin-top:20px}.roadmap-resources-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.roadmap-resources-copy{max-width:560px;margin-bottom:0;font-size:.92rem}.resource-filter-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.resource-filter-pill{border-radius:var(--radius-full);border:1px solid var(--panel-border);color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:#ffffff08;padding:8px 12px;font-family:inherit;font-size:.82rem}.resource-filter-pill:hover,.resource-filter-pill.active{color:#fff;background:#7c3aed29;border-color:#7c3aed66}.roadmap-skill-chip-row{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.roadmap-skill-chip{border-radius:var(--radius-full);border:1px solid var(--panel-border);color:var(--text-primary);cursor:pointer;transition:var(--transition);background:#ffffff08;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;display:inline-flex}.roadmap-skill-chip:hover,.roadmap-skill-chip.active{background:#06b6d41f;border-color:#06b6d459;transform:translateY(-1px)}.roadmap-skill-chip-level{border-radius:var(--radius-full);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;background:#ffffff12;padding:3px 8px;font-size:.72rem}.roadmap-resource-context{border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0,#7c3aed29,#0000 32%),#7c3aed0f;border:1px solid #7c3aed38;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px 18px;display:flex}.roadmap-resource-context h3{margin-bottom:4px}.roadmap-resource-context p{margin-bottom:0;font-size:.9rem}.roadmap-resource-context-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-color);margin-bottom:6px;font-size:.72rem;font-weight:700;display:inline-block}.roadmap-resource-loading,.roadmap-resource-feedback{border-radius:var(--radius-md);border:1px dashed var(--panel-border);text-align:center;background:#ffffff05;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:160px;padding:24px;display:flex}.roadmap-resource-feedback.error{background:#ef44440d;border-color:#ef444442}.roadmap-resource-feedback p,.roadmap-resource-loading p{margin-bottom:0}.roadmap-resource-groups{flex-direction:column;gap:18px;display:flex}.roadmap-resource-group{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-soft);padding:18px}.roadmap-resource-group-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.roadmap-resource-count{color:var(--text-secondary);font-size:.82rem}.resource-type-badge-large,.resource-type-badge{border-radius:var(--radius-full);align-items:center;gap:8px;font-weight:600;display:inline-flex}.resource-type-badge-large{padding:8px 12px;font-size:.82rem}.resource-type-badge{padding:5px 10px;font-size:.74rem}.resource-type-badge-large.video,.resource-type-badge.video{color:#fda4af;background:#f43f5e1f}.resource-type-badge-large.book,.resource-type-badge.book{color:#93c5fd;background:#3b82f61f}.resource-type-badge-large.website,.resource-type-badge.website{color:#86efac;background:#10b9811f}.resource-type-badge-large.practice,.resource-type-badge.practice{color:#fde68a;background:#facc151f}.resource-type-badge-large.course,.resource-type-badge.course{color:#d8b4fe;background:#7c3aed24}.resource-type-badge-large.project,.resource-type-badge.project{color:#67e8f9;background:#06b6d41f}.roadmap-resource-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.roadmap-resource-card{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);min-height:100%;box-shadow:var(--shadow-soft);flex-direction:column;gap:12px;padding:18px;display:flex}.roadmap-resource-card h3{margin-bottom:0;font-size:1rem}.roadmap-resource-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.roadmap-resource-provider{color:var(--text-secondary);font-size:.76rem}.roadmap-resource-description{margin-bottom:0;font-size:.88rem}.roadmap-resource-why{border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-color);padding:12px}.roadmap-resource-why span{color:var(--accent-color);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:700;display:block}.roadmap-resource-why p{margin-bottom:0;font-size:.84rem}.roadmap-resource-meta{flex-wrap:wrap;gap:8px;display:flex}.roadmap-resource-meta span,.timeline-level-pill{border-radius:var(--radius-full);background:var(--surface-soft);color:var(--text-secondary);align-items:center;padding:5px 10px;font-size:.75rem;display:inline-flex}.roadmap-resource-tags{flex-wrap:wrap;gap:8px;display:flex}.roadmap-resource-tags span{border-radius:var(--radius-full);background:var(--surface-soft);color:var(--text-secondary);padding:4px 10px;font-size:.74rem}.roadmap-resource-link{color:var(--text-primary);align-items:center;gap:8px;margin-top:auto;font-weight:600;text-decoration:none;display:inline-flex}.roadmap-resource-link:hover{color:var(--accent-color)}.roadmap-resource-note{color:var(--text-secondary);margin-top:auto;font-size:.84rem}.roadmap-timeline{margin-top:24px;padding-bottom:40px}.timeline-item{gap:20px;margin-bottom:0;display:flex}.timeline-marker{flex-direction:column;align-items:center;display:flex}.timeline-dot{border:2px solid var(--panel-border);width:32px;height:32px;color:var(--text-secondary);z-index:2;background:#ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.timeline-dot.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 0 16px var(--primary-glow)}.timeline-line{background:var(--panel-border);flex:1;width:2px;min-height:20px}.timeline-card{flex:1;margin-bottom:16px}.timeline-card-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.week-badge{border-radius:var(--radius-full);color:var(--primary-color);text-transform:uppercase;background:#7c3aed26;padding:3px 10px;font-size:.75rem;font-weight:600}.timeline-focus{color:var(--text-secondary);margin-bottom:12px;font-size:.85rem}.timeline-tasks{flex-direction:column;gap:8px;list-style:none;display:flex}.timeline-tasks li{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:.9rem;display:flex}.timeline-tasks li svg{flex-shrink:0;margin-top:3px}.timeline-card-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}@media (width<=900px){.score-hero-row{flex-direction:column}.dashboard-grid,.roadmap-goals-row{grid-template-columns:1fr}.roadmap-resources-header,.roadmap-resource-context,.timeline-card-actions{flex-direction:column;align-items:flex-start}.resource-filter-row{justify-content:flex-start}.goal-grid{grid-template-columns:repeat(2,1fr)}.activity-actions{align-items:flex-start}}@media (width<=640px){.navbar{margin:8px;padding:10px 16px}.nav-links{gap:2px}.nav-link span{display:none}.nav-link{padding:8px}.container{padding:0 16px}h1{font-size:1.6rem}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}.score-big{font-size:2rem}.filter-tabs{flex-wrap:wrap}.filter-tab{flex:unset}.goal-grid{grid-template-columns:repeat(2,1fr)}.roadmap-resource-group-header{align-items:flex-start}.leaderboard-table th,.leaderboard-table td{padding:10px 12px}.activity-item{flex-direction:column;align-items:flex-start}.activity-actions{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.toast-stack{width:auto;left:16px;right:16px}.app-modal-actions{flex-direction:column-reverse}}.challenges-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.challenge-card{transition:var(--transition);border-left:3px solid #0000;flex-direction:column;padding:1.25rem;display:flex;position:relative;overflow:hidden}.challenge-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.challenge-card.completed{opacity:.8;border-left-color:#22c55e}.challenge-card.expired{border-left-color:var(--danger-color);opacity:.6}.challenge-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.challenge-type-badge{text-transform:uppercase;border-radius:var(--radius-sm);letter-spacing:.5px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.challenge-type-badge.daily{color:#818cf8;background-color:#6366f133}.challenge-type-badge.weekly{color:#c084fc;background-color:#a855f733}.challenge-xp{color:var(--primary-color);align-items:center;gap:4px;font-size:.85rem;font-weight:700;display:flex}.challenge-title{color:var(--text-primary);margin:0 0 .25rem;font-size:1rem;font-weight:600}.challenge-desc{color:var(--text-secondary);flex-grow:1;margin:0 0 1rem;font-size:.85rem}.challenge-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.challenge-time{color:var(--text-secondary);align-items:center;gap:4px;font-size:.8rem;display:flex}.challenge-completed-badge{color:#22c55e;border-radius:var(--radius-sm);background-color:#22c55e1a;justify-content:center;align-items:center;gap:6px;width:100%;padding:.4rem .8rem;font-size:.85rem;font-weight:600;display:flex}.stats-row-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-wrap:wrap;gap:16px;width:100%;padding:16px;display:flex}.stat-card-unified{border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid var(--border-color);min-width:200px;transition:var(--transition);flex:1;align-items:center;gap:16px;padding:12px 20px;display:flex}.stat-card-unified:hover{background:var(--surface-soft-hover)}.challenge-column-container{flex-direction:column;gap:24px;display:flex}.challenge-grid-row{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.challenge-grid-weekly{grid-template-rows:repeat(2,auto);grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.glow-on-hover:hover{transform:translateY(-1px);box-shadow:0 0 12px #7c3aed80}.goal-truncate{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.suggestion-pill{background:var(--surface-soft);border:1px solid var(--border-color);transition:var(--transition);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.85rem}.suggestion-pill:hover{background:var(--surface-soft-hover);border-color:var(--glass-border)}
