.site-header[data-astro-cid-nen7h5rs]{z-index:var(--z-header);background:var(--c-bg);border-bottom:1px solid var(--c-line);transition:background-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);position:sticky;top:0}.site-header[data-astro-cid-nen7h5rs][data-scrolled=true]{backdrop-filter:blur(10px);background:#0b1510eb;box-shadow:0 8px 24px #0000004d}.site-header__inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--space-6);height:72px;display:flex}.brand[data-astro-cid-nen7h5rs]{flex-shrink:0;align-items:center;display:flex}.brand[data-astro-cid-nen7h5rs] .brand__logo{width:auto;height:40px}.site-nav[data-astro-cid-nen7h5rs]{gap:var(--space-1);font-size:var(--fs-sm);font-weight:500;display:flex}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border:1px solid var(--c-line);border-radius:var(--r-sm);transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);padding:9px 14px}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{border-color:var(--c-line-ghost)}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{border-color:var(--c-accent);color:var(--c-accent)}.site-header__tools[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-2);display:flex}.lang-switch[data-astro-cid-nen7h5rs]{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-text-dim);border:1px solid var(--c-line);border-radius:var(--r-sm);padding:9px 12px}.nav-toggle[data-astro-cid-nen7h5rs]{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:none}.nav-toggle[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--c-text);width:18px;height:2px;transition:transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease)}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:nth-child(2){opacity:0}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-drawer[data-astro-cid-nen7h5rs]{z-index:var(--z-drawer);background:var(--c-bg);border-top:1px solid var(--c-line);padding:var(--space-6) var(--page-x);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), visibility var(--dur-fast);position:fixed;inset:60px 0 0;overflow-y:auto;transform:translateY(-8px)}.mobile-drawer[data-astro-cid-nen7h5rs][data-open=true]{opacity:1;visibility:visible;transform:none}.mobile-drawer[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mobile-drawer[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding:var(--space-4) 0;border-bottom:1px solid var(--c-line);font-size:1.125rem;font-weight:700;display:block}.mobile-drawer[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--c-accent)}@media (width<=1080px){.site-nav[data-astro-cid-nen7h5rs]{display:none}.nav-toggle[data-astro-cid-nen7h5rs]{display:flex}.site-header__inner[data-astro-cid-nen7h5rs]{height:60px}.brand[data-astro-cid-nen7h5rs] .brand__logo{height:34px}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--c-footer);border-top:1px solid var(--c-line);color:var(--c-text-dim)}.site-footer__inner[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:40px;padding-block:44px 28px;display:flex}.site-footer__grid[data-astro-cid-jo6i4kqk]{gap:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,.8fr);display:grid}.site-footer__item[data-astro-cid-jo6i4kqk]{gap:var(--space-2);border-top:1px solid var(--c-line);padding-top:var(--space-4);flex-direction:column;display:flex}.site-footer__label[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);font-size:var(--fs-2xs)}.site-footer__value[data-astro-cid-jo6i4kqk]{font-size:var(--fs-body);color:var(--c-text);word-break:keep-all;overflow-wrap:anywhere;line-height:1.6}.site-footer__social[data-astro-cid-jo6i4kqk]{gap:var(--space-2);flex-wrap:wrap;display:flex}.site-footer__social[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);min-height:44px;color:var(--c-text);font-size:var(--fs-sm);align-items:center;padding:0 14px;font-weight:700;display:inline-flex}.site-footer__social[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{border-color:var(--c-accent);color:var(--c-accent)}.site-footer__copy[data-astro-cid-jo6i4kqk]{font-size:var(--fs-xs)}@media (width<=1080px){.site-footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.site-footer__inner[data-astro-cid-jo6i4kqk]{gap:var(--space-6);padding-block:36px 28px}.site-footer__grid[data-astro-cid-jo6i4kqk]{gap:var(--space-4);grid-template-columns:1fr}}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/space-grotesk-vietnamese-500-normal.BmEvtly_.woff2)format("woff2"),url(/_astro/space-grotesk-vietnamese-500-normal.BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/space-grotesk-latin-ext-500-normal.DUe3BAxM.woff2)format("woff2"),url(/_astro/space-grotesk-latin-ext-500-normal.3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/space-grotesk-latin-500-normal.lFbtlQH6.woff2)format("woff2"),url(/_astro/space-grotesk-latin-500-normal.CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-grotesk-vietnamese-700-normal.DMty7AZE.woff2)format("woff2"),url(/_astro/space-grotesk-vietnamese-700-normal.Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-grotesk-latin-ext-700-normal.BQnZhY3m.woff2)format("woff2"),url(/_astro/space-grotesk-latin-ext-700-normal.HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/space-grotesk-latin-700-normal.RjhwGPKo.woff2)format("woff2"),url(/_astro/space-grotesk-latin-700-normal.CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--c-footer:#08110c;--c-bg:#0b1510;--c-surface:#0f1d16;--c-band:#13261c;--c-paper:#f4f1e6;--c-white:#fff;--c-line:#22332a;--c-line-strong:#2e4336;--c-line-muted:#3a5243;--c-line-ghost:#5b7263;--c-text:#e8f0dc;--c-text-soft:#d6e2cb;--c-text-muted:#b8c7b0;--c-text-dim:#8fa38f;--c-ink:#0b1510;--c-accent:#c6e86b;--c-accent-ring:#c6e86b38;--c-scrim:#0b1510e0;--c-backdrop:#060c09cc;--font-sans:"Space Grotesk", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-hero:clamp(1.875rem, 5.2vw, 4rem);--fs-h1:clamp(2.25rem, 4.6vw, 4rem);--fs-h2:clamp(1.75rem, 3.1vw, 2.75rem);--fs-h2-sm:clamp(1.625rem, 2.7vw, 2.375rem);--fs-h3:clamp(1.1875rem, 1.6vw, 1.5rem);--fs-lead:clamp(1rem, 1.3vw, 1.1875rem);--fs-body:1rem;--fs-sm:.9375rem;--fs-xs:.8125rem;--fs-2xs:.75rem;--content-max:1328px;--page-x:clamp(16px, 3.9vw, 56px);--section-y:clamp(40px, 5vw, 72px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:12px;--r-pill:999px;--shadow-dialog:0 36px 80px #00000073;--ease:cubic-bezier(.22, .61, .36, 1);--dur-fast:.2s;--dur-slide:.55s;--dur-reveal-fade:.7s;--dur-reveal-move:.8s;--z-raised:2;--z-header:50;--z-drawer:60;--z-menu:10000}@font-face{font-family:Noto Sans TC;src:url(/fonts/noto-sans-tc-subset.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}::selection{background:var(--c-accent);color:var(--c-ink)}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.7}body.is-locked,body.modal-open{overflow:hidden}h1,h2,h3,h4{margin:0;font-weight:900;line-height:1.2}p{margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--c-accent)}img,svg{max-width:100%;display:block}img{-webkit-user-drag:none;user-select:none;height:auto}button{font:inherit;color:inherit}address{font-style:normal}strong{font-weight:700}.modern-picture{display:contents}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:var(--r-xs)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:calc(var(--content-max) + var(--page-x) * 2);padding-inline:var(--page-x);margin:0 auto}.section{padding-block:var(--section-y)}.section--surface{background:var(--c-surface);border-block:1px solid var(--c-line)}.section--band{background:var(--c-band)}.section--ruled{border-top:1px solid var(--c-line)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-accent);letter-spacing:.02em;font-weight:500}.meta{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--c-text-dim)}.lead{font-size:var(--fs-lead);color:var(--c-text-muted);line-height:1.75}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-6);border-radius:var(--r-sm);font-size:var(--fs-body);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);border:1px solid #0000;font-weight:700;line-height:1.2;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--c-accent);color:var(--c-ink)}.btn--primary:hover{background:var(--c-text);color:var(--c-ink)}.btn--ghost{border-color:var(--c-line-ghost);color:var(--c-text);background:0 0}.btn--ghost:hover{border-color:var(--c-accent);color:var(--c-accent)}.btn--lg{min-height:56px;padding:0 var(--space-7);font-size:1.0625rem}.text-link{align-items:center;gap:var(--space-2);color:var(--c-accent);padding-block:var(--space-3);cursor:pointer;background:0 0;border:0;font-weight:700;display:inline-flex}.text-link:hover{color:var(--c-text)}.chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chips li{font-size:var(--fs-sm);border:1px solid var(--c-line-strong);border-radius:var(--r-xs);padding:6px 12px}.chips--accent li{border-color:var(--c-accent);color:var(--c-accent)}.crumbs{gap:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-text-dim);flex-wrap:wrap;display:flex}.crumbs [aria-current=page]{color:var(--c-text)}.image-protection-menu{z-index:var(--z-menu);background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-dialog);padding:6px;display:none;position:fixed;top:0;left:0}.image-protection-menu.is-visible{display:block}.image-protection-menu__button{border-radius:var(--r-xs);background:var(--c-accent);min-height:38px;color:var(--c-ink);font-size:var(--fs-sm);cursor:pointer;border:0;padding:0 14px;font-weight:700}html.reveal-on [data-reveal]{transition:opacity var(--dur-reveal-fade) var(--ease) var(--reveal-delay,0s), transform var(--dur-reveal-move) var(--ease) var(--reveal-delay,0s);will-change:opacity, transform}html.reveal-on [data-reveal]:not(.is-visible){opacity:0;transform:translateY(28px)}html.reveal-on .is-visible{will-change:auto}@keyframes card-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--c-accent-ring)}70%{box-shadow:0 0 0 8px #c6e86b00}to{box-shadow:0 0 #c6e86b00}}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.rise{animation:card-rise .6s var(--ease) backwards}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
