:root{--ink-primary:#172535;--ink-body:#324252;--ink-muted:#32425280;--line-subtle:#32425224;--grid-subtle:#3242520f;--accent-star:#526d7d;--accent-warm:#b79a62;color:var(--ink-primary);font-synthesis:none;text-rendering:optimizelegibility;--night:#07111f;--night-soft:#0b192a;--paper:#eef1f1;--paper-edge:#d6dcde;--starlight:#dbe4e6;background:#07111f;font-family:Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--night)}body{background:var(--night);min-width:320px;margin:0}body,button,input,textarea{font-family:inherit}p,h1,h2,h3{margin-top:0}.site-shell{background:var(--night);overflow:hidden}.celestial{isolation:isolate;color:var(--starlight);background-color:var(--night);position:relative}.three-star-canvas{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.three-star-canvas canvas{width:100%;height:100%;display:block}.cover{grid-template-rows:auto 1fr auto;min-height:100svh;padding:clamp(1.5rem,4vw,3.5rem) clamp(1.5rem,6vw,6rem);display:grid}.cover:after{content:"";z-index:-1;opacity:.48;clip-path:polygon(0 42%,14% 46%,27% 40%,42% 52%,58% 43%,73% 49%,88% 39%,100% 45%,100% 100%,0 100%);background:repeating-linear-gradient(176deg,#0000 0 19px,#8ba5b217 20px,#0000 22px 38px),linear-gradient(#0000,#0b1d2d);height:24%;position:absolute;inset:auto 0 0}.cover__index{letter-spacing:.2em;border-bottom:1px solid #dbe4e633;justify-content:space-between;align-items:baseline;padding-bottom:1rem;font-size:.65rem;display:flex}.cover__index strong{font-size:.72rem;font-weight:500}.cover__title-block{width:min(100%,66rem);margin:auto;padding:12vh 0 9vh}.kicker{color:#dbe4e69e;letter-spacing:.31em;margin-bottom:clamp(2rem,5vw,4.5rem);font-size:clamp(.62rem,.8vw,.75rem)}.cover h1{color:#e4e9e9;letter-spacing:-.055em;flex-direction:column;margin:0;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(3rem,9.5vw,8.8rem);font-weight:400;line-height:.88;display:flex;position:relative}.cover h1 .title-indent{color:#aab7bd;letter-spacing:-.025em;padding-left:clamp(1.4rem,11vw,10rem);font-size:.56em;font-style:italic;line-height:1.45}.title-number{color:#8999a2;letter-spacing:0;font-family:Helvetica Neue,Arial,sans-serif;font-size:.16em;font-style:normal;font-weight:300;position:absolute;top:-.7em;right:0}.cover__subtitle{color:#dbe4e6b3;letter-spacing:.12em;border-top:1px solid #dbe4e63d;width:max-content;max-width:100%;margin:clamp(2.5rem,6vw,5rem) 6% 0 auto;padding-top:.9rem;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(.8rem,1.2vw,1rem)}.cover__footer{color:#dbe4e68a;letter-spacing:.18em;grid-template-columns:1fr auto 1fr;align-items:end;font-size:.6rem;display:grid}.cover__footer p:last-of-type{text-align:center}.receive-button{color:#dbe4e6d1;cursor:pointer;letter-spacing:.14em;background:0 0;border:0;border-bottom:1px solid #dbe4e65c;flex-direction:column;justify-self:end;align-items:flex-end;gap:.35rem;padding:0 0 .65rem;display:flex}.receive-button small{color:#dbe4e666;letter-spacing:.2em;font-size:.48rem}.receive-button:hover{color:#eef2f2;border-bottom-color:#dbe4e6b3}.receive-button:focus-visible,.envelope__seal:focus-visible{outline-offset:.45rem;outline:1px solid #dbe4e6e6}.envelope-section{background-color:#091522;grid-template-columns:1fr minmax(18rem,42rem) 1fr;min-height:94svh;padding:clamp(5rem,11vw,9rem) clamp(1.5rem,8vw,8rem);display:grid}.envelope-section:before{content:"";z-index:-1;opacity:.48;background-image:radial-gradient(circle at 50% 32%,#5a77872b,#0000 39%);position:absolute;inset:0}.section-marker{color:#dbe4e66b;letter-spacing:.22em;flex-direction:column;align-self:center;gap:.4rem;font-size:.58rem;display:flex}.section-marker span:first-child{letter-spacing:0;font-size:1.6rem;font-weight:300}.envelope-wrap{text-align:center;grid-column:2;align-self:center}.envelope-caption{color:#dbe4e66b;letter-spacing:.22em;margin-bottom:2.4rem;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:.72rem}.envelope{aspect-ratio:1.6;filter:drop-shadow(0 1.8rem 2.6rem #00000047);perspective:900px;width:min(100%,35rem);margin:0 auto clamp(3rem,7vw,5.5rem);position:relative}.envelope__back,.envelope__front{background:#dce1e1;border:1px solid #c5ccce;position:absolute;inset:20% 0 0}.envelope__back{z-index:0}.envelope__flap{z-index:3;clip-path:polygon(0 0,100% 0,50% 88%);transform-origin:50% 0;backface-visibility:hidden;background:#cfd6d8;height:58%;position:absolute;inset:20% 0 auto}.envelope__letter{z-index:1;color:var(--ink-primary);text-align:left;transform-origin:50% 100%;background:#eef0ef;flex-direction:column;align-items:flex-start;padding:9% 12%;display:flex;position:absolute;inset:2% 7% 16%}.envelope__letter span,.envelope__letter small{color:var(--ink-muted);letter-spacing:.19em;font-size:clamp(.45rem,1vw,.62rem)}.envelope__letter strong{margin:.15em 0 .3em;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(2rem,5vw,4.4rem);font-weight:400}.envelope__front{z-index:2;clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);background:#d8dede;border:none}.envelope__front:after{content:"";clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);border:1px solid #c2cbcd;position:absolute;inset:0}.envelope__seal{z-index:4;aspect-ratio:1;color:#d7dfe0;cursor:pointer;background:#263a49;border:0;border-radius:50%;place-items:center;width:clamp(2.5rem,6vw,3.4rem);padding:0;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:1rem;display:grid;position:absolute;top:66%;left:50%;transform:translate(-50%,-50%)}.envelope__seal:disabled{cursor:default}.envelope-wrap h2{color:#d9e1e2;letter-spacing:.05em;max-width:32rem;margin:0 auto 1rem;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(1.4rem,3vw,2.25rem);font-weight:400;line-height:1.6}.envelope-wrap>p:last-child{color:#dbe4e67a;letter-spacing:.08em;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:.82rem}.envelope-wrap>p:last-child:focus-visible{outline-offset:.45rem;outline:1px solid #dbe4e69e}.letter-section{background:#0a1724;padding:clamp(3rem,8vw,8rem) clamp(1rem,6vw,5rem)}.ambient-audio{display:none}.letter-paper{width:min(100%,76rem);color:var(--ink-primary);background-color:var(--paper);background-image:linear-gradient(var(--grid-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--grid-subtle) 1px, transparent 1px);background-size:34px 34px;border:1px solid #c6d0d2e0;margin:0 auto;padding:clamp(1.5rem,5vw,5.5rem) clamp(1.35rem,8vw,8.5rem) clamp(4rem,10vw,9rem);position:relative;box-shadow:0 2.5rem 6rem #00000047}.letter-header{border-bottom:1px solid var(--line-subtle);color:var(--ink-muted);letter-spacing:.19em;justify-content:space-between;padding-bottom:2rem;font-size:.58rem;display:flex}.paper-label{color:var(--ink-primary);margin-bottom:.35rem;font-weight:500}.paper-number{margin:0}.letter-meta{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.letter-meta strong{color:var(--ink-primary);font-size:.62rem;font-weight:500}.opening{grid-template-columns:minmax(0,45rem) minmax(7.4rem,1fr);column-gap:clamp(2rem,5vw,5rem);max-width:none;padding:clamp(5rem,11vw,9rem) 0 clamp(6rem,13vw,11rem);display:grid;position:relative}.opening>:not(.opening-note){grid-column:1}.salutation{letter-spacing:.12em;margin-bottom:2.5rem;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:.95rem}.opening h2{letter-spacing:.045em;max-width:8em;margin-bottom:clamp(3rem,7vw,5rem);font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(2rem,5vw,4.5rem);font-weight:500;line-height:1.35}.opening>p:not(.salutation),.chapter-copy p,.sign-off__copy p{max-width:36em;color:var(--ink-body);letter-spacing:.035em;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(.95rem,1.45vw,1.08rem);line-height:2.08}.opening>p:not(.salutation){margin-bottom:1.7rem}.opening-note{border-top:1px solid var(--line-subtle);width:7.4rem;min-width:0;max-width:100%;color:var(--ink-muted);letter-spacing:.14em;overflow-wrap:break-word;flex-direction:column;grid-area:1/2/span 4;place-self:end;gap:.35rem;margin-bottom:8rem;padding-top:1rem;font-size:.5rem;display:flex;position:static}.opening-note>*{max-width:100%}.opening-note strong{color:var(--ink-primary);letter-spacing:0;font-size:1.65rem;font-weight:300}.chapter-list{border-top:1px solid var(--ink-primary)}.star-chapter{isolation:isolate;border-bottom:1px solid var(--line-subtle);padding:clamp(4.5rem,10vw,8.5rem) 0 clamp(3.2rem,7vw,5.5rem);position:relative;overflow:hidden}.chapter-header,.chapter-body,.chapter-coordinate{z-index:1;position:relative}.star-chapter--01 .chapter-body{grid-template-columns:2.5rem minmax(0,.88fr) minmax(0,1.12fr) 2.5rem;column-gap:2.5rem}.star-chapter--01 .chapter-title-wrap{grid-column:2}.star-chapter--01 .chapter-copy{grid-column:3}.chapter-decoration{z-index:0;width:min(78%,20rem);height:4rem;color:var(--accent-star);pointer-events:none;position:absolute;overflow:visible}.chapter-decoration--01,.chapter-decoration--02,.chapter-decoration--03,.chapter-decoration--04{top:-3.8rem;left:0}.chapter-decoration svg{width:100%;height:100%;display:block;overflow:visible}.archive-line{fill:none;stroke:var(--line-subtle);stroke-width:1px;vector-effect:non-scaling-stroke}.archive-star{fill:var(--accent-star);opacity:.58}.archive-label,.archive-timeline-labels{fill:var(--accent-star);letter-spacing:1.45px;opacity:.56;font-family:Arial,sans-serif;font-size:7px;font-weight:500}.archive-label--secondary{opacity:.42}.archive-node{fill:var(--accent-star);opacity:.48}.chapter-decoration--03 .archive-star:first-child,.chapter-decoration--03 .archive-star:nth-child(4){opacity:.42}.chapter-decoration--05{width:100%;height:3rem;bottom:clamp(.65rem,1.5vw,1.25rem);left:0;right:0}.archive-timeline{fill:none;stroke:url(#archive-timeline-gradient);stroke-width:1px;opacity:.16;vector-effect:non-scaling-stroke}.archive-ticks{fill:none;stroke:var(--line-subtle);stroke-width:1px;vector-effect:non-scaling-stroke}.archive-timeline-labels{opacity:.48;font-size:6px}.archive-star--warm{fill:var(--accent-warm);opacity:.52}@media (width>=901px) and (prefers-reduced-motion:no-preference){.archive-orbit--upper{animation:12s ease-in-out infinite alternate archive-approach-upper}.archive-orbit--lower{animation:12s ease-in-out infinite alternate archive-approach-lower}.archive-traveler{animation:11s ease-in-out infinite alternate archive-travel}}@keyframes archive-approach-upper{to{transform:translate(10px)}}@keyframes archive-approach-lower{to{transform:translate(-10px)}}@keyframes archive-travel{to{transform:translate(24px)}}.chapter-header{justify-content:space-between;align-items:baseline;margin-bottom:clamp(3.5rem,8vw,6.5rem);display:flex}.chapter-header p{margin:0}.chapter-number{letter-spacing:.19em;font-size:.7rem;font-weight:500}.chapter-eyebrow{color:var(--ink-muted);letter-spacing:.18em;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:.75rem}.chapter-body{grid-template-columns:minmax(15rem,.88fr) minmax(18rem,1.12fr);align-items:start;gap:clamp(3rem,8vw,7rem);display:grid}.chapter-title-wrap{padding-top:1.2rem;position:relative}.chapter-title-wrap h3{letter-spacing:.04em;margin-bottom:1.25rem;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(1.75rem,3.4vw,3.1rem);font-weight:500;line-height:1.5}.chapter-title-wrap p{color:var(--ink-muted);letter-spacing:.08em;font-family:Georgia,serif;font-size:.8rem;font-style:italic}.chapter-copy p{margin-bottom:1.55rem}.chapter-coordinate{color:var(--ink-muted);letter-spacing:.17em;text-align:right;margin-top:clamp(3rem,7vw,5rem);font-size:.53rem}.sign-off{padding-top:clamp(6rem,13vw,12rem)}.sign-off__copy{margin-bottom:clamp(5rem,10vw,8rem)}.sign-off__copy p:first-child{color:var(--ink-primary);margin-bottom:1.7rem;font-size:clamp(1.35rem,2.4vw,1.8rem)}.sign-off address{border-top:1px solid var(--ink-primary);text-align:right;flex-direction:column;align-items:flex-end;gap:.6rem;width:min(100%,22rem);margin-left:auto;padding-top:1.5rem;font-style:normal;display:flex}.sign-off address span,.sign-off address time{color:var(--ink-muted);letter-spacing:.1em;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:.72rem}.sign-off address strong{margin:.4rem 0 .8rem;font-family:Georgia,serif;font-size:clamp(1.35rem,2.8vw,2.2rem);font-style:italic;font-weight:400}.sound-control{z-index:3;position:absolute;bottom:clamp(1.25rem,3vw,2.75rem);right:clamp(1.25rem,4vw,3.5rem)}.sound-control__button{border:0;border-bottom:1px solid var(--line-subtle);min-height:2rem;color:var(--ink-muted);font:inherit;letter-spacing:.16em;cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.54rem;transition:color .22s,border-color .22s;display:inline-flex}.sound-control__button:hover{color:var(--ink-primary);border-bottom-color:var(--accent-star)}.sound-control__button:focus-visible{outline:1px solid var(--accent-star);outline-offset:.35rem}.sound-control__button:disabled{opacity:.46;cursor:not-allowed}.sound-control__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2px;flex:none;width:1rem;height:1rem}.sound-control__icon path:first-child{fill:currentColor;stroke:none}.sound-control__wave{stroke-width:1px}.ending{flex-direction:column;justify-content:space-between;min-height:100svh;padding:clamp(5rem,10vw,9rem) clamp(1.5rem,7vw,7rem) 2.5rem;display:flex}.ending__content{width:min(100%,62rem);margin:auto}.ending__content .kicker{margin-bottom:clamp(4rem,9vw,8rem)}.ending h2{color:#dce4e5;letter-spacing:.035em;margin-bottom:clamp(3rem,6vw,5rem);font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(2.2rem,6.8vw,6.4rem);font-weight:400;line-height:1.45}.ending__english{color:#dbe4e680;width:max-content;max-width:100%;margin-left:auto;font-family:Georgia,serif;font-size:clamp(.8rem,1.4vw,1rem);font-style:italic;line-height:1.8}.horizon{z-index:-1;clip-path:polygon(0 19%,15% 17%,31% 23%,50% 15%,65% 21%,81% 16%,100% 20%,100% 100%,0 100%);background:repeating-linear-gradient(179deg,#0000 0 16px,#90a9b30e 18px,#0000 20px 34px),linear-gradient(#0a1826,#102333);border-top:1px solid #aec6ce1f;height:36%;position:absolute;inset:auto 0 0}.horizon__star{color:#dbe4e6bd;font-size:.75rem;position:absolute;top:16%;left:66%}.ending__mark{color:#dbe4e64d;letter-spacing:.21em;margin:0;font-size:.52rem}@media (width<=900px){.envelope-section{grid-template-columns:1fr}.section-marker{position:absolute;top:3rem;left:1.5rem}.envelope-wrap{grid-column:1}.opening{grid-template-columns:1fr}.opening-note{grid-area:auto/1;place-self:auto start;margin-top:4rem;margin-bottom:0;position:static}.chapter-body{grid-template-columns:1fr;gap:2.5rem}.chapter-title-wrap{max-width:34rem}.star-chapter--01 .chapter-body{grid-template-columns:1fr;gap:2.5rem}.star-chapter--01 .chapter-title-wrap,.star-chapter--01 .chapter-copy{grid-column:1}.star-chapter--01 .chapter-title-wrap{order:1}.star-chapter--01 .chapter-copy{order:2}.chapter-decoration{width:min(72%,17rem)}.chapter-decoration--01,.chapter-decoration--02,.chapter-decoration--03,.chapter-decoration--04{top:-3.35rem}.chapter-decoration--05{width:100%;height:2rem}}@media (width<=600px){.cover{min-height:92svh}.cover__title-block{padding:16vh 0 10vh}.cover h1{font-size:clamp(2.65rem,15vw,4.5rem);line-height:.98}.cover h1 .title-indent{padding-left:1rem;line-height:1.25}.cover__subtitle{width:82%;margin-right:0;line-height:1.8}.cover__footer{grid-template-columns:1fr 1fr}.cover__footer p:last-of-type{text-align:right}.receive-button{grid-column:1/-1;margin-top:1.4rem}.envelope-section{min-height:88svh}.envelope__letter{padding-top:7%}.letter-section{padding-inline:.65rem}.letter-paper{padding-inline:1.25rem}.letter-header{gap:1rem}.paper-label{max-width:24ch;line-height:1.6}.opening{padding-top:5rem}.opening h2{max-width:9em}.chapter-header{margin-bottom:4rem}.chapter-coordinate{line-height:1.6}.chapter-decoration{width:min(86%,16rem)}.archive-label--secondary,.chapter-decoration--03 .archive-label,.chapter-decoration--04 .archive-label{display:none}.chapter-decoration--05{width:100%}.ending__english{margin-left:0}.sound-control{bottom:1.15rem;right:1.25rem}.sound-control__button{min-height:2.25rem;font-size:.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.receive-button:hover{color:#dbe4e6d1;border-bottom-color:#dbe4e65c}.archive-orbit,.archive-traveler{animation:none}}
