.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.icon-button[data-astro-cid-zs7jgplt]{width:44px;height:44px;border:0;border-radius:.8rem;display:grid;place-items:center;background:transparent;cursor:pointer}.icon-button[data-astro-cid-zs7jgplt]:hover{color:var(--accent);background:var(--accent-soft)}svg[data-astro-cid-zs7jgplt]{grid-area:1/1;width:20px}[data-theme=dark] .sun[data-astro-cid-zs7jgplt]{display:none}:not([data-theme=dark]) .moon[data-astro-cid-zs7jgplt]{display:none}.language[data-astro-cid-zowwadqo]{position:relative}.language[data-astro-cid-zowwadqo] summary[data-astro-cid-zowwadqo]{list-style:none;width:44px;min-height:44px;display:grid;place-items:center;border-radius:.8rem;cursor:pointer;font-size:.67rem}.language[data-astro-cid-zowwadqo] summary[data-astro-cid-zowwadqo]::-webkit-details-marker{display:none}.language[data-astro-cid-zowwadqo] summary[data-astro-cid-zowwadqo]:hover{background:var(--accent-soft);color:var(--accent)}.language[data-astro-cid-zowwadqo] summary[data-astro-cid-zowwadqo] svg{width:19px;height:19px}.language[data-astro-cid-zowwadqo] div[data-astro-cid-zowwadqo]{position:absolute;left:calc(100% + .6rem);bottom:0;display:flex;gap:.25rem;padding:.35rem;background:var(--surface-solid);border:1px solid var(--border);border-radius:.7rem;box-shadow:var(--shadow-card)}.language[data-astro-cid-zowwadqo] a[data-astro-cid-zowwadqo]{padding:.4rem .5rem;border-radius:.45rem;text-decoration:none}.language[data-astro-cid-zowwadqo] a[data-astro-cid-zowwadqo][aria-current]{color:var(--accent);background:var(--accent-soft)}.rail[data-astro-cid-udjmee6z]{position:fixed;inset:0 auto 0 0;z-index:80;width:var(--rail-width);display:flex;flex-direction:column;align-items:center;padding:.75rem .55rem;background:var(--surface);backdrop-filter:blur(18px);border-right:1px solid var(--border)}.mark[data-astro-cid-udjmee6z]{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--text);color:var(--bg);text-decoration:none;font:700 .85rem var(--font-mono)}nav[data-astro-cid-udjmee6z],.utilities[data-astro-cid-udjmee6z]{display:flex;flex-direction:column;align-items:center;gap:.2rem}.rail[data-astro-cid-udjmee6z] nav[data-astro-cid-udjmee6z]{margin:auto 0}.rail[data-astro-cid-udjmee6z] a[data-astro-cid-udjmee6z]:not(.mark),.rail[data-astro-cid-udjmee6z] button[data-astro-cid-udjmee6z]{position:relative;width:44px;height:44px;border:0;border-radius:.8rem;display:grid;place-items:center;background:transparent;color:var(--muted);cursor:pointer}.rail[data-astro-cid-udjmee6z] a[data-astro-cid-udjmee6z]:hover,.rail[data-astro-cid-udjmee6z] button[data-astro-cid-udjmee6z]:hover,.rail[data-astro-cid-udjmee6z] .active[data-astro-cid-udjmee6z]{background:var(--accent-soft);color:var(--accent)}.rail[data-astro-cid-udjmee6z] .active[data-astro-cid-udjmee6z]:before{content:"";position:absolute;left:-.58rem;width:3px;height:20px;border-radius:3px;background:var(--accent)}.rail[data-astro-cid-udjmee6z] svg{width:20px;height:20px}[data-astro-cid-udjmee6z][data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + .75rem);padding:.35rem .55rem;border-radius:.45rem;background:var(--text);color:var(--bg);font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-4px);transition:all .15s}[data-astro-cid-udjmee6z][data-tip]:hover:after,[data-astro-cid-udjmee6z][data-tip]:focus-visible:after{opacity:1;transform:none}@media(max-width:850px){.rail[data-astro-cid-udjmee6z]{display:none}}.mobile-menu[data-astro-cid-qrk4tc6u]{display:none;position:fixed;z-index:78;top:1rem;left:1rem;width:46px;height:46px;border:1px solid var(--border);border-radius:.9rem;background:var(--surface);backdrop-filter:blur(18px);box-shadow:var(--shadow-card)}@media(max-width:850px){.mobile-menu[data-astro-cid-qrk4tc6u]{display:grid;place-items:center}}.drawer-shell[data-astro-cid-zocxrjo5]{position:fixed;inset:0;z-index:100}.drawer-shell[data-astro-cid-zocxrjo5][hidden]{display:none}.backdrop[data-astro-cid-zocxrjo5]{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--overlay)}.drawer[data-astro-cid-zocxrjo5]{position:relative;width:min(86vw,340px);height:100%;padding:1rem;background:var(--surface-solid);box-shadow:var(--shadow)}header[data-astro-cid-zocxrjo5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}header[data-astro-cid-zocxrjo5] button[data-astro-cid-zocxrjo5]{width:44px;height:44px;border:0;background:transparent}nav[data-astro-cid-zocxrjo5]{display:grid;gap:.25rem}nav[data-astro-cid-zocxrjo5] a[data-astro-cid-zocxrjo5],.drawer-actions[data-astro-cid-zocxrjo5]>button[data-astro-cid-zocxrjo5]{display:flex;align-items:center;gap:.8rem;min-height:48px;padding:.65rem .75rem;border:0;border-radius:.7rem;background:transparent;text-decoration:none}.drawer-actions[data-astro-cid-zocxrjo5]{display:flex;gap:.4rem;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.drawer-actions[data-astro-cid-zocxrjo5]>button[data-astro-cid-zocxrjo5]{flex:1}.socials[data-astro-cid-zocxrjo5]{display:flex;gap:.5rem;margin-top:1rem}.socials[data-astro-cid-zocxrjo5] a[data-astro-cid-zocxrjo5]{display:grid;place-items:center;width:44px;height:44px;border-radius:.7rem;background:var(--surface-muted)}svg{width:20px}.palette-shell[data-astro-cid-nvcfrrok]{position:fixed;inset:0;z-index:120;display:grid;place-items:start center;padding-top:10vh}.palette-shell[data-astro-cid-nvcfrrok][hidden]{display:none}.palette-backdrop[data-astro-cid-nvcfrrok]{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--overlay)}.palette[data-astro-cid-nvcfrrok]{position:relative;width:min(92vw,680px);max-height:76vh;overflow:auto;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:var(--shadow)}header[data-astro-cid-nvcfrrok]{display:flex;gap:.75rem;align-items:center}h2[data-astro-cid-nvcfrrok]{margin:0;flex:1;font-size:1rem}header[data-astro-cid-nvcfrrok] button[data-astro-cid-nvcfrrok]{width:44px;height:44px;border:0;background:transparent}.search-input[data-astro-cid-nvcfrrok]{width:100%;margin:.75rem 0}.results[data-astro-cid-nvcfrrok]{display:grid;gap:.4rem}.results[data-astro-cid-nvcfrrok] a{display:grid;padding:.8rem;border-radius:.7rem;text-decoration:none;background:var(--surface-muted)}.results[data-astro-cid-nvcfrrok] span{color:var(--muted);font-size:.9rem}.footer-links[data-astro-cid-sz7xmlte]{display:flex;gap:.75rem}:root{--font-sans: "Chiron Hei HK", "Noto Sans TC", ui-sans-serif, system-ui, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:5rem;--radius-sm:.55rem;--radius-md:.9rem;--radius-lg:1.35rem;--radius-pill:999px;--rail-width:76px;--content-wide:clamp(18rem, 83vw, 86rem);--content-reading:min(100%, 76ch);--motion-fast:.16s;--motion-page:.3s}:root{color-scheme:light;--bg:#f2f4f7;--surface:rgba(255,255,255,.88);--surface-solid:#fff;--surface-muted:#f7f9fc;--text:#142033;--muted:#617086;--border:rgba(20,32,51,.11);--accent:#2457d6;--accent-strong:#173f9f;--accent-soft:rgba(36,87,214,.09);--focus:rgba(36,87,214,.32);--shadow:0 18px 55px rgba(27,39,63,.09);--shadow-card:0 10px 28px rgba(27,39,63,.07);--overlay:rgba(15,23,42,.58)}:root[data-theme=dark]{color-scheme:dark;--bg:#0d1320;--surface:rgba(20,29,46,.88);--surface-solid:#141d2e;--surface-muted:#19243a;--text:#edf3ff;--muted:#aab7cb;--border:rgba(198,214,240,.14);--accent:#79a6ff;--accent-strong:#a9c5ff;--accent-soft:rgba(121,166,255,.12);--focus:rgba(121,166,255,.34);--shadow:0 20px 60px rgba(0,0,0,.3);--shadow-card:0 12px 32px rgba(0,0,0,.23);--overlay:rgba(2,6,14,.82)}@font-face{font-family:Chiron Hei HK;src:url(/fonts/chiron-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Chiron Hei HK;src:url(/fonts/chiron-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Chiron Hei HK;src:url(/fonts/chiron-700.woff2) format("woff2");font-weight:700;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:400 1rem/1.68 var(--font-sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit}button,input,select{font:inherit}button{color:inherit}.site-main{min-height:calc(100vh - 8rem);padding:var(--space-7) var(--space-5) var(--space-8);margin-left:var(--rail-width)}.wide{width:var(--content-wide);max-width:100%;margin-inline:auto}.reading{width:var(--content-reading);max-width:100%;margin-inline:auto}.eyebrow{color:var(--accent);font:700 .76rem/1.3 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.page-header{padding:clamp(2rem,6vw,5rem) 0 2.5rem}.page-header h1,.hero h1{margin:.45rem 0 1rem;font-size:clamp(2.65rem,7vw,6.6rem);line-height:.95;letter-spacing:-.065em}.page-header h1{font-size:clamp(2.3rem,5vw,4.8rem)}.lede{max-width:68ch;color:var(--muted);font-size:clamp(1.02rem,1.6vw,1.24rem)}.section{padding:var(--space-7) 0}.section h2{font-size:clamp(1.55rem,3vw,2.45rem);letter-spacing:-.04em}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--space-5)}.card{display:block;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);text-decoration:none;transition:transform var(--motion-fast),border-color var(--motion-fast),background var(--motion-fast)}.card[href]:hover{transform:translateY(-2px);border-color:var(--accent)}.card.featured{background:linear-gradient(145deg,var(--accent-soft),var(--surface));border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.card.featured:hover{transform:translateY(-4px) scale(1.008)}.card h2,.card h3{margin:.4rem 0 .6rem;line-height:1.25;letter-spacing:-.025em}.card p{margin:0;color:var(--muted)}.badge,.chip{display:inline-flex;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--radius-pill);padding:.25rem .65rem;background:var(--accent-soft);color:var(--accent);font-size:.78rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.button{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.72rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-solid);text-decoration:none;font-weight:600;transition:transform var(--motion-fast),background var(--motion-fast)}.button:hover{transform:translateY(-2px);background:var(--accent-soft)}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.actions{display:flex;flex-wrap:wrap;gap:.75rem}.prose h2{margin-top:2.5rem}.prose p,.prose li{color:var(--muted)}.breadcrumbs{display:flex;gap:.5rem;align-items:center;color:var(--muted);font-size:.9rem}.timeline{display:grid;gap:1rem;border-left:1px solid var(--border);padding-left:1.5rem}.timeline article{position:relative}.timeline article:before{content:"";position:absolute;left:-1.82rem;top:.65rem;width:.6rem;height:.6rem;border-radius:50%;background:var(--accent)}.filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.filters select,.search-input{min-height:44px;padding:.65rem .8rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-solid);color:var(--text)}.empty{padding:2rem;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--muted)}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:200;background:var(--accent);color:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 5px var(--focus)}footer{margin-left:var(--rail-width);padding:2rem var(--space-5);border-top:1px solid var(--border);color:var(--muted)}footer .wide{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.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(max-width:850px){.site-main,footer{margin-left:0}.site-main{padding:5.5rem 1rem 4rem}.page-header{padding-top:1rem}.page-header h1,.hero h1{letter-spacing:-.045em}.wide{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
