@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#050607;--color-surface:#0b0d0f;--color-surface-strong:#111417;--color-text:#e7e9ea;--color-text-muted:#92989d;--color-text-quiet:#5f666b;--color-border:#252a2e;--color-accent:#4a718f;--color-signal:#b84942;--color-warning:#a9753d;--color-safe:#557b68;--color-focus:#8eb5d4;--content-width:90rem;--header-height:4rem;--font-body:"Source Han Sans SC", "Noto Sans CJK SC", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;--font-display:"Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", SimSun, serif;--font-mono:"IBM Plex Mono", "JetBrains Mono", "Cascadia Mono", Consolas, monospace;font-family:var(--font-body);background:var(--color-background);color:var(--color-text)}*{box-sizing:border-box}html{background:var(--color-background);scroll-behavior:smooth;min-width:20rem}body{isolation:isolate;min-height:100vh;color:var(--color-text);text-rendering:optimizelegibility;background:0 0;margin:0;line-height:1.7;position:relative;overflow-x:hidden}.global-space-backdrop,.route-transition-vignette,.route-ambient-layer{pointer-events:none;position:fixed;inset:0}.global-space-backdrop{z-index:0;opacity:.72;transition:opacity .18s;overflow:hidden}.route-transition-vignette{z-index:1;background:radial-gradient(circle at 50% 38%,#0000 0,#02030414 42%,#02030494 100%),linear-gradient(#0203041a,#02030447);transition:opacity .18s}.route-ambient-layer{z-index:18;overflow:hidden}.route-ambient-layer:before,.route-ambient-layer:after{content:"";pointer-events:none;position:absolute}body[data-path=\/] .route-ambient-layer:before,body[data-path=\/] .route-ambient-layer:after{display:none}body[data-path=\/trilogy] .route-ambient-layer:before{opacity:.24;mix-blend-mode:screen;background-image:radial-gradient(circle,#d6e2eee6 0 1px,#0000 1.5px),radial-gradient(circle,#70a0c2bf 0 .8px,#0000 1.3px);background-position:0 0,3rem 4rem;background-size:8rem 8rem,11rem 11rem;animation:24s linear infinite ambient-star-drift;inset:-10%}body[data-path=\/trilogy] .route-ambient-layer:after{aspect-ratio:1;opacity:.26;background:conic-gradient(from 20deg, transparent 0 18%, #5a7ca038 26%, transparent 40% 62%, #7e657e2e 72%, transparent 84%);filter:blur(22px);mix-blend-mode:screen;border-radius:50%;width:min(56rem,62vw);animation:38s linear infinite ambient-galaxy-turn;top:9%;left:42%}body[data-path^="/trilogy/three-body"] .route-ambient-layer:before{background:linear-gradient(90deg,#0000,#b849421f 20%,#dc685eb8 50%,#b849421f 80%,#0000);height:1px;animation:6.8s ease-in-out infinite ambient-signal-scan;left:0;right:0;box-shadow:0 0 1.4rem #b849425c}body[data-path^="/trilogy/three-body"] .route-ambient-layer:after{opacity:.5;background:radial-gradient(circle at 18% 34%,#b8494214,#0000 20%),linear-gradient(90deg,#0000 0 49.8%,#b8494209 50%,#0000 50.2%);animation:5.2s ease-in-out infinite alternate ambient-light-breathe;inset:0}body[data-path^="/trilogy/dark-forest"] .route-ambient-layer:before{background:radial-gradient(circle at 50% 42%,#0000 0 28%,#00000014 52%,#00000080 100%);animation:8s ease-in-out infinite alternate ambient-dark-breathe;inset:0}body[data-path^="/trilogy/dark-forest"] .route-ambient-layer:after{background:linear-gradient(90deg,#0000,#70a0c26b);width:9rem;height:1px;animation:13s ease-in-out infinite ambient-dark-signal;top:24%;left:-8rem;box-shadow:8rem 0 1.6rem #70a0c226}body[data-path^="/trilogy/deaths-end"] .route-ambient-layer:before{opacity:.18;transform-origin:50%;background:repeating-linear-gradient(0deg,#0000 0 3.4rem,#b1becf3d 3.45rem,#0000 3.55rem 6.8rem);animation:10s ease-in-out infinite alternate ambient-space-stretch;inset:-12% -24%}body[data-path^="/trilogy/deaths-end"] .route-ambient-layer:after{opacity:.22;filter:blur(36px);background:radial-gradient(#9991c24d,#0000 67%);width:58%;height:68%;animation:7s ease-in-out infinite alternate ambient-light-breathe;top:16%;right:-16%}body[data-path^=\/simulator] .route-ambient-layer:before{opacity:.1;background-image:linear-gradient(#5d8fb26b 1px,#0000 1px),linear-gradient(90deg,#5d8fb26b 1px,#0000 1px);background-size:5rem 5rem;animation:16s linear infinite ambient-grid-drift;inset:-3rem;-webkit-mask-image:radial-gradient(circle,#000,#0000 82%);mask-image:radial-gradient(circle,#000,#0000 82%)}body[data-path^=\/simulator] .route-ambient-layer:after{aspect-ratio:1;border:1px solid #5d8fb229;border-radius:50%;width:13rem;animation:5s ease-out infinite ambient-observer-pulse;bottom:12%;right:8%;box-shadow:0 0 0 3rem #5d8fb206,0 0 0 6rem #5d8fb205}::selection{color:var(--color-text);background:#4a718f7a}a{color:inherit}button,input{font:inherit}img,canvas{max-width:100%}.skip-link{z-index:100;border:1px solid var(--color-focus);color:var(--color-background);background:var(--color-focus);padding:.55rem .85rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050607db;border-bottom:1px solid #252a2eb8;grid-template-columns:minmax(10rem,auto) minmax(0,1fr);align-items:center;gap:clamp(.75rem,2vw,2rem);width:100%;min-height:4rem;padding:.75rem clamp(1rem,3vw,2rem);display:grid;position:sticky;top:0}.brand{align-items:center;min-height:2.5rem;text-decoration:none;display:inline-flex}.brand-mark{display:none}.brand-copy{gap:.18rem;display:grid}.brand-copy small{color:var(--color-text-muted);font-family:var(--font-display);letter-spacing:.13em;white-space:nowrap;font-size:.66rem;font-weight:400}.brand strong{letter-spacing:.08em;font-size:1rem;font-weight:520}body[data-path=\/]{--header-height:5.9rem}body[data-path=\/] .site-header{min-height:var(--header-height);background:#03070df0;border-bottom-color:#415465a3;padding-block:.55rem;padding-inline:clamp(1rem,3vw,3rem)}body[data-path=\/] .brand{gap:.85rem}body[data-path=\/] .brand-mark{width:4.35rem;height:4.35rem;display:block;overflow:hidden}body[data-path=\/] .brand-mark img{object-fit:contain;filter:brightness(1.12)contrast(1.08);width:100%;height:100%;display:block}body[data-path=\/] .brand strong{font-family:var(--font-display);letter-spacing:.14em;font-size:clamp(1rem,1.45vw,1.35rem);font-weight:400}body[data-path=\/] .site-header nav{justify-content:flex-end;gap:clamp(1.2rem,2.6vw,2.6rem)}body[data-path=\/] .site-header nav a{font-family:var(--font-display);letter-spacing:.11em;font-size:clamp(.82rem,1.05vw,1rem)}body[data-path^=\/trilogy]{--header-height:4.75rem}body[data-path^=\/trilogy] .site-header{min-height:var(--header-height);background:#01070df5;border-bottom-color:#295b7e8f;padding-block:.45rem;padding-inline:clamp(1.1rem,2.25vw,2.5rem)}body[data-path^=\/trilogy] .brand{gap:.7rem}body[data-path^=\/trilogy] .brand-mark{width:3.55rem;height:3.55rem;display:block;overflow:hidden}body[data-path^=\/trilogy] .brand-mark img{object-fit:contain;filter:brightness(1.12)contrast(1.08);width:100%;height:100%;display:block}body[data-path^=\/trilogy] .brand strong{font-family:var(--font-display);letter-spacing:.12em;font-size:clamp(.96rem,1.18vw,1.18rem);font-weight:400}body[data-path^=\/trilogy] .brand-copy small{color:#6b8598;letter-spacing:.11em;font-size:.58rem}body[data-path^=\/trilogy] .site-header nav{justify-content:flex-end;gap:clamp(1.15rem,2.15vw,2.35rem)}body[data-path^=\/trilogy] .site-header nav a{font-family:var(--font-display);letter-spacing:.1em;font-size:clamp(.78rem,.92vw,.92rem)}.site-header nav{justify-content:center;gap:clamp(.7rem,2.2vw,1.9rem);display:flex}.header-right{justify-content:flex-end;align-items:center;gap:clamp(.75rem,2vw,1.75rem);display:flex}.mobile-navigation section{border-bottom:1px solid var(--color-border);display:grid}.mobile-navigation section:last-child{border-bottom:0}.mobile-navigation section p{color:var(--color-text-quiet);font-family:var(--font-mono);letter-spacing:.12em;margin:0;padding:.6rem 1rem .2rem;font-size:.6rem}.site-header nav a,.mobile-navigation a{color:var(--color-text-muted);letter-spacing:.04em;font-size:.86rem;text-decoration:none}.site-header nav a:hover,.mobile-navigation a:hover,.site-header nav a[aria-current=page],.mobile-navigation a[aria-current=page]{color:var(--color-text)}.site-header nav a[aria-current=page]{text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.42rem;text-decoration-thickness:1px}.site-header nav a:focus-visible,.brand:focus-visible,.mobile-navigation summary:focus-visible,.mobile-navigation a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.mobile-navigation{display:none}main{z-index:2;min-height:calc(100vh - var(--header-height));position:relative}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}@keyframes ambient-light-breathe{0%{opacity:.38;transform:scale(.98)}to{opacity:.78;transform:scale(1.035)}}@keyframes ambient-star-drift{0%{transform:translate(-1.5%,-1%)scale(1)}to{transform:translate(2%,1.5%)scale(1.04)}}@keyframes ambient-galaxy-turn{to{transform:rotate(360deg)}}@keyframes ambient-signal-scan{0%,10%{opacity:0;top:-3%}18%{opacity:.9}78%{opacity:.68}88%,to{opacity:0;top:103%}}@keyframes ambient-dark-breathe{0%{opacity:.72;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}@keyframes ambient-dark-signal{0%,22%{opacity:0;left:-10rem}28%{opacity:.75}72%{opacity:.45}80%,to{opacity:0;left:108%}}@keyframes ambient-space-stretch{0%{transform:scaleX(.86)translate(-2%)}to{transform:scaleX(1.18)translate(4%)}}@keyframes ambient-grid-drift{to{transform:translate(5rem,5rem)}}@keyframes ambient-observer-pulse{0%{opacity:0;transform:scale(.68)}30%{opacity:.58}to{opacity:0;transform:scale(1.2)}}.site-footer{z-index:2;width:min(calc(100% - 3rem), var(--content-width));border-top:1px solid var(--color-border);color:var(--color-text-quiet);justify-content:space-between;gap:2rem;margin:5rem auto 0;padding-block:1.5rem 2.5rem;font-size:.78rem;display:flex;position:relative}.site-footer p{max-width:52rem;margin:0}@media (max-width:64rem){.site-header{grid-template-columns:minmax(0,1fr) max-content;gap:.8rem}.site-header nav{display:none}.mobile-navigation{display:block;position:relative}.mobile-navigation summary{border:1px solid var(--color-border);min-height:2.35rem;color:var(--color-text-muted);cursor:pointer;padding:.45rem .75rem;font-size:.8rem;list-style:none}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation>div{border:1px solid var(--color-border);background:var(--color-surface);min-width:17rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0}.mobile-navigation a{border-bottom:1px solid var(--color-border);padding:.8rem 1rem}.mobile-navigation a:last-child{border-bottom:0}}@media (max-width:42rem){.global-space-backdrop{opacity:.48}.route-transition-vignette{background:radial-gradient(circle at 50% 32%,#0000 0,#0203042e 36%,#020304b3 100%),linear-gradient(#0203041a,#02030466)}.site-header{grid-template-columns:1fr auto}.brand strong{letter-spacing:.04em;font-size:.88rem}body[data-path=\/]{--header-height:4.7rem}body[data-path=\/] .site-header{min-height:var(--header-height)}body[data-path=\/] .brand-mark{width:3.2rem;height:3.2rem}body[data-path=\/] .brand-copy small{display:none}body[data-path=\/] .brand strong{letter-spacing:.07em;font-size:.94rem}body[data-path^=\/trilogy]{--header-height:4.5rem}body[data-path^=\/trilogy] .site-header{min-height:var(--header-height)}body[data-path^=\/trilogy] .brand-mark{width:3rem;height:3rem}body[data-path^=\/trilogy] .brand-copy small{display:none}body[data-path^=\/trilogy] .brand strong{letter-spacing:.06em;font-size:.92rem}.site-footer{flex-direction:column;align-items:start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.global-space-backdrop{opacity:.42}.route-ambient-layer{display:none}}.global-space-canvas[data-v-95869955]{width:100%;height:100%;display:block}.observer-avatar[data-v-81c2b603]{object-fit:cover;object-position:center 22%;display:block}.observer-badge[data-v-39499399]{border:1px solid var(--color-border);color:var(--color-text-muted);align-items:center;gap:.55rem;padding:.25rem .6rem .25rem .3rem;text-decoration:none;transition:border-color .16s,color .16s;display:inline-flex}.observer-badge[data-v-39499399]:hover{border-color:var(--color-focus);color:var(--color-text)}.observer-badge.is-idle[data-v-39499399]{padding-inline:.6rem}.observer-badge[data-v-39499399]:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.badge-copy[data-v-39499399]{gap:.1rem;line-height:1.2;display:grid}.badge-copy strong[data-v-39499399]{font-size:.76rem;font-weight:500}.badge-copy small[data-v-39499399]{color:var(--color-text-quiet);font-family:var(--font-mono);letter-spacing:.04em;font-size:.56rem}@media (max-width:64rem){.badge-copy[data-v-39499399]{display:none}.observer-badge[data-v-39499399]{padding:.25rem}}
