@font-face{font-family:Field Gothic No\.71;src:url(/fonts/field-gothic-71.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Field Gothic No\.73;src:url(/fonts/field-gothic-73.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Field Gothic No\.70;src:url(/fonts/field-gothic-70.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Field Gothic No\.72;src:url(/fonts/field-gothic-72.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Field Gothic No\.74;src:url(/fonts/field-gothic-74.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Field Gothic No\.75;src:url(/fonts/field-gothic-75.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Field Gothic No\.76;src:url(/fonts/field-gothic-76.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Field Gothic No\.77;src:url(/fonts/field-gothic-77.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Vivo Sans TC VF;src:url(/fonts/vivo-sans-tc-vf.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;line-height:var(--leading-body)}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}:focus-visible{outline:2px solid var(--interactive-default);outline-offset:2px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
:root{--color-white:#fff;--color-black:#000;--color-grey-light:#e6e6e6;--color-grey-dark:#666;--color-blue-400:#0046ff;--color-blue-300:#3976ff;--color-blue-200:#92b9ff;--color-blue-100:#c5ddff;--bg-primary:var(--color-white);--bg-secondary:var(--color-grey-light);--bg-inverse:var(--color-black);--bg-accent:var(--color-blue-400);--bg-accent-subtle:var(--color-blue-100);--text-primary:var(--color-black);--text-secondary:var(--color-grey-dark);--text-inverse:var(--color-white);--text-accent:var(--color-blue-400);--text-on-accent:var(--color-white);--border-default:var(--color-grey-light);--border-strong:var(--color-black);--border-accent:var(--color-blue-400);--interactive-default:var(--color-blue-400);--interactive-hover:var(--color-blue-300);--interactive-active:var(--color-blue-400);--interactive-subtle:var(--color-blue-100)}
:root{--font-heading:"Field Gothic No.73","Arial Narrow",sans-serif;--font-body:"Field Gothic No.71","Arial Narrow",sans-serif;--font-expressive-text:"FPA Text","Impact",sans-serif;--font-expressive-display:"FPA Display","Impact",sans-serif;--font-serif:"Instrument Serif","Georgia",serif;--font-zh-heading:"Vivo Sans TC VF",sans-serif;--font-zh-body:"Vivo Sans TC VF",sans-serif;--font-zh-serif:"Noto Serif TC",serif;--font-zh-system:"PingFang TC","Microsoft JhengHei",sans-serif;--text-display:clamp(3rem,5vw,4.5rem);--text-h1:clamp(2rem,3.5vw,3rem);--text-h2:clamp(1.5rem,2.5vw,2.25rem);--text-h3:clamp(1.25rem,2vw,1.5rem);--text-h4:1.25rem;--text-body-lg:1.125rem;--text-body:1rem;--text-body-sm:.875rem;--text-caption:.75rem;--tracking-display:0em;--tracking-h1:0em;--tracking-h2:.005em;--tracking-h3:.01em;--tracking-h4:.025em;--tracking-body:.025em;--tracking-body-sm:.05em;--tracking-caption:.05em;--leading-display:1;--leading-heading:1.1;--leading-body:1.5;--leading-relaxed:1.7}
:root{--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--space-48:12rem;--grid-max-width:1440px;--grid-content-width:1200px;--grid-columns:12;--grid-gutter:24px;--grid-gutter-mobile:16px;--grid-margin:64px;--grid-margin-tablet:40px;--grid-margin-mobile:24px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1440px}
:root{--ease-fpa:cubic-bezier(.16,0,.12,1);--ease-fpa-sharp:cubic-bezier(0,0,.15,1);--ease-fpa-soft:cubic-bezier(.25,0,.2,1);--ease-linear:linear;--duration-instant:.1s;--duration-fast:.2s;--duration-normal:.35s;--duration-slow:.5s;--duration-slower:.8s}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes expand-width{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@keyframes scale-in{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.reveal-up{animation:slide-up var(--duration-slow)var(--ease-fpa)both}.reveal-fade{animation:fade-in var(--duration-normal)var(--ease-fpa)both}.reveal-left{animation:slide-left var(--duration-slow)var(--ease-fpa)both}
:root{--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px}
:root{--shadow-none:none;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001f}
:root{--z-base:0;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500}
[data-theme=dark]{--bg-primary:var(--color-black);--bg-secondary:#1a1a1a;--bg-inverse:var(--color-white);--bg-accent:var(--color-blue-400);--bg-accent-subtle:#0a1a3d;--text-primary:var(--color-white);--text-secondary:#aaa;--text-inverse:var(--color-black);--text-accent:var(--color-blue-300);--text-on-accent:var(--color-white);--border-default:#333;--border-strong:var(--color-white);--border-accent:var(--color-blue-300);--interactive-default:var(--color-blue-300);--interactive-hover:var(--color-blue-200);--interactive-active:var(--color-blue-400);--interactive-subtle:#0a1a3d}

html{overflow-x:hidden}body{font-family:var(--font-body),var(--font-zh-body),var(--font-zh-system);font-size:var(--text-body);letter-spacing:var(--tracking-body);color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--duration-normal)var(--ease-fpa),color var(--duration-normal)var(--ease-fpa);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading),var(--font-zh-heading),var(--font-zh-system);line-height:var(--leading-heading)}h1{font-size:var(--text-h1);letter-spacing:var(--tracking-h1)}h2{font-size:var(--text-h2);letter-spacing:var(--tracking-h2)}h3{font-size:var(--text-h3);letter-spacing:var(--tracking-h3)}h4{font-size:var(--text-h4);letter-spacing:var(--tracking-h4)}.caption{font-family:var(--font-serif),var(--font-zh-serif);font-size:var(--text-caption);letter-spacing:var(--tracking-caption);color:var(--text-secondary)}.prose{line-height:var(--leading-relaxed);max-width:65ch}.prose p+p{margin-top:var(--space-4)}::selection{background-color:var(--color-blue-400);color:var(--color-white)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
