.site-header[data-astro-cid-vtybea45]{z-index:50;isolation:isolate;transition:border-color var(--motion-base);border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.site-header[data-astro-cid-vtybea45]:before{z-index:0;content:"";pointer-events:none;opacity:0;backdrop-filter:blur(22px)saturate(120%);transition:opacity var(--motion-base);background:linear-gradient(#050807fa 0%,#050807f2 calc(100% - .8rem),#05080700 100%);position:absolute;inset:0 0 -.8rem}.site-header[data-astro-cid-vtybea45].is-scrolled,.site-header[data-astro-cid-vtybea45]:has(.mobile-menu:not([hidden])){border-color:var(--color-border)}.site-header[data-astro-cid-vtybea45].is-scrolled:before,.site-header[data-astro-cid-vtybea45]:has(.mobile-menu:not([hidden])):before{opacity:1}.site-header__inner[data-astro-cid-vtybea45]{z-index:1;width:min(100% - (2 * var(--gutter)), var(--container-wide));justify-content:space-between;align-items:center;gap:clamp(1rem,1.8vw,2rem);min-height:5.2rem;margin-inline:auto;display:flex;position:relative}.brand[data-astro-cid-vtybea45]{color:var(--color-text-strong);letter-spacing:-.02em;align-items:center;gap:.8rem;font-weight:760;display:inline-flex}.brand[data-astro-cid-vtybea45] svg[data-astro-cid-vtybea45]{color:var(--color-accent);filter:drop-shadow(0 0 10px #c8ff3840)}.desktop-nav[data-astro-cid-vtybea45]{align-items:center;gap:clamp(.9rem,1.65vw,1.8rem);display:flex}.desktop-nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45]{color:var(--color-text-muted);padding-block:1.8rem;font-size:.9rem;position:relative}.desktop-nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45]:hover,.desktop-nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45][aria-current=page]{color:var(--color-text)}.desktop-nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45][aria-current=page]:after{content:"";background:var(--color-accent);height:1px;box-shadow:var(--glow-accent);position:absolute;bottom:1rem;left:0;right:0}.header-actions[data-astro-cid-vtybea45]{align-items:center;gap:.65rem;display:flex}.icon-button[data-astro-cid-vtybea45]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#0a0f0d8c;place-items:center;width:2.8rem;height:2.8rem;display:inline-grid}.icon-button[data-astro-cid-vtybea45]:hover{border-color:var(--color-accent);color:var(--color-accent)}.menu-button[data-astro-cid-vtybea45]{cursor:pointer;display:none}.menu-close[data-astro-cid-vtybea45],.menu-button[data-astro-cid-vtybea45][aria-expanded=true] .menu-open[data-astro-cid-vtybea45]{display:none}.menu-button[data-astro-cid-vtybea45][aria-expanded=true] .menu-close[data-astro-cid-vtybea45]{display:block}.mobile-menu[data-astro-cid-vtybea45]{z-index:1;padding:2rem var(--gutter);background:var(--color-bg-deep);position:fixed;inset:5.2rem 0 0}.mobile-menu[data-astro-cid-vtybea45] nav[data-astro-cid-vtybea45]{display:grid}.mobile-menu[data-astro-cid-vtybea45] nav[data-astro-cid-vtybea45] a[data-astro-cid-vtybea45]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 0;font-size:1.35rem;display:flex}.mobile-menu__cta[data-astro-cid-vtybea45]{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:3rem;padding:1.5rem}.mobile-menu__cta[data-astro-cid-vtybea45] p[data-astro-cid-vtybea45]{color:var(--color-text-muted);margin-bottom:1.2rem}body.menu-open{overflow:hidden}@media (width<=1080px){.desktop-nav[data-astro-cid-vtybea45],.header-cta[data-astro-cid-vtybea45]{display:none}.menu-button[data-astro-cid-vtybea45]{display:grid}}.site-footer[data-astro-cid-yfu5idmn]{border-top:1px solid var(--color-border);background:var(--color-bg-deep);padding:5rem 0 2rem}.site-footer__grid[data-astro-cid-yfu5idmn]{grid-template-columns:2fr repeat(3,1fr);gap:3rem;display:grid}.footer-logo[data-astro-cid-yfu5idmn]{align-items:center;gap:.8rem;font-size:1.1rem;font-weight:760;display:inline-flex}.footer-logo[data-astro-cid-yfu5idmn] svg[data-astro-cid-yfu5idmn]{color:var(--color-accent)}.footer-brand[data-astro-cid-yfu5idmn] p[data-astro-cid-yfu5idmn]{max-width:28rem;color:var(--color-text-muted);margin:1.3rem 0 1.6rem}.site-footer[data-astro-cid-yfu5idmn] h2[data-astro-cid-yfu5idmn]{color:var(--color-text-faint);font:600 .72rem/1 var(--font-mono);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.2rem}.site-footer[data-astro-cid-yfu5idmn] nav[data-astro-cid-yfu5idmn],.footer-contact[data-astro-cid-yfu5idmn]{color:var(--color-text-muted);gap:.7rem;font-size:.9rem;display:grid}.site-footer[data-astro-cid-yfu5idmn] a[data-astro-cid-yfu5idmn]:hover{color:var(--color-accent)}.footer-bottom[data-astro-cid-yfu5idmn]{border-top:1px solid var(--color-border);color:var(--color-text-faint);justify-content:space-between;gap:2rem;margin-top:4rem;padding-top:1.5rem;font-size:.75rem;display:flex}.footer-legal[data-astro-cid-yfu5idmn]{flex-wrap:wrap;gap:.45rem 1rem;display:flex}.footer-icp[data-astro-cid-yfu5idmn]{color:inherit;text-underline-offset:.2em}.footer-icp[data-astro-cid-yfu5idmn]:hover,.footer-icp[data-astro-cid-yfu5idmn]:focus-visible{color:var(--color-accent)}@media (width<=900px){.site-footer__grid[data-astro-cid-yfu5idmn]{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){.site-footer__grid[data-astro-cid-yfu5idmn]{grid-template-columns:1fr}.footer-bottom[data-astro-cid-yfu5idmn]{flex-direction:column}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--color-bg:#050807;--color-bg-deep:#020403;--color-bg-elevated:#0a0f0d;--color-bg-panel:#0d1310;--color-bg-panel-hover:#111914;--color-bg-soft:#101713;--color-text:#f4f6ef;--color-text-strong:#fff;--color-text-muted:#a5ada7;--color-text-faint:#707971;--color-accent:#c8ff38;--color-accent-hover:#d8ff70;--color-accent-dark:#8ebd00;--color-accent-soft:#c8ff381f;--color-cyan:#59d8ff;--color-cyan-soft:#59d8ff1f;--color-warning:#ffcf5a;--color-danger:#ff7b71;--color-border:#e2efe51f;--color-border-strong:#e2efe53d;--color-grid:#7ca59112;--color-reading-bg:#f3f4ef;--color-reading-surface:#fff;--color-reading-text:#151917;--color-reading-muted:#5f6862;--color-reading-border:#d8ddd8;--gradient-hero:radial-gradient(circle at 74% 35%, #c8ff3814, transparent 25%), radial-gradient(circle at 88% 55%, #59d8ff0f, transparent 30%), linear-gradient(180deg, #050807 0%, #030605 100%);--glow-accent:0 0 24px #c8ff382e;--glow-cyan:0 0 28px #59d8ff24;--shadow-panel:0 18px 60px #00000047;--font-sans:Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-hero:clamp(3.25rem, 6.1vw, 6.2rem);--text-h1:clamp(2.5rem, 4.5vw, 5rem);--text-h2:clamp(2rem, 3.2vw, 3.75rem);--text-h3:clamp(1.35rem, 2vw, 2rem);--text-lead:clamp(1.05rem, 1.3vw, 1.3rem);--text-body:1rem;--text-small:.875rem;--text-label:.75rem;--container-wide:1440px;--container-main:1280px;--container-reading:760px;--gutter:clamp(1.25rem, 4vw, 4rem);--section-space:clamp(5.5rem, 9vw, 9rem);--section-space-compact:clamp(4rem, 6vw, 6rem);--panel-padding:clamp(1.5rem, 3vw, 3.5rem);--card-padding:clamp(1.5rem, 2.2vw, 2rem);--grid-gap:clamp(1rem, 2vw, 2rem);--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--motion-fast:.16s;--motion-base:.28s;--motion-slow:.52s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--ease-emphasis:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body,h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}body{min-width:320px}img,picture,svg{max-width:100%;display:block}button,input,select,textarea{color:inherit;font:inherit}a{color:inherit;text-decoration:none}ul[role=list],ol[role=list]{padding:0;list-style:none}button{border:0}[hidden]{display:none!important}.reading-zone{background:var(--color-reading-bg);color:var(--color-reading-text)}.prose{width:100%;min-width:0;max-width:var(--container-reading);margin-inline:auto;padding-block:clamp(4rem,8vw,7rem);font-size:1.08rem;line-height:1.9}.prose h2,.prose h3{color:var(--color-reading-text);letter-spacing:-.02em;scroll-margin-top:7rem;line-height:1.35}.prose h2{margin:3.5rem 0 1.15rem;font-size:clamp(1.7rem,3vw,2.35rem)}.prose h3{margin:2.5rem 0 1rem;font-size:1.4rem}.prose p,.prose ul,.prose ol,.prose blockquote{margin-block:1.25rem}.prose ul,.prose ol{padding-left:1.5rem}.prose a{color:#315b00;text-underline-offset:.2em;text-decoration:underline}.prose blockquote{border-left:3px solid var(--color-accent-dark);background:#e9ede5;padding:1.25rem 1.5rem}.prose code{font-family:var(--font-mono);background:#e3e8df;border-radius:4px;padding:.15em .4em;font-size:.9em}.prose pre{border:1px solid var(--color-reading-border);border-radius:var(--radius-sm);background:#e3e8df;max-width:100%;padding:1.1rem 1.25rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;max-width:100%;margin-block:1.75rem;font-size:.92rem;line-height:1.6;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--color-reading-border);text-align:left;vertical-align:top;min-width:8rem;padding:.75rem .85rem}.prose th{background:#e6eae4;font-weight:750}.prose .article-media{margin-block:2rem}.prose .article-media img{border:1px solid var(--color-reading-border);border-radius:var(--radius-sm);background:#e3e8df;width:100%;height:auto}.prose .article-media figcaption{color:#5e685a;text-align:center;margin-top:.65rem;font-size:.82rem;line-height:1.6}html{background:var(--color-bg-deep);overflow-x:clip}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);text-rendering:optimizelegibility;line-height:1.75}body:before{z-index:-1;content:"";pointer-events:none;opacity:.35;background-image:linear-gradient(var(--color-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid) 1px, transparent 1px);background-size:48px 48px;position:fixed;inset:0;mask-image:linear-gradient(#000,#0000 75%)}.container{width:min(100% - (2 * var(--gutter)), var(--container-main));margin-inline:auto}.container--wide{max-width:var(--container-wide)}.section{padding-block:var(--section-space)}.section--compact{padding-block:var(--section-space-compact)}.section-heading{grid-template-columns:5rem minmax(0,1fr);align-items:start;gap:1rem 2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.section-heading__index{color:var(--color-accent);font:700 var(--text-label)/1 var(--font-mono);letter-spacing:.14em}.section-heading h2{max-width:21ch;font-size:var(--text-h2);letter-spacing:-.025em;line-height:1.16}.section-heading p{max-width:48rem;color:var(--color-text-muted);font-size:var(--text-lead);margin-top:1rem}.button{border-radius:var(--radius-sm);min-height:3.25rem;transition:color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.75rem;padding:.8rem 1.35rem;font-size:.92rem;font-weight:700;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--color-accent);color:#101408;box-shadow:var(--glow-accent)}.button--primary:hover{background:var(--color-accent-hover)}.button--secondary{border-color:var(--color-border-strong);background:#0a0f0db3}.button--secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.button--ghost{color:var(--color-text-muted)}.text-link{color:var(--color-text);align-items:center;gap:.55rem;font-weight:650;display:inline-flex}.text-link:after{content:"→";transition:transform var(--motion-fast)}.text-link:hover{color:var(--color-accent)}.text-link:hover:after{transform:translate(5px)}.panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);background:linear-gradient(145deg,#101713eb,#060a08f0)}.tag{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font:650 .7rem/1 var(--font-mono);letter-spacing:.08em;align-items:center;padding:.3rem .65rem;display:inline-flex}.eyebrow{color:var(--color-text-muted);font:600 var(--text-label)/1.5 var(--font-mono);letter-spacing:.15em;text-transform:uppercase}.page-hero{background:var(--gradient-hero);border-bottom:1px solid var(--color-border);padding-block:clamp(7rem,12vw,11rem) clamp(5rem,9vw,8rem)}.page-hero h1{max-width:16ch;font-size:var(--text-h1);letter-spacing:-.035em;margin-top:1.4rem;line-height:1.12}.page-hero__lead{max-width:48rem;color:var(--color-text-muted);font-size:var(--text-lead);margin-top:1.5rem}.grid-2{gap:var(--grid-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--grid-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-4{gap:var(--grid-gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.card{min-height:100%;padding:var(--card-padding);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:background var(--motion-base), border-color var(--motion-base);background:#0d1310c2;flex-direction:column;display:flex}.card:hover{border-color:var(--color-border-strong);background:var(--color-bg-panel-hover)}.card h3{margin-top:1.5rem;font-size:1.3rem;line-height:1.35}.card p{color:var(--color-text-muted);margin-top:1rem}.card .text-link{margin-top:auto;padding-top:1.75rem}.meta-row{color:var(--color-text-muted);font:600 var(--text-label)/1.4 var(--font-mono);letter-spacing:.08em;flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--color-accent);color:#081006;padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1199px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.section{padding-block:4.5rem}.section-heading,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.button--mobile-full{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
