.container[data-v-a2a7b6a0]{max-width:860px}.page[data-v-a2a7b6a0]{min-height:100vh;display:flex;flex-direction:column}.topbar[data-v-a2a7b6a0]{position:sticky;top:0;z-index:20;background:var(--bg);background:color-mix(in oklch,var(--bg) 82%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.topbar__inner[data-v-a2a7b6a0]{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}.brand[data-v-a2a7b6a0]{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--text)}.topnav[data-v-a2a7b6a0]{display:flex;gap:1.4rem}.topnav a[data-v-a2a7b6a0]{font-size:var(--text-sm);color:var(--text-2);transition:color var(--dur) var(--ease-quart)}.topnav a[data-v-a2a7b6a0]:hover{color:var(--brand)}.hero[data-v-a2a7b6a0]{text-align:center;padding-block:var(--space-9)}.avatar[data-v-a2a7b6a0]{width:92px;height:92px;margin:0 auto var(--space-5);border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:2.2rem;color:var(--on-brand);background:linear-gradient(140deg,var(--brand),var(--brand-strong));box-shadow:var(--shadow)}.hero__name[data-v-a2a7b6a0]{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.hero__role[data-v-a2a7b6a0]{font-size:var(--text-sm);letter-spacing:.08em;color:var(--brand-ink);margin-bottom:var(--space-4)}.hero__bio[data-v-a2a7b6a0]{max-width:52ch;margin:0 auto;color:var(--text-2);line-height:1.75}.hero__links[data-v-a2a7b6a0]{display:flex;gap:.75rem;justify-content:center;margin-top:var(--space-5);flex-wrap:wrap}.hero__links a[data-v-a2a7b6a0]{padding:.5rem 1.1rem;border:1px solid var(--line-strong);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--text);transition:border-color var(--dur) var(--ease-quart),color var(--dur) var(--ease-quart),transform var(--dur) var(--ease-quart)}.hero__links a[data-v-a2a7b6a0]:hover{border-color:var(--brand);color:var(--brand);transform:translateY(var(--lift-y-sm))}.section[data-v-a2a7b6a0]{padding-block:var(--space-8);border-top:1px solid var(--line)}.section__title[data-v-a2a7b6a0]{font-size:var(--text-xl);margin-bottom:var(--space-5);display:flex;align-items:center;gap:.6rem}.section__title[data-v-a2a7b6a0]:before{content:"";width:.55rem;height:.55rem;border-radius:2px;background:var(--brand)}.prose p[data-v-a2a7b6a0]{color:var(--text-2);line-height:1.85;max-width:60ch}.prose p+p[data-v-a2a7b6a0]{margin-top:var(--space-4)}.cats[data-v-a2a7b6a0]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--space-5)}.cat[data-v-a2a7b6a0]{font-size:var(--text-xs);padding:.3rem .8rem;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line);color:var(--text-2)}.posts[data-v-a2a7b6a0]{display:grid;gap:var(--space-4)}.post[data-v-a2a7b6a0]{display:block;padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--dur) var(--ease-quart),transform var(--dur) var(--ease-quart),box-shadow var(--dur) var(--ease-quart)}.post[data-v-a2a7b6a0]:hover{border-color:var(--brand);transform:translateY(var(--lift-y-sm));box-shadow:var(--shadow)}.post__meta[data-v-a2a7b6a0]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:var(--space-2)}.post__cat[data-v-a2a7b6a0]{font-size:var(--text-xs);padding:.2rem .6rem;border-radius:var(--radius-pill);background:var(--brand-soft);color:var(--brand-ink)}.post__date[data-v-a2a7b6a0]{font-size:var(--text-xs);color:var(--text-3)}.post__title[data-v-a2a7b6a0]{font-size:var(--text-lg);color:var(--text)}.post__excerpt[data-v-a2a7b6a0]{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-2);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.footer[data-v-a2a7b6a0]{margin-top:auto;border-top:1px solid var(--line);background:var(--surface-2);padding-block:var(--space-6)}.footer__inner[data-v-a2a7b6a0]{text-align:center;display:grid;gap:.5rem}.copyright[data-v-a2a7b6a0]{font-size:var(--text-sm);color:var(--text-3)}.beian a[data-v-a2a7b6a0]{font-size:var(--text-sm);color:var(--brand);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.beian a[data-v-a2a7b6a0]:hover{color:var(--brand-strong)}@media (max-width: 640px){.hero[data-v-a2a7b6a0]{padding-block:var(--space-8)}.topnav[data-v-a2a7b6a0]{gap:1rem}.post[data-v-a2a7b6a0]{padding:var(--space-4)}}:root{--brand: oklch(.58 .1 175);--brand-strong: oklch(.5 .11 175);--brand-soft: oklch(.96 .025 175);--brand-ink: oklch(.34 .06 175);--bg: oklch(.985 .004 95);--surface: oklch(1 0 0);--surface-2: oklch(.97 .005 95);--line: oklch(.91 .006 95);--line-strong: oklch(.84 .008 95);--text: oklch(.24 .01 95);--text-2: oklch(.42 .01 95);--text-3: oklch(.58 .01 95);--on-brand: oklch(.99 0 0);--ink: oklch(.2 .02 95);--ink-2: oklch(.28 .02 95);--ink-surface: oklch(.24 .018 95);--ink-line: oklch(.34 .02 95);--ink-text: oklch(.92 .01 95);--ink-text-2: oklch(.7 .02 95);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: clamp(2.5rem, 5vw, 4rem);--space-8: clamp(3.5rem, 8vw, 6rem);--space-9: clamp(5rem, 12vw, 9rem);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-display: "Sora", "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--text-xs: clamp(.75rem, .73rem + .1vw, .8125rem);--text-sm: clamp(.85rem, .82rem + .15vw, .9375rem);--text-base: clamp(.95rem, .9rem + .25vw, 1.0625rem);--text-lg: clamp(1.1rem, 1rem + .5vw, 1.375rem);--text-xl: clamp(1.35rem, 1.1rem + 1vw, 1.875rem);--text-2xl: clamp(1.75rem, 1.3rem + 2vw, 2.875rem);--text-3xl: clamp(2.25rem, 1.5rem + 3.6vw, 4.25rem);--text-display: clamp(2.75rem, 1.6rem + 5.5vw, 5.5rem);--radius-sm: 8px;--radius: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow-sm: 0 1px 2px oklch(.2 .02 95 / .06);--shadow: 0 10px 30px -12px oklch(.2 .02 95 / .18);--shadow-lg: 0 24px 60px -20px oklch(.2 .02 95 / .28);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-quart: cubic-bezier(.25, 1, .5, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--dur-fast: .18s;--dur: .28s;--dur-slow: .45s;--lift-y: -4px;--lift-y-sm: -2px;--press: .97;--maxw: 1180px;--header-h: 60px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,figure,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;line-height:1.1}img,svg{display:block;max-width:100%}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::selection{background:var(--brand);color:var(--on-brand)}.skip-link{position:absolute;left:50%;top:-64px;transform:translate(-50%);background:var(--brand);color:var(--on-brand);padding:.7em 1.3em;border-radius:0 0 var(--radius) var(--radius);font-weight:600;z-index:100;transition:top var(--dur) var(--ease-quart)}.skip-link:focus{top:0}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2.5rem)}.section{padding-block:var(--space-9)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out-expo),transform .6s var(--ease-out-expo);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (max-width: 640px){.shell,.section{padding-block:var(--space-8)}.container{padding-inline:1.15rem}}@media (max-width: 420px){.shell,.section{padding-block:var(--space-7)}}
