.blog{--navy: #202c5e;--navy-deep: #182050;--navy-ink: #131a3d;--sky: #5b79d6;--sky-soft: #8fa5e8;--wash: #edf1f9;--paper: #f8f9fc;--paper2: #eff2f8;--ink: #221714;--ink2: #4c5165;--gold: #d9a62e;--gold-deep: #8a6410;--gold-soft: rgba(217, 166, 46, .16);--line: rgba(32, 44, 94, .14);--serif: "Noto Serif TC", serif;--sans: "Noto Sans TC", sans-serif;--mono: "IBM Plex Mono", monospace;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.85;min-height:100vh;line-break:strict;text-wrap:pretty}.blog a{color:var(--navy);text-underline-offset:3px;text-decoration-color:var(--sky-soft)}.blog a:hover{color:var(--sky)}.blog-prose{font-size:1.0625rem;color:var(--ink)}.blog-prose>*+*{margin-top:1.15em}.blog-prose h2{font-family:var(--serif);font-weight:900;font-size:clamp(1.35rem,1.1rem + 1.1vw,1.85rem);line-height:1.4;color:var(--navy-ink);text-wrap:balance;margin-top:2.6em;padding-top:1.1rem;border-top:1px solid var(--line);scroll-margin-top:5rem}.blog-prose h3{font-family:var(--serif);font-weight:600;font-size:clamp(1.1rem,1rem + .5vw,1.3rem);line-height:1.5;color:var(--navy);text-wrap:balance;margin-top:2em;scroll-margin-top:5rem}.blog-prose p{color:var(--ink2)}.blog-prose strong{color:var(--navy-ink);font-weight:700}.blog-prose ul,.blog-prose ol{padding-left:1.35rem;color:var(--ink2)}.blog-prose ul{list-style:disc}.blog-prose ol{list-style:decimal}.blog-prose li+li{margin-top:.45em}.blog-prose li::marker{color:var(--sky)}.blog-prose blockquote{border-left:3px solid var(--gold);background:var(--gold-soft);padding:.9rem 1.15rem;border-radius:0 6px 6px 0;color:var(--ink)}.blog-prose blockquote p{color:var(--ink);margin:0}.blog-prose img{width:100%;height:auto;border-radius:8px;border:1px solid var(--line)}.blog-prose code{font-family:var(--mono);font-size:.9em;background:var(--wash);padding:.1em .35em;border-radius:3px}.blog-table-scroll{overflow-x:auto;margin-top:1.6em;border:1px solid var(--line);border-radius:8px;background:#fff}.blog-prose table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:34rem}.blog-prose thead th{background:var(--navy);color:#fff;font-weight:500;text-align:left;padding:.7rem .9rem;white-space:nowrap}.blog-prose tbody td{padding:.7rem .9rem;border-top:1px solid var(--line);color:var(--ink2);vertical-align:top}.blog-prose tbody tr:nth-child(2n){background:var(--paper2)}.blog-prose tbody td:first-child{color:var(--navy-ink);font-weight:500}.blog-shell{max-width:46rem;margin:0 auto;padding:0 1.15rem}.blog-eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}.blog-title{font-family:var(--serif);font-weight:900;font-size:clamp(1.7rem,1.2rem + 2.4vw,2.6rem);line-height:1.3;color:var(--navy-ink);text-wrap:balance;letter-spacing:0}.blog-lede{font-size:1.075rem;color:var(--ink2)}.blog-meta{font-family:var(--mono);font-size:.78rem;color:var(--ink2)}.blog-card{background:#fff;border:1px solid var(--line);border-radius:10px;transition:border-color .2s ease,transform .2s ease}.blog-card:hover{border-color:var(--sky-soft);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.blog-card:hover{transform:none}}.blog-toc{background:var(--wash);border:1px solid var(--line);border-radius:10px}.blog-toc a{text-decoration:none;color:var(--ink2)}.blog-toc a:hover{color:var(--navy);text-decoration:underline}.blog-cta{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-ink) 100%);color:#fff;border-radius:12px}.blog-cta a{color:var(--navy-ink)}.blog-cta-button{background:var(--gold);color:var(--navy-ink);font-weight:700;border-radius:6px;text-decoration:none;display:inline-block;transition:background .2s ease}.blog-cta-button:hover{background:#eab945;color:var(--navy-ink)}
