@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700;900&family=Space+Grotesk:wght@400;500;700&family=JetBrains+Mono:wght@400;700&display=swap";:root{--bg:#07080f;--bg-soft:#0c0e1a;--surface:#ffffff0a;--surface-hover:#ffffff14;--border:#ffffff17;--text:#eef0fa;--text-dim:#9aa1bd;--text-faint:#5d6480;--lime:#c8f549;--violet:#8b7bff;--cyan:#4fd8e8;--amber:#ffb75d;--rose:#ff7a9c;--grad:linear-gradient(100deg, var(--lime) 0%, var(--cyan) 55%, var(--violet) 100%);--font-display:"Noto Sans TC", "Space Grotesk", sans-serif;--font-body:"Noto Sans TC", sans-serif;--font-mono:"JetBrains Mono", monospace;--maxw:1160px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.75;overflow-x:hidden}::selection{background:var(--lime);color:#07080f}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.bg-grid{z-index:-2;pointer-events:none;background-image:linear-gradient(#ffffff07 1px,#0000 1px),linear-gradient(90deg,#ffffff07 1px,#0000 1px);background-size:56px 56px;position:fixed;inset:0;mask-image:radial-gradient(90% 70% at 50% 0,#000 30%,#0000 80%)}.bg-glow{z-index:-1;pointer-events:none;filter:blur(140px);opacity:.16;border-radius:50%;width:720px;height:720px;position:fixed}.bg-glow.one{background:var(--violet);top:-280px;left:-160px}.bg-glow.two{background:var(--cyan);opacity:.1;top:12%;right:-280px}.kicker{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--lime);align-items:center;gap:10px;font-size:12px;display:inline-flex}.kicker:before{content:"";background:var(--lime);width:28px;height:1px}.grad-text{background:var(--grad);-webkit-text-fill-color:transparent;color:#0000;background-clip:text}.btn{cursor:pointer;border:none;border-radius:999px;align-items:center;gap:10px;padding:14px 30px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn-primary{background:var(--lime);color:#0a0c07;box-shadow:0 0 #c8f54900}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 36px #c8f54959}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-hover);border-color:#ffffff40}.card{background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(12px);border-radius:20px;transition:transform .25s,border-color .25s,background .25s}.card:hover{background:var(--surface-hover);border-color:#ffffff38;transform:translateY(-4px)}section.block{padding:96px 0}.section-head{margin-bottom:52px}.section-head h2{font-family:var(--font-display);letter-spacing:.01em;margin-top:14px;font-size:clamp(30px,4.4vw,46px);font-weight:900;line-height:1.25}.section-head p.lead{color:var(--text-dim);max-width:640px;margin-top:16px;font-size:17px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(26px)}.reveal.in{opacity:1;transform:none}.prose{color:#ccd1e4;font-size:17px}.prose h2{font-family:var(--font-display);color:var(--text);border-top:1px solid var(--border);margin:52px 0 18px;padding-top:26px;font-size:26px;font-weight:900;line-height:1.4}.prose h2:before{content:"§";font-family:var(--font-mono);color:var(--lime);margin-right:12px;font-weight:400}.prose h3{font-family:var(--font-display);color:var(--text);margin:34px 0 12px;font-size:20px;font-weight:700}.prose p{margin:18px 0}.prose strong{color:var(--text)}.prose ul,.prose ol{margin:18px 0;padding-left:26px}.prose li{margin:10px 0}.prose li::marker{color:var(--lime)}.prose blockquote{border-left:3px solid var(--lime);background:var(--surface);color:var(--text);border-radius:0 14px 14px 0;margin:26px 0;padding:18px 24px;font-weight:500}.prose blockquote p{margin:0}.prose code{font-family:var(--font-mono);color:var(--lime);background:#c8f5491a;border-radius:6px;padding:2px 8px;font-size:.88em}.prose pre{border:1px solid var(--border);border-radius:14px;margin:24px 0;padding:22px;overflow-x:auto;background:#0a0c16!important}.prose pre code{color:inherit;background:0 0;padding:0}.prose a{color:var(--cyan);border-bottom:1px dashed #4fd8e880}.prose a:hover{border-bottom-style:solid}.prose table{border-collapse:collapse;width:100%;margin:24px 0}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:10px 14px}.prose th{background:var(--surface);color:var(--text)}@media (width<=720px){section.block{padding:64px 0}}.nav[data-astro-cid-hkbrpulz]{z-index:50;backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#07080fb8;position:sticky;top:0}.nav-inner[data-astro-cid-hkbrpulz]{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.logo[data-astro-cid-hkbrpulz]{align-items:center;gap:10px;display:inline-flex}.logo-mark[data-astro-cid-hkbrpulz]{background:var(--grad);width:34px;height:34px;font-family:var(--font-mono);color:#07080f;border-radius:10px;place-items:center;font-size:18px;font-weight:700;display:grid}.logo-text[data-astro-cid-hkbrpulz]{font-family:var(--font-display);letter-spacing:.02em;font-size:19px;font-weight:900}.logo-dot[data-astro-cid-hkbrpulz]{color:var(--lime);font-weight:700}.nav-links[data-astro-cid-hkbrpulz]{gap:30px;font-size:15px;display:flex}.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--text-dim);transition:color .2s;position:relative}.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover,.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz].active{color:var(--text)}.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz].active:after{content:"";background:var(--lime);border-radius:2px;height:2px;position:absolute;bottom:-6px;left:0;right:0}.nav-cta[data-astro-cid-hkbrpulz]{padding:10px 22px;font-size:14px}.footer[data-astro-cid-hkbrpulz]{border-top:1px solid var(--border);background:var(--bg-soft);margin-top:40px}.footer-inner[data-astro-cid-hkbrpulz]{flex-wrap:wrap;justify-content:space-between;gap:48px;padding:56px 24px;display:flex}.footer-brand[data-astro-cid-hkbrpulz] p[data-astro-cid-hkbrpulz]{color:var(--text-dim);max-width:340px;margin-top:18px;font-size:15px}.footer-links[data-astro-cid-hkbrpulz]{gap:72px;display:flex}.footer-links[data-astro-cid-hkbrpulz] h4[data-astro-cid-hkbrpulz]{color:var(--text);letter-spacing:.08em;margin-bottom:16px;font-size:14px}.footer-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--text-dim);margin-bottom:10px;font-size:14px;transition:color .2s;display:block}.footer-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--lime)}.footer-bottom[data-astro-cid-hkbrpulz]{border-top:1px solid var(--border);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:22px;padding-bottom:26px;font-size:13px;display:flex}.mono[data-astro-cid-hkbrpulz]{font-family:var(--font-mono);font-size:12px}@media (width<=820px){.nav-links[data-astro-cid-hkbrpulz]{display:none}}@media (width<=520px){.nav-cta[data-astro-cid-hkbrpulz]{display:none}}
