:root{--background: 214 32% 7%;--foreground: 213 30% 93%;--card: 213 22% 11%;--card-foreground: 213 30% 93%;--primary: 187 85% 53%;--primary-foreground: 213 32% 8%;--secondary: 213 22% 11%;--secondary-foreground: 213 30% 93%;--muted: 213 18% 16%;--muted-foreground: 213 15% 72%;--accent: 187 92% 69%;--accent-foreground: 213 32% 8%;--destructive: 0 84% 60%;--border: 213 18% 22%;--input: 213 18% 22%;--ring: 187 85% 53%;--radius: .75rem;--radius-card: .75rem;--amber: 38 92% 56%;--teal: 187 92% 69%;--success: 160 60% 45%;--card-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 8px 32px rgba(0,0,0,.55);--card-shadow-hover: 0 0 0 1px rgba(255,255,255,.08), 0 12px 48px rgba(0,0,0,.65);--glow: 0 0 24px -4px hsla(187, 85%, 53%, .3);--bg: hsl(var(--background));--bg-soft: hsl(var(--secondary));--bg-elev: hsl(var(--card));--ink: hsl(var(--foreground));--ink-muted: hsl(var(--muted-foreground));--ink-faint: hsl(213 12% 50%);--accent-solid: hsl(var(--primary));--accent-deep: hsl(187 85% 43%);--accent-soft: hsl(187 40% 15%);--gold: hsl(var(--amber));--rule: hsl(var(--border));--rule-strong: hsl(213 18% 30%);--danger: hsl(var(--destructive));--selection: hsla(187, 85%, 53%, .25);--font-sans: "Manrope", "Noto Sans TC", "PingFang TC", -apple-system, system-ui, sans-serif;--font-serif: "Sora", "Noto Serif TC", Georgia, serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--fs-display: clamp(2rem, 4.5vw, 3.4rem);--fs-h1: clamp(1.7rem, 3vw, 2.4rem);--fs-h2: clamp(1.35rem, 2vw, 1.75rem);--fs-h3: clamp(1.1rem, 1.4vw, 1.3rem);--fs-lead: clamp(1.05rem, 1.3vw, 1.2rem);--fs-body: 1rem;--fs-small: .875rem;--fs-eyebrow: .72rem;--container: 1080px;--container-narrow: 720px;--container-wide: 1240px;--gutter: clamp(1.25rem, 4vw, 2.5rem);--section-gap: clamp(3rem, 6vw, 5rem);--section-gap-sm: clamp(2rem, 4vw, 3rem);--dur: .2s;--dur-lg: .4s;--ease: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--divider: linear-gradient(90deg, transparent 0%, hsl(var(--border)) 20%, hsl(var(--border)) 80%, transparent 100%);--shadow-card: var(--card-shadow);--shadow-glow: var(--glow);--shadow-lift: var(--card-shadow-hover);--radius-pill: 9999px;color-scheme:dark}.light{--background: 210 30% 98%;--foreground: 214 32% 10%;--card: 0 0% 100%;--card-foreground: 214 32% 10%;--primary: 187 85% 38%;--primary-foreground: 0 0% 100%;--secondary: 213 25% 95%;--secondary-foreground: 214 32% 10%;--muted: 213 25% 94%;--muted-foreground: 214 18% 36%;--accent: 187 85% 42%;--accent-foreground: 0 0% 100%;--destructive: 0 84% 50%;--border: 213 20% 88%;--input: 213 20% 88%;--ring: 187 85% 38%;--amber: 38 92% 43%;--teal: 187 85% 38%;--success: 160 60% 35%;--card-shadow: 0 1px 3px rgba(15,23,42,.06), 0 4px 16px rgba(15,23,42,.04);--card-shadow-hover: 0 4px 24px rgba(15,23,42,.08), 0 8px 32px rgba(15,23,42,.06);--glow: 0 0 24px -4px hsla(187, 85%, 38%, .2);--bg: hsl(var(--background));--bg-soft: hsl(var(--secondary));--bg-elev: hsl(var(--card));--ink: hsl(var(--foreground));--ink-muted: hsl(var(--muted-foreground));--ink-faint: hsl(214 15% 55%);--accent-solid: hsl(var(--primary));--accent-deep: hsl(187 85% 32%);--accent-soft: hsl(187 40% 92%);--gold: hsl(var(--amber));--rule: hsl(var(--border));--rule-strong: hsl(213 20% 80%);--danger: hsl(var(--destructive));--selection: hsla(187, 85%, 38%, .15);color-scheme:light}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;tab-size:4;scrollbar-width:thin;scrollbar-color:hsl(var(--border)) transparent;scroll-padding-top:80px}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-sans);font-size:16px;line-height:1.65;font-weight:400;background-color:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01";transition:background-color .25s ease-out,border-color .25s ease-out,color .15s ease}::selection{background:var(--selection)}img,picture,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}body:before{content:"";position:fixed;inset:0;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");pointer-events:none;z-index:0}.light body:before{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.3;letter-spacing:-.02em;color:hsl(var(--foreground));text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}p{text-wrap:pretty;line-height:1.7}a{color:hsl(var(--primary));text-decoration:none;transition:color .15s ease}a:hover{color:hsl(var(--accent))}strong{font-weight:600}.eyebrow{font-family:var(--font-sans);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:hsl(var(--primary))}.muted{color:hsl(var(--muted-foreground))}.faint{color:var(--ink-faint)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);position:relative;z-index:1}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.section{padding-block:var(--section-gap);position:relative;z-index:1}.section--tight{padding-block:var(--section-gap-sm)}.section-divider{height:1px;background:var(--divider);margin-block:var(--section-gap-sm)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(1.5rem,2.5vw,2rem);padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border));gap:1rem}.section-head__title{font-size:var(--fs-h2);font-weight:600;color:hsl(var(--foreground));margin-top:.3rem}.section-head__more{font-size:var(--fs-small);font-weight:500;color:hsl(var(--primary));white-space:nowrap}.section-head__more:hover{color:hsl(var(--accent))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.65rem 1.5rem;font-family:var(--font-sans);font-size:var(--fs-body);font-weight:600;letter-spacing:-.01em;border-radius:var(--radius);background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;cursor:pointer;transition:all .2s ease}.btn:hover{background:hsl(var(--accent));box-shadow:var(--glow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn-ghost{background:transparent;color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.btn-ghost:hover{background:hsl(var(--secondary));border-color:hsl(var(--muted-foreground));box-shadow:none}.btn--lg{padding:.85rem 2rem;font-size:var(--fs-lead)}.btn--sm{padding:.4rem 1rem;font-size:var(--fs-small)}.btn--block{width:100%}input,textarea,select{border:1px solid hsl(var(--input));border-radius:var(--radius);padding:.65rem .9rem;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .15)}label{color:hsl(var(--muted-foreground));font-size:var(--fs-small);font-weight:500}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.icon-inline{display:inline-flex;vertical-align:middle;flex-shrink:0}.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}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--card-shadow);transition:box-shadow .25s ease-out,transform .25s ease-out}.card:hover{box-shadow:var(--card-shadow-hover)}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(1.5rem,3vw,2rem)}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.filter-bar__item{padding:.4rem 1rem;border:1px solid var(--rule-strong);border-radius:var(--radius-pill);font-size:var(--fs-small);color:var(--ink-muted);transition:all var(--dur) var(--ease);display:inline-flex;align-items:center}.filter-bar__item:hover{border-color:var(--accent);color:var(--accent)}.filter-bar__item.is-active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.cta-gradient{background-image:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--accent) / .2))}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.prose{max-width:68ch;margin-inline:auto;font-size:1.0625rem;line-height:1.9;color:hsl(var(--foreground))}.prose h2{font-size:1.6rem;margin-top:2.5rem;margin-bottom:1rem;line-height:1.35}.prose h3{font-size:1.25rem;margin-top:2rem;margin-bottom:.8rem}.prose p{margin-bottom:1.3rem;text-wrap:pretty}.prose ul,.prose ol{margin-bottom:1.3rem;padding-left:1.5rem}.prose li{margin-bottom:.5rem;line-height:1.8}.prose blockquote{border-left:3px solid hsl(var(--primary));padding:.8rem 0 .8rem 1.5rem;margin:1.5rem 0;color:hsl(var(--muted-foreground));font-style:italic;background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--accent) / .05));border-radius:0 var(--radius) var(--radius) 0}.prose blockquote p{margin-bottom:0}.prose strong{color:hsl(var(--foreground));font-weight:600}.prose a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px}.prose a:hover{color:hsl(var(--accent))}.prose a.btn{color:hsl(var(--primary-foreground));text-decoration:none}.prose a.btn:hover{color:hsl(var(--primary-foreground))}.prose .lesson-box{position:relative;margin:2.5rem 0;padding:1.5rem 1.8rem 1.3rem;border-radius:var(--radius);border:1px solid hsl(var(--primary) / .25);background:transparent;box-shadow:0 4px 24px -8px #0006;overflow:hidden}.prose .lesson-box:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:hsl(var(--primary))}.prose .lesson-box__label{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.06em;color:hsl(var(--primary));background:hsl(var(--primary) / .12);padding:.2rem .7rem;border-radius:99px;margin-bottom:.8rem}.prose .lesson-box__icon{font-size:.85rem}.prose .lesson-box__label-text{text-transform:none}.prose .lesson-box__title{font-size:1.3rem;font-weight:600;margin-top:0;margin-bottom:.8rem;color:hsl(var(--foreground));line-height:1.4}.prose .lesson-box p{margin-bottom:.8rem;color:hsl(var(--foreground))}.prose .lesson-box p:last-child{margin-bottom:0}.prose .lesson-box h2{margin-top:0}.prose hr{border:none;border-top:1px solid hsl(var(--border));margin:2.5rem 0}.prose code{font-family:var(--font-mono);font-size:.9em;background:hsl(var(--muted));padding:.15em .35em;border-radius:4px}.article-cta{margin-top:3rem;padding:1.5rem 1.8rem;background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--accent) / .1));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.95rem;box-shadow:var(--card-shadow)}.article-cta a{font-weight:600;color:hsl(var(--primary))}.page-head{padding-block:clamp(2.5rem,5vw,3.5rem) 2rem;border-bottom:1px solid hsl(var(--border));background:linear-gradient(180deg,hsl(var(--secondary)),hsl(var(--background)))}.page-head__eyebrow{margin-bottom:.8rem}.page-head h1{font-size:var(--fs-display);margin-bottom:.5rem}.page-head__lead{font-size:var(--fs-lead);line-height:1.8;margin-top:.8rem;color:hsl(var(--muted-foreground))}.section-head{margin-bottom:clamp(2rem,3vw,2.5rem)}.section-head__title{font-size:var(--fs-h1);margin-top:.6rem}.section-head__lead{font-size:var(--fs-lead);line-height:1.8;margin-top:.8rem;max-width:56ch;color:hsl(var(--muted-foreground))}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:hsl(var(--card) / .8);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid hsl(var(--border))}.site-header__inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}.wordmark[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.5rem;text-decoration:none;flex-shrink:0}.wordmark__icon[data-astro-cid-3ef6ksr2]{width:32px;height:32px;flex-shrink:0}.wordmark__text[data-astro-cid-3ef6ksr2]{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:hsl(var(--foreground))}.site-nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:clamp(.6rem,1.4vw,1.5rem);flex:1;justify-content:center}.site-nav__link[data-astro-cid-3ef6ksr2]{position:relative;color:hsl(var(--muted-foreground));font-size:.85rem;font-weight:500;letter-spacing:.02em;white-space:nowrap;padding-block:.3rem;transition:color .15s ease}.site-nav__link[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:hsl(var(--primary));transform:scaleX(0);transform-origin:center;transition:transform var(--dur) var(--ease);border-radius:1px}.site-nav__link[data-astro-cid-3ef6ksr2]:hover,.site-nav__link[data-astro-cid-3ef6ksr2].is-active{color:var(--ink)}.site-nav__link[data-astro-cid-3ef6ksr2]:hover:after,.site-nav__link[data-astro-cid-3ef6ksr2].is-active:after{transform:scaleX(1)}.site-header__burger[data-astro-cid-3ef6ksr2]{display:none;padding:4px;color:hsl(var(--foreground))}.site-header__actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.site-header__subscribe[data-astro-cid-3ef6ksr2]{font-size:.8rem}.theme-toggle[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius);color:var(--ink-muted);border:1px solid var(--rule-strong);background:var(--bg-soft);transition:all var(--dur) var(--ease);cursor:pointer}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--accent);background:var(--bg-elev);border-color:var(--accent);box-shadow:var(--shadow-glow)}.theme-toggle[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle__icon--sun[data-astro-cid-3ef6ksr2]{display:none}.theme-toggle__icon--moon[data-astro-cid-3ef6ksr2],.light[data-astro-cid-3ef6ksr2] .theme-toggle__icon--sun[data-astro-cid-3ef6ksr2]{display:block}.light[data-astro-cid-3ef6ksr2] .theme-toggle__icon--moon[data-astro-cid-3ef6ksr2]{display:none}@media(max-width:768px){.site-header__burger[data-astro-cid-3ef6ksr2]{display:flex}.site-header__actions[data-astro-cid-3ef6ksr2]{gap:.4rem}.theme-toggle[data-astro-cid-3ef6ksr2]{width:34px;height:34px}.site-header__subscribe[data-astro-cid-3ef6ksr2]{font-size:.75rem;padding:.35rem .8rem}.site-nav[data-astro-cid-3ef6ksr2]{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:.3rem;background:var(--bg-elev);border-top:1px solid transparent;padding:0 1rem;max-height:0;overflow:hidden;transition:max-height .3s ease,border-color .3s ease,padding .3s ease}.site-nav[data-astro-cid-3ef6ksr2].is-open{max-height:400px;border-top-color:var(--rule);padding-block:.8rem}.site-nav__link[data-astro-cid-3ef6ksr2]{font-size:.9rem;padding-block:.5rem}.site-nav__link[data-astro-cid-3ef6ksr2]:after{display:none}}.site-footer[data-astro-cid-sz7xmlte]{margin-top:var(--section-gap);border-top:3px solid var(--ink);background:var(--bg-soft);padding-block:clamp(2.5rem,5vw,4rem) 2rem}.site-footer__grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(1.5rem,3vw,3rem);padding-bottom:2.5rem;border-bottom:1px solid var(--rule)}.site-footer__title[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:.5rem;font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:.6rem;color:var(--ink)}.site-footer__brand[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{max-width:34ch;line-height:1.7;font-size:var(--fs-small);margin-bottom:1rem}.site-footer__cta[data-astro-cid-sz7xmlte]{font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:.4rem}.site-footer__heading[data-astro-cid-sz7xmlte]{font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.8rem;display:flex;align-items:center;gap:.35rem}.site-footer__heading[data-astro-cid-sz7xmlte] .icon-inline[data-astro-cid-sz7xmlte]{color:hsl(var(--primary) / .7);display:inline-flex;text-transform:none}.site-footer__col[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:.45rem}.site-footer__col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--ink-muted);font-size:var(--fs-small)}.site-footer__col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.site-footer__base[data-astro-cid-sz7xmlte]{padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.site-footer__copy[data-astro-cid-sz7xmlte]{font-size:.75rem;color:var(--ink-faint)}@media(max-width:720px){.site-footer__grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr 1fr;gap:2rem}.site-footer__brand[data-astro-cid-sz7xmlte]{grid-column:1 / -1}}.skip-link[data-astro-cid-sckkx6r4]{position:absolute;left:0;top:0;transform:translateY(-120%);background:var(--ink);color:#fff;padding:.7rem 1.2rem;font-size:var(--fs-small);z-index:100;transition:transform var(--dur) var(--ease)}.skip-link[data-astro-cid-sckkx6r4]:focus{transform:translateY(0)}
