.blog-root{color-scheme:dark;background:var(--v3-bg,#0b0a14);color:var(--v3-fg,#f0eef5);min-height:100vh;font-family:var(--v3-sans);--blog-content-max:720px;--v3-bg:#0b0a14;--v3-bg-2:#15132080;--v3-bg-3:#1a1726;--v3-line:hsla(0,0%,100%,.09);--v3-line-2:hsla(0,0%,100%,.16);--v3-fg:#f0eef5;--v3-fg-2:#a5a3b3;--v3-fg-3:#71707e;--v3-violet:#a5b4fc;--v3-violet-2:#6366f1;--v3-grad-accent:linear-gradient(135deg,#60a5fa,#818cf8 45%,#a78bfa);--v3-serif:var(--font-serif),"Times New Roman",Georgia,-apple-system,"PingFang TC","Microsoft JhengHei","Noto Sans TC",serif;--v3-mono:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace}.blog-root em{font-family:inherit;font-style:inherit;font-weight:inherit;font-size:inherit;letter-spacing:inherit;color:var(--v3-violet);background:var(--v3-grad-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.blog-nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(20px);background:rgba(11,10,20,.7);border-bottom:1px solid var(--v3-line)}.blog-nav-inner{max-width:1180px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.blog-nav .brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--v3-fg);font-weight:600}.blog-nav .brand i{color:var(--v3-fg-3);font-style:normal;font-weight:400}.blog-nav .nav-links{display:flex;gap:24px;font-size:14px}.blog-nav .nav-links a{color:var(--v3-fg-2);text-decoration:none}.blog-nav .nav-links a:hover{color:var(--v3-fg)}.blog-nav .cta{background:var(--v3-fg);color:var(--v3-bg);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}.blog-hero{max-width:1180px;margin:0 auto;padding:80px 32px 40px}.blog-kicker{font-family:var(--v3-mono);font-size:11px;color:var(--v3-fg-3);letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:24px}.blog-kicker .sep{flex:1;height:1px;background:var(--v3-line)}.blog-hero h1{font-size:clamp(40px,6vw,72px);font-weight:700;line-height:1.05;margin-bottom:16px}.blog-hero h1,.blog-hero h1 em{letter-spacing:-.02em}.blog-hero p{font-size:17px;line-height:1.65;color:var(--v3-fg-2);max-width:620px}.blog-list{max-width:1180px;margin:0 auto;padding:24px 32px 120px}.blog-card{display:grid;grid-template-columns:140px 1fr auto;gap:32px;padding:36px 0;border-top:1px solid var(--v3-line);text-decoration:none;color:inherit;transition:opacity .2s ease}.blog-card:last-child{border-bottom:1px solid var(--v3-line)}.blog-card:hover{opacity:.88}.blog-card:hover h3{color:var(--v3-violet)}.blog-card-date{font-family:var(--v3-mono);font-size:12px;color:var(--v3-fg-3);letter-spacing:.04em}.blog-card-cat{display:inline-block;padding:2px 8px;background:var(--v3-bg-3);border:1px solid var(--v3-line);border-radius:999px;font-size:11px;color:var(--v3-fg-2);font-family:var(--v3-mono);margin-top:8px}.blog-card-body h3{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin-bottom:8px;transition:color .2s ease}.blog-card-body p{font-size:14px;line-height:1.55;color:var(--v3-fg-2)}.blog-card-meta{font-family:var(--v3-mono);font-size:11px;color:var(--v3-fg-3);text-align:right;white-space:nowrap;letter-spacing:.04em}@media (max-width:720px){.blog-card{grid-template-columns:1fr;gap:12px;padding:28px 0}.blog-card-meta{text-align:left}}.blog-empty{max-width:720px;margin:80px auto;padding:0 32px;text-align:center;color:var(--v3-fg-3)}.blog-empty h3{color:var(--v3-fg);font-size:22px;margin-bottom:12px}.post-wrap{max-width:1180px;margin:0 auto;padding:64px 32px 120px;display:grid;grid-template-columns:1fr minmax(0,var(--blog-content-max)) 1fr;column-gap:48px}.post-breadcrumb{grid-column:2;font-family:var(--v3-mono);font-size:12px;color:var(--v3-fg-3);margin-bottom:24px;letter-spacing:.04em}.post-breadcrumb a{color:var(--v3-fg-3);text-decoration:none}.post-breadcrumb a:hover{color:var(--v3-fg)}.post-breadcrumb .sep{margin:0 8px;color:var(--v3-fg-3);opacity:.6}.post-header{grid-column:2;margin-bottom:48px}.post-cat{display:inline-block;padding:4px 12px;background:var(--v3-bg-3);border:1px solid var(--v3-line);border-radius:999px;font-size:11px;color:var(--v3-fg-2);font-family:var(--v3-mono);letter-spacing:.04em;margin-bottom:20px}.post-header h1{font-size:clamp(32px,4.4vw,48px);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:24px}.post-meta{display:flex;align-items:center;gap:16px;font-family:var(--v3-mono);font-size:12px;color:var(--v3-fg-3);letter-spacing:.04em}.post-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--v3-fg-3)}.post-toc{grid-column:1;grid-row:3;position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:16px;border-right:1px solid var(--v3-line)}.post-toc-label{font-family:var(--v3-mono);font-size:11px;color:var(--v3-fg-3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.post-toc ul{list-style:none;padding:0;margin:0}.post-toc li{margin-bottom:8px;font-size:13px;line-height:1.4}.post-toc li.depth-3{padding-left:16px;font-size:12px}.post-toc a{color:var(--v3-fg-3);text-decoration:none;transition:color .2s ease}.post-toc a:hover{color:var(--v3-fg)}@media (max-width:1080px){.post-toc{display:none}}.post-body{grid-column:2;font-size:17px;line-height:1.75;color:var(--v3-fg);letter-spacing:.005em}.post-body h2{font-size:28px;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin-top:56px;margin-bottom:20px;scroll-margin-top:96px}.post-body h2:before{content:"§ ";color:var(--v3-fg-3);font-family:var(--v3-mono);font-size:22px;font-weight:400;margin-right:4px}.post-body h3{font-size:20px;font-weight:600;line-height:1.35;margin-top:36px;margin-bottom:12px;scroll-margin-top:96px}.post-body p{margin:0 0 20px}.post-body strong{color:var(--v3-fg);font-weight:600}.post-body a{color:var(--v3-violet);text-decoration:underline;text-decoration-color:rgba(165,180,252,.4);text-underline-offset:3px;transition:text-decoration-color .2s ease}.post-body a:hover{text-decoration-color:var(--v3-violet)}.post-body ol,.post-body ul{margin:0 0 20px;padding-left:24px}.post-body li{margin-bottom:8px}.post-body code{font-family:var(--v3-mono);font-size:14px;background:var(--v3-bg-3);padding:2px 6px;border-radius:4px;color:var(--v3-fg)}.post-body pre{background:var(--v3-bg-3);border:1px solid var(--v3-line);padding:18px 22px;border-radius:8px;overflow-x:auto;margin:0 0 24px;font-size:13px;line-height:1.6}.post-body pre code{background:transparent;padding:0;font-size:inherit}.post-body blockquote{margin:0 0 24px;padding-left:24px;border-left:3px solid var(--v3-violet);color:var(--v3-fg-2);font-style:normal}.post-body table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:14px}.post-body td,.post-body th{padding:12px 14px;text-align:left;border-bottom:1px solid var(--v3-line);vertical-align:top}.post-body th{font-family:var(--v3-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--v3-fg-3);font-weight:500;border-bottom:1px solid var(--v3-line-2)}.post-body hr{border:none;margin:48px 0}.post-body hr,.post-related{border-top:1px solid var(--v3-line)}.post-related{grid-column:2;margin-top:80px;padding-top:40px}.post-related h4{font-family:var(--v3-mono);font-size:11px;color:var(--v3-fg-3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px}.post-related-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.post-related-card{text-decoration:none;color:inherit;padding:20px;border:1px solid var(--v3-line);border-radius:12px;background:var(--v3-bg-3);transition:border-color .2s ease}.post-related-card:hover{border-color:var(--v3-line-2)}.post-related-card .cat{font-family:var(--v3-mono);font-size:10px;color:var(--v3-fg-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.post-related-card h5{font-size:15px;font-weight:600;line-height:1.35}.post-cta{grid-column:2;margin-top:48px;padding:32px;border:1px solid var(--v3-line);border-radius:16px;background:linear-gradient(135deg,rgba(96,165,250,.08),rgba(167,139,250,.08))}.post-cta h4{font-size:20px;font-weight:600;margin-bottom:8px}.post-cta p{color:var(--v3-fg-2);font-size:14px;margin-bottom:16px}.post-cta a{display:inline-block;background:var(--v3-fg);color:var(--v3-bg);padding:10px 20px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:500}@media (max-width:1080px){.post-wrap{grid-template-columns:1fr;column-gap:0}.post-body,.post-breadcrumb,.post-cta,.post-header,.post-related{grid-column:1}}