@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-base:#000;--bg-surface:#0a0a0f;--bg-elevated:#111118;--bg-card:#0d0d14;--bg-card-hover:#12121c;--border-dim:#ffffff0d;--border-subtle:#ffffff14;--border-active:#6674cc66;--text-primary:#f0f0f5;--text-secondary:#9090a8;--text-muted:#505068;--accent-primary:#6674cc;--accent-secondary:#8b5cf6;--accent-tertiary:#06b6d4;--accent-glow:#6674cc4d;--success:#22c55e;--success-soft:#22c55e1a;--success-glow:#22c55e4d;--error:#ef4444;--error-soft:#ef444414;--warning:#f59e0b;--warning-soft:#f59e0b14;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-spring:.35s cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#6674cc26;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#6674cc4d}h1,h2,h3,h4,.font-heading{letter-spacing:-.035em;font-family:Outfit,sans-serif;line-height:1.2}.text-gradient{background:linear-gradient(135deg,#f0f0f5 0%,#9090a8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-accent{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass-panel{background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:var(--radius-xl);transition:all var(--transition-base);z-index:1;padding:28px;position:relative;box-shadow:0 4px 24px #0006}.glass-panel:hover{border-color:var(--border-subtle)}.input-field{border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-base);background:#06060ccc;outline:none;padding:14px 16px;font-family:Inter,sans-serif;font-size:14px}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent-primary);background:#06060c;box-shadow:0 0 0 3px #6674cc1a,0 0 20px #6674cc0d}.btn-primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;padding:13px 28px;font-family:Outfit,sans-serif;font-size:15px;font-weight:600;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #6674cc40}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1f,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #6674cc59}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);padding:10px 20px;font-family:Inter,sans-serif;font-size:13px;font-weight:500}.btn-secondary:hover{border-color:var(--border-active);color:var(--text-primary);background:#ffffff0a}.tab-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-dim);gap:4px;padding:4px;display:flex}.tab-button{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);color:var(--text-muted);white-space:nowrap;background:0 0;border:none;flex:1;padding:12px 24px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;position:relative}.tab-button:hover{color:var(--text-secondary)}.tab-button.active{background:var(--accent-primary);color:#fff;box-shadow:0 4px 16px #6674cc4d}.stat-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);transition:all var(--transition-base);padding:20px 20px 16px;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));opacity:0;height:2px;transition:opacity var(--transition-base);position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:var(--border-subtle);transform:translateY(-3px);box-shadow:0 8px 32px #0006}.stat-card:hover:before{opacity:1}.stat-number{letter-spacing:-.04em;font-family:Outfit,sans-serif;font-size:2rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:8px;font-size:11px;font-weight:600}.stat-icon{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:12px;display:flex}.search-bar{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-base);outline:none;padding:13px 16px 13px 44px;font-family:Inter,sans-serif;font-size:13px}.search-bar::placeholder{color:var(--text-muted)}.search-bar:focus{border-color:var(--accent-primary);background:var(--bg-surface);box-shadow:0 0 0 3px #6674cc14}.topic-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);transition:all var(--transition-base);overflow:hidden}.topic-card:hover{border-color:#6674cc26;box-shadow:0 4px 20px #0000004d}.topic-header{border-bottom:1px solid var(--border-dim);transition:background var(--transition-base);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.topic-header:hover{background:#6674cc08}.topic-progress-bar{background:#ffffff0a;border-radius:2px;width:100%;height:3px;margin-top:10px;overflow:hidden}.topic-progress-fill{background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));border-radius:2px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.topic-progress-fill:after{content:"";width:7px;height:7px;box-shadow:0 0 8px var(--accent-primary), 0 0 16px #6674cc4d;opacity:.9;background:#fff;border-radius:50%;position:absolute;top:-2px;right:0}.question-item{transition:all var(--transition-base);cursor:pointer;border-bottom:1px solid #ffffff06;justify-content:space-between;align-items:center;gap:12px;padding:13px 22px;display:flex}.question-item:last-child{border-bottom:none}.question-item:hover{background:#6674cc0a;padding-left:26px}.custom-checkbox-wrapper{border:1.5px solid var(--border-subtle);width:20px;min-width:20px;height:20px;transition:all var(--transition-spring);background:#06060c99;border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative}.custom-checkbox-wrapper:hover{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6674cc14}.custom-checkbox-wrapper.checked{background:var(--success);border-color:var(--success);box-shadow:0 0 10px var(--success-glow);animation:checkPop .3s var(--transition-spring)}@keyframes checkPop{0%{transform:scale(.8)}60%{transform:scale(1.15)}to{transform:scale(1)}}.badge{text-transform:uppercase;letter-spacing:.06em;transition:all var(--transition-base);white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;text-decoration:none;display:inline-flex}.badge.gfg{color:#4ade80;background:#22c55e14}.badge.gfg:hover{background:#22c55e2e;transform:translateY(-1px);box-shadow:0 2px 8px #22c55e26}.badge.leetcode{color:#fbbf24;background:#f59e0b14}.badge.leetcode:hover{background:#f59e0b2e;transform:translateY(-1px);box-shadow:0 2px 8px #f59e0b26}.badge.tuf{color:#f87171;background:#ef444414}.badge.tuf:hover{background:#ef44442e;transform:translateY(-1px)}.streak-day{background-color:#ffffff08;border:1px solid #ffffff08;border-radius:3px;width:14px;height:14px;transition:all .15s}.streak-day:hover{border-color:var(--text-muted);z-index:2;transform:scale(1.4)}.streak-day.active{background-color:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 6px var(--accent-glow)}.streak-day.today{box-shadow:0 0 0 1px var(--accent-primary);border-color:var(--accent-primary)!important}.progress-bar-track{background:#ffffff0a;border-radius:4px;height:8px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary), var(--accent-tertiary));border-radius:4px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);animation:2s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sidebar-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);transition:all var(--transition-base);padding:22px}.sidebar-card:hover{border-color:var(--border-subtle)}.sidebar-card-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;margin-bottom:16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:700;display:flex}.done-tag{background:var(--success-soft);color:var(--success);text-transform:uppercase;letter-spacing:.08em;border-radius:4px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.container{z-index:1;max-width:1320px;margin:0 auto;padding:28px 32px;position:relative}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{opacity:0;animation:.4s forwards fadeIn}.animate-slide-up{opacity:0;animation:.5s forwards slideUp}.animate-spin{animation:1s linear infinite spin}.spinner{border:3px solid var(--border-dim);border-top-color:var(--accent-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr!important}.sidebar-sticky{position:static!important}.container{padding:20px}}@media (width<=768px){.container{padding:16px 14px}header{flex-wrap:wrap;gap:12px!important;margin-bottom:20px!important;padding-bottom:16px!important}.header-actions{padding:7px 12px!important;font-size:11px!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.stat-card{padding:14px 14px 12px}.stat-number{font-size:1.6rem}.stat-icon{width:28px;height:28px;margin-bottom:8px}.tab-container{padding:3px;overflow-x:auto}.tab-button{white-space:nowrap;padding:10px 14px;font-size:12px}.progress-bar-track{height:6px}.topic-header{padding:14px 16px}.question-item{gap:8px;padding:11px 14px}.question-item:hover{padding-left:16px}.badge{padding:3px 7px;font-size:9px}.sidebar-sticky{flex-direction:column;gap:12px;display:flex}.sidebar-card{padding:18px 16px}.glass-panel{border-radius:var(--radius-lg);padding:18px}}@media (width<=480px){.container{padding:12px 10px;overflow-x:hidden}header{flex-direction:column;align-items:flex-start!important;gap:16px!important}.header-actions{justify-content:center;width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.stat-number{font-size:1.4rem}.topic-header{flex-direction:column;align-items:flex-start;gap:10px}.question-item{flex-direction:column;align-items:flex-start;gap:12px}.question-item>div:first-child{width:100%}.question-item>div:last-child{justify-content:flex-start;width:100%;padding-left:32px}.question-item span{line-height:1.4;white-space:normal!important;font-size:12.5px!important}.badge{padding:4px 8px;font-size:9px}footer{text-align:center;flex-wrap:wrap;justify-content:center;font-size:11px;line-height:1.5}}
