.layout{min-height:100vh;display:flex;flex-direction:column;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.navbar{background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px #0f172a0f;padding:0 48px;display:flex;align-items:center;justify-content:space-between;height:72px;position:sticky;top:0;z-index:100}.navbar-brand a{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:#0f172a;text-decoration:none}.navbar-logo{width:44px;height:44px;border-radius:50%;object-fit:cover}.navbar-menu{display:flex;gap:8px;flex:1;margin-left:48px}.nav-link{color:#475569;text-decoration:none;padding:10px 18px;border-radius:8px;font-weight:500;transition:all .2s ease}.nav-link:hover{background-color:#0f172a0d;color:#0f172a}.nav-dropdown{position:relative}.nav-dropdown-trigger{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:inherit;font-family:inherit}.nav-dropdown-trigger.active{background-color:#0f172a0d;color:#0f172a}.dropdown-arrow{font-size:10px;transition:transform .2s ease}.nav-dropdown-trigger.active .dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0f172a26;border:1px solid #e2e8f0;min-width:180px;padding:8px;z-index:200;animation:dropdown-fade .15s ease}@keyframes dropdown-fade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;color:#0f172a;text-decoration:none;font-weight:500;font-size:14px;transition:background .15s ease}.dropdown-item:hover{background:#f1f5f9}.dropdown-item.disabled{color:#94a3b8;cursor:not-allowed}.dropdown-item.disabled:hover{background:transparent}.lock-icon{font-size:12px;opacity:.7}.navbar-user{display:flex;align-items:center;gap:16px}.navbar-hamburger{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.navbar-hamburger:hover{background:#f8fafc;border-color:#cbd5e1}.navbar-hamburger.is-open{background:#f1f5f9;border-color:#0f172a}.navbar-hamburger-icon{position:relative;display:inline-block;width:18px;height:14px}.navbar-hamburger-icon span{position:absolute;left:0;width:100%;height:2px;background:#0f172a;border-radius:2px;transition:transform .2s ease,opacity .15s ease,top .2s ease}.navbar-hamburger-icon span:nth-child(1){top:0}.navbar-hamburger-icon span:nth-child(2){top:6px}.navbar-hamburger-icon span:nth-child(3){top:12px}.navbar-hamburger.is-open .navbar-hamburger-icon span:nth-child(1){top:6px;transform:rotate(45deg)}.navbar-hamburger.is-open .navbar-hamburger-icon span:nth-child(2){opacity:0}.navbar-hamburger.is-open .navbar-hamburger-icon span:nth-child(3){top:6px;transform:rotate(-45deg)}.navbar-mobile-backdrop{position:fixed;top:64px;right:0;bottom:0;left:0;background:#0f172a59;z-index:99;animation:navbar-mobile-fade .15s ease}.navbar-mobile-panel{position:fixed;top:64px;left:0;right:0;z-index:100;display:flex;flex-direction:column;padding:12px 16px 16px;background:#fff;border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 12px 32px #0f172a14;animation:navbar-mobile-slide .18s ease}.navbar-mobile-panel .nav-link{display:block;padding:14px 12px;font-size:16px;border-radius:8px}@keyframes navbar-mobile-fade{0%{opacity:0}to{opacity:1}}@keyframes navbar-mobile-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.username{color:#475569;font-size:14px;font-weight:500}.user-menu-dropdown{position:relative}.username-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;color:#475569;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.username-btn:hover{background-color:#0f172a0d;color:#0f172a;border-color:#cbd5e1}.username-btn.active{background-color:#0f172a0d;color:#0f172a;border-color:#0f172a}.user-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0f172a26;border:1px solid #e2e8f0;min-width:200px;padding:8px;z-index:200;animation:dropdown-fade .15s ease}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border-radius:8px;color:#0f172a;text-decoration:none;font-weight:500;font-size:14px;transition:background .15s ease;background:none;border:none;cursor:pointer;text-align:left}.user-menu-item:hover{background:#f1f5f9}.user-menu-item.logout-item{color:#dc2626}.user-menu-item.logout-item:hover{background:#fef2f2}.menu-icon{font-size:16px}.user-menu-divider{height:1px;background:#e2e8f0;margin:6px 8px}.lang-toggle{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#475569;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.lang-toggle:hover{border-color:#0f172a;color:#0f172a;background:#f8fafc}.main-content{flex:1;padding:32px 48px;max-width:1400px;margin:0 auto;width:100%}@media (max-width: 900px){.navbar{padding:0 24px}.navbar-menu{margin-left:24px;gap:4px}.nav-link{padding:8px 12px;font-size:14px}.main-content{padding:24px}}@media (max-width: 768px){.navbar{padding:0 16px;height:64px;min-height:64px;flex-wrap:nowrap;gap:8px}.navbar-brand a{font-size:18px}.navbar-logo{width:36px;height:36px}.navbar-menu{display:none}.navbar-hamburger{display:inline-flex}.navbar-user{gap:8px}.username{display:none}.main-content{padding:16px}}@media (max-width: 480px){.navbar{padding:0 12px}.navbar-brand a{font-size:16px;gap:8px}.navbar-logo{width:32px;height:32px}.lang-toggle{padding:4px 8px;font-size:12px}.username-btn{padding:6px 10px;font-size:13px}.navbar-hamburger{width:36px;height:36px}.navbar-user{gap:6px}.main-content{padding:12px}}.auth-container{min-height:100vh;display:flex;align-items:stretch;justify-content:stretch;background:#fff;padding:0;position:relative}.auth-top-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:flex-end;align-items:center;padding:20px 32px;z-index:10}.auth-home-link{display:flex;align-items:center;gap:8px;color:#475569;text-decoration:none;font-size:14px;font-weight:500;padding:8px 16px;border-radius:8px;transition:all .2s ease;background:#fffc;border:1px solid #e2e8f0}.auth-home-link:hover{color:#0f172a;background:#fff;border-color:#cbd5e1}.auth-home-icon{font-size:16px}.auth-lang-toggle{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fffc;color:#475569;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.auth-lang-toggle:hover{border-color:#0f172a;color:#0f172a;background:#fff}.auth-card{background:transparent;padding:0;border-radius:0;box-shadow:none;width:100%;max-width:100%;border:none;overflow:visible;display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-header{background:linear-gradient(135deg,#ffa116,#ffc01e);padding:64px 56px;text-align:left;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.auth-logo{display:inline-flex;align-items:center;gap:12px;margin-bottom:48px;text-decoration:none;color:#fff}.auth-logo-img{width:64px;height:64px;border-radius:50%;object-fit:cover}.auth-logo .app-title{margin:0;font-size:clamp(26px,2.8vw,34px);line-height:1;max-width:none;letter-spacing:-.3px}.app-title{margin:0 0 20px;font-size:clamp(32px,3.6vw,44px);font-weight:600;letter-spacing:-.6px;line-height:1.15;color:#fff;max-width:480px}.app-description{margin:0;font-size:17px;line-height:1.7;color:#fff;font-weight:500;max-width:460px;text-shadow:0 1px 2px rgba(15,23,42,.15)}.auth-form-section{padding:80px 56px;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:520px;margin:0 auto}.auth-form-section h2{margin:0 0 32px;text-align:left;color:#0f172a;font-size:28px;font-weight:600;letter-spacing:-.4px}.auth-card .form-group{margin-bottom:18px}.auth-card .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#0f172a;font-size:14px}.auth-card .form-group input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;transition:all .2s ease;background-color:#fff}.auth-card .form-group input:focus{outline:none;border-color:#ffa116;box-shadow:0 0 0 3px #ffa11626}.auth-card .form-group input:hover{border-color:#cbd5e1}.auth-card .field-hint{display:block;margin-top:6px;font-size:12px;color:#94a3b8}.auth-card .input-disabled{background:#f1f5f9!important;color:#64748b!important;cursor:not-allowed}.complete-signup-desc{color:#64748b;font-size:14px;margin-bottom:20px}.auth-card .btn{width:100%;padding:14px 24px;font-size:15px;font-weight:600;border-radius:10px;margin-top:8px;background:#ffa116;color:#fff;border:none;cursor:pointer;transition:all .2s ease}.auth-card .btn:hover{background:#f59208}.auth-card .btn:disabled{opacity:.6;cursor:not-allowed}.auth-link{text-align:center;margin-top:20px;color:#64748b;font-size:14px}.auth-link a{color:#ffa116;text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.auth-contact{text-align:center;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0;color:#94a3b8;font-size:13px}.auth-contact a{color:#64748b;text-decoration:none}.auth-contact a:hover{color:#0f172a;text-decoration:underline}.auth-card .error{margin-bottom:18px;padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-size:14px}.auth-card .success{margin-bottom:18px;padding:12px 16px;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#166534;font-size:14px}.form-description{color:#64748b;font-size:14px;line-height:1.6;margin-bottom:24px}.forgot-password-link{margin-top:12px}.forgot-password-link a{color:#64748b;font-size:14px}.forgot-password-link a:hover{color:#0f172a}@media (max-width: 900px){.auth-card{grid-template-columns:1fr}.auth-header{padding:80px 32px 40px;text-align:center;align-items:center}.auth-logo{margin-bottom:24px}.app-title{text-align:center;font-size:clamp(26px,6vw,32px)}.app-description{text-align:center}.auth-form-section{padding:48px 32px 64px;max-width:480px}}@media (max-width: 480px){.auth-top-bar{padding:16px}.auth-home-link span:last-child{display:none}.auth-header{padding:64px 20px 32px}.auth-form-section{padding:32px 20px 48px}.auth-form-section h2{font-size:22px}}.auth-intro{margin:-16px 0 28px;color:#64748b;font-size:15px;line-height:1.5}.auth-back{align-self:flex-start;background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;padding:0 0 12px;margin:-8px 0 0;font-weight:500;transition:color .2s ease}.auth-back:hover{color:#0f172a}.auth-locked-email{display:inline-block;margin:-12px auto 24px;padding:6px 12px;background:#f1f5f9;color:#475569;border-radius:999px;font-size:13px;font-weight:500;text-align:center;align-self:center}.oauth-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.oauth-buttons-compact .btn-oauth{padding:10px 18px;font-size:13px}.btn-oauth{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:500;color:#334155;cursor:pointer;transition:all .2s ease}.btn-oauth:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}.btn-oauth:disabled{opacity:.6;cursor:not-allowed}.btn-github,.btn-github .github-icon{color:#0f172a}.btn-email{color:#334155}.email-icon{flex-shrink:0;width:18px;height:18px;object-fit:contain}.link-button{background:none;border:none;padding:0;color:#ffa116;font-weight:600;font-size:inherit;cursor:pointer;font-family:inherit}.link-button:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.auth-divider span{padding:0 16px;color:#94a3b8;font-size:13px;font-weight:500}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:500;color:#334155;cursor:pointer;transition:all .2s ease}.btn-google:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}.btn-google:disabled{opacity:.6;cursor:not-allowed}.google-icon{flex-shrink:0}.register-actions{display:flex;justify-content:center;gap:24px;margin-top:16px}.btn-link{background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;padding:8px 0;transition:color .2s ease}.btn-link:hover:not(:disabled){color:#0f172a;text-decoration:underline}.btn-link:disabled{opacity:.5;cursor:not-allowed}.dashboard{max-width:1040px;margin:0 auto;padding:40px 0 72px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#0f172a}.dashboard-header{margin-bottom:32px}.dashboard-eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#475569;margin-bottom:12px}.dashboard-title{font-size:clamp(28px,3.2vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.1;color:#0f172a;margin:0 0 10px}.dashboard-subtitle{font-size:16px;line-height:1.55;color:#475569;margin:0;max-width:620px;letter-spacing:-.005em}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px 28px;box-shadow:0 1px 2px #0f172a0a,0 12px 48px -16px #0f172a14}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#0f172a}.panel-link{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:500;color:#475569;text-decoration:none;letter-spacing:-.005em;transition:color .12s ease}.panel-link svg{transition:transform .15s ease}.panel-link:hover{color:#0f172a}.panel-link:hover svg{transform:translate(2px)}.panel-count{min-width:22px;height:22px;padding:0 8px;background:#f1f5f9;color:#475569;border-radius:999px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0;font-variant-numeric:tabular-nums}.progress-panel{margin-bottom:24px}.progress-body{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:20px}.progress-figure{display:inline-flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums}.progress-number{font-size:clamp(44px,5vw,56px);font-weight:700;letter-spacing:-.035em;color:#0f172a;line-height:1}.progress-sep{font-size:clamp(24px,3vw,30px);font-weight:400;color:#cbd5e1;margin:0 2px}.progress-total{font-size:clamp(22px,2.6vw,28px);font-weight:500;color:#64748b;letter-spacing:-.02em}.progress-message{font-size:14px;color:#475569;font-weight:500;letter-spacing:-.005em;max-width:240px;text-align:right;line-height:1.5}.progress-track{height:6px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin-bottom:18px}.progress-track-fill{height:100%;background:#0f172a;border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-meta{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.progress-meta-item{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-variant-numeric:tabular-nums}.meta-dot.completed{background:#0f172a}.meta-dot.remaining{background:#e2e8f0;border:1px solid #cbd5e1}.meta-value{font-weight:700;color:#0f172a}.meta-label{color:#475569;font-weight:500;letter-spacing:-.005em}.progress-meta-percent{margin-left:auto}.progress-meta-percent .meta-value{font-size:15px}.dashboard-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.tasks-panel .panel-header{margin-bottom:8px}.tasks-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;max-height:420px;overflow-y:auto}.tasks-list::-webkit-scrollbar{width:4px}.tasks-list::-webkit-scrollbar-track{background:transparent}.tasks-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.tasks-list::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.task-row{border-bottom:1px solid #f1f5f9}.task-row:last-child{border-bottom:none}.task-link{display:flex;align-items:center;gap:12px;padding:12px 4px;text-decoration:none;color:inherit}.task-title{flex:1;min-width:0;color:#0f172a;font-size:15px;font-weight:500;letter-spacing:-.008em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-link:hover .task-title{color:#0369a1}.task-chevron{color:#cbd5e1;flex-shrink:0;transition:color .12s ease,transform .12s ease}.task-link:hover .task-chevron{color:#0f172a;transform:translate(2px)}.status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1.5;flex-shrink:0}.status-done{background:#ecfdf5;color:#00857a}.status-missed{background:#ef47431a;color:#d2312f}.status-todo{background:#ffa1161f;color:#c77700}.empty-state{padding:40px 24px;text-align:center;color:#64748b}.empty-icon{color:#cbd5e1;margin-bottom:10px}.empty-state p{margin:0;font-size:14.5px;color:#475569;letter-spacing:-.005em}.actions-list{display:flex;flex-direction:column;gap:4px}.action-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:14px;padding:12px 4px;text-decoration:none;border-radius:10px;transition:background .12s ease,padding .12s ease}.action-row:hover{background:#f8fafc;padding-left:10px;padding-right:10px}.action-icon{width:32px;height:32px;border-radius:8px;background:#f1f5f9;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.action-row:hover .action-icon{background:#0f172a;color:#fff}.action-content{display:flex;flex-direction:column;gap:2px;min-width:0}.action-title{font-size:15px;font-weight:600;color:#0f172a;letter-spacing:-.01em}.action-desc{font-size:13.5px;color:#64748b;letter-spacing:-.005em}.action-arrow{color:#cbd5e1;transition:color .12s ease,transform .12s ease}.action-row:hover .action-arrow{color:#0f172a;transform:translate(2px)}.loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:#475569;font-size:15px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;letter-spacing:-.005em}@media (max-width: 900px){.dashboard{padding:28px 0 56px}.dashboard-columns{grid-template-columns:1fr}.progress-body{flex-direction:column;align-items:flex-start;gap:8px}.progress-message{text-align:left;max-width:none}.progress-meta-percent{margin-left:0}}@media (max-width: 560px){.dashboard{padding:20px 0 40px}.dashboard-header{margin-bottom:24px}.panel{padding:20px;border-radius:14px}.progress-meta{gap:16px}}.problem-detail{max-width:1200px;margin:0 auto;padding:0 20px}.problem-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px}.problem-header h1{margin:0;flex:1;color:#1e293b;font-size:26px;font-weight:600;line-height:1.3}.problem-actions{display:flex;gap:12px;flex-shrink:0;align-items:center}.curated-badge{color:#fff;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap}.curated-badge.curated-hot100{background:linear-gradient(135deg,#f59e0b,#d97706)}.curated-badge.curated-blind75{background:linear-gradient(135deg,#7c3aed,#5b21b6)}.curated-badge.curated-neetcode150{background:linear-gradient(135deg,#10b981,#047857)}.problem-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s ease}.card:hover{box-shadow:0 4px 12px #0000001f}.card h3{margin:0 0 16px;color:#1e293b;font-size:17px;font-weight:600;border-bottom:2px solid #e2e8f0;padding-bottom:10px}.problem-info{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-item{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#f8fafc;border-radius:8px}.info-item.full-width{grid-column:1 / -1}.info-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:15px;color:#0f172a;font-weight:600}.info-link{color:#3b82f6;text-decoration:none;font-size:14px;word-break:break-all;transition:color .2s ease}.info-link:hover{color:#2563eb;text-decoration:underline}.progress-stats{display:flex;flex-direction:column;gap:14px}.stat-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:#f8fafc;border-radius:8px;border-left:3px solid #64748b}.stat-label{font-size:13px;font-weight:600;color:#000;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:16px;color:#000;font-weight:500}@media (max-width: 768px){.problem-detail{padding:0 16px}.problem-header{flex-direction:column;align-items:flex-start;gap:16px}.problem-header h1{font-size:24px}.problem-actions{width:100%;flex-direction:column}.problem-actions .btn{width:100%}.problem-detail-grid{grid-template-columns:1fr;gap:20px}.card{padding:20px}.problem-info{grid-template-columns:1fr}.info-item.full-width{grid-column:1}}.status-completed,.status-not-completed{color:#000;font-weight:500}.tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tag{display:inline-flex;align-items:center;background:#f1f5f9;padding:5px 12px;border-radius:6px;font-size:13px;font-weight:500;color:#475569;white-space:nowrap;transition:all .2s}.tag:hover{background:#e2e8f0;color:#0f172a}.notes-section{background:#fff;border-radius:12px;padding:24px;margin-top:20px;box-shadow:0 2px 8px #00000014}.notes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.notes-header h3{font-size:17px;font-weight:600;color:#0f172a;margin:0;border:none;padding:0}.notes-status{font-size:13px;color:#64748b;display:flex;align-items:center;gap:6px}.notes-input{width:100%;min-height:150px;padding:16px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;line-height:1.6;font-family:inherit;resize:vertical;transition:border-color .2s,box-shadow .2s;background:#f8fafc}.notes-input:focus{outline:none;border-color:#0f172a;box-shadow:0 0 0 3px #0f172a1a;background:#fff}@media (max-width: 768px){.notes-section{padding:20px}.notes-input{min-height:120px}}@media (max-width: 480px){.problem-detail{padding:0 12px}.problem-header h1{font-size:20px}.problem-actions .btn{padding:10px 16px;font-size:14px}.card{padding:16px;border-radius:10px}.card h3{font-size:15px}.info-item{padding:10px 12px}.notes-section{padding:16px;border-radius:10px}}.problem-form{max-width:720px;margin:0 auto;padding:16px 0 72px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#0f172a}.form-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px;box-shadow:0 1px 2px #0f172a0a,0 12px 48px -16px #0f172a0f}.form-card .form-group{margin-bottom:20px}.form-card .form-group:last-of-type{margin-bottom:0}.form-card .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#0f172a;letter-spacing:-.005em}.form-card .form-group label .required{color:#ef4743;margin-left:2px}.form-card .form-group label .optional{font-weight:400;font-size:13px;color:#64748b;margin-left:6px}.form-card .form-group input,.form-card .form-group select{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:15px;color:#0f172a;letter-spacing:-.005em;background:#fff;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.form-card .form-group input::placeholder{color:#94a3b8}.form-card .form-group input:hover,.form-card .form-group select:hover{border-color:#cbd5e1}.form-card .form-group input:focus,.form-card .form-group select:focus{outline:none;border-color:#0f172a;box-shadow:0 0 0 3px #0f172a0f}.form-card .form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.form-card input[type=number]::-webkit-inner-spin-button,.form-card input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-card input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.url-status{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13.5px;padding:6px 10px;border-radius:8px;font-weight:500;letter-spacing:-.005em}.url-status.searching{color:#475569;background:#f1f5f9}.url-status.found,.url-status.curated{color:#00857a;background:#00b8a31a}.url-status.not-found{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.url-status.error{color:#d2312f;background:#ef474314;border:1px solid rgba(239,71,67,.2)}.dot-pulse{width:6px;height:6px;border-radius:50%;background:#64748b;animation:pulse 1.2s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.url-hint{display:block;margin-top:6px;font-size:13px;color:#64748b;letter-spacing:-.005em}.tags-selector{display:flex;flex-wrap:wrap;gap:6px;padding:14px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;min-height:58px;align-items:flex-start;align-content:flex-start}.tags-empty{color:#94a3b8;font-size:14px;width:100%;text-align:center;padding:16px;letter-spacing:-.005em}.tag-checkbox{display:inline-flex;align-items:center;padding:5px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:500;color:#475569;letter-spacing:-.005em;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,background .12s ease,color .12s ease}.tag-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0;padding:0;pointer-events:none}.tag-checkbox span{line-height:1.4}.tag-checkbox:hover:not(.checked){border-color:#cbd5e1;color:#0f172a;background:#fff}.tag-checkbox.checked{background:#f1f5f9;border-color:#0f172a;color:#0f172a;font-weight:600}.tag-checkbox.checked:hover{background:#e2e8f0;border-color:#0f172a;color:#0f172a}.form-error{margin-top:18px;padding:10px 14px;background:#ef474314;border:1px solid rgba(239,71,67,.2);border-radius:10px;color:#d2312f;font-size:14px;font-weight:500;letter-spacing:-.005em}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid #f1f5f9}.btn-submit,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:10px;font-family:inherit;font-size:14.5px;font-weight:600;letter-spacing:-.005em;cursor:pointer;border:1px solid transparent;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.btn-submit{background:#0f172a;color:#fff;border-color:#0f172a;min-width:120px}.btn-submit:hover:not(:disabled){background:#1e293b;transform:translateY(-1px)}.btn-submit:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 640px){.problem-form{padding:12px 0 40px}.form-card{padding:22px 20px}.tags-selector{padding:10px}.form-actions{flex-direction:column-reverse}.btn-submit,.btn-ghost{width:100%}}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:8px;font-family:Inter,system-ui,sans-serif}.pagination span{font-size:13px;color:#475569;font-weight:500;letter-spacing:-.005em;font-variant-numeric:tabular-nums}.pagination .btn{padding:7px 14px;font-size:12.5px;font-weight:600;letter-spacing:-.005em;border-radius:8px}.pagination .btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0;transition:all .12s ease}.pagination .btn-secondary:not(:disabled):hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.pagination .btn-secondary:disabled{opacity:.4;cursor:not-allowed}.problems-page{max-width:1040px;margin:0 auto;padding:16px 0 72px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#0f172a}.toolbar-cta{margin-left:auto;flex-shrink:0}.btn-cta{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#0f172a;color:#fff;border-radius:10px;font-size:14.5px;font-weight:600;text-decoration:none;letter-spacing:-.005em;border:1px solid #0f172a;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;white-space:nowrap}.btn-cta:hover{background:#1e293b;transform:translateY(-1px);box-shadow:0 6px 20px -6px #0f172a4d;color:#fff}.btn-cta:active{transform:translateY(0)}.problems-toolbar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a08;margin-bottom:20px;flex-wrap:wrap}.toolbar-search{flex:1;min-width:200px;position:relative;display:flex;align-items:center}.search-input{width:100%;padding:9px 12px 9px 36px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-family:inherit;font-size:14px;color:#0f172a;letter-spacing:-.005em;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.diff-chip.active{background:#0f172a;color:#fff;border-color:#0f172a}.topic-select{padding:8px 32px 8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:13.5px;font-weight:500;color:#475569;cursor:pointer;letter-spacing:-.005em;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .12s ease,color .12s ease}.topic-select:hover{border-color:#cbd5e1;color:#0f172a}.topic-select:focus{outline:none;border-color:#0f172a;box-shadow:0 0 0 3px #0f172a0f}.btn-clear{padding:7px 12px;background:transparent;border:none;font-family:inherit;font-size:13.5px;font-weight:500;color:#475569;cursor:pointer;letter-spacing:-.005em;border-radius:8px;transition:color .12s ease,background .12s ease}.btn-clear:hover{color:#0f172a;background:#f8fafc}.problems-table{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;margin-bottom:24px;box-shadow:0 1px 2px #0f172a08}.table-head{display:grid;grid-template-columns:minmax(0,2.5fr) 110px 120px 120px 80px minmax(0,1.4fr) 44px;gap:14px;padding:12px 22px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#64748b}.table-row{display:grid;grid-template-columns:minmax(0,2.5fr) 110px 120px 120px 80px minmax(0,1.4fr) 44px;gap:14px;padding:14px 22px;border-bottom:1px solid #f1f5f9;text-decoration:none;color:inherit;align-items:center;transition:background .1s ease}.table-row:last-child{border-bottom:none}.table-row:hover{background:#fafbfc}.col-problem{display:flex;align-items:baseline;gap:8px;min-width:0}.problem-id{font-size:13px;font-weight:600;color:#64748b;font-variant-numeric:tabular-nums;flex-shrink:0}.problem-title{color:#0f172a;font-size:15px;font-weight:500;letter-spacing:-.008em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-row:hover .problem-title{color:#0369a1}.col-added,.col-next{font-size:14px;color:#475569;font-variant-numeric:tabular-nums;letter-spacing:-.005em}.col-reviews{text-align:center}.reviews-count{display:inline-flex;min-width:24px;padding:2px 8px;background:#f1f5f9;color:#0f172a;border-radius:999px;font-size:13px;font-weight:600;justify-content:center;font-variant-numeric:tabular-nums}.cell-muted{color:#94a3b8;font-size:14px}.tags-list{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:0}.tag-pill{display:inline-block;padding:2px 8px;background:#f1f5f9;color:#475569;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:-.005em;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-more{font-size:12px;color:#64748b;font-weight:500}.btn-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .12s ease}.btn-delete:hover{color:#d2312f;background:#ef474314;border-color:#ef474333}.problems-empty{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:56px 40px;text-align:center;box-shadow:0 1px 2px #0f172a08}.empty-icon{color:#cbd5e1;margin-bottom:18px}.empty-title{font-size:20px;font-weight:600;letter-spacing:-.02em;color:#0f172a;margin:0 0 8px}.empty-desc{font-size:15px;color:#475569;letter-spacing:-.005em;max-width:420px;margin:0 auto 24px}.empty-steps{display:flex;flex-direction:column;gap:10px;max-width:400px;margin:40px auto 0;padding-top:32px;border-top:1px solid #f1f5f9}.empty-step{display:flex;align-items:center;gap:12px;text-align:left;font-size:14.5px;color:#475569;letter-spacing:-.005em}.step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#f1f5f9;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.step-text{flex:1;line-height:1.5}.problems-loading{padding:48px;text-align:center;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:14px;font-size:15px;letter-spacing:-.005em}@media (max-width: 900px){.problems-page{padding:12px 0 56px}.table-head{display:none}.table-row{grid-template-columns:1fr auto;gap:8px 14px;padding:14px 18px}.col-problem{grid-column:1}.col-difficulty{grid-column:2;grid-row:1;justify-self:end}.col-added{display:none}.col-next{grid-column:1 / -1;font-size:13px;color:#64748b}.col-next:before{content:attr(data-label)}.col-reviews,.col-tags{display:none}.col-actions{grid-column:2;grid-row:2;justify-self:end}}@media (max-width: 560px){.problems-page{padding:8px 0 40px}.problems-toolbar{flex-direction:column;align-items:stretch;gap:8px}.toolbar-search{min-width:0}.diff-chips{overflow-x:auto}.topic-select{width:100%}.problems-empty{padding:40px 24px}}.reviews-page{max-width:1040px;margin:0 auto;padding:16px 0 72px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#0f172a}.reviews-header{margin-bottom:24px}.reviews-title{font-size:clamp(28px,3.2vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.1;color:#0f172a;margin:0 0 10px}.reviews-subtitle{font-size:16px;line-height:1.55;color:#475569;margin:0;max-width:560px;letter-spacing:-.005em}.progress-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:26px 28px;margin-bottom:28px;box-shadow:0 1px 2px #0f172a0a,0 12px 48px -16px #0f172a14}.progress-main{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.progress-figure{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";line-height:1}.figure-num{font-size:clamp(42px,5vw,56px);font-weight:600;letter-spacing:-.04em;color:#0f172a}.figure-sep{font-size:clamp(22px,2.8vw,30px);color:#cbd5e1;font-weight:300}.figure-total{font-size:clamp(22px,2.8vw,30px);font-weight:500;color:#64748b;letter-spacing:-.02em}.progress-copy{text-align:right}.progress-label{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin-bottom:6px}.progress-hint{font-size:14.5px;color:#475569;letter-spacing:-.005em;line-height:1.45;max-width:280px}.progress-track{height:6px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin-bottom:20px}.progress-fill{height:100%;background:#0f172a;border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-meta{display:flex;gap:24px;padding-top:16px;border-top:1px solid #f1f5f9}.meta-item{display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:-.005em}.meta-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.meta-dot-done{background:#10b981}.meta-dot-todo{background:#f59e0b}.meta-dot-percent{background:#0f172a}.meta-label{color:#475569;font-weight:500}.meta-value{color:#0f172a;font-weight:600;font-variant-numeric:tabular-nums}.reviews-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin-bottom:24px}.reviews-tabs .tab{padding:10px 18px;background:transparent;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:14.5px;font-weight:600;color:#64748b;cursor:pointer;letter-spacing:-.005em;transition:color .12s ease,border-color .12s ease;margin-bottom:-1px}.reviews-tabs .tab:hover{color:#0f172a}.reviews-tabs .tab.active{color:#0f172a;border-bottom-color:#0f172a}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.task-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 1px 2px #0f172a08;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.task-card:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0f172a0a,0 12px 32px -12px #0f172a14;transform:translateY(-1px)}.task-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tag-id{display:inline-block;padding:2px 8px;background:#f1f5f9;color:#475569;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums}.diff-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.01em;line-height:1.5}.status-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.status-done{color:#047857;background:#10b9811a}.status-missed{color:#b91c1c;background:#ef44441a}.task-title-link{text-decoration:none;color:inherit;display:block}.task-title{font-size:16.5px;font-weight:600;color:#0f172a;margin:0;letter-spacing:-.015em;line-height:1.35;transition:color .12s ease}.task-title-link:hover .task-title{color:#0369a1}.task-meta{display:flex;flex-direction:column;gap:7px}.meta-row{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#475569;letter-spacing:-.005em}.meta-row svg{color:#94a3b8;flex-shrink:0}.meta-row .meta-k{color:#64748b}.meta-row .meta-v{color:#0f172a;font-weight:600;margin-left:auto;font-variant-numeric:tabular-nums}.task-actions{margin-top:2px;padding-top:14px;border-top:1px solid #f1f5f9;display:flex}.btn-primary-sm,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 14px;border-radius:10px;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:-.005em;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.btn-primary-sm{background:#0f172a;color:#fff;border-color:#0f172a}.btn-primary-sm:hover{background:#1e293b;transform:translateY(-1px);color:#fff}.btn-primary-sm:active{transform:translateY(0)}.btn-ghost{background:#fff;color:#475569;border-color:#e2e8f0}.btn-ghost:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.reviews-empty{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:56px 40px;text-align:center;box-shadow:0 1px 2px #0f172a08}.reviews-empty .empty-icon{color:#cbd5e1;margin-bottom:16px}.reviews-empty .empty-text{font-size:15px;color:#475569;margin:0;letter-spacing:-.005em}.reviews-loading{padding:48px;text-align:center;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:14px;font-size:15px;letter-spacing:-.005em}.reviews-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:28px 0 8px;padding:16px 4px 4px}.page-list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.page-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:36px;height:36px;padding:0 10px;background:#fff;border:1px solid #e2e8f0;border-radius:9px;font-family:inherit;font-size:13.5px;font-weight:600;color:#475569;cursor:pointer;letter-spacing:-.005em;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.page-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.page-btn:active:not(:disabled){transform:translateY(1px)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-num.active{background:#0f172a;border-color:#0f172a;color:#fff}.page-num.active:hover{background:#1e293b;border-color:#1e293b;color:#fff}.page-arrow{padding:0 12px}.page-arrow svg{flex-shrink:0}.page-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:36px;color:#94a3b8;font-size:13px;-webkit-user-select:none;user-select:none}.page-summary{margin-left:6px;color:#64748b;font-size:13px;font-weight:500;letter-spacing:-.005em}@media (max-width: 640px){.reviews-page{padding:12px 0 56px}.progress-panel{padding:22px 20px}.progress-main{flex-direction:column;align-items:flex-start;gap:14px}.progress-copy{text-align:left}.progress-hint{max-width:none}.progress-meta{flex-wrap:wrap;gap:14px 20px}.tasks-grid{grid-template-columns:1fr}.page-arrow span{display:none}.page-arrow{padding:0 8px;min-width:36px}.page-summary{width:100%;text-align:center;margin:4px 0 0}}.review-detail{max-width:820px;margin:0 auto;padding:32px 0 48px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.review-header{margin-bottom:32px}.back-link{display:inline-flex;align-items:center;color:#64748b;text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.01em;margin-bottom:20px;transition:color .15s ease}.back-link:hover{color:#0f172a}.review-header h1{margin:0 0 16px;color:#0f172a;font-size:clamp(28px,3.2vw,36px);font-weight:600;line-height:1.15;letter-spacing:-.02em}.header-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.meta-tag{display:inline-flex;padding:4px 10px;background:transparent;border:1px solid #e2e8f0;border-radius:999px;font-size:12px;color:#475569;font-weight:500;letter-spacing:.01em}.problem-link-card{display:flex;align-items:center;gap:10px;padding:12px 18px;background:#fff;border-radius:10px;border:1px solid #e2e8f0;margin-bottom:28px;color:#0f172a;font-size:13.5px;font-weight:500;letter-spacing:-.005em;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.problem-link-card:hover{border-color:#0f172a;box-shadow:0 4px 12px #0f172a0f;transform:translateY(-1px)}.problem-link-card .link-icon{color:#64748b;flex-shrink:0}.problem-link-card .link-arrow{margin-left:auto;color:#94a3b8;transition:transform .15s ease,color .15s ease}.problem-link-card:hover .link-arrow{color:#0f172a;transform:translate(2px,-2px)}.rating-section{background:#fff;border-radius:16px;padding:36px 44px;box-shadow:0 1px 3px #0f172a0a,0 10px 40px #0f172a0d;border:1px solid #e2e8f0}.rating-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px}.rating-option{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;min-height:132px;background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;cursor:pointer;transition:all .2s ease;text-align:center}.rating-option:hover:not(:disabled){border-color:#cbd5e1;transform:translateY(-3px);box-shadow:0 8px 20px #0f172a14}.rating-option.selected{border-color:#0f172a;background:#f8fafc;box-shadow:0 0 0 3px #0f172a14}.rating-option:disabled{opacity:.6;cursor:not-allowed}.option-label{font-size:17px;font-weight:700;color:#0f172a;margin-bottom:10px;letter-spacing:-.01em}.option-desc{font-size:13px;color:#64748b;line-height:1.5}.dimension-group{margin-bottom:28px}.dimension-group:last-of-type{margin-bottom:36px}.dimension-header{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.dimension-title{font-size:20px;font-weight:600;color:#0f172a;letter-spacing:-.015em;line-height:1.3}.dimension-hint{font-size:13px;color:#94a3b8;font-weight:400;letter-spacing:0;line-height:1.5}.dimension-options{display:flex;flex-wrap:wrap;gap:8px}.dimension-option{padding:9px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:13.5px;font-weight:500;color:#334155;white-space:nowrap;letter-spacing:-.005em;transition:border-color .1s ease,background-color .1s ease,color .1s ease}.dimension-option:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc;color:#0f172a}.dimension-option.selected{border-color:#0f172a;background:#f1f5f9;color:#0f172a;box-shadow:inset 0 0 0 1px #0f172a}.dimension-option.selected:hover:not(:disabled){background:#e2e8f0;border-color:#0f172a}.dimension-option:active:not(:disabled){transform:scale(.97)}.dimension-option:disabled{opacity:.5;cursor:not-allowed}.submit-section{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding-top:24px;border-top:1px solid #f1f5f9}.btn-submit{padding:13px 32px;background:#0f172a;color:#fff;border:none;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:-.005em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;box-shadow:0 8px 20px -8px #0f172a59}.btn-submit:hover:not(:disabled){background:#1e293b;transform:translateY(-1px);box-shadow:0 12px 28px -10px #0f172a66}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{background:#cbd5e1;color:#94a3b8;cursor:not-allowed;box-shadow:none;transform:none}.completed-section{margin-bottom:28px}.completed-card{background:#fff;border-radius:16px;padding:40px 44px;box-shadow:0 1px 3px #0f172a0a,0 10px 40px #0f172a0d;border:1px solid #e2e8f0}.completed-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;background:transparent;border:1px solid #e2e8f0;border-radius:999px;margin-bottom:32px}.check-icon{width:18px;height:18px;background:#0f172a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.completed-badge span:last-child{font-size:12px;font-weight:600;color:#0f172a;letter-spacing:.04em;text-transform:uppercase}.completed-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px}.info-block{display:flex;flex-direction:column;gap:8px}.info-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.info-value{font-size:15px;font-weight:600;color:#0f172a;letter-spacing:-.005em}.info-value.highlight{color:#0f172a;font-size:17px;letter-spacing:-.015em}.rating-result{display:inline-flex;align-items:center;padding:5px 12px;background:#0f172a;color:#fff;border-radius:999px}.rating-label{font-size:12px;font-weight:600;color:inherit;letter-spacing:.04em;text-transform:uppercase}.next-review-relative{font-size:13px;font-weight:500;color:#94a3b8;letter-spacing:0}.tags-section{display:flex;align-items:center;gap:14px;margin-top:24px;padding:14px 20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.tags-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-flex;align-items:center;background:transparent;padding:4px 10px;border:1px solid #e2e8f0;border-radius:999px;font-size:12px;font-weight:500;color:#475569;letter-spacing:0}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid #e2e8f0;background:#fff;color:#334155;letter-spacing:0}.badge-easy{color:#00b8a3}.badge-medium{color:#ffa116}.badge-hard{color:#ef4743}.error-state{text-align:center;padding:60px 40px;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0f172a14}.error-state p{color:#64748b;margin-bottom:24px;font-size:16px}.loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:#64748b;font-size:16px}@media (max-width: 900px){.rating-options{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.review-detail{padding:10px 0}.review-header h1{font-size:24px}.rating-section,.completed-card{padding:28px 20px}.rating-options{grid-template-columns:1fr;gap:12px}.rating-option{padding:20px 18px;min-height:0;flex-direction:column;align-items:flex-start;text-align:left;gap:6px}.dimension-options{flex-direction:column}.dimension-option{width:100%;text-align:left}.option-label{margin-bottom:4px}.btn-submit{width:100%;padding:16px 24px}.completed-info{grid-template-columns:1fr}.notes-input{min-height:120px}}@media (max-width: 480px){.review-detail{padding:8px 0}.review-header h1{font-size:20px}.rating-section,.completed-card{padding:20px 16px;border-radius:16px}.rating-prompt h2{font-size:20px}.rating-option{padding:16px 14px}.option-label{font-size:15px}.option-desc{font-size:12px}.btn-submit{padding:14px 24px;font-size:15px}.problem-link-card{padding:12px 16px}.notes-section{padding:16px;border-radius:12px}.notes-header h3{font-size:16px}}.notes-section{background:#fff;border-radius:16px;padding:28px 32px;margin-top:24px;border:1px solid #e2e8f0}.notes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.notes-header h3{font-size:11px;font-weight:600;color:#64748b;margin:0;text-transform:uppercase;letter-spacing:.08em}.notes-status{font-size:12px;color:#94a3b8;display:flex;align-items:center;gap:6px;font-weight:500}.notes-status:empty{display:none}.notes-input{width:100%;min-height:140px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;line-height:1.65;font-family:inherit;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;background:#fff;color:#0f172a}.notes-input:focus{outline:none;border-color:#0f172a;box-shadow:0 0 0 3px #0f172a0f;background:#fff}.notes-input::placeholder{color:#94a3b8}.notes-input:disabled{opacity:.6;cursor:not-allowed}.notes-hint{margin-top:10px;font-size:13px;color:#94a3b8}.statistics-page{max-width:1040px;margin:0 auto;padding:16px 0 72px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#0f172a}.stats-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}.stats-heading{flex:1;min-width:280px}.stats-eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#475569;margin-bottom:12px}.stats-title{font-size:clamp(28px,3.2vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.1;color:#0f172a;margin:0 0 10px}.stats-subtitle{font-size:15px;color:#475569;margin:0;letter-spacing:-.005em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.stats-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.week-selector{display:inline-flex;align-items:stretch;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;box-shadow:0 1px 2px #0f172a08}.week-nav,.week-label{background:#fff;border:none;padding:8px 12px;font-family:inherit;font-size:13.5px;font-weight:600;color:#475569;cursor:pointer;letter-spacing:-.005em;transition:background .12s ease,color .12s ease;display:inline-flex;align-items:center;justify-content:center}.week-label{padding:8px 16px;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0;min-width:96px;color:#0f172a}.week-nav:hover:not(:disabled),.week-label:hover{background:#f8fafc;color:#0f172a}.week-nav:disabled{opacity:.35;cursor:not-allowed}.total-card{display:inline-flex;align-items:baseline;gap:8px;padding:9px 16px;background:#0f172a;border-radius:10px;box-shadow:0 1px 2px #0f172a14}.total-number{font-size:22px;font-weight:600;color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.total-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px 24px;box-shadow:0 1px 2px #0f172a0a,0 12px 48px -16px #0f172a0f}.stats-card-wide{grid-column:1 / -1}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{font-size:15px;font-weight:600;color:#0f172a;margin:0;letter-spacing:-.01em}.card-hint{font-size:12px;font-weight:500;color:#64748b;letter-spacing:0}.card-action{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;transition:all .12s ease}.card-action:hover{color:#0f172a;border-color:#cbd5e1;background:#f8fafc}.chart-container{width:100%}.diff-legend{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid #f1f5f9}.legend-row{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:-.005em}.legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-name{color:#475569;font-weight:500;flex:1}.legend-value{color:#0f172a;font-weight:600;font-variant-numeric:tabular-nums}.bubble-chart-wrapper{width:100%;height:260px;position:relative}.bubble-chart-container{width:100%;height:100%;position:relative}.bubble{position:absolute;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:600;letter-spacing:-.005em;text-align:center;padding:6px;box-shadow:0 4px 16px #0f172a1f;transition:transform .2s ease,box-shadow .2s ease;cursor:default;animation:bubbleIn .5s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--delay) * .03s)}.bubble:hover{transform:scale(1.05);box-shadow:0 8px 24px #0f172a33}.bubble-label{font-size:12px;line-height:1.15;opacity:.95;overflow:hidden;max-width:90%;text-overflow:ellipsis}.bubble-value{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:1px}@keyframes bubbleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.no-data-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:220px;color:#94a3b8}.no-data-chart p{font-size:14px;margin:0;color:#64748b;letter-spacing:-.005em}.no-data-chart svg{color:#cbd5e1}.stats-loading,.stats-empty{padding:72px;text-align:center;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:16px;font-size:15px;letter-spacing:-.005em}.bubble-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .15s ease-out}.bubble-modal{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 24px 64px #0f172a33;width:100%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;animation:scaleIn .2s cubic-bezier(.34,1.56,.64,1)}.bubble-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #f1f5f9}.bubble-modal-header h3{font-size:16px;font-weight:600;color:#0f172a;margin:0;letter-spacing:-.01em}.close-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;transition:all .12s ease}.close-btn:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.bubble-modal-content{flex:1;padding:24px;min-height:500px}.bubble-modal-content .bubble-chart-container{height:500px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 900px){.stats-grid{grid-template-columns:1fr}}@media (max-width: 640px){.statistics-page{padding:12px 0 56px}.stats-header{flex-direction:column;align-items:flex-start}.stats-controls{width:100%;justify-content:space-between}.stats-card{padding:18px}}.digest-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;margin-bottom:24px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a08}.digest-card-text{flex:1;min-width:0}.digest-card-title{font-size:15px;font-weight:600;color:#0f172a;margin:0 0 4px}.digest-card-subtitle{font-size:13px;color:#64748b;line-height:1.55;margin:0}.digest-card-subtitle code{background:#f1f5f9;color:#334155;padding:1px 6px;border-radius:4px;font-size:12px;font-family:SFMono-Regular,Menlo,Consolas,monospace}.digest-card-subtitle a{color:#0f172a;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.digest-card-error{margin:6px 0 0;font-size:12px;color:#dc2626}.digest-toggle{position:relative;display:inline-block;flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none}.digest-toggle.is-disabled,.digest-toggle.is-saving{cursor:not-allowed;opacity:.55}.digest-toggle input{position:absolute;opacity:0;width:0;height:0}.digest-toggle-track{display:block;width:44px;height:26px;background:#cbd5e1;border-radius:999px;transition:background-color .18s ease;position:relative}.digest-toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a33;transition:transform .18s ease}.digest-toggle input:checked+.digest-toggle-track{background:#0f172a}.digest-toggle input:checked+.digest-toggle-track .digest-toggle-thumb{transform:translate(18px)}.digest-toggle input:focus-visible+.digest-toggle-track{box-shadow:0 0 0 3px #0f172a2e}@media (max-width: 640px){.digest-card{flex-direction:column;align-items:flex-start;gap:14px}}.lists-page{max-width:1040px;margin:0 auto;padding:16px 0 72px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#0f172a}.lists-header{margin-bottom:32px}.lists-eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#475569;margin-bottom:12px}.lists-page-title{font-size:clamp(28px,3.2vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.1;color:#0f172a;margin:0 0 10px}.lists-page-subtitle{font-size:16px;line-height:1.55;color:#475569;margin:0;max-width:620px;letter-spacing:-.005em}.lists-tabs{display:flex;gap:2px;border-bottom:1px solid #e2e8f0;margin-bottom:28px}.lists-tab{background:transparent;border:none;padding:14px 22px;font-family:inherit;font-size:15px;font-weight:500;color:#475569;cursor:pointer;letter-spacing:-.005em;position:relative;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.lists-tab:hover:not(.active){color:#0f172a}.lists-tab.active{color:#0f172a;font-weight:600;border-bottom-color:#0f172a}.lists-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:48px;padding:32px 36px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 2px #0f172a0a,0 12px 48px -16px #0f172a14;margin-bottom:28px}.summary-left{min-width:0}.summary-eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#0f172a;margin-bottom:12px}.summary-desc{font-size:15px;line-height:1.6;color:#475569;margin:0 0 24px;max-width:520px;letter-spacing:-.005em}.difficulty-breakdown{display:flex;flex-wrap:wrap;gap:24px 32px}.diff-line{display:inline-flex;align-items:center;gap:8px;font-size:14px;letter-spacing:-.005em}.diff-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.diff-label{font-weight:600;color:#0f172a;min-width:34px}.diff-nums{display:inline-flex;align-items:baseline;gap:1px;font-variant-numeric:tabular-nums}.diff-nums b{color:#0f172a;font-weight:700;font-size:16px}.diff-sep{color:#94a3b8;font-weight:400;margin:0 1px}.diff-total{color:#64748b;font-weight:500;font-size:14px}.summary-right{display:flex;align-items:center;justify-content:center}.progress-ring{position:relative;flex-shrink:0}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;line-height:1}.ring-number{font-size:38px;font-weight:700;color:#0f172a;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ring-total{font-size:13px;color:#64748b;font-weight:500;margin-top:4px;font-variant-numeric:tabular-nums}.ring-label{font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.14em;margin-top:6px}.lists-toolbar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a08;margin-bottom:20px}.toolbar-search{flex:1;min-width:0;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:#64748b;pointer-events:none}.search-input{width:100%;padding:9px 12px 9px 36px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:14px;font-family:inherit;color:#0f172a;letter-spacing:-.005em;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.search-input::placeholder{color:#64748b}.search-input:hover{background:#fff;border-color:#cbd5e1}.search-input:focus{outline:none;background:#fff;border-color:#0f172a;box-shadow:0 0 0 3px #0f172a0f}.diff-chips{display:flex;gap:6px;flex-shrink:0}.diff-chip{padding:7px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;font-family:inherit;font-size:13px;font-weight:600;color:#475569;cursor:pointer;letter-spacing:0;transition:border-color .12s ease,color .12s ease,background .12s ease}.diff-chip:hover:not(.active){border-color:#cbd5e1;color:#0f172a;background:#f8fafc}.diff-chip.active{background:#fff;box-shadow:0 0 0 1px currentColor inset}.toolbar-btn{padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .12s ease,color .12s ease,background .12s ease}.toolbar-btn:hover{border-color:#0f172a;color:#0f172a;background:#f8fafc}.toolbar-btn.active{background:#0f172a;color:#fff;border-color:#0f172a}.toolbar-spacer{flex:0 0 4px}.lists-topics{display:flex;align-items:flex-start;gap:10px;margin-bottom:24px}.topics-scroll{flex:1;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.topic-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 6px 6px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;font-family:inherit;font-size:13.5px;font-weight:500;color:#475569;cursor:pointer;letter-spacing:-.005em;transition:border-color .12s ease,color .12s ease,background .12s ease}.topic-pill:hover:not(.active){border-color:#cbd5e1;color:#0f172a}.topic-pill.active{background:#0f172a;border-color:#0f172a;color:#fff}.topic-name{font-weight:500}.topic-count{font-size:12px;font-weight:600;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:999px;line-height:1.3;font-variant-numeric:tabular-nums}.topic-pill.active .topic-count{color:#0f172a;background:#fff}.topics-expand{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:transparent;border:none;font-family:inherit;font-size:13.5px;font-weight:500;color:#475569;cursor:pointer;letter-spacing:-.005em;transition:color .12s ease}.topics-expand:hover{color:#0f172a}.lists-categories{display:flex;flex-direction:column;gap:8px}.cat-row{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.cat-row:hover{border-color:#cbd5e1;box-shadow:0 1px 3px #0f172a0a}.cat-header{display:grid;grid-template-columns:18px 1fr auto 220px;align-items:center;gap:16px;width:100%;padding:16px 24px;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit}.cat-chevron{color:#64748b;transition:transform .18s ease,color .15s ease}.cat-chevron.expanded{transform:rotate(90deg);color:#0f172a}.cat-name{font-size:16px;font-weight:600;color:#0f172a;letter-spacing:-.015em}.cat-count{font-size:13.5px;font-weight:600;color:#475569;font-variant-numeric:tabular-nums;letter-spacing:0}.cat-progress{height:6px;background:#f1f5f9;border-radius:999px;overflow:hidden}.cat-progress-fill{height:100%;background:#0f172a;border-radius:999px;transition:width .3s ease}.problems-list{border-top:1px solid #f1f5f9;background:#fafbfc}.problem-row{display:grid;grid-template-columns:52px 1fr 72px 34px;align-items:center;gap:16px;padding:11px 24px;border-bottom:1px solid #f1f5f9;transition:background .1s ease}.problem-row:hover{background:#f1f5f9}.problem-row:last-child{border-bottom:none}.problem-id{font-size:13px;font-weight:600;color:#64748b;font-variant-numeric:tabular-nums;letter-spacing:0}.problem-title{color:#0f172a;text-decoration:none;font-size:15px;font-weight:500;letter-spacing:-.008em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .12s ease}.problem-title:hover{color:#0369a1;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.diff-pill{justify-self:start;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.01em;line-height:1.5}.diff-pill-easy{color:#00857a;background:#00b8a31a}.diff-pill-medium{color:#c77700;background:#ffa1161f}.diff-pill-hard{color:#d2312f;background:#ef47431a}.btn-add{width:30px;height:30px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;transition:all .12s ease}.btn-add:hover:not(:disabled){background:#0f172a;color:#fff;border-color:#0f172a;transform:translateY(-1px);box-shadow:0 4px 10px #0f172a1f}.btn-add:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn-add:disabled{opacity:.6;cursor:not-allowed}.btn-add-dots{font-size:11px;letter-spacing:-.5px;line-height:1}.added-mark{width:30px;height:30px;border-radius:8px;background:#ecfdf5;color:#00857a;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,133,122,.2)}.lists-loading,.lists-empty{padding:56px 24px;text-align:center;color:#475569;font-size:15px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;letter-spacing:-.005em}@media (max-width: 900px){.lists-page{padding:12px 0 56px}.lists-summary{grid-template-columns:1fr;gap:28px;padding:28px}.summary-right{justify-content:flex-start}.lists-toolbar{flex-wrap:wrap}.toolbar-search{flex:1 1 100%;order:-1}.cat-header{grid-template-columns:18px 1fr auto;padding:14px 18px}.cat-progress{display:none}.problem-row{padding:11px 18px}}@media (max-width: 560px){.lists-page{padding:8px 0 40px}.lists-header{margin-bottom:24px}.lists-tab{padding:12px 14px;font-size:14px}.lists-summary{padding:22px}.difficulty-breakdown{gap:14px 22px}.problem-row{grid-template-columns:42px 1fr 58px 30px;gap:10px;padding:11px 16px}.diff-chips{gap:4px}.diff-chip{padding:6px 11px;font-size:12.5px}}.more-lists-page{max-width:900px;margin:0 auto;padding:40px 20px}.more-lists-header{text-align:center;margin-bottom:40px}.more-lists-header h1{font-size:32px;color:#0f172a;margin:0}.available-lists-section{margin-bottom:48px}.available-lists-section h2{font-size:18px;color:#0f172a;margin-bottom:16px;font-weight:600}.available-lists-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.available-list-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;text-decoration:none;transition:all .2s ease;position:relative}.available-list-card:hover{border-color:var(--accent-color, #0f172a);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.available-list-card .list-badge{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:10px;font-size:14px;font-weight:700;flex-shrink:0}.available-list-card .list-info{display:flex;flex-direction:column;gap:4px;flex:1}.available-list-card .list-info strong{font-size:15px;color:#0f172a}.available-list-card .list-info span{font-size:13px;color:#64748b}.available-list-card .list-arrow{font-size:18px;color:#94a3b8;transition:transform .2s}.available-list-card:hover .list-arrow{transform:translate(4px);color:var(--accent-color, #0f172a)}@media (max-width: 768px){.available-lists-grid{grid-template-columns:1fr}}@media (max-width: 600px){.more-lists-header h1{font-size:24px}.available-list-card{padding:16px}}.settings-container{max-width:640px;margin:0 auto}.settings-loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:#64748b;font-size:16px}.settings-header{display:flex;align-items:center;gap:20px;margin-bottom:32px}.settings-header h1{margin:0;font-size:28px;font-weight:700;color:#0f172a}.settings-banner{background:#fef3c7;border:1px solid #fde68a;color:#78350f;border-radius:12px;padding:16px 20px;margin-bottom:24px}.settings-banner strong{display:block;font-size:15px;margin-bottom:4px}.settings-banner p{margin:0;font-size:14px;line-height:1.5}.back-button{background:none;border:1px solid #e2e8f0;color:#475569;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.settings-section{background:#fff;border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 4px 20px #0f172a0f;border:1px solid #e2e8f0}.settings-section h2{margin:0 0 8px;font-size:18px;font-weight:600;color:#0f172a}.section-desc{margin:0 0 20px;font-size:14px;color:#64748b;line-height:1.5}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#0f172a;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;transition:all .2s ease;background-color:#fff}.form-group input:focus{outline:none;border-color:#0f172a;box-shadow:0 0 0 3px #0f172a14}.form-group input:hover:not(:disabled){border-color:#cbd5e1}.field-hint{display:block;margin-top:6px;font-size:12px;color:#94a3b8}.input-disabled{background:#f1f5f9!important;color:#64748b!important;cursor:not-allowed}.input-with-button{display:flex;gap:12px}.input-with-button input{flex:1}.input-with-button .btn{white-space:nowrap;min-width:100px}.btn{padding:12px 24px;font-size:14px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:#0f172a;color:#fff}.btn-primary:hover:not(:disabled){background:#1e293b}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:#0f172a;border:1px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.error-message{margin-bottom:16px;padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-size:14px}.success-message{margin-bottom:16px;padding:12px 16px;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#166534;font-size:14px}.warning-message{padding:16px;background-color:#fffbeb;border:1px solid #fde68a;border-radius:10px;color:#92400e;font-size:14px;line-height:1.5}.button-group{display:flex;gap:12px}@media (max-width: 640px){.settings-container{padding:0 16px}.settings-header{flex-direction:column;align-items:flex-start;gap:12px}.settings-section{padding:20px}.input-with-button{flex-direction:column}.input-with-button .btn{width:100%}}.legal-page{min-height:100vh;background:#f8fafc;padding:40px 20px}.legal-container{max-width:800px;margin:0 auto;background:#fff;border-radius:16px;padding:48px;box-shadow:0 4px 20px #0f172a14}.legal-back{display:inline-block;color:#64748b;text-decoration:none;font-size:14px;margin-bottom:24px;transition:color .2s}.legal-back:hover{color:#0f172a}.legal-container h1{font-size:32px;font-weight:700;color:#0f172a;margin-bottom:8px}.legal-updated{color:#94a3b8;font-size:14px;margin-bottom:32px}.legal-container section{margin-bottom:32px}.legal-container h2{font-size:18px;font-weight:600;color:#0f172a;margin-bottom:12px}.legal-container p{color:#475569;line-height:1.7;margin-bottom:12px}.legal-container ul{margin:0;padding-left:24px;color:#475569;line-height:1.8}.legal-container li{margin-bottom:8px}.legal-container a{color:#3b82f6;text-decoration:none}.legal-container a:hover{text-decoration:underline}@media (max-width: 768px){.legal-container{padding:24px}.legal-container h1{font-size:24px}.legal-container h2{font-size:16px}}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#0f172a}code,pre,kbd,samp{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.container{max-width:1200px;margin:0 auto;padding:20px}.btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-primary{background-color:#0f172a;color:#fff!important;border:1px solid #0f172a;text-decoration:none}.btn-primary:hover{background-color:#1e293b;border-color:#1e293b;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a26}a.btn-primary,a.btn-primary:hover{color:#fff!important}.btn-secondary{background-color:#fff;color:#475569;border:1px solid #e2e8f0}.btn-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1;color:#0f172a}.btn-success{background-color:#475569;color:#fff;border:1px solid #475569}.btn-success:hover{background-color:#334155;border-color:#334155}.btn-danger{background-color:#64748b;color:#fff;border:1px solid #64748b}.btn-danger:hover{background-color:#475569;border-color:#475569}.btn-warning{background-color:#94a3b8;color:#fff;border:1px solid #94a3b8}.btn-warning:hover{background-color:#64748b;border-color:#64748b}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#0f172a}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#475569;box-shadow:0 0 0 3px #4755691a}.card{background:#fff;border-radius:16px;padding:24px;margin-bottom:0;box-shadow:0 10px 40px #0f172a14;border:1px solid rgba(226,232,240,.8)}.error{color:#0f172a;font-size:14px;margin-top:8px;padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px}.success{color:#0f172a;font-size:14px;margin-top:8px;padding:12px 16px;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.loading{text-align:center;padding:40px;color:#64748b}.badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.badge-easy{background-color:#e6f7f5;color:#00857a;border:1px solid #99e3db}.badge-medium{background-color:#fff5e6;color:#b87500;border:1px solid #ffd39d}.badge-hard{background-color:#fdecec;color:#c02c29;border:1px solid #f9b8b7}.badge-todo{background-color:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.badge-done{background-color:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.badge-missed{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}
