.site-header[data-v-9d9f2bf1]{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:oklch(13% .02 260/.9);position:sticky;top:0}.header-inner[data-v-9d9f2bf1]{justify-content:space-between;align-items:center;height:64px;display:flex}.logo[data-v-9d9f2bf1]{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-primary);letter-spacing:-.5px;transition:color var(--transition-fast);font-weight:700}.logo[data-v-9d9f2bf1]:hover,.logo-bracket[data-v-9d9f2bf1]{color:var(--color-accent-cyan)}.desktop-nav[data-v-9d9f2bf1]{gap:var(--space-xl);display:flex}.nav-link[data-v-9d9f2bf1]{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);font-weight:500}.nav-link[data-v-9d9f2bf1]:hover,.nav-link.active[data-v-9d9f2bf1]{color:var(--color-accent-cyan);background:oklch(75% .15 195/.08)}.mobile-toggle[data-v-9d9f2bf1]{cursor:pointer;padding:var(--space-sm);background:0 0;border:none;flex-direction:column;gap:5px;display:none}.bar[data-v-9d9f2bf1]{background:var(--color-text-primary);width:24px;height:2px;transition:transform var(--transition-base), opacity var(--transition-base);border-radius:2px;display:block}.bar.open[data-v-9d9f2bf1]:first-child{transform:translateY(7px)rotate(45deg)}.bar.open[data-v-9d9f2bf1]:nth-child(2){opacity:0}.bar.open[data-v-9d9f2bf1]:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-nav[data-v-9d9f2bf1]{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);flex-direction:column;display:none}.mobile-link[data-v-9d9f2bf1]{font-size:var(--text-base);color:var(--color-text-secondary);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);transition:color var(--transition-fast)}.mobile-link[data-v-9d9f2bf1]:last-child{border-bottom:none}.mobile-link[data-v-9d9f2bf1]:hover,.mobile-link.active[data-v-9d9f2bf1]{color:var(--color-accent-cyan)}.slide-enter-active[data-v-9d9f2bf1],.slide-leave-active[data-v-9d9f2bf1]{transition:max-height var(--transition-base), opacity var(--transition-base);overflow:hidden}.slide-enter-from[data-v-9d9f2bf1],.slide-leave-to[data-v-9d9f2bf1]{opacity:0;max-height:0}.slide-enter-to[data-v-9d9f2bf1],.slide-leave-from[data-v-9d9f2bf1]{opacity:1;max-height:300px}@media (width<=768px){.desktop-nav[data-v-9d9f2bf1]{display:none}.mobile-toggle[data-v-9d9f2bf1],.mobile-nav[data-v-9d9f2bf1]{display:flex}}.site-footer[data-v-0930b2b5]{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--space-3xl) 0 var(--space-xl);margin-top:var(--space-4xl)}.footer-inner[data-v-0930b2b5]{align-items:center;gap:var(--space-lg);text-align:center;flex-direction:column;display:flex}.footer-logo[data-v-0930b2b5]{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-accent-cyan);letter-spacing:-.5px;font-weight:700}.footer-desc[data-v-0930b2b5]{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.footer-tags[data-v-0930b2b5]{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.footer-tag[data-v-0930b2b5]{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.footer-links[data-v-0930b2b5]{gap:var(--space-lg);display:flex}.footer-links a[data-v-0930b2b5]{font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer-links a[data-v-0930b2b5]:hover{color:var(--color-accent-cyan)}.footer-copy[data-v-0930b2b5]{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-md)}.footer-copy a[data-v-0930b2b5]{font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer-copy a[data-v-0930b2b5]:hover{color:var(--color-accent-cyan)}@media (width<=768px){.site-footer[data-v-0930b2b5]{padding:var(--space-2xl) 0 var(--space-lg)}.footer-links[data-v-0930b2b5]{gap:var(--space-md)}}.app-layout[data-v-0cc26a35]{flex-direction:column;min-height:100vh;display:flex}.main-content[data-v-0cc26a35]{flex:1}.fade-enter-active[data-v-0cc26a35],.fade-leave-active[data-v-0cc26a35]{transition:opacity .2s}.fade-enter-from[data-v-0cc26a35],.fade-leave-to[data-v-0cc26a35]{opacity:0}:root{--color-bg-primary:oklch(13% .02 260);--color-bg-secondary:oklch(17% .025 260);--color-bg-tertiary:oklch(21% .03 260);--color-bg-card:oklch(18% .025 260);--color-bg-card-hover:oklch(22% .03 260);--color-text-primary:oklch(93% .01 260);--color-text-secondary:oklch(72% .02 260);--color-text-muted:oklch(55% .02 260);--color-accent-cyan:oklch(75% .15 195);--color-accent-cyan-dim:oklch(55% .12 195);--color-accent-green:oklch(72% .18 155);--color-accent-purple:oklch(65% .2 290);--color-accent-orange:oklch(75% .18 55);--color-border:oklch(28% .03 260);--color-border-hover:oklch(40% .05 260);--gradient-hero:linear-gradient(135deg, oklch(13% .02 260) 0%, oklch(18% .04 280) 50%, oklch(15% .03 240) 100%);--gradient-accent:linear-gradient(135deg, var(--color-accent-cyan) 0%, var(--color-accent-purple) 100%);--gradient-card:linear-gradient(180deg, var(--color-bg-card) 0%, var(--color-bg-secondary) 100%);--gradient-text:linear-gradient(135deg, var(--color-accent-cyan) 0%, var(--color-accent-green) 100%);--font-display:"JetBrains Mono", monospace;--font-body:"Noto Sans SC", sans-serif;--font-mono:"JetBrains Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease-out;--shadow-sm:0 2px 8px oklch(0% 0 0/.3);--shadow-md:0 4px 16px oklch(0% 0 0/.4);--shadow-lg:0 8px 32px oklch(0% 0 0/.5);--shadow-glow:0 0 20px oklch(75% .15 195/.15)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:100%;max-width:1200px;padding:0 var(--space-lg);margin:0 auto}@media (width<=768px){.container{padding:0 var(--space-md)}}.text-gradient{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.code-block{font-family:var(--font-mono);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--text-sm);line-height:1.7;overflow-x:auto}.tag{padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-accent-cyan);align-items:center;display:inline-flex}.reveal{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translate(-30px)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translate(30px)}.reveal-right.visible{opacity:1;transform:translate(0)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}::selection{background:var(--color-accent-cyan);color:var(--color-bg-primary)}
