@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";
:root{--background:#0b1628;--background-2:#12233d;--surface:#1c2d42;--surface-hover:#223651;--foreground:#f2f6fb;--text-muted:#96acc8;--accent:#5e9be0;--accent-strong:#7fb2ec;--accent-soft:#5e9be01f;--accent-border:#5e9be052;--success:#4ade9e;--success-soft:#4ade9e1f;--gold:#e9c46a;--gold-soft:#e9c46a1f;--border:#f2f6fb17;--border-strong:#f2f6fb29;--shadow-card:0 1px 2px #0000004d;--shadow-hover:0 18px 40px -20px #000000b3;--nav-bg:#0b1628b8;--primary:var(--accent);--card-bg:var(--surface);--card-border:var(--border);--glass-bg:var(--nav-bg);--glass-border:var(--border-strong)}html[data-theme=light]{--background:#f4f7fb;--background-2:#eaf0f7;--surface:#fff;--surface-hover:#f7fafd;--foreground:#0b1628;--text-muted:#4c637f;--accent:#2f6fb3;--accent-strong:#245c99;--accent-soft:#2f6fb31a;--accent-border:#2f6fb347;--success:#1e9e6a;--success-soft:#1e9e6a1a;--gold:#b8862b;--gold-soft:#b8862b1f;--border:#0b16281a;--border-strong:#0b16282e;--shadow-card:0 1px 2px #0b16280f;--shadow-hover:0 18px 40px -22px #0b162838;--nav-bg:#f4f7fbbf}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--background);max-width:100vw;color:var(--foreground);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.65;transition:background-color .35s,color .35s;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.1}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 2rem}.section{padding:7rem 0;position:relative}.section-alt{background:var(--background-2);border-block:1px solid var(--border)}.section-title{color:var(--foreground);align-items:center;gap:.9rem;margin-bottom:3rem;font-size:2.25rem;font-weight:700;display:flex}.section-title:before{content:"";background:var(--accent);border-radius:2px;width:26px;height:2px}.mono{letter-spacing:.02em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.8rem}.card,.glass-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:16px;height:100%;padding:1.75rem;transition:transform .25s,border-color .25s,box-shadow .25s,background .25s}.card:hover,.glass-panel:hover{border-color:var(--accent-border);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.card-icon{background:var(--accent-soft);color:var(--accent);border-radius:10px;padding:.55rem;display:inline-flex}.card-title{color:var(--foreground);font-size:1.2rem;font-weight:600}.card-desc{color:var(--text-muted);font-size:.95rem;line-height:1.6}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);color:#05101f;font-weight:600}.btn-primary:hover{background:var(--accent-strong);color:#05101f;transform:translateY(-2px)}.btn-outline{border:1px solid var(--border-strong);color:var(--foreground);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.pill,.tag{border:1px solid var(--border-strong);letter-spacing:.01em;color:var(--text-muted);background:0 0;border-radius:7px;padding:.3rem .7rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;transition:all .2s;display:inline-block}.pill:hover,.tag:hover{color:var(--accent);border-color:var(--accent-border)}.badge{white-space:nowrap;border-radius:6px;padding:.22rem .55rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.68rem;display:inline-block}.badge-accent{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border)}.badge-success{color:var(--success);background:var(--success-soft);border:1px solid var(--success)}.badge-gold{color:var(--gold);background:var(--gold-soft);border:1px solid var(--gold)}.note{color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:6px;padding:.22rem .55rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;display:inline-block}.site-header{z-index:50;background:var(--nav-bg);-webkit-backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;padding-block:1rem;display:flex}.nav-links{align-items:center;gap:1.75rem;display:flex}.nav-link{color:var(--text-muted);font-size:.9rem}.nav-link:hover{color:var(--foreground)}.icon-btn{border:1px solid var(--border-strong);width:40px;height:40px;color:var(--foreground);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.icon-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.card-head-left{align-items:center;gap:.75rem;display:flex}.tag-row{flex-wrap:wrap;gap:.4rem;display:flex}.bg-gradient-orb{filter:blur(120px);z-index:-1;opacity:.14;pointer-events:none;background:var(--accent);border-radius:50%;position:fixed}html[data-theme=light] .bg-gradient-orb{opacity:.1}.orb-1{width:460px;height:460px;top:-160px;right:-120px}.orb-2{width:380px;height:380px;bottom:5%;left:-140px}@media (max-width:720px){.container{padding:0 1.25rem}.section{padding:4.5rem 0}.nav-links{gap:1rem}.nav-links .nav-link{display:none}.section-title{font-size:1.9rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
