@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.navbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;height:56px;display:flex}.navbar-brand{color:var(--text-primary);align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.navbar-brand:hover{color:var(--accent)}.brand-icon{color:var(--accent);font-size:24px}.navbar-links{align-items:center;gap:16px;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius);padding:6px 12px;font-size:14px;font-weight:500;transition:all .2s}.nav-link:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-user{align-items:center;gap:12px;display:flex}.nav-auth{align-items:center;gap:8px;display:flex}.avatar{background:var(--accent);color:#000;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-right:6px;font-size:12px;font-weight:700;display:inline-flex}.btn-sm{padding:6px 14px;font-size:13px}.problem-list-page{padding-top:32px}.problem-list-header{margin-bottom:24px}.problem-list-header h1{margin-bottom:4px;font-size:32px;font-weight:700}.subtitle{color:var(--text-secondary);font-size:15px}.stats-row{gap:12px;margin-top:16px;display:flex}.stat-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;min-width:80px;padding:12px 20px;display:flex}.stat-value{color:var(--text-primary);font-size:24px;font-weight:700}.stat-label{color:var(--text-muted);margin-top:2px;font-size:12px}.stat-easy .stat-value{color:var(--green)}.stat-medium .stat-value{color:var(--yellow)}.stat-hard .stat-value{color:var(--red)}.filters{gap:12px;margin-bottom:16px;display:flex}.search-input{flex:1}.filter-select{width:160px}.problem-table{border-collapse:collapse;width:100%}.problem-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-secondary);padding:12px 16px;font-size:12px;font-weight:600}.problem-table td{border-bottom:1px solid var(--border);padding:14px 16px;font-size:14px}.problem-row:hover{background:var(--bg-hover)}.problem-row:last-child td{border-bottom:none}.col-status{text-align:center;width:50px}.col-acceptance{width:100px;color:var(--text-secondary)}.col-difficulty{width:100px}.col-category{width:160px}.problem-link{color:var(--text-primary);font-weight:500}.problem-link:hover{color:var(--accent)}.problem-num{color:var(--text-muted);margin-right:4px}.status-solved{color:var(--green);font-size:18px;font-weight:700}.status-unsolved{border:2px solid var(--border-light);border-radius:50%;width:14px;height:14px;display:inline-block}.empty-row{text-align:center;color:var(--text-muted);padding:40px!important}.problem-detail{height:calc(100vh - 76px);display:flex;overflow:hidden}.problem-left{border-right:1px solid var(--border);flex-direction:column;width:45%;min-width:400px;display:flex;overflow-y:auto}.problem-right{flex-direction:column;flex:1;display:flex;overflow:hidden}.problem-header{padding:20px 24px 16px}.problem-header h2{margin-bottom:8px;font-size:22px;font-weight:700}.problem-meta{align-items:center;gap:8px;display:flex}.problem-tabs{border-bottom:1px solid var(--border);padding:0 24px;display:flex}.tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.problem-content{flex:1;padding:20px 24px;overflow-y:auto}.description{margin-bottom:20px;font-size:14px;line-height:1.8}.description code{background:var(--bg-input);color:var(--accent);border-radius:3px;padding:1px 6px;font-size:13px}.example{margin-bottom:16px}.example h4{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600}.example-box{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;font-size:13px;line-height:1.8}.example-box code{color:var(--text-primary);background:0 0}.constraints{margin-top:20px}.constraints h4{margin-bottom:8px;font-size:14px;font-weight:600}.constraints ul{padding-left:20px}.constraints li{color:var(--text-secondary);margin-bottom:4px;font-size:13px}.constraints code{background:var(--bg-input);border-radius:3px;padding:1px 4px;font-size:12px}.editor-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.language-select{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;font-size:13px}.editor-actions{gap:8px;display:flex}.editor-container{flex:1;min-height:300px}.console-panel{border-top:1px solid var(--border);flex-direction:column;max-height:300px;display:flex}.console-header{color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:8px 14px;font-size:13px;font-weight:600}.console-body{background:var(--bg-input);flex:1;padding:12px 14px;font-size:13px;overflow-y:auto}.console-footer{background:var(--bg-secondary);border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.test-input-section{margin-bottom:12px}.test-input-section label{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.test-input{resize:vertical;min-height:36px;font-family:monospace;font-size:13px}.output-section{margin-top:8px}.output-block{margin-bottom:8px}.output-block label{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.output-block pre{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;padding:10px;font-size:13px;overflow-x:auto}.output-block.error pre{border-color:var(--red);color:var(--red)}.output-message{background:var(--blue-bg);border:1px solid var(--blue);border-radius:var(--radius);color:var(--blue);padding:10px;font-size:13px}.test-result{border-radius:var(--radius);margin-bottom:6px;padding:8px 12px;font-size:13px}.test-result.passed{background:var(--green-bg);border:1px solid #22c55e4d}.test-result.failed{background:var(--red-bg);border:1px solid #ef44444d}.test-label{font-weight:600}.test-details{color:var(--text-secondary);margin-top:4px;font-size:12px}.test-details code{color:var(--text-primary);font-size:12px}.submissions-list{flex:1;padding:16px 24px;overflow-y:auto}.submission-item{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;display:flex}.submission-status{font-size:14px;font-weight:600}.submission-status.accepted{color:var(--green)}.submission-status.rejected{color:var(--red)}.submission-meta{color:var(--text-secondary);gap:16px;font-size:13px;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:40px}.category-tag{background:var(--blue-bg);color:var(--blue);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:40px 20px;display:flex}.auth-card{width:100%;max-width:420px;padding:40px}.auth-header{text-align:center;margin-bottom:32px}.auth-header h2{margin-bottom:8px;font-size:26px;font-weight:700}.auth-header p{color:var(--text-secondary);font-size:14px}.auth-form{flex-direction:column;gap:16px;display:flex}.form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.btn-full{justify-content:center;width:100%;margin-top:8px;padding:12px;font-size:15px}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:14px}.profile-page{max-width:800px;padding-top:32px}.profile-card{padding:32px}.profile-top{align-items:center;gap:20px;margin-bottom:32px;display:flex}.profile-avatar{background:var(--accent);color:#000;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;font-weight:700;display:flex}.profile-top h2{margin-bottom:2px;font-size:24px}.profile-email{color:var(--text-secondary);font-size:14px}.profile-stats{gap:16px;margin-bottom:32px;display:flex}.pstat{text-align:center;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);flex:1;padding:20px}.pstat-value{color:var(--accent);font-size:28px;font-weight:700}.pstat-label{color:var(--text-muted);margin-top:4px;font-size:12px}.difficulty-breakdown{margin-bottom:32px}.difficulty-breakdown h3{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.diff-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.diff-label{width:70px;font-size:13px;font-weight:500}.diff-bar-bg{background:var(--bg-input);border-radius:4px;flex:1;height:8px;overflow:hidden}.diff-bar{border-radius:4px;height:100%;transition:width .5s}.diff-bar.easy{background:var(--green)}.diff-bar.medium{background:var(--yellow)}.diff-bar.hard{background:var(--red)}.diff-count{color:var(--text-secondary);text-align:right;width:40px;font-size:13px}.heatmap-section h3{color:var(--text-primary);margin-bottom:12px;font-size:16px;font-weight:600}.heatmap{flex-wrap:wrap;gap:2px;max-width:100%;display:flex}.heatmap-cell{background:var(--bg-input);border-radius:2px;width:10px;height:10px}.heatmap-cell.level-1{background:#22c55e4d}.heatmap-cell.level-2{background:#22c55e99}.heatmap-cell.level-3{background:var(--green)}main{padding-top:20px;padding-bottom:40px}:root{--bg-primary:#1a1a2e;--bg-secondary:#16213e;--bg-card:#1e2a4a;--bg-input:#0f1729;--bg-hover:#253458;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--accent:#f59e0b;--accent-hover:#d97706;--green:#22c55e;--green-bg:#22c55e1a;--yellow:#eab308;--yellow-bg:#eab3081a;--red:#ef4444;--red-bg:#ef44441a;--blue:#3b82f6;--blue-bg:#3b82f61a;--border:#2d3748;--border-light:#374151;--shadow:0 4px 6px -1px #0000004d;--radius:8px;--radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.badge{text-transform:capitalize;border-radius:20px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-easy{background:var(--green-bg);color:var(--green)}.badge-medium{background:var(--yellow-bg);color:var(--yellow)}.badge-hard{background:var(--red-bg);color:var(--red)}.btn{border-radius:var(--radius);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-success{background:var(--green);color:#000}.btn-success:hover{background:#16a34a}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:#dc2626}.input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);padding:10px 14px;font-size:14px;transition:border-color .2s}.input:focus{border-color:var(--accent);outline:none}.input::placeholder{color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.loading{color:var(--text-secondary);justify-content:center;align-items:center;padding:60px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
