:root{--surface-primary: #f4f6f9;--surface-secondary: #eaedf2;--surface-tertiary: #e0e4eb;--glass-sm: rgba(245, 248, 252, .55);--glass-md: rgba(243, 246, 251, .68);--glass-lg: rgba(240, 244, 250, .8);--glass-xl: rgba(236, 241, 248, .9);--text-primary: #1a1c20;--text-secondary: #5c6068;--text-tertiary: #9a9ea8;--text-inverse: #ffffff;--accent: #0066d6;--accent-hover: #0052b0;--accent-pressed: #004098;--accent-glow: rgba(0, 102, 214, .25);--border-subtle: rgba(0, 0, 0, .05);--border-default: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .12);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .05);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .07);--shadow-xl: 0 24px 72px rgba(0, 0, 0, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", Arial, sans-serif;--font-serif: "Noto Serif", "Noto Serif SC", "Source Han Serif SC", "STSong", "Songti SC", Georgia, "Times New Roman", serif;--font-mono: "SF Mono", "Menlo", "Monaco", "Consolas", monospace;--text-xs: clamp(.6875rem, .65rem + .15vw, .75rem);--text-sm: clamp(.8125rem, .78rem + .12vw, .875rem);--text-base: clamp(.9375rem, .9rem + .15vw, 1rem);--text-md: clamp(1.0625rem, 1rem + .25vw, 1.125rem);--text-lg: clamp(1.1875rem, 1.1rem + .35vw, 1.25rem);--text-xl: clamp(1.375rem, 1.25rem + .5vw, 1.5rem);--text-2xl: clamp(1.75rem, 1.5rem + 1vw, 2rem);--text-3xl: clamp(2.25rem, 1.8rem + 1.8vw, 2.75rem);--text-4xl: clamp(3rem, 2.5rem + 3vw, 4.5rem);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--content-max: 1200px;--content-narrow: 720px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .15s;--dur-base: .3s;--dur-slow: .5s;--dur-theme: .6s}[data-theme=dark]{--surface-primary: #000000;--surface-secondary: #08080c;--surface-tertiary: #0e0e14;--glass-sm: rgba(15, 17, 22, .6);--glass-md: rgba(18, 20, 26, .72);--glass-lg: rgba(22, 24, 30, .82);--glass-xl: rgba(26, 28, 36, .92);--text-primary: #f0f0f4;--text-secondary: #9898a4;--text-tertiary: #5c5c68;--text-inverse: #1a1c20;--accent: #3b9eff;--accent-hover: #2d82e8;--accent-pressed: #1d6cc8;--accent-glow: rgba(59, 158, 255, .3);--border-subtle: rgba(255, 255, 255, .04);--border-default: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .11);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .45);--shadow-xl: 0 24px 72px rgba(0, 0, 0, .55)}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--surface-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;transition:background-color var(--dur-theme) var(--ease-in-out),color var(--dur-theme) var(--ease-in-out)}::selection{background:var(--accent-glow);color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600;letter-spacing:-.022em;line-height:1.12;color:var(--text-primary)}h1{font-size:var(--text-4xl);letter-spacing:-.035em}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{color:var(--text-secondary);line-height:1.7}a{color:var(--accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--accent-hover)}.glass{background:var(--glass-md);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:background var(--dur-theme) var(--ease-in-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform .4s var(--ease-spring)}.glass:hover{background:var(--glass-lg);box-shadow:var(--shadow-md);border-color:var(--border-default);transform:translateY(-2px)}[data-theme=dark] .glass{box-shadow:var(--shadow-sm),0 0 0 1px #3b9eff0a}.nav{position:sticky;top:var(--space-3);z-index:100;margin:var(--space-3) auto 0;max-width:calc(var(--content-max) + var(--space-6) * 2);padding:0 var(--space-6)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 var(--space-6);background:var(--glass-xl);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:background var(--dur-theme) var(--ease-in-out),border-color var(--dur-theme) var(--ease-in-out),box-shadow var(--dur-base) var(--ease-out)}.nav-inner:hover{box-shadow:var(--shadow-md)}.nav-brand{font-family:var(--font-serif);font-size:var(--text-md);font-weight:700;letter-spacing:-.01em;color:var(--text-primary);font-style:italic}.nav-links{display:flex;align-items:center;gap:var(--space-1)}.nav-link{padding:6px 16px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.nav-link:hover{color:var(--text-primary);background:var(--border-subtle)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 24px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;letter-spacing:-.01em;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--dur-fast) var(--ease-out),transform .35s var(--ease-spring)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.btn-primary:hover{color:#fff;transform:translateY(-1px) scale(1.03);box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:active{background:var(--accent-pressed);color:#fff;transform:translateY(0) scale(.98)}.btn-outline:hover{color:#fff}.btn-ghost{background:transparent;color:var(--text-primary)}.btn-ghost:hover{background:var(--border-subtle)}.btn-outline{background:transparent;color:var(--accent);border:1.5px solid var(--accent);box-shadow:none}.btn-outline:hover{background:var(--accent);color:var(--text-inverse)}.card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8);background:var(--glass-md);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:background var(--dur-theme) var(--ease-in-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform .4s var(--ease-spring)}.card:hover{background:var(--glass-lg);box-shadow:var(--shadow-lg);border-color:var(--border-default);transform:translateY(-4px)}[data-theme=dark] .card{box-shadow:var(--shadow-sm),0 0 40px #3b9eff08}.card-title{font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;line-height:1.25}.card-title a{color:var(--text-primary)}.card-title a:hover{color:var(--accent)}.card-excerpt{font-size:var(--text-base);color:var(--text-secondary);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-tertiary)}.hero{text-align:center;padding:var(--space-32) var(--space-6) var(--space-20);max-width:var(--content-narrow);margin:0 auto}.hero-title{font-size:var(--text-4xl);font-weight:700;letter-spacing:-.035em;line-height:1.06;margin-bottom:var(--space-5);text-wrap:balance}.hero-subtitle{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6;max-width:560px;margin:0 auto var(--space-10);text-wrap:balance}.featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);max-width:var(--content-max);margin:0 auto;padding:0 var(--space-6)}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--space-6);max-width:var(--content-max);margin:0 auto;padding:0 var(--space-6)}.nav-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background .2s ease}.nav-icon:hover{color:var(--text-primary);background:var(--border-subtle)}.nav-icon svg{width:18px;height:18px;flex-shrink:0}.half-left,.half-right{transition:fill .25s ease}.half-left{fill:#d4d8e0}.half-right,[data-theme=dark] .half-left{fill:#2a2a32}[data-theme=dark] .half-right{fill:#d4d8e0}.nav-divider{width:1px;height:22px;background:var(--border-default);margin:0 var(--space-2);border-radius:1px;flex-shrink:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}.container{max-width:var(--content-max);margin:0 auto;padding:0 var(--space-6)}.section{padding:var(--space-20) var(--space-6)}.section-title{text-align:center;font-size:var(--text-2xl);font-weight:600;letter-spacing:-.025em;margin-bottom:var(--space-8)}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){:root{--space-20: 48px;--space-24: 64px;--space-32: 80px}.hero{padding-top:var(--space-16);padding-bottom:var(--space-12)}.featured-grid,.posts-grid{grid-template-columns:1fr;gap:var(--space-4)}.nav-icon svg{width:18px;height:18px}}
