@font-face{font-family:Sora;src:url(/assets/fonts/sora-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Sora;src:url(/assets/fonts/sora-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Sora;src:url(/assets/fonts/sora-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Sora;src:url(/assets/fonts/sora-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/jetbrains-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/jetbrains-mono-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;padding:8px 16px;background:var(--primary);color:#fff;border-radius:0 0 8px 8px;font-size:14px;font-weight:600;text-decoration:none;transition:top .2s}.skip-link:focus{top:0}:root{--font-sans: "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", Consolas, ui-monospace, monospace;--font-serif: Georgia, "Times New Roman", serif;--primary: #14532D;--primary-light: #EAF2EC;--primary-dark: #0F4023;--primary-rgb: 20,83,45;--secondary: #B45309;--secondary-light: #FBF3E6;--success: #14532D;--success-light: #EAF2EC;--warning: #B45309;--warning-light: #FBF3E6;--danger: #9F3A38;--danger-light: #F9ECEB;--info: #1E5A8A;--info-light: #E8F0F7;--accent-purple: #6D28A8;--gray-50: #FAF8F2;--gray-100: #F1EEE4;--gray-200: #E7E4DB;--gray-300: #D6D2C4;--gray-400: #8A917F;--gray-500: #6B7264;--gray-600: #57604F;--gray-700: #3F4838;--gray-800: #2A3125;--gray-900: #1A1F16;--bg: #FDFCF9;--bg-end: #FDFCF9;--card-bg: #FFFFFF;--sidebar-width: 0px;--navbar-height: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-sm: 0 1px 3px rgba(26,31,22,.06);--shadow-md: 0 1px 3px rgba(26,31,22,.06), 0 4px 14px rgba(26,31,22,.04);--shadow-lg: 0 4px 10px rgba(26,31,22,.07), 0 12px 32px rgba(26,31,22,.06);--transition: .15s ease;--glass-bg: #FFFFFF;--glass-bg-hover: #FAF8F2;--glass-border: #E7E4DB;--glass-blur: none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);font-size:14px;color:var(--gray-800);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background:var(--bg);min-height:100vh}h1,h2{font-family:var(--font-serif);font-weight:600;letter-spacing:-.005em;color:var(--gray-900);line-height:1.25}h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em;color:var(--gray-900);line-height:1.25}h1{font-size:28px}h2{font-size:21px}h3{font-size:16px}code,pre,kbd,samp{font-family:var(--font-mono);font-feature-settings:"calt","liga";font-variant-ligatures:contextual}code{color:var(--info);background:var(--gray-100);padding:1px 6px;border-radius:5px}pre{background:#22271f!important;border-radius:var(--radius-md)}pre code{color:#abb2bf;background:transparent;padding:0}.hljs{color:#abb2bf;background:#22271f}.hljs-comment,.hljs-quote{color:#7f848e;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#c678dd}.hljs-string,.hljs-addition{color:#98c379}.hljs-number,.hljs-literal{color:#d19a66}.hljs-title,.hljs-section,.hljs-function{color:#61afef}.hljs-name,.hljs-tag{color:#e06c75}.hljs-attr,.hljs-attribute{color:#d19a66}.hljs-variable,.hljs-template-variable{color:#e06c75}.hljs-built_in,.hljs-class .hljs-title{color:#e5c07b}.hljs-symbol,.hljs-bullet{color:#56b6c2}.hljs-meta{color:#61afef}.hljs-deletion{color:#e06c75}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:100px;font-size:12px;font-weight:500;line-height:20px}.badge.easy{background:var(--success-light);color:var(--success)}.badge.medium{background:var(--warning-light);color:var(--warning)}.badge.hard{background:var(--danger-light);color:var(--danger)}.badge.behavioral{background:var(--info-light);color:var(--info)}.badge.system-design{background:#f0e8f8;color:var(--accent-purple)}.progress-bar{height:6px;background:var(--gray-100);border-radius:3px;overflow:hidden}.progress-bar .fill{height:100%;border-radius:3px;transition:width .6s ease}.card{background:var(--card-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-md);transition:border-color var(--transition),box-shadow var(--transition)}.card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;border-radius:100px;font-size:14px;font-weight:600;border:1.5px solid var(--gray-300);background:transparent;color:var(--gray-700);transition:all var(--transition)}.btn:hover{border-color:var(--gray-400);background:var(--gray-50)}.btn.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn.btn-sm{padding:5px 12px;font-size:13px}.section-title{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:16px}@keyframes glow{0%,to{opacity:.4}50%{opacity:.8}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes barGrow{0%{width:0}}@media (max-width: 768px){.page-header h1{font-size:22px}.card{padding:16px}.btn{padding:8px 16px;font-size:13px}}@media (max-width: 480px){.page-header h1{font-size:18px}.page-header .subtitle{font-size:12px}}
