.site-footer[data-astro-cid-sz7xmlte]{position:relative;margin-top:var(--space-7);background:var(--ink);color:var(--surface)}.site-footer[data-astro-cid-sz7xmlte]:before,.footer-legal[data-astro-cid-sz7xmlte]:before{position:absolute;height:var(--space-1);background:var(--surface);content:"";opacity:.18;pointer-events:none;transform:scaleY(.25)}.site-footer[data-astro-cid-sz7xmlte]:before{inset:0 0 auto;transform-origin:top}.footer-main[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);padding-block:var(--space-5)}.footer-name[data-astro-cid-sz7xmlte]{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:650}.footer-en[data-astro-cid-sz7xmlte],.footer-tax[data-astro-cid-sz7xmlte],.footer-legal[data-astro-cid-sz7xmlte]{color:var(--rule);font-size:var(--text-xs)}.footer-en[data-astro-cid-sz7xmlte]{margin-top:var(--space-1);font-family:var(--font-sans);font-weight:600;letter-spacing:var(--tracking-label)}.footer-tax[data-astro-cid-sz7xmlte]{margin-top:var(--space-3)}.footer-contact[data-astro-cid-sz7xmlte]{display:grid;gap:var(--space-2)}.footer-contact[data-astro-cid-sz7xmlte] div[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:var(--space-8) 1fr;gap:var(--space-3)}.footer-contact[data-astro-cid-sz7xmlte] dt[data-astro-cid-sz7xmlte]{color:var(--rule);font-size:var(--text-sm)}.footer-contact[data-astro-cid-sz7xmlte] dd[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-sm)}.footer-contact[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--surface)}.footer-legal[data-astro-cid-sz7xmlte]{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2) var(--space-4);padding-block:var(--space-3)}.footer-legal[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--rule)}.footer-legal[data-astro-cid-sz7xmlte]:before{inset:0 0 auto;transform-origin:top}@media(max-width:48rem){.footer-main[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:var(--space-5);padding-block:var(--space-5)}}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:var(--border)}.header-inner[data-astro-cid-3ef6ksr2]{min-height:var(--space-8);display:flex;align-items:stretch;gap:var(--space-5)}.brand[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;justify-content:center;color:var(--ink);text-decoration:none;line-height:var(--leading-tight);white-space:nowrap}.brand-name[data-astro-cid-3ef6ksr2]{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:650;letter-spacing:var(--tracking-body)}.brand-en[data-astro-cid-3ef6ksr2]{color:var(--ink-muted);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-label)}.desktop-nav[data-astro-cid-3ef6ksr2]{margin-left:auto;display:flex;align-items:stretch}.desktop-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{position:relative;display:flex;align-items:center;padding-inline:var(--space-3);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;text-decoration:none}.desktop-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;right:var(--space-3);bottom:0;left:var(--space-3);height:var(--space-1);background:transparent;transition:background-color var(--transition)}.desktop-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover:after,.desktop-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]:after{background:var(--copper)}.header-call[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-inline:var(--space-4);background:var(--copper);color:var(--paper);text-decoration:none;line-height:var(--leading-tight);transition:background-color var(--transition)}.header-call[data-astro-cid-3ef6ksr2]:hover{background:var(--copper-dim)}.call-label[data-astro-cid-3ef6ksr2]{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600}.header-call[data-astro-cid-3ef6ksr2] .code[data-astro-cid-3ef6ksr2]{font-size:var(--text-sm);font-weight:600}.mobile-menu[data-astro-cid-3ef6ksr2]{display:none}@media(max-width:48rem){.header-inner[data-astro-cid-3ef6ksr2]{position:relative;min-height:var(--space-8);gap:var(--space-2)}.brand-en[data-astro-cid-3ef6ksr2],.call-label[data-astro-cid-3ef6ksr2],.desktop-nav[data-astro-cid-3ef6ksr2]{display:none}.brand-name[data-astro-cid-3ef6ksr2]{font-size:var(--text-base)}.header-call[data-astro-cid-3ef6ksr2]{margin-left:auto;padding-inline:var(--space-3)}.header-call[data-astro-cid-3ef6ksr2] .code[data-astro-cid-3ef6ksr2]{font-size:var(--text-xs)}.mobile-menu[data-astro-cid-3ef6ksr2]{display:flex;align-items:stretch}.mobile-menu[data-astro-cid-3ef6ksr2] summary[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;padding-inline:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;cursor:pointer;list-style:none}.mobile-menu[data-astro-cid-3ef6ksr2] summary[data-astro-cid-3ef6ksr2]::-webkit-details-marker{display:none}.mobile-menu[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2]{position:absolute;top:100%;right:var(--space-4);left:var(--space-4);display:grid;background:var(--paper);border:var(--border);border-top:none}.mobile-menu[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:var(--space-3) var(--space-4);border-bottom:var(--border);color:var(--ink);font-family:var(--font-sans);font-weight:600;text-decoration:none}.mobile-menu[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:last-child{border-bottom:none}.mobile-menu[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--copper);border-left:var(--space-1) solid var(--copper)}}@font-face{font-family:Noto Sans TC;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-tc-400.woff2) format("woff2")}@font-face{font-family:Noto Sans TC;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-tc-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");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #1A1D1F;--ink-muted: #5C6360;--surface: #F1F3F0;--paper: #FFFFFF;--paper-alt: #FAFBF9;--rule: #C9CEC8;--copper: #A85A2B;--copper-dim: #8A4A23;--brass: #A8862F;--patina: #3F6B5A;--series-red-copper: #A85A2B;--series-tan-copper: #B0703A;--series-brass: #A8862F;--series-phosphor: #8A7339;--series-nickel-silver: #8C9296;--series-leadframe: #6E6A62;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", "Consolas", monospace;--font-sans: "IBM Plex Sans", "Noto Sans TC", system-ui, sans-serif;--font-tc: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);--text-2xl: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem);--text-3xl: clamp(2.25rem, 1.4rem + 4vw, 4rem);--leading-tight: 1.3;--leading-body: 1.75;--leading-latin: 1.6;--tracking-body: .01em;--tracking-code: .06em;--tracking-label: .14em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--container: 1600px;--container-wide: 1440px;--container-text: 68ch;--radius: 2px;--border: 1px solid var(--rule);--transition: .15s ease-out}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--space-8)}body{background:var(--surface);color:var(--ink);font-family:var(--font-tc);font-size:var(--text-base);line-height:var(--leading-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;display:flex;flex-direction:column}main{flex:1}img,picture,svg,video{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-sans);line-height:var(--leading-tight);text-wrap:balance;font-weight:650;letter-spacing:-.01em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{max-width:var(--container-text)}a{color:var(--copper);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;transition:text-decoration-thickness var(--transition)}a:hover{text-decoration-thickness:2px}.code{font-family:var(--font-mono);letter-spacing:var(--tracking-code);font-variant-numeric:tabular-nums}.label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-4)}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;background:var(--paper);border:var(--border);font-size:var(--text-sm)}caption{text-align:left;padding-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:var(--border);vertical-align:top}thead th{background:var(--paper-alt);font-weight:620;font-size:var(--text-xs);color:var(--ink-muted);white-space:nowrap}tbody tr:last-child td,tbody tr:last-child th{border-bottom:none}tbody tr:hover{background:var(--paper-alt)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius);border:1px solid transparent;font-family:var(--font-sans);font-weight:600;text-decoration:none;cursor:pointer;transition:background-color var(--transition),border-color var(--transition)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--ink-muted)}.btn-secondary{background:transparent;color:var(--ink);border-color:var(--rule)}.btn-secondary:hover{border-color:var(--ink-muted)}.card{background:var(--paper);border:var(--border);border-radius:var(--radius)}.rohs{display:inline-block;padding:2px var(--space-2);border:1px solid var(--patina);border-radius:var(--radius);color:var(--patina);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;white-space:nowrap}:focus-visible{outline:2px solid var(--copper);outline-offset:2px}.skip-link{position:absolute;left:var(--space-4);top:calc(-1 * var(--space-10));z-index:100;padding:var(--space-3) var(--space-4);background:var(--copper);color:var(--paper);text-decoration:none;border-radius:var(--radius);transition:top var(--transition)}.skip-link:focus{top:var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
