.theme-toggle:where(.astro-LFOLUAXZ){background:none;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--border-radius);color:var(--color-text-secondary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.theme-toggle:where(.astro-LFOLUAXZ):hover{background-color:var(--color-surface);color:var(--color-text-primary)}.sun-icon:where(.astro-LFOLUAXZ){display:block}.moon-icon:where(.astro-LFOLUAXZ){display:none}:where(.astro-LFOLUAXZ)[data-theme=dark] .sun-icon:where(.astro-LFOLUAXZ){display:none}:where(.astro-LFOLUAXZ)[data-theme=dark] .moon-icon:where(.astro-LFOLUAXZ){display:block}.site-header:where(.astro-QLFJKSAO){position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--color-bg) 86%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-border) 82%,transparent);backdrop-filter:blur(16px)}.header-content:where(.astro-QLFJKSAO){min-height:4.25rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4)}.brand:where(.astro-QLFJKSAO){display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);text-decoration:none;width:fit-content}.brand:where(.astro-QLFJKSAO):hover{color:var(--color-primary)}.brand-mark:where(.astro-QLFJKSAO){width:2rem;height:2rem}.brand-text:where(.astro-QLFJKSAO){font-size:var(--text-lg);font-weight:700;line-height:1}.main-nav:where(.astro-QLFJKSAO){justify-self:center}.nav-list:where(.astro-QLFJKSAO){display:flex;align-items:center;gap:var(--space-6);list-style:none;margin:0;padding:0}.nav-link:where(.astro-QLFJKSAO){position:relative;display:inline-flex;align-items:center;min-height:2.5rem;padding:0;color:var(--color-text-muted);font-family:var(--font-family-ui);font-size:var(--text-sm);font-weight:600;text-decoration:none;white-space:nowrap}.nav-link:where(.astro-QLFJKSAO):hover,.nav-link:where(.astro-QLFJKSAO).active{color:var(--color-text-primary)}.nav-link:where(.astro-QLFJKSAO):after{content:"";position:absolute;left:0;right:0;bottom:.2rem;height:1px;background:currentColor;opacity:0;transform:scaleX(.35);transform-origin:center;transition:opacity var(--transition-fast),transform var(--transition-fast)}.nav-link:where(.astro-QLFJKSAO):hover:after,.nav-link:where(.astro-QLFJKSAO).active:after{opacity:.55;transform:scaleX(1)}.theme-toggle{justify-self:end}@media (max-width: 720px){.header-content:where(.astro-QLFJKSAO){min-height:4rem;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3)}.brand-text:where(.astro-QLFJKSAO){font-size:var(--text-base)}.main-nav:where(.astro-QLFJKSAO){justify-self:center;overflow-x:auto;scrollbar-width:none}.main-nav:where(.astro-QLFJKSAO)::-webkit-scrollbar{display:none}.nav-list:where(.astro-QLFJKSAO){justify-content:center;width:max-content;gap:var(--space-4)}.nav-link:where(.astro-QLFJKSAO){min-height:2.25rem;font-size:var(--text-xs)}}@media (max-width: 420px){.brand:where(.astro-QLFJKSAO){gap:0}.brand-text:where(.astro-QLFJKSAO){display:none}}.site-footer:where(.astro-35ED7UM5){padding:var(--space-10) 0 var(--space-12);border-top:1px solid var(--color-border);color:var(--color-text-muted)}.footer-content:where(.astro-35ED7UM5){display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-2) var(--space-6)}.footer-line:where(.astro-35ED7UM5),.footer-quote:where(.astro-35ED7UM5){margin:0;color:var(--color-text-muted)}.footer-line:where(.astro-35ED7UM5){font-family:var(--font-family-ui);font-size:var(--text-sm)}.footer-quote:where(.astro-35ED7UM5){font-size:var(--text-base)}.footer-links:where(.astro-35ED7UM5){grid-row:1 / span 2;grid-column:2;display:flex;gap:var(--space-4);font-family:var(--font-family-ui);font-size:var(--text-sm)}.footer-links:where(.astro-35ED7UM5) a:where(.astro-35ED7UM5){color:var(--color-text-muted)}.footer-links:where(.astro-35ED7UM5) a:where(.astro-35ED7UM5):hover{color:var(--color-primary)}@media (max-width: 640px){.footer-content:where(.astro-35ED7UM5){grid-template-columns:1fr;text-align:center}.footer-links:where(.astro-35ED7UM5){grid-row:auto;grid-column:auto;justify-content:center;margin-top:var(--space-3)}}:root{color-scheme:light;--color-bg: #fbf7ef;--color-paper: #fffdf8;--color-surface: #f4eee4;--color-surface-strong: #ece2d2;--color-primary: #2f513f;--color-primary-soft: #e6eee6;--color-secondary: #716454;--color-accent: #a87835;--color-text-primary: #2d2923;--color-text-secondary: #665f55;--color-text-muted: #958a7b;--color-border: #e1d6c6;--color-border-strong: #cbbca9;--color-shadow: rgba(80, 54, 25, .08);--font-family-main: "LXGW WenKai Screen", "LXGW WenKai", "\971e\9e5c\6587\6977", "KaiTi", "\6977\4f53", "STKaiti", "\534e\6587\6977\4f53", serif;--font-family-ui: "InterVariable", "Inter", "MiSans", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Menlo", "Consolas", monospace;--font-family-serif: var(--font-family-main);--font-family-sans: var(--font-family-ui);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--container-max-width: 960px;--reader-max-width: 720px;--container-padding: clamp(1.25rem, 4vw, 2rem);--section-spacing: clamp(3rem, 8vw, 6rem);--card-padding: var(--space-6);--border-radius: .5rem;--border-radius-lg: .75rem;--transition-fast: .15s ease-out;--transition-normal: .26s ease-out}[data-theme=dark]{color-scheme:dark;--color-bg: #171511;--color-paper: #211d18;--color-surface: #2a251f;--color-surface-strong: #372f27;--color-primary: #9bb38d;--color-primary-soft: #253024;--color-secondary: #c8bcae;--color-accent: #d2a35a;--color-text-primary: #efe7dc;--color-text-secondary: #c9bdae;--color-text-muted: #8f8375;--color-border: #40382f;--color-border-strong: #5a4d40;--color-shadow: rgba(0, 0, 0, .28)}*{box-sizing:border-box;min-width:0}html{scroll-behavior:smooth;text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-family-main);font-size:var(--text-base);line-height:1.75;color:var(--color-text-primary);background:radial-gradient(circle at 12% 0%,rgba(168,120,53,.08),transparent 26rem),linear-gradient(180deg,var(--color-bg),var(--color-paper) 34rem);transition:background-color var(--transition-normal),color var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;word-wrap:break-word;overflow-wrap:break-word}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(120,92,55,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(120,92,55,.022) 1px,transparent 1px);background-size:32px 32px,32px 32px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 70%)}::selection{background:color-mix(in srgb,var(--color-accent) 28%,transparent)}.container{width:min(100%,var(--container-max-width));margin:0 auto;padding:0 var(--container-padding)}.container-narrow{width:min(100%,var(--reader-max-width));margin:0 auto;padding:0 var(--container-padding)}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-4);color:var(--color-text-primary);font-family:var(--font-family-main);font-weight:700;line-height:1.25;letter-spacing:0}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin:0 0 var(--space-4);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;text-underline-offset:.22em;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}a:hover{color:var(--color-accent)}img{max-width:100%;height:auto;vertical-align:middle}button,input,textarea{font:inherit}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-accent);font-family:var(--font-family-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.muted-link{color:var(--color-text-muted);font-family:var(--font-family-ui);font-size:var(--text-sm)}.muted-link:hover{color:var(--color-primary)}.card{padding:var(--card-padding);background:color-mix(in srgb,var(--color-paper) 82%,var(--color-surface));border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:0 12px 32px var(--color-shadow);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.card.is-hoverable:hover{transform:translateY(-2px);border-color:var(--color-border-strong);box-shadow:0 18px 42px var(--color-shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.5rem;padding:var(--space-2) var(--space-5);border:1px solid transparent;border-radius:999px;cursor:pointer;font-family:var(--font-family-ui);font-size:var(--text-sm);font-weight:600;line-height:1;text-decoration:none;transition:transform var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.btn:hover{transform:translateY(-1px)}.btn-primary{color:var(--color-paper);background:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover{color:var(--color-paper);background:color-mix(in srgb,var(--color-primary) 84%,var(--color-accent))}.btn-secondary{color:var(--color-primary);background:transparent;border-color:var(--color-border-strong)}.btn-secondary:hover{color:var(--color-text-primary);background:var(--color-surface)}.btn-sm{min-height:2rem;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{min-height:3rem;padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.surface-band{background:color-mix(in srgb,var(--color-surface) 72%,transparent);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}@media (max-width: 768px){:root{--text-4xl: 2.25rem;--text-3xl: 1.75rem;--section-spacing: var(--space-12)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.main-content{min-height:calc(100vh - 220px);padding:0 0 var(--space-16)}@media (prefers-reduced-motion: no-preference){html{view-transition-name:root}}
