@font-face{font-family:Clash Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/clash-display-400.woff2) format("woff2")}@font-face{font-family:Clash Display;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/clash-display-500.woff2) format("woff2")}@font-face{font-family:Clash Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/clash-display-600.woff2) format("woff2")}@font-face{font-family:Clash Display;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/clash-display-700.woff2) format("woff2")}@font-face{font-family:Satoshi;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/satoshi-400.woff2) format("woff2")}@font-face{font-family:Satoshi;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/satoshi-500.woff2) format("woff2")}@font-face{font-family:Satoshi;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/satoshi-700.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/outfit-400.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/outfit-500.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/outfit-600.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/outfit-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600.woff2) format("woff2")}:root{--canvas: #FBFBFD;--paper: #FFFFFF;--surface-2: #F5F6FB;--ink-bg: #0E1330;--border: #E9EAF2;--border-2: #DCDEEC;--text: #141A33;--text-body: #474D67;--text-muted: #676D86;--accent: #4F46E5;--accent-2: #F5683D;--accent-soft: #EEEEFC;--accent-2-soft: #FFF1EB;--accent-2-ink: color-mix(in srgb, var(--accent-2), var(--text) 25%);--color-success: #157F54;--color-warning: #946700;--color-danger: #CC3B3B;--color-success-soft: #E6F5EE;--color-warning-soft: #FBF1DF;--color-danger-soft: #FBE9E9;--color-bg: var(--canvas);--color-surface: var(--paper);--color-text-primary: var(--text);--color-text-body: var(--text-body);--color-text-muted: var(--text-muted);--color-primary: var(--accent);--color-highlight: var(--accent-2);--color-border: var(--border)}.flaps-dark{--canvas: #0B0F24;--paper: #141A33;--surface-2: #1B2244;--border: #283155;--border-2: #323C66;--text: #EEF0F8;--text-body: #B6BCD4;--text-muted: #7E85A3}:root{--font-display: "Clash Display", "Noto Sans TC", sans-serif;--font-body: "Satoshi", "Noto Sans TC", sans-serif;--font-mono: "IBM Plex Mono", "Noto Sans TC", monospace;--font-wordmark: "Outfit", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--text-h1: 40px;--text-h2: 30px;--text-h3: 22px;--text-body-size: 16px;--text-small: 14px;--text-label: 12px;--lh-h1: 1.1;--ls-h1: -.02em;--lh-h2: 1.18;--ls-h2: -.015em;--lh-h3: 1.3;--lh-body: 1.6;--lh-small: 1.4}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px}:root{--shadow-sm: 0 1px 2px rgba(16,19,48,.04), 0 1px 3px rgba(16,19,48,.05);--shadow-md: 0 4px 12px rgba(16,19,48,.05), 0 12px 30px rgba(16,19,48,.07);--shadow-lg: 0 10px 26px rgba(16,19,48,.07), 0 28px 64px rgba(16,19,48,.1)}:root{--transition-base: .3s ease;--transition-slow: .6s cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--motion-sheen: 6.5s;--motion-hero-in: 1.1s;--motion-enter: .8s;--motion-count: 1.4s;--motion-glow: 8s;--motion-mesh: 18s}.flaps-sheen{font-family:var(--font-wordmark);background:linear-gradient(100deg,var(--text) 0%,var(--text) 38%,var(--accent) 50%,var(--accent-2) 60%,var(--accent) 70%,var(--text) 82%,var(--text) 100%);background-size:280% auto;background-position:0% center;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:flapsSheen var(--motion-sheen) ease-in-out infinite}@keyframes flapsSheen{0%,18%{background-position:0% center}50%{background-position:100% center}82%,to{background-position:0% center}}.flaps-hero-in{animation:flapsHeroIn var(--motion-hero-in) var(--ease-out) both}@keyframes flapsHeroIn{0%{opacity:0;filter:blur(14px);transform:scale(1.03)}to{opacity:1;filter:blur(0);transform:none}}.flaps-enter{opacity:0;transform:translateY(16px);animation:flapsEnter var(--motion-enter) var(--ease-out) forwards;animation-delay:var(--d, 0s)}@keyframes flapsEnter{to{opacity:1;transform:none}}.flaps-mesh{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(42% 52% at 24% 30%,rgba(79,70,229,.11),transparent 70%),radial-gradient(36% 46% at 80% 32%,rgba(245,104,61,.07),transparent 70%);animation:flapsMesh var(--motion-mesh) ease-in-out infinite alternate}@keyframes flapsMesh{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,-16px,0) scale(1.06)}}.flaps-glow{position:relative}.flaps-glow:after{content:"";position:absolute;inset:0;padding:1.5px;border-radius:inherit;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;pointer-events:none;animation:flapsGlow var(--motion-glow) linear infinite;animation-delay:var(--glow-delay, 0s)}@keyframes flapsGlow{0%,to{opacity:0}3%{opacity:1}20%{opacity:1}25%{opacity:0}}[class*=enter-]{animation-fill-mode:both;animation-duration:var(--motion-enter);animation-timing-function:var(--ease-out);animation-delay:var(--delay, 0s)}@keyframes fadeUp{0%{opacity:0;transform:translateY(clamp(16px,3vh,32px))}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideLeft{0%{opacity:0;transform:translate(clamp(24px,5vw,60px))}to{opacity:1;transform:none}}@keyframes slideRight{0%{opacity:0;transform:translate(clamp(-24px,-5vw,-60px))}to{opacity:1;transform:none}}@keyframes blurIn{0%{opacity:0;filter:blur(clamp(6px,1.2vw,16px));transform:scale(1.02)}to{opacity:1;filter:blur(0);transform:scale(1)}}.enter-fade-up{animation-name:fadeUp}.enter-scale-in{animation-name:scaleIn}.enter-slide-left{animation-name:slideLeft}.enter-slide-right{animation-name:slideRight}.enter-blur-in{animation-name:blurIn}.aurora-flow{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse 65% 50% at 50% -5%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 62%)}.grid-overlay{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(20,26,51,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(20,26,51,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 72% at 50% 45%,#000 18%,transparent 92%);mask-image:radial-gradient(ellipse 80% 72% at 50% 45%,#000 18%,transparent 92%)}.reveal{opacity:0}.reveal.is-in{animation-fill-mode:both;animation-duration:var(--motion-enter);animation-timing-function:var(--ease-out);animation-delay:var(--delay, 0s)}.reveal.is-in.enter-fade-up{animation-name:fadeUp}.reveal.is-in.enter-scale-in{animation-name:scaleIn}.reveal.is-in.enter-slide-left{animation-name:slideLeft}.reveal.is-in.enter-slide-right{animation-name:slideRight}.platforms.reveal{opacity:1}.platforms.reveal .plat{transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.platforms.reveal:not(.is-in) .plat{opacity:0;transform:translateY(8px) scale(.96)}.platforms.reveal.is-in .plat:nth-child(1){transition-delay:0s}.platforms.reveal.is-in .plat:nth-child(2){transition-delay:.06s}.platforms.reveal.is-in .plat:nth-child(3){transition-delay:.12s}.platforms.reveal.is-in .plat:nth-child(4){transition-delay:.18s}.platforms.reveal.is-in .plat:nth-child(5){transition-delay:.24s}.platforms.reveal.is-in .plat:nth-child(6){transition-delay:.3s}.platforms.reveal.is-in .plat:nth-child(7){transition-delay:.36s}.platforms.reveal.is-in .plat:nth-child(8){transition-delay:.42s}.platforms.reveal.is-in .plat:nth-child(9){transition-delay:.48s}.platforms.reveal.is-in .plat:nth-child(n+10){transition-delay:.54s}.lift-wipe{position:relative}.lift-wipe:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:3;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-base, .3s) var(--ease-out, ease)}.lift-wipe:hover:before{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){.flaps-sheen{animation:none;background:linear-gradient(115deg,var(--text) 40%,var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.flaps-hero-in,.flaps-enter,[class*=enter-]{animation:none;opacity:1;transform:none;filter:none}.flaps-mesh{animation:none}.flaps-glow:after{animation:none;opacity:0}.reveal{opacity:1!important}.reveal.is-in{animation:none!important}.platforms.reveal .plat{transition:none;opacity:1!important;transform:none!important}.lift-wipe:before{transition:none}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-body-size);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{color:var(--text);font-family:var(--font-display)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--paper);color:var(--text);padding:.6em 1em;border:1px solid var(--border-2);border-radius:var(--radius-sm)}.skip-link:focus{left:var(--space-4);top:var(--space-4)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site-footer[data-astro-cid-gcn2mc3v]{padding:var(--space-7) clamp(1.5rem,6vw,5rem) var(--space-6);border-top:1px solid var(--border);background:var(--paper)}.foot-cols[data-astro-cid-gcn2mc3v]{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto 2rem}.foot-cols[data-astro-cid-gcn2mc3v] h4[data-astro-cid-gcn2mc3v]{font-size:var(--text-small);color:var(--text);margin:0 0 .8em;font-family:var(--font-body)}.foot-cols[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{display:block;font-size:var(--text-small);color:var(--text-body);padding:.25em 0}.foot-cols[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--accent);text-decoration:none}.site-footer[data-astro-cid-gcn2mc3v] .muted[data-astro-cid-gcn2mc3v]{text-align:center;color:var(--text-muted);font-size:var(--text-label);margin:0}.foot-brand[data-astro-cid-gcn2mc3v] .muted[data-astro-cid-gcn2mc3v]{text-align:left}@media(max-width:900px){.foot-cols[data-astro-cid-gcn2mc3v]{grid-template-columns:1fr 1fr}}@media(max-width:560px){.foot-cols[data-astro-cid-gcn2mc3v]{grid-template-columns:1fr}}
