@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&family=Sora:wght@400;600;700&family=Space+Mono:wght@400;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #0C0E14;--ink-2: #11141D;--ink-3: #171B26;--line: rgba(143,155,196,.16);--line-2: rgba(143,155,196,.28);--silicon: #8F9BC4;--silicon-bright: #AEB8E0;--iris: #74D6C6;--copper: #D8884A;--copper-soft: #E8A874;--paper: #ECE9E2;--muted: #9AA0B4;--font-body: "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-heading: "Sora", system-ui, -apple-system, sans-serif;--font-mono: "Space Mono", monospace;--max-width: 1120px;--nav-height: 64px;--radius: 12px;--radius-sm: 8px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--paper);background:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--iris);text-decoration:none;transition:color .2s}a:hover{color:var(--silicon-bright)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3;color:#fff}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:clamp(1.1rem,2vw,1.35rem)}p{margin-bottom:1rem}p:last-child{margin-bottom:0}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}:focus-visible{outline:2px solid var(--copper);outline-offset:3px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fadeUp .6s ease-out both}.card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;transition:border-color .25s,transform .25s}.card:hover{border-color:var(--line-2);transform:translateY(-3px)}.section{padding:5rem 0}.section-title{text-align:center;margin-bottom:1rem}.section-desc{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 3rem;font-size:.95rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media(min-width:769px)and (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:background .2s,transform .15s,box-shadow .2s;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--iris),#5ab8a8);color:var(--ink)}.btn-primary:hover{box-shadow:0 4px 20px #74d6c64d;color:var(--ink)}.btn-secondary{background:transparent;border:1px solid var(--line-2);color:var(--silicon-bright)}.btn-secondary:hover{border-color:var(--silicon);background:#8f9bc414;color:var(--silicon-bright)}.tag{display:inline-block;padding:.2rem .65rem;border-radius:20px;font-size:.75rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em}.tag-iris{background:#74d6c61f;color:var(--iris)}.tag-copper{background:#d8884a1f;color:var(--copper-soft)}.tag-silicon{background:#8f9bc41f;color:var(--silicon-bright)}.divider{border:none;border-top:1px solid var(--line);margin:3rem 0}.page-hero{padding:4rem 0 2rem;text-align:center;background:linear-gradient(180deg,var(--ink-2) 0%,var(--ink) 100%);border-bottom:1px solid var(--line)}.page-hero h1{margin-bottom:.75rem}.page-hero p{color:var(--muted);max-width:640px;margin:0 auto;font-size:1rem}.site-footer{padding:3rem 0 2rem;border-top:1px solid var(--line);background:var(--ink-2)}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem}.footer-brand{max-width:340px}.footer-brand h3{font-size:1.1rem;margin-bottom:.5rem}.footer-brand p{color:var(--muted);font-size:.85rem;line-height:1.6}.footer-nav{display:flex;gap:3rem}.footer-col h4{font-size:.82rem;color:var(--silicon);margin-bottom:.75rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.footer-col a{display:block;color:var(--muted);font-size:.88rem;padding:.2rem 0}.footer-col a:hover{color:var(--paper)}.footer-bottom{max-width:var(--max-width);margin:2rem auto 0;padding:1.5rem 1.5rem 0;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.8rem}@media(max-width:640px){.footer-inner{flex-direction:column}.footer-nav{flex-direction:column;gap:1.5rem}}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background:#0c0e14d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:var(--nav-height)}.nav-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:100%}.nav-logo[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-weight:700;font-size:1.1rem;color:#fff;text-decoration:none}.logo-icon[data-astro-cid-3ef6ksr2]{font-size:1.3rem;color:var(--iris)}.nav-logo[data-astro-cid-3ef6ksr2]:hover{color:#fff}.nav-menu[data-astro-cid-3ef6ksr2]{display:flex;list-style:none;gap:.25rem;align-items:center}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;padding:.45rem .85rem;border-radius:var(--radius-sm);font-size:.88rem;color:var(--muted);transition:color .2s,background .2s}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--paper);background:#8f9bc414}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{color:var(--iris);background:#74d6c614}.lang-switch[data-astro-cid-3ef6ksr2]{font-family:var(--font-mono);font-size:.82rem!important;padding:.35rem .7rem!important;border:1px solid var(--line-2)!important;border-radius:6px!important;color:var(--silicon-bright)!important;letter-spacing:.04em}.lang-switch[data-astro-cid-3ef6ksr2]:hover{border-color:var(--iris)!important;color:var(--iris)!important;background:#74d6c60f!important}.nav-toggle[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}.nav-toggle-bar[data-astro-cid-3ef6ksr2]{width:22px;height:2px;background:var(--paper);border-radius:2px;transition:transform .3s,opacity .3s}@media(max-width:768px){.nav-toggle[data-astro-cid-3ef6ksr2]{display:flex}.nav-menu[data-astro-cid-3ef6ksr2]{position:fixed;top:var(--nav-height);left:0;right:0;background:var(--ink-2);border-bottom:1px solid var(--line);flex-direction:column;padding:1rem;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .3s,opacity .3s}.nav-menu[data-astro-cid-3ef6ksr2].open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-menu[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:.75rem 1rem;font-size:1rem}}.site-footer[data-astro-cid-sz7xmlte]{padding:3rem 0 2rem;border-top:1px solid var(--line);background:var(--ink-2)}.footer-inner[data-astro-cid-sz7xmlte]{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem}.footer-brand[data-astro-cid-sz7xmlte]{max-width:340px}.footer-brand[data-astro-cid-sz7xmlte] h3[data-astro-cid-sz7xmlte]{font-size:1.1rem;margin-bottom:.5rem}.footer-brand[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{color:var(--muted);font-size:.85rem;line-height:1.6}.footer-col[data-astro-cid-sz7xmlte] h4[data-astro-cid-sz7xmlte]{font-size:.82rem;color:var(--silicon);margin-bottom:.75rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.footer-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:block;color:var(--muted);font-size:.88rem;padding:.2rem 0}.footer-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--paper)}@media(max-width:640px){.footer-inner[data-astro-cid-sz7xmlte]{flex-direction:column}}
