@import url(https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,600;0,9..144,700;1,9..144,300;1,9..144,600&family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400;500&display=swap);:root{--bg:#fafaf8;--bg2:#f4f4f0;--surface:#fff;--border:#e8e8e2;--border2:#d4d4cc;--accent:#1a1a2e;--accent2:#e85d26;--accent3:#2563eb;--text:#1a1a1e;--muted:#6b6b72;--muted2:#9b9ba2;--tag-tech:#dbeafe;--tag-tech-c:#1d4ed8;--tag-dsa:#d1fae5;--tag-dsa-c:#065f46;--tag-ai:#fef3c7;--tag-ai-c:#92400e;--tag-career:#fce7f3;--tag-career-c:#9d174d;--radius:6px;--shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 10px 40px #0000001a}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#fafaf8;background:var(--bg);color:#1a1a1e;color:var(--text);font-family:DM Sans,sans-serif;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5{font-family:Fraunces,serif;letter-spacing:-.02em;line-height:1.15}a{color:inherit;text-decoration:none}img{max-width:100%}button{cursor:pointer;font-family:DM Sans,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f4f4f0;background:var(--bg2)}::-webkit-scrollbar-thumb{background:#d4d4cc;background:var(--border2);border-radius:3px}#read-bar{background:#e85d26;background:var(--accent2);height:2px;left:0;position:fixed;top:0;transition:width .1s;z-index:9999}.container{margin:0 auto;max-width:1180px;padding:0 2rem}.sr-only{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute;width:1px}.badge{align-items:center;border-radius:20px;display:inline-flex;font-family:DM Mono,monospace;font-size:.68rem;font-weight:500;letter-spacing:.04em;padding:.2rem .65rem;white-space:nowrap}.badge-tech{background:#dbeafe;background:var(--tag-tech);color:#1d4ed8;color:var(--tag-tech-c)}.badge-dsa{background:#d1fae5;background:var(--tag-dsa);color:#065f46;color:var(--tag-dsa-c)}.badge-ai{background:#fef3c7;background:var(--tag-ai);color:#92400e;color:var(--tag-ai-c)}.badge-career{background:#fce7f3;background:var(--tag-career);color:#9d174d;color:var(--tag-career-c)}.btn{align-items:center;border:none;border-radius:6px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.4rem;justify-content:center;padding:.6rem 1.4rem;transition:all .18s}.btn-primary{background:#1a1a2e;background:var(--accent);color:#fff}.btn-primary:hover{background:#2d2d48;box-shadow:0 4px 16px #00000014;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:#f4f4f0;background:var(--bg2);border:1px solid #e8e8e2;border:1px solid var(--border);color:#1a1a1e;color:var(--text)}.btn-secondary:hover{background:#e8e8e2;background:var(--border);border-color:#d4d4cc;border-color:var(--border2)}.btn-danger{background:#fee2e2;color:#b91c1c}.btn-danger:hover{background:#fecaca}.btn-sm{font-size:.8rem;padding:.4rem .9rem}.input{background:#fff;background:var(--surface);border:1px solid #e8e8e2;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#1a1a1e;color:var(--text);font-family:DM Sans,sans-serif;font-size:.9rem;outline:none;padding:.65rem .9rem;transition:border-color .18s;width:100%}.input:focus{border-color:#1a1a2e;border-color:var(--accent)}.input::placeholder{color:#9b9ba2;color:var(--muted2)}textarea.input{min-height:120px;resize:vertical}.label{color:#6b6b72;color:var(--muted);display:block;font-family:DM Mono,monospace;font-size:.8rem;font-weight:500;letter-spacing:.05em;margin-bottom:.4rem;text-transform:uppercase}.card{background:#fff;background:var(--surface);border:1px solid #e8e8e2;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 4px 16px #00000014;box-shadow:var(--shadow-md);transform:translateY(-2px)}.spinner{animation:spin .7s linear infinite;border:2px solid #e8e8e2;border-top-color:#1a1a2e;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease forwards}.alert{border-radius:6px;border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem;padding:.8rem 1rem}.alert-error{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.alert-success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.prose{color:#1a1a1e;color:var(--text);font-size:1.05rem;line-height:1.85}.prose h2{font-size:1.6rem;margin:2.5rem 0 1rem}.prose h3{font-size:1.25rem;margin:2rem 0 .75rem}.prose p{margin-bottom:1.4rem}.prose code{background:#f4f4f0;background:var(--bg2);border-radius:4px;color:#e85d26;color:var(--accent2);font-size:.88em;padding:.15rem .4rem}.prose code,.prose pre{font-family:DM Mono,monospace}.prose pre{background:#1e1e2e;border-radius:6px;border-radius:var(--radius);color:#cdd6f4;font-size:.9rem;margin:1.5rem 0;overflow-x:auto;padding:1.5rem}.prose blockquote{border-left:3px solid #e85d26;border-left:3px solid var(--accent2);color:#6b6b72;color:var(--muted);font-style:italic;margin:1.5rem 0;padding-left:1.25rem}.prose ol,.prose ul{margin-bottom:1.4rem;padding-left:1.5rem}.prose li{margin-bottom:.4rem}.prose a{color:#2563eb;color:var(--accent3);text-decoration:underline}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width:1024px){.container{max-width:100%;padding:0 1.5rem}}@media (max-width:768px){html{font-size:15px}.container{padding:0 1rem}.hide-mobile{display:none!important}.show-mobile{display:block!important}h1{font-size:clamp(1.75rem,6vw,2.2rem)!important;letter-spacing:-.02em!important}h2{font-size:clamp(1.3rem,4vw,1.6rem)!important}h3{font-size:1.1rem!important}.btn-block-mobile{justify-content:center!important;width:100%!important}.prose{font-size:.97rem}.prose h2{font-size:1.35rem}.prose pre{border-radius:4px;font-size:.82rem;padding:1rem}.prose blockquote{padding-left:.9rem}.card:hover{transform:none}}@media (max-width:480px){html{font-size:14px}.container{padding:0 .85rem}.btn{font-size:.82rem;padding:.55rem 1.1rem}.btn-sm{font-size:.75rem;padding:.38rem .75rem}}
/*# sourceMappingURL=main.7ce2c377.css.map*/