@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg-base:#0d1117;--bg-surface:#161b22;--bg-elevated:#21262d;--bg-overlay:#30363d;--border:#30363d;--border-muted:#21262d;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#6e7681;--accent-blue:#2f81f7;--accent-blue-hover:#388bfd;--accent-green:#3fb950;--accent-red:#f85149;--accent-yellow:#d29922;--accent-purple:#a371f7;--accent-orange:#e3b341;--gradient-hero:linear-gradient(135deg, #0d1117 0%, #161b22 40%, #1c2128 100%);--gradient-card:linear-gradient(135deg, #2f81f70d 0%, #a371f70d 100%);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-glow:0 0 20px #2f81f726}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-blue)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;line-height:1.25}p{margin:0}a{color:inherit;text-decoration:none}code,pre{font-family:JetBrains Mono,monospace}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.glass{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);background:#161b22b3}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:border-color .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-glow);border-color:#2f81f766}.badge{letter-spacing:.02em;border-radius:20px;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-easy{color:var(--accent-green);background:#3fb95026;border:1px solid #3fb9504d}.badge-medium{color:var(--accent-yellow);background:#d2992226;border:1px solid #d299224d}.badge-hard{color:var(--accent-red);background:#f8514926;border:1px solid #f851494d}.badge-pending{color:var(--text-secondary);background:#8b949e26;border:1px solid #8b949e4d}.badge-ac{color:var(--accent-green);background:#3fb95026;border:1px solid #3fb9504d}.badge-wa{color:var(--accent-red);background:#f8514926;border:1px solid #f851494d}.badge-tle{color:var(--accent-purple);background:#a371f726;border:1px solid #a371f74d}.badge-ce{color:var(--accent-orange);background:#e3b34126;border:1px solid #e3b3414d}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent-blue);color:#fff}.btn-primary:hover{background:var(--accent-blue-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2f81f766}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent-blue);background:var(--bg-overlay)}.btn-success{background:var(--accent-green);color:#fff}.btn-success:hover{opacity:.9;transform:translateY(-1px)}.input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);outline:none;padding:.625rem 1rem;font-family:inherit;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #2f81f726}.input::placeholder{color:var(--text-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #2f81f74d}50%{box-shadow:0 0 20px #2f81f799}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-up{animation:.5s forwards fadeUp}.animate-pulse-glow{animation:2s infinite pulse-glow}.spinner{border:2px solid var(--bg-overlay);border-top-color:var(--accent-blue);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.test-block{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;font-size:.7rem;font-weight:700;transition:all .3s;display:flex}.test-block-pending{background:var(--bg-elevated);color:var(--text-muted);border:1px dashed var(--border)}.test-block-ac{color:var(--accent-green);background:#3fb95033;border:1px solid #3fb95080}.test-block-wa{color:var(--accent-red);background:#f8514933;border:1px solid #f8514980}.test-block-tle{color:var(--accent-purple);background:#a371f733;border:1px solid #a371f780}.test-block-ce{color:var(--accent-orange);background:#e3b34133;border:1px solid #e3b34180}.test-block-re{color:var(--accent-red);background:#f8514926;border:1px solid #f8514966}.table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%}thead tr{background:var(--bg-elevated)}th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.8rem;font-weight:600}td{border-bottom:1px solid var(--border-muted);padding:.875rem 1rem;font-size:.875rem}tbody tr{transition:background .15s}tbody tr:hover{background:var(--bg-elevated)}tbody tr:last-child td{border-bottom:none}.prose{color:var(--text-primary);line-height:1.8}.prose h1,.prose h2,.prose h3{color:var(--text-primary);margin:1.5em 0 .75em}.prose p{color:var(--text-secondary);margin:.75em 0}.prose code{background:var(--bg-elevated);color:var(--accent-blue);border-radius:4px;padding:2px 6px;font-size:.85em}.prose pre{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);margin:1em 0;padding:1rem;overflow-x:auto}.prose pre code{color:var(--text-primary);background:0 0;padding:0}.prose ul,.prose ol{color:var(--text-secondary);padding-left:1.5rem}.prose li{margin:.25em 0}.prose strong{color:var(--text-primary);font-weight:600}.prose blockquote{border-left:3px solid var(--accent-blue);color:var(--text-secondary);margin:1em 0;padding-left:1rem}
