:root{--stage: var(--cin-stage, #050607);--bone: var(--cin-bone, #f2ede4);--mist: var(--cin-mist, #b8bec5);--label: var(--cin-label, #9aa2ab);--red: var(--cin-red, #e5484d);--red-text: var(--cin-red-text, #f0666b);--blue: var(--cin-blue, #4f9cf9);--blue-text: var(--cin-blue-text, #79b2fb);--gold: var(--cin-gold, #e8c66a);--silver: var(--cin-silver, #b8c0c8);--diamond: var(--cin-diamond, #9bd8e9);--ember: var(--cin-ember, #ff8a3d);--accent: var(--cin-red-text, #f0666b)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--stage);color:var(--bone);font-family:var(--font-mono, "Maple Mono", "Maple Mono NF CN", "Noto Sans TC", monospace);line-height:1.7}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:fixed;top:10px;left:10px;z-index:200;background:var(--bone);color:var(--stage);text-decoration:none;font-family:var(--font-mono, "Maple Mono", "Maple Mono NF CN", "Noto Sans TC", monospace);font-size:12px;letter-spacing:.08em;padding:10px 16px;border-radius:6px;transform:translateY(-64px);transition:transform .2s}.skip-link:focus{transform:translateY(0)}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60vw 40vh at 12% -5%,rgba(229,72,77,.14),transparent 60%),radial-gradient(60vw 40vh at 92% 0%,rgba(79,156,249,.12),transparent 60%),repeating-radial-gradient(circle at 78% 30%,transparent 0 46px,rgba(242,237,228,.028) 46px 47px)}header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 34px;background:linear-gradient(180deg,#050607eb,#050607bf 70%,#05060700)}.wordmark{padding:8px 14px;margin-left:-14px;border-radius:999px;transition:background-color .25s;display:flex;align-items:center;gap:10px;color:var(--bone);text-decoration:none;font-family:var(--font-mono, "Maple Mono", "Maple Mono NF CN", "Noto Sans TC", monospace);font-weight:700;font-size:17px;letter-spacing:.12em}.wordmark:hover,.wordmark:focus-visible{background:#ffffff12}.wordmark:active{transform:scale(.985)}@media(prefers-reduced-motion:reduce){.wordmark:active{transform:none}}.wm-sub{font-family:var(--font-mono, "Maple Mono", "Maple Mono NF CN", "Noto Sans TC", monospace);font-size:11px;letter-spacing:.14em;color:var(--mist);padding-left:10px;border-left:1px solid rgba(255,255,255,.18);white-space:nowrap}.back{font-family:var(--font-mono, "Maple Mono", "Maple Mono NF CN", "Noto Sans TC", monospace);font-size:13px;letter-spacing:.1em;color:var(--mist);text-decoration:none;padding:9px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;white-space:nowrap}.back:hover{color:var(--bone);border-color:#ffffff73}footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px 28px;flex-wrap:wrap;max-width:1060px;margin:56px auto 0;padding:26px 28px 44px;border-top:1px solid rgba(255,255,255,.1);font-family:var(--font-mono, "Maple Mono", "Maple Mono NF CN", "Noto Sans TC", monospace);font-size:13px;letter-spacing:.1em;color:var(--mist)}footer a{color:var(--mist);text-decoration:none}footer a:hover{color:var(--bone)}footer .contacts .sep{color:var(--label)}footer .socials{display:flex;gap:18px}footer .copy{color:var(--label)}@media(max-width:767px){header{padding:16px 18px}.wm-sub{display:none}html{scroll-padding-top:5.5rem}}@media print{:root{--stage: #ffffff;--bone: #000000;--mist: #333333;--label: #555555;--red: #a3161b;--red-text: #a3161b;--blue: #0b4fa8;--blue-text: #0b4fa8;--accent: #000000;--fg-0: #000000;--fg-1: #333333;--fg-2: #555555;--fg-invert: #ffffff;--blue-cr: #0b4fa8;--blue-cr-dim: #0b4fa8;--red-ctf: #a3161b;--surface-1: #ffffff;--surface-3: #ffffff;--surface-terminal: #ffffff;--surface-titlebar: #f2f2f2;--line-1: rgba(0, 0, 0, .25);--line-2: rgba(0, 0, 0, .4);--sched-accent: #0b4fa8;--sched-dim: #555555}body{background:#fff;color:#000}body:before,.skip-link,.back,footer .socials{display:none!important}header{position:static;background:none;border-bottom:1px solid rgba(0,0,0,.3)}.band,.ds-terminal,.ds-btn{background:none!important;box-shadow:none!important;border:1px solid rgba(0,0,0,.3)!important}.ds-btn--solid,.ds-btn--outline{color:#000!important}.ds-sched__body--hl{background:none!important;box-shadow:none!important;border-left:3px solid #0b4fa8!important}.ds-sched__row:has(.ds-sched__body--hl){background:none!important;box-shadow:none!important;border-left:3px solid #0b4fa8!important}.ds-sched__body--hl .ds-sched__title,.ds-sched__body--hl .ds-sched__span,.ds-sched__row:has(.ds-sched__body--hl) .ds-sched__time,.ds-sched__row:has(.ds-sched__body--hl) .ds-sched__span{color:#000!important}.prose a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em;word-break:break-all}h1,h2,h3,h4{break-after:avoid}.prose-sec,.ds-terminal,tr{break-inside:avoid}}.ds-backdrop[data-astro-cid-m7utckc5]{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.ds-aurora[data-astro-cid-m7utckc5]{position:absolute;aspect-ratio:1 / 1;border-radius:50%;filter:blur(48px)}.ds-backdrop--animated[data-astro-cid-m7utckc5] .ds-aurora[data-astro-cid-m7utckc5]{will-change:transform}.ds-backdrop__horizon[data-astro-cid-m7utckc5]{position:absolute;left:-12%;right:-12%;bottom:-6%;height:58%;perspective:520px;perspective-origin:50% 0%;-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.9) 30%,transparent 92%);mask-image:linear-gradient(to top,rgba(0,0,0,.9) 30%,transparent 92%)}.ds-horizon-grid[data-astro-cid-m7utckc5]{position:absolute;inset:-40% 0 0;transform:rotateX(58deg);transform-origin:50% 0%;background-size:48px 48px}.ds-backdrop--animated[data-astro-cid-m7utckc5] .ds-horizon-grid[data-astro-cid-m7utckc5]{animation:ds-grid-flow 3.2s linear infinite}.ds-backdrop__vignette[data-astro-cid-m7utckc5]{position:absolute;inset:0;background:radial-gradient(ellipse 120% 90% at 50% 24%,transparent 40%,rgba(5,5,8,.85) 100%)}.ds-backdrop__noise[data-astro-cid-m7utckc5]{position:absolute;inset:0;background-size:160px 160px;opacity:.05;mix-blend-mode:overlay}.ds-stat[data-astro-cid-ft4aupea]{font-family:var(--font-mono)}.ds-stat--left[data-astro-cid-ft4aupea]{text-align:left}.ds-stat--center[data-astro-cid-ft4aupea]{text-align:center}.ds-stat--right[data-astro-cid-ft4aupea]{text-align:right}.ds-stat__value[data-astro-cid-ft4aupea]{font-size:var(--text-lg);font-weight:700;line-height:var(--leading-snug);color:var(--fg-0)}.ds-stat--red[data-astro-cid-ft4aupea] .ds-stat__value[data-astro-cid-ft4aupea]{color:var(--red-ctf)}.ds-stat--blue[data-astro-cid-ft4aupea] .ds-stat__value[data-astro-cid-ft4aupea]{color:var(--blue-cr)}.ds-stat--green[data-astro-cid-ft4aupea] .ds-stat__value[data-astro-cid-ft4aupea]{color:var(--green-ok)}.ds-stat__label[data-astro-cid-ft4aupea]{margin-top:2px;font-size:var(--text-sm);color:var(--fg-1)}.ds-sched[data-astro-cid-pplqkcfu]{font-family:var(--font-mono);--sched-accent: var(--red-ctf);--sched-dim: var(--red-ctf-dim)}.ds-sched--blue[data-astro-cid-pplqkcfu]{--sched-accent: var(--blue-cr);--sched-dim: var(--blue-cr-dim)}.ds-sched--green[data-astro-cid-pplqkcfu]{--sched-accent: var(--green-ok);--sched-dim: rgba(61, 255, 160, .12)}.ds-sched__day[data-astro-cid-pplqkcfu]{width:100%;border-collapse:separate;border-spacing:0;margin-top:var(--space-6)}.ds-sched__day[data-astro-cid-pplqkcfu]:first-child{margin-top:0}.ds-sched__daylabel[data-astro-cid-pplqkcfu]{caption-side:top;text-align:left;font-size:var(--text-sm);font-weight:700;letter-spacing:var(--tracking-wide);color:var(--sched-accent);padding-bottom:var(--space-3);border-bottom:1px solid var(--line-2);margin-bottom:var(--space-2)}.ds-sched__time[data-astro-cid-pplqkcfu]{width:88px;text-align:left;vertical-align:baseline;font-weight:400;padding:var(--space-3) var(--space-4) var(--space-3) 0;border-bottom:1px solid var(--line-1);font-size:var(--text-sm);color:var(--fg-1);white-space:nowrap}.ds-sched__body[data-astro-cid-pplqkcfu]{vertical-align:baseline;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-1);border-radius:var(--radius-sm)}.ds-sched__body--hl[data-astro-cid-pplqkcfu]{background:var(--sched-dim);box-shadow:inset 0 0 0 1px var(--sched-accent)}.ds-sched__span[data-astro-cid-pplqkcfu]{display:block;font-size:var(--text-xs);color:var(--fg-1);letter-spacing:var(--tracking-wide)}.ds-sched__body--hl[data-astro-cid-pplqkcfu] .ds-sched__span[data-astro-cid-pplqkcfu]{color:var(--sched-accent)}.ds-sched__title[data-astro-cid-pplqkcfu]{display:block;font-size:var(--text-base);color:var(--fg-0)}.ds-sched__body--hl[data-astro-cid-pplqkcfu] .ds-sched__title[data-astro-cid-pplqkcfu]{font-weight:700;color:var(--sched-accent)}@media(max-width:767px){.ds-sched__row[data-astro-cid-pplqkcfu],.ds-sched__time[data-astro-cid-pplqkcfu],.ds-sched__body[data-astro-cid-pplqkcfu]{display:block;width:auto}.ds-sched__time[data-astro-cid-pplqkcfu]{padding:var(--space-3) 0 2px;border-bottom:0}.ds-sched__body[data-astro-cid-pplqkcfu]{padding:0 0 var(--space-3)}.ds-sched__row[data-astro-cid-pplqkcfu]:has(.ds-sched__body--hl){background:var(--sched-dim);box-shadow:inset 0 0 0 1px var(--sched-accent);border-radius:var(--radius-sm);padding-inline:var(--space-3)}.ds-sched__body--hl[data-astro-cid-pplqkcfu]{background:transparent;box-shadow:none}}.ds-flag[data-astro-cid-h2sddg7h]{font-family:var(--font-mono);font-size:var(--flag-size, 1em);font-weight:var(--flag-weight, 700)}.ds-flag__brace[data-astro-cid-h2sddg7h]{color:var(--fg-1);font-weight:400}.ds-flag__label[data-astro-cid-h2sddg7h]{color:var(--fg-0)}.ds-flag--red[data-astro-cid-h2sddg7h] .ds-flag__label[data-astro-cid-h2sddg7h]{color:var(--red-ctf)}.ds-flag--blue[data-astro-cid-h2sddg7h] .ds-flag__label[data-astro-cid-h2sddg7h]{color:var(--blue-cr)}.ds-flag--green[data-astro-cid-h2sddg7h] .ds-flag__label[data-astro-cid-h2sddg7h]{color:var(--green-ok)}.ds-section-title[data-astro-cid-xegqglpq]{font-family:var(--font-mono)}.ds-section-title__flag[data-astro-cid-xegqglpq]{font-size:var(--text-sm);margin-bottom:var(--space-2)}.ds-section-title__h[data-astro-cid-xegqglpq]{margin:0;font-size:var(--text-xl);font-weight:700;line-height:var(--leading-snug);color:var(--fg-0)}.ds-section-title__hint[data-astro-cid-xegqglpq]{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--fg-1)}.ds-btn[data-astro-cid-5dvwxs6d]{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-weight:500;line-height:1.2;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:background var(--dur-fast) var(--ease-inout),color var(--dur-fast) var(--ease-inout),border-color var(--dur-fast) var(--ease-inout),box-shadow var(--dur-fast) var(--ease-inout)}.ds-btn--md[data-astro-cid-5dvwxs6d]{padding:12px 24px;font-size:var(--text-base)}.ds-btn--sm[data-astro-cid-5dvwxs6d]{padding:8px 16px;font-size:var(--text-sm)}.ds-btn[data-astro-cid-5dvwxs6d][disabled],.ds-btn[data-astro-cid-5dvwxs6d][aria-disabled=true]{opacity:.5;pointer-events:none}.ds-btn--solid[data-astro-cid-5dvwxs6d]{color:var(--fg-invert)}.ds-btn--solid[data-astro-cid-5dvwxs6d].ds-btn--red{background:var(--red-ctf)}.ds-btn--solid[data-astro-cid-5dvwxs6d].ds-btn--red:hover{background:var(--red-ctf-hover);box-shadow:var(--glow-red)}.ds-btn--solid[data-astro-cid-5dvwxs6d].ds-btn--red:active{background:var(--red-ctf-press)}.ds-btn--solid[data-astro-cid-5dvwxs6d].ds-btn--blue{background:var(--blue-cr)}.ds-btn--solid[data-astro-cid-5dvwxs6d].ds-btn--blue:hover{background:var(--blue-cr-hover);box-shadow:var(--glow-blue)}.ds-btn--solid[data-astro-cid-5dvwxs6d].ds-btn--blue:active{background:var(--blue-cr-press)}.ds-btn--solid[data-astro-cid-5dvwxs6d].ds-btn--green{background:var(--green-ok)}.ds-btn--solid[data-astro-cid-5dvwxs6d].ds-btn--green:hover{box-shadow:var(--glow-green)}.ds-btn--outline[data-astro-cid-5dvwxs6d]{background:transparent}.ds-btn--outline[data-astro-cid-5dvwxs6d].ds-btn--red{color:var(--red-ctf);border-color:var(--red-ctf-line)}.ds-btn--outline[data-astro-cid-5dvwxs6d].ds-btn--red:hover{background:var(--red-ctf-dim);border-color:var(--red-ctf);box-shadow:var(--glow-red)}.ds-btn--outline[data-astro-cid-5dvwxs6d].ds-btn--blue{color:var(--blue-cr);border-color:var(--blue-cr-line)}.ds-btn--outline[data-astro-cid-5dvwxs6d].ds-btn--blue:hover{background:var(--blue-cr-dim);border-color:var(--blue-cr);box-shadow:var(--glow-blue)}.ds-btn--outline[data-astro-cid-5dvwxs6d].ds-btn--green{color:var(--green-ok);border-color:#3dffa066}.ds-btn--outline[data-astro-cid-5dvwxs6d].ds-btn--green:hover{background:#3dffa01f;border-color:var(--green-ok);box-shadow:var(--glow-green)}.ds-btn--ghost[data-astro-cid-5dvwxs6d]{background:transparent;color:var(--fg-0)}.ds-btn--ghost[data-astro-cid-5dvwxs6d]:hover{background:var(--surface-3)}.ds-btn--ghost[data-astro-cid-5dvwxs6d].ds-btn--red:hover{color:var(--red-ctf-hover)}.ds-btn--ghost[data-astro-cid-5dvwxs6d].ds-btn--blue:hover{color:var(--blue-cr-hover)}.ds-btn--ghost[data-astro-cid-5dvwxs6d].ds-btn--green:hover{color:var(--green-ok)}.ds-term[data-astro-cid-h3g4tllv]{background:var(--surface-terminal);border:1px solid var(--line-1);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-terminal);font-family:var(--font-mono)}.ds-term--red[data-astro-cid-h3g4tllv]{border-color:var(--red-ctf-line)}.ds-term--blue[data-astro-cid-h3g4tllv]{border-color:var(--blue-cr-line)}.ds-term--glow[data-astro-cid-h3g4tllv].ds-term--neutral{box-shadow:var(--shadow-terminal),var(--glow-green)}.ds-term--glow[data-astro-cid-h3g4tllv].ds-term--red{box-shadow:var(--shadow-terminal),var(--glow-red)}.ds-term--glow[data-astro-cid-h3g4tllv].ds-term--blue{box-shadow:var(--shadow-terminal),var(--glow-blue)}.ds-term__bar[data-astro-cid-h3g4tllv]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-titlebar);border-bottom:1px solid var(--line-1)}.ds-term__dot[data-astro-cid-h3g4tllv]{width:12px;height:12px;border-radius:var(--radius-pill)}.ds-term__dot--red[data-astro-cid-h3g4tllv]{background:var(--term-dot-red)}.ds-term__dot--amber[data-astro-cid-h3g4tllv]{background:var(--term-dot-amber)}.ds-term__dot--green[data-astro-cid-h3g4tllv]{background:var(--term-dot-green)}.ds-term__title[data-astro-cid-h3g4tllv]{margin-left:8px;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--fg-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-term__body--padded[data-astro-cid-h3g4tllv]{padding:var(--space-5)}.ds-prompt[data-astro-cid-7lqw5p2i]{font-family:var(--font-mono);font-size:var(--text-base);line-height:var(--leading-body)}.ds-prompt__line[data-astro-cid-7lqw5p2i]{color:var(--fg-0)}.ds-prompt__sig[data-astro-cid-7lqw5p2i]{font-weight:500}.ds-prompt--red[data-astro-cid-7lqw5p2i] .ds-prompt__sig[data-astro-cid-7lqw5p2i]{color:var(--red-ctf)}.ds-prompt--blue[data-astro-cid-7lqw5p2i] .ds-prompt__sig[data-astro-cid-7lqw5p2i]{color:var(--blue-cr)}.ds-prompt--green[data-astro-cid-7lqw5p2i] .ds-prompt__sig[data-astro-cid-7lqw5p2i]{color:var(--green-ok)}.ds-prompt__caret[data-astro-cid-7lqw5p2i]{display:inline-block;width:.55em;height:1.1em;margin-left:.2em;vertical-align:-.15em;animation:ds-caret-blink var(--caret-blink) steps(2,start) infinite}.ds-prompt--red[data-astro-cid-7lqw5p2i] .ds-prompt__caret[data-astro-cid-7lqw5p2i]{background:var(--red-ctf)}.ds-prompt--blue[data-astro-cid-7lqw5p2i] .ds-prompt__caret[data-astro-cid-7lqw5p2i]{background:var(--blue-cr)}.ds-prompt--green[data-astro-cid-7lqw5p2i] .ds-prompt__caret[data-astro-cid-7lqw5p2i]{background:var(--green-ok)}.ds-prompt__out[data-astro-cid-7lqw5p2i]{color:var(--fg-1);padding-left:1.1em}@media(prefers-reduced-motion:reduce){.ds-prompt__caret[data-astro-cid-7lqw5p2i]{animation:none}}main{position:relative;z-index:1}.container{max-width:var(--container-max, 1120px);margin:0 auto;padding-inline:var(--space-6)}.hero{position:relative;overflow:hidden;padding:var(--space-9) 0 var(--space-7);border-bottom:1px solid var(--line-1)}.hero-inner{position:relative;z-index:1;font-family:var(--font-mono)}.eyebrow{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--track-accent);margin-bottom:var(--space-3)}.eyebrow img{height:20px;width:auto}h1{margin:0;font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-snug);color:var(--fg-0)}h1 .accent,.intro-body .accent{color:var(--track-accent)}.tagline{max-width:68ch;margin-top:var(--space-3);font-size:var(--text-md);color:var(--fg-1)}.stats{margin-top:var(--space-6);display:flex;gap:var(--space-8);flex-wrap:wrap}.intro{margin-top:var(--space-8)}.intro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:var(--space-7);align-items:start}.intro-body{max-width:68ch;margin-top:var(--space-5);font-family:var(--font-mono);font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg-1)}.intro-body p+p{margin-top:var(--space-4)}.tags{margin-top:var(--space-4);display:flex;gap:var(--space-2);flex-wrap:wrap}.cta-row{margin-top:var(--space-6);display:flex;gap:var(--space-3);flex-wrap:wrap}.tw-title{font-size:var(--text-lg);font-weight:700;color:var(--fg-0);margin-bottom:var(--space-4)}.st-ok{color:var(--green-ok)}.st-warn{color:var(--amber-warn)}.st-alert{color:var(--red-ctf)}.band{margin-top:var(--space-8);padding:var(--space-8) 0;background:var(--surface-1, rgba(255, 255, 255, .02));border-block:1px solid var(--line-1)}.sched-col{max-width:720px}.sched-col>*+*{margin-top:var(--space-6)}.prose-sec{margin-top:var(--space-8)}.band>.prose-sec{margin-top:0}.prose{margin-top:var(--space-5);max-width:68ch;font-family:var(--font-mono);font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg-1)}.prose h3{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-md);font-weight:700;color:var(--fg-0)}.prose h3:first-child{margin-top:0}.prose h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-base);font-weight:700;color:var(--track-accent)}.prose p+p,.prose ul+p,.prose p+ul{margin-top:var(--space-3)}.prose ul{margin:var(--space-2) 0 0;padding-left:1.3em}.prose li+li{margin-top:var(--space-2)}.prose li b{color:var(--fg-0)}.prose :is(p,li,dd) a{color:var(--track-accent);text-decoration:underline;text-underline-offset:.2em}.prose :is(p,li,dd) a:hover,.prose :is(p,li,dd) a:focus-visible{color:var(--track-accent-hover)}.kv{margin:var(--space-3) 0 0;display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4)}.kv dt{color:var(--fg-0);font-weight:700}.kv dd{margin:0}@media(max-width:767px){.container{padding-inline:var(--space-4)}.intro-grid{gap:var(--space-6)}.kv{grid-template-columns:1fr;gap:var(--space-1) 0}}
