:root{
  --paper:#18131f;
  --ink:#f4edf5;
  --muted:#b9aabd;
  --line:rgba(216,195,225,.18);
  --rose:#8f6677;
  --peach:#9b725f;
  --lav:#8f78a7;
  --mint:#668783;
  --space:#c9a9dd;
  --shadow:0 22px 60px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;position:relative;background:#0d0913}
body{
  margin:0;color:var(--ink);font-family:Georgia,"Times New Roman",serif;
  background:radial-gradient(circle at 15% 10%,rgba(120,72,96,.20),transparent 25%),radial-gradient(circle at 85% 18%,rgba(111,82,143,.24),transparent 28%),radial-gradient(circle at 15% 85%,rgba(64,103,101,.13),transparent 30%),radial-gradient(circle at 52% 45%,rgba(139,102,159,.10),transparent 38%),linear-gradient(180deg,#17111e 0%,#120d19 48%,#0d0913 100%);
  min-height:100vh;position:relative;overflow-x:hidden;isolation:isolate;
}
body::before,body::after,html::before,html::after,.wrap::before,.wrap::after,footer::before,footer::after,header::before,header::after,article::before,article::after{content:"";position:fixed;pointer-events:none;z-index:1;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.58;filter:drop-shadow(0 0 8px rgba(211,181,230,.48))}
body::before{width:34px;height:34px;left:4vw;top:14vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 5C35 22 42 29 59 32C42 35 35 42 32 59C29 42 22 35 5 32C22 29 29 22 32 5Z' fill='%23c9a9dd'/%3E%3Ccircle cx='32' cy='32' r='4' fill='%23f8f1fb'/%3E%3C/svg%3E");animation:float1 14s ease-in-out infinite alternate}
body::after{width:74px;height:58px;right:3vw;top:35vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 70'%3E%3Cellipse cx='45' cy='37' rx='33' ry='11' fill='none' stroke='%23b89acb' stroke-width='4' transform='rotate(-12 45 37)'/%3E%3Ccircle cx='45' cy='34' r='17' fill='%238f78a7' fill-opacity='.62' stroke='%23c9a9dd' stroke-width='2'/%3E%3Cpath d='M31 28Q45 22 59 29' fill='none' stroke='%23f5edf8' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");animation:float2 22s ease-in-out infinite alternate}
html::before{width:24px;height:24px;right:8vw;top:11vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 9C34 23 41 30 55 32C41 34 34 41 32 55C30 41 23 34 9 32C23 30 30 23 32 9Z' fill='%23c9a9dd'/%3E%3C/svg%3E");animation:float3 18s ease-in-out infinite alternate}
html::after{width:44px;height:44px;left:5vw;bottom:13vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 74'%3E%3Cpath d='M49 10C32 13 22 25 22 39C22 51 29 60 40 64C25 65 12 54 10 39C8 23 20 9 36 7C41 6 45 7 49 10Z' fill='%23b89acb' fill-opacity='.78' stroke='%23c9a9dd' stroke-width='2'/%3E%3C/svg%3E");animation:float4 26s ease-in-out infinite alternate}
.wrap::before{width:42px;height:42px;right:5vw;bottom:10vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 74'%3E%3Ccircle cx='37' cy='37' r='23' fill='%238f78a7' fill-opacity='.55' stroke='%23c9a9dd' stroke-width='2'/%3E%3Ccircle cx='46' cy='30' r='5' fill='%23c9a9dd' fill-opacity='.55'/%3E%3Ccircle cx='28' cy='42' r='4' fill='%23c9a9dd' fill-opacity='.5'/%3E%3C/svg%3E");animation:float5 31s ease-in-out infinite alternate}
.wrap::after{width:28px;height:28px;left:8vw;top:57vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 8C34 23 41 30 56 32C41 34 34 41 32 56C30 41 23 34 8 32C23 30 30 23 32 8Z' fill='%23c9a9dd'/%3E%3C/svg%3E");animation:float6 20s ease-in-out infinite alternate}
footer::before{width:62px;height:50px;left:3vw;bottom:31vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 70'%3E%3Cellipse cx='45' cy='37' rx='32' ry='10' fill='none' stroke='%23b89acb' stroke-width='4' transform='rotate(13 45 37)'/%3E%3Ccircle cx='45' cy='34' r='16' fill='%238f78a7' fill-opacity='.52' stroke='%23c9a9dd' stroke-width='2'/%3E%3C/svg%3E");animation:float7 35s ease-in-out infinite alternate}
footer::after{width:20px;height:20px;right:10vw;bottom:27vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 11C34 24 40 30 53 32C40 34 34 40 32 53C30 40 24 34 11 32C24 30 30 24 32 11Z' fill='%23c9a9dd'/%3E%3C/svg%3E");animation:float8 16s ease-in-out infinite alternate}
header::before,article::before{width:22px;height:22px;left:11vw;top:28vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 10C34 24 40 30 54 32C40 34 34 40 32 54C30 40 24 34 10 32C24 30 30 24 32 10Z' fill='%23c9a9dd'/%3E%3C/svg%3E");animation:float9 24s ease-in-out infinite alternate}
header::after,article::after{width:38px;height:38px;right:11vw;top:64vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 70'%3E%3Ccircle cx='35' cy='35' r='21' fill='%238f78a7' fill-opacity='.5' stroke='%23c9a9dd' stroke-width='2'/%3E%3Ccircle cx='28' cy='30' r='4' fill='%23c9a9dd' fill-opacity='.65'/%3E%3Ccircle cx='42' cy='41' r='5' fill='%23c9a9dd' fill-opacity='.52'/%3E%3C/svg%3E");animation:float10 29s ease-in-out infinite alternate}
article::before{top:31vh}article::after{right:10vw;top:61vh}
@keyframes float1{from{transform:translate(0,0) rotate(0)}to{transform:translate(44px,-30px) rotate(22deg)}}@keyframes float2{from{transform:translate(0,0) rotate(0)}to{transform:translate(-48px,28px) rotate(-9deg)}}@keyframes float3{from{transform:translate(0,0) rotate(0)}to{transform:translate(-24px,-38px) rotate(35deg)}}@keyframes float4{from{transform:translate(0,0) rotate(-8deg)}to{transform:translate(36px,-42px) rotate(12deg)}}@keyframes float5{from{transform:translate(0,0)}to{transform:translate(-40px,-24px)}}@keyframes float6{from{transform:translate(0,0) rotate(0)}to{transform:translate(28px,46px) rotate(-28deg)}}@keyframes float7{from{transform:translate(0,0) rotate(0)}to{transform:translate(52px,22px) rotate(11deg)}}@keyframes float8{from{transform:translate(0,0)}to{transform:translate(-32px,36px) rotate(40deg)}}@keyframes float9{from{transform:translate(0,0)}to{transform:translate(34px,-20px) rotate(-30deg)}}@keyframes float10{from{transform:translate(0,0)}to{transform:translate(-26px,38px) rotate(9deg)}}
a{color:inherit}.wrap{width:min(920px,92vw);margin:0 auto;padding:72px 0 90px;position:relative;z-index:2}header{text-align:center;margin-bottom:46px}.mark{width:64px;height:64px;margin:0 auto 20px;border:1px solid rgba(214,190,225,.25);border-radius:50%;display:grid;place-items:center;background:rgba(35,27,43,.68);font-size:24px;box-shadow:0 10px 34px rgba(0,0,0,.22),0 0 24px rgba(183,156,204,.08)}.eyebrow{font:600 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}h1{margin:0;font-size:clamp(42px,7vw,78px);font-weight:500;line-height:.95;letter-spacing:-.03em;text-shadow:0 0 30px rgba(211,181,230,.08)}.subtitle{max-width:650px;margin:18px auto 0;color:var(--muted);font-style:italic;font-size:18px;line-height:1.6}.entries{display:grid;gap:22px;margin-top:42px}.entry,article{background:linear-gradient(145deg,rgba(34,27,42,.90),rgba(24,19,31,.94));border:1px solid rgba(214,190,225,.16);border-radius:24px;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.025);backdrop-filter:blur(12px);overflow:hidden}.entry summary{list-style:none;cursor:pointer;padding:28px 30px}.entry summary::-webkit-details-marker{display:none}.entry summary:focus{outline:none}.entry[open] summary{border-bottom:1px solid var(--line)}.entry-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:8px}.meta,.date{font:700 11px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#a995b2}.entry h2{margin:0 0 8px;font-size:clamp(26px,4vw,40px);font-weight:500;line-height:1.08}.excerpt{margin:0;color:#b8abbc;font-size:16px;line-height:1.6}.read-toggle{display:inline-block;margin-top:16px;font:600 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#ad9bb5}.entry[open] .read-toggle::after{content:"Close ↑"}.entry:not([open]) .read-toggle::after{content:"Read letter ↓"}.letter-body{padding:30px}.letter-body p{margin:0 0 1.15em;font-size:clamp(18px,2.1vw,21px);line-height:1.78}.open-letter{display:inline-block;margin-top:12px;text-decoration:none;color:#c1afc8;font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}article{padding:30px}article .meta{margin-bottom:12px}article h2{margin:0 0 26px;font-size:clamp(30px,4.5vw,46px);font-weight:500;line-height:1.08}article p{margin:0 0 1.15em;font-size:clamp(18px,2.1vw,21px);line-height:1.78}blockquote{margin:24px 0;padding:18px 22px;border-left:3px solid #927497;background:rgba(111,82,121,.16);border-radius:0 16px 16px 0;font-style:italic}blockquote p{font-size:17px}.signoff{margin-top:34px;font-style:italic}.back{display:inline-block;margin-top:28px;text-decoration:none;color:#c1afc8;font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}footer{text-align:center;color:#9f90a5;padding-top:32px;font:500 12px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.time-portal{width:min(560px,88vw);margin:8px auto 4px;padding:18px 24px;display:flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;color:#c1b3c6;position:relative;z-index:5;border-radius:999px;transition:transform .35s ease,background .35s ease,color .35s ease}.time-portal:hover{transform:translateY(-2px);background:rgba(196,167,211,.08);color:#e1d4e6}.portal-orbit{width:62px;height:62px;flex:0 0 62px;border-radius:50%;position:relative;background:radial-gradient(circle at center,rgba(211,184,229,.60) 0 7%,transparent 8% 31%,rgba(183,156,204,.30) 32% 35%,transparent 36% 47%,rgba(201,169,221,.50) 48% 51%,transparent 52%);box-shadow:inset 0 0 20px rgba(183,156,204,.25),0 0 30px rgba(183,156,204,.20);animation:portalPulse 4.8s ease-in-out infinite}.portal-orbit::before,.portal-orbit::after{content:"";position:absolute;border:1px solid rgba(211,184,229,.66);border-radius:50%;inset:10px;transform:rotate(24deg);animation:portalSpin 9s linear infinite}.portal-orbit::after{inset:18px;border-color:rgba(183,156,204,.42);animation-direction:reverse;animation-duration:6s}.portal-copy{text-align:left}.portal-copy strong{display:block;font:700 10px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#aa98b2;margin-bottom:5px}.portal-copy span{font-size:15px;font-style:italic}@keyframes portalSpin{to{transform:rotate(384deg)}}@keyframes portalPulse{0%,100%{transform:scale(.96);opacity:.72}50%{transform:scale(1.04);opacity:1}}
.archive-page{background:radial-gradient(circle at 50% -5%,rgba(183,156,204,.18),transparent 28%),radial-gradient(circle at 12% 74%,rgba(245,217,223,.48),transparent 25%),linear-gradient(180deg,#f9f4fb 0%,#fffaf6 38%,#fbf7f4 100%);color:#2f2b2a}.archive-wrap{width:min(840px,92vw)}.archive-arrival{text-align:center;margin:0 auto 38px;position:relative;z-index:5}.archive-kicker{font:700 10px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.22em;color:#9a8b84}.archive-year{font-size:clamp(58px,10vw,94px);font-weight:500;letter-spacing:-.04em;color:rgba(90,76,104,.76);margin:6px 0 0}.archive-arrival p{margin:8px auto 0;color:#7d707e;font-style:italic;font-size:16px}.cat-constellation{width:min(260px,64vw);margin:0 auto -2px;opacity:.75;animation:constellationFloat 9s ease-in-out infinite alternate}.cat-constellation svg{display:block;width:100%;height:auto;overflow:visible}.constellation-lines path{fill:none;stroke:rgba(183,156,204,.45);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 5}.constellation-stars circle{fill:#b79ccc;filter:drop-shadow(0 0 5px rgba(183,156,204,.5))}@keyframes constellationFloat{from{transform:translateY(5px) rotate(-1deg)}to{transform:translateY(-7px) rotate(1deg)}}.archive-letter{border-color:rgba(196,178,209,.55);background:rgba(255,253,249,.91);color:#2f2b2a}.archive-letter .meta{color:#927fa1}.return-present{display:block;width:max-content;max-width:100%;margin:28px auto 0;text-decoration:none;color:#776b81;font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:12px 18px;border:1px solid rgba(183,156,204,.34);border-radius:999px;background:rgba(255,255,255,.4);transition:transform .3s ease,background .3s ease}.return-present:hover{transform:translateY(-2px);background:rgba(231,223,245,.45)}
@media(max-width:1100px){body::before,body::after,html::before,html::after,.wrap::before,.wrap::after,footer::before,footer::after,header::before,header::after,article::before,article::after{opacity:.48}}@media(max-width:600px){.wrap{width:min(94vw,920px);padding-top:46px}.entry,article{border-radius:22px}.entry-top{align-items:flex-start;flex-direction:column;gap:5px}body::before,body::after,html::before,html::after,.wrap::before,.wrap::after,footer::before,footer::after,header::before,header::after,article::before,article::after{opacity:.66;z-index:3;filter:drop-shadow(0 0 7px rgba(211,181,230,.55))}.entry,article,header,footer,.back,.time-portal,.archive-arrival,.return-present{position:relative;z-index:4}body::before{width:26px;height:26px;left:2vw;top:9vh}html::before{width:20px;height:20px;right:2vw;top:16vh}header::before{width:18px;height:18px;left:3vw;top:27vh}body::after{width:52px;height:42px;right:-5px;top:40vh}.wrap::after{width:22px;height:22px;left:1vw;top:55vh}header::after{width:30px;height:30px;right:1vw;top:69vh}html::after{width:34px;height:34px;left:2vw;bottom:12vh}.wrap::before{width:32px;height:32px;right:1vw;bottom:8vh}footer::before{width:48px;height:38px;left:-4px;bottom:27vh}footer::after{width:18px;height:18px;right:2vw;bottom:31vh}article::before{width:18px;height:18px;left:2vw;top:30vh}article::after{width:30px;height:30px;right:1vw;top:66vh}.time-portal{width:94%;padding:12px 8px;gap:12px;margin-top:-10px}.portal-orbit{width:50px;height:50px;flex-basis:50px}.portal-copy span{font-size:13px}.archive-year{margin-top:2px}}
@media(prefers-reduced-motion:reduce){body::before,body::after,html::before,html::after,.wrap::before,.wrap::after,footer::before,footer::after,header::before,header::after,article::before,article::after,.portal-orbit,.portal-orbit::before,.portal-orbit::after,.cat-constellation{animation:none}}
