@font-face{font-family:WenKai;src:url(/fonts/wenkai-subset-regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:WenKai;src:url(/fonts/wenkai-subset-medium.woff2)format("woff2");font-weight:500 700;font-display:swap}:root{--sky-top:#bcd7f0;--sky-mid:#e6eef6;--sky-bottom:#ffe3cc;--sun:#ffd2a8;--ink:#1d2742;--ink-2:#47506b;--ink-3:#6a7290;--paper:#ffffffa8;--paper-solid:#fffdf8;--line:#1d27421f;--vc:#2c6dd0;--vc-soft:#dbe8fb;--rs:#1f8566;--rs-soft:#d8f0e6;--mt:#dc6a33;--mt-soft:#fde3d3;--gold:#c38f33;--tone:var(--ink);--tone-soft:#eef1f7;--serif:"WenKai", "LXGW WenKai", "Kaiti SC", "STKaiti", "KaiTi", serif;--sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--pad:clamp(20px, 5vw, 80px);--out:cubic-bezier(.16, 1, .3, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.tone-vc{--tone:var(--vc);--tone-soft:var(--vc-soft);--tone-rgb:44 109 208}.tone-rs{--tone:var(--rs);--tone-soft:var(--rs-soft);--tone-rgb:31 133 102}.tone-mt{--tone:var(--mt);--tone-soft:var(--mt-soft);--tone-rgb:220 106 51}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#a9b6cc transparent;overflow-x:clip}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#b4c0d4;border:3px solid #eef2f8;border-radius:10px}::-webkit-scrollbar-track{background:#eef2f8}::selection{color:var(--ink);background:#ffd8a8}body{color:var(--ink);font:400 18px/1.9 var(--serif);background:var(--sky-mid);-webkit-font-smoothing:antialiased;caret-color:var(--mt);margin:0;overflow-x:clip}a{color:inherit;text-underline-offset:.28em}h1,h2,h3,p,dl,dd,fieldset{margin:0}fieldset{border:0;min-width:0;padding:0}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--tone,var(--ink));outline-offset:4px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:#fff;font-family:var(--sans);border-radius:999px;padding:10px 18px;font-size:15px;text-decoration:none;position:fixed;top:-60px;left:16px}.skip:focus{top:16px}.sky{z-index:-3;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky-wash{background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-mid) 55%, var(--sky-bottom) 100%);position:absolute;inset:0}.sky-sun{background:radial-gradient(closest-side, var(--sun), transparent);opacity:.85;border-radius:50%;width:140vw;height:80vh;animation:9s ease-in-out infinite breathe;position:absolute;bottom:-38vh;left:50%;transform:translate(-50%)}@keyframes breathe{50%{opacity:1;transform:translate(-50%)scale(1.06)}}.clouds{position:absolute;inset:0}.cloud{filter:blur(6px);background:radial-gradient(closest-side,#fffffff2,#fff0) 18% 60%/46% 88% no-repeat,radial-gradient(closest-side,#fffffff2,#fff0) 48% 30%/50% 100% no-repeat,radial-gradient(closest-side,#ffffffe6,#fff0) 78% 62%/44% 80% no-repeat;border-radius:50%;width:420px;height:130px;animation:linear infinite drift;display:block;position:absolute}.clouds--far .cloud{opacity:.55;transform:scale(.7)}.c1{animation-duration:140s;top:12%;left:-10%}.c2{animation-duration:180s;animation-delay:-60s;top:34%;left:40%}.c3{animation-duration:160s;animation-delay:-110s;top:62%;left:10%}.c4{opacity:.8;width:560px;height:170px;animation-duration:110s;animation-delay:-30s;top:20%;left:60%}.c5{opacity:.7;width:620px;height:180px;animation-duration:130s;animation-delay:-80s;top:74%;left:-20%}@keyframes drift{0%{translate:-30vw}to{translate:130vw}}.motes{width:100%;height:100%;position:absolute;inset:0}.daymoon{z-index:-2;aspect-ratio:1;pointer-events:none;will-change:transform;width:min(64vh,640px);margin:calc(min(64vh,640px)/-2) 0 0 calc(min(64vh,640px)/-2);position:fixed;top:50%;left:50%}.daymoon:before{content:"";background:radial-gradient(closest-side,#fffbeed9,#fff6e159 55%,#0000);border-radius:50%;animation:6s ease-in-out infinite glow;position:absolute;inset:-22%}@keyframes glow{50%{opacity:.8;transform:scale(1.06)}}.daymoon-svg{width:100%;height:100%;animation:120s linear infinite turn;position:relative;overflow:visible}@keyframes turn{to{rotate:360deg}}.moon-ghost{fill:#ffffff38;stroke:#ffffff80;stroke-width:.6px}.craters circle{fill:#e2dccb;opacity:.55}.halo{z-index:-1;pointer-events:none;opacity:0;mix-blend-mode:soft-light;background:radial-gradient(closest-side,#ffecc8bf,#0000);border-radius:50%;width:460px;height:460px;margin:-230px 0 0 -230px;transition:opacity .6s;position:fixed;top:0;left:0}.halo.is-on{opacity:1}@media (hover:none){.halo{display:none}}.topbar{z-index:50;padding:14px var(--pad);font-family:var(--sans);transition:background .5s, box-shadow .5s, transform .6s var(--out);align-items:center;gap:26px;display:flex;position:fixed;inset:0 0 auto}.topbar.is-solid{-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);box-shadow:0 1px 0 var(--line), 0 10px 30px -20px #1d274259;background:#fffdf8b8}.topbar.is-hidden{transform:translateY(-110%)}.brand{align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:flex}.brand-emblem{width:40px;height:40px;transition:transform .8s var(--spring)}.brand:hover .brand-emblem{transform:rotate(-24deg)scale(1.08)}.brand-name{font:500 22px/1 var(--serif);letter-spacing:.08em}.brand-latin{letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase;font-size:13px}.topnav{gap:6px;display:flex}.topnav a{color:var(--ink-2);border-radius:999px;padding:6px 14px;font-size:15px;text-decoration:none;transition:background .3s,color .3s;position:relative}.topnav a:hover{color:var(--ink);background:#ffffffb3}.topdoors{gap:6px;display:flex}.topdoor{font:600 13px/1 var(--sans);letter-spacing:.08em;color:var(--tone);box-shadow:inset 0 0 0 1px rgb(var(--tone-rgb) / .35);transition:background .3s, color .3s, transform .4s var(--spring);background:#ffffffa6;border-radius:999px;padding:7px 12px;text-decoration:none}.topdoor:hover{background:var(--tone);color:#fff;transform:translateY(-2px)}.version-switcher{box-shadow:inset 0 0 0 1px var(--line);background:#ffffff8c;border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.version-switcher-label{color:var(--ink-3);padding:0 8px 0 10px;font-size:12px}.version-switcher a{width:26px;height:26px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:13px;text-decoration:none;transition:background .3s,color .3s;display:grid}.version-switcher a:hover{color:var(--ink);background:#fff}.version-switcher a[aria-current=page]{background:var(--ink);color:#fff}.hero{min-height:100svh;padding:120px var(--pad) 110px;align-items:center;display:grid;position:relative}.hero-inner{width:100%;max-width:1280px;margin:0 auto;position:relative}.hero-title{margin-bottom:18px;position:relative}.ht{font:500 clamp(7rem, 21vw, 19rem)/.9 var(--serif);letter-spacing:-.02em;color:var(--ink);display:flex}.ht-char{will-change:transform;display:inline-block}.ht-char:nth-child(2){margin-left:.04em;translate:0 .14em}.ht-latin{font:400 clamp(14px, 1.4vw, 19px)/1 var(--sans);letter-spacing:.6em;text-transform:uppercase;color:var(--ink-3);position:absolute;bottom:-.4em;left:.6em}.hero-verse{font:500 clamp(1.6rem, 3.4vw, 3rem)/1.4 var(--serif);margin:56px 0 22px}.hero-verse .vl{display:block;overflow:hidden}.hero-verse .vl>span{display:inline-block}.hero-lede{max-width:30em;color:var(--ink-2);margin-bottom:44px;font-size:clamp(17px,1.35vw,20px)}.phases{flex-wrap:wrap;gap:14px;display:flex}.phase{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px #ffffffe6, 0 14px 30px -18px rgb(var(--tone-rgb) / .6);background:#ffffffad;border-radius:999px;align-items:center;gap:14px;padding:12px 22px 12px 14px;text-decoration:none;transition:background .35s,box-shadow .35s,color .35s;display:flex}.phase:hover,.phase:focus-visible{background:var(--tone);color:#fff;box-shadow:0 20px 40px -16px rgb(var(--tone-rgb) / .8)}.phase-moon{width:40px;height:40px;transition:transform .8s var(--spring);flex:none}.phase:hover .phase-moon{transform:rotate(200deg)}.pm-ghost{fill:var(--tone-soft)}.pm-lit{fill:var(--tone);transition:fill .3s}.phase:hover .pm-ghost{fill:#ffffff40}.phase:hover .pm-lit{fill:#fff}.phase-text{line-height:1.3;display:grid}.phase-text b{font:500 18px/1.3 var(--serif)}.phase-text small{opacity:.75;font-size:14px}.read-on{letter-spacing:.4em;color:var(--ink-3);justify-items:center;gap:8px;font-size:14px;text-decoration:none;display:grid;position:absolute;bottom:28px;left:50%;translate:-50%}.read-on i{background:linear-gradient(var(--ink-3), transparent);transform-origin:top;width:1px;height:46px;animation:pour 2.2s var(--out) infinite}@keyframes pour{0%{transform:scaleY(0)}60%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.ribbon{background:var(--ink);color:#fdf6ea;padding:20px 0;overflow:hidden;rotate:-2.4deg;scale:1.06;box-shadow:0 30px 60px -30px #1d274280}.ribbon-track{align-items:center;gap:36px;width:max-content;animation:46s linear infinite ribbon;display:flex}.ribbon-track span{font:500 clamp(22px, 2.6vw, 36px)/1 var(--serif);white-space:nowrap}.ribbon-track b{color:#ffc98f;font-size:18px}@keyframes ribbon{to{transform:translate(-50%)}}.prologue{min-height:120vh;padding:22vh var(--pad);place-items:center;display:grid}.prologue-text{max-width:22em;font:500 clamp(1.9rem, 4.3vw, 3.9rem)/1.6 var(--serif);text-align:center;text-wrap:balance}.prologue-text .pc{opacity:.14;transition:opacity .25s,color .25s}.prologue-text .pc.on{opacity:1}.prologue-text .pc.hl{color:var(--c)}.chapters{padding:4vh var(--pad) 12vh;position:relative}.chapter{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,110px);max-width:1280px;min-height:80vh;margin:0 auto 26vh;display:grid;position:relative}.chapter--flip .chapter-art{order:2}.chapter-glyph{z-index:-1;font:500 clamp(22rem, 52vw, 48rem)/1 var(--serif);color:#0000;-webkit-text-stroke:1.5px rgb(var(--tone-rgb) / .22);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:50%;left:50%;translate:-50% -50%}.chapter-copy{background:var(--paper);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);max-width:560px;box-shadow:inset 0 0 0 1px #ffffffd9, 0 40px 80px -40px rgb(var(--tone-rgb) / .45);border-radius:28px;padding:clamp(28px,3.4vw,50px);position:relative}.chapter--flip .chapter-copy{justify-self:end}.chapter-no{font:500 16px/1 var(--sans);letter-spacing:.24em;color:var(--tone);align-items:center;gap:12px;margin-bottom:22px;display:flex}.cn-moon{background:var(--tone);width:18px;height:18px;box-shadow:inset -6px 0 0 0 var(--tone-soft);border-radius:50%}.tone-rs .cn-moon{box-shadow:inset -9px 0 0 0 var(--tone-soft)}.tone-mt .cn-moon{box-shadow:inset -3px 0 0 0 var(--tone-soft)}.chapter-title{font:500 clamp(2.3rem, 4.4vw, 4rem)/1.18 var(--serif);margin-bottom:22px}.chapter-site{border-bottom:1px dashed rgb(var(--tone-rgb) / .35);flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:18px;padding-bottom:18px;display:flex}.chapter-site b{font:500 22px/1.3 var(--serif);color:var(--tone)}.chapter-site span{font:400 14px/1.5 var(--sans);color:var(--ink-3)}.chapter-copy>p:not(.chapter-no):not(.chapter-site){color:var(--ink-2);margin-bottom:16px}.chapter-for{gap:14px;font-size:16px;display:flex}.chapter-for span{background:var(--tone-soft);color:var(--tone);font:500 13px/1.9 var(--sans);letter-spacing:.1em;border-radius:999px;flex:none;height:-moz-fit-content;height:fit-content;margin-top:3px;padding:1px 10px}.enter{isolation:isolate;color:#fff;background:var(--tone);box-shadow:0 18px 36px -16px rgb(var(--tone-rgb) / .9);transition:transform .5s var(--spring), box-shadow .4s;border-radius:999px;grid-template-columns:auto auto;align-items:center;column-gap:22px;margin-top:12px;padding:16px 26px;text-decoration:none;display:inline-grid;position:relative;overflow:hidden}.enter:before{content:"";z-index:-1;transition:translate .9s var(--out);background:linear-gradient(120deg,#0000 30%,#ffffff73 50%,#0000 70%);position:absolute;inset:0;translate:-120%}.enter:hover:before{translate:120%}.enter:hover{box-shadow:0 24px 46px -14px rgb(var(--tone-rgb) / .95)}.enter-text{font:500 18px/1.3 var(--serif)}.enter-url{font:400 12px/1.4 var(--sans);opacity:.8;letter-spacing:.06em;grid-row:2}.enter-arrow{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:16px;transition:transform .5s var(--spring);grid-area:1/2/3}.enter:hover .enter-arrow{transform:translate(6px)}.chapter-art{aspect-ratio:1;justify-self:center;place-items:center;width:100%;max-width:560px;display:grid;position:relative}.chapter-art:before{content:"";background:radial-gradient(closest-side, #ffffffe6, rgb(var(--tone-rgb) / .1) 70%, transparent);border-radius:50%;animation:7s ease-in-out infinite glow;position:absolute;inset:6%}.constellation{width:92%;position:relative;overflow:visible}.cn-lines path{fill:none;stroke:var(--vc);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.cn-dots circle{fill:#fff;stroke:var(--vc);stroke-width:2.5px;transform-box:fill-box;transform-origin:50%}.cn-sparks circle{fill:#f6b94c;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite twinkle}.cn-sparks circle:nth-child(2n){animation-delay:-1.2s}.cn-sparks circle:nth-child(3n){animation-delay:-.6s}@keyframes twinkle{50%{opacity:.3;transform:scale(.3)}}.idea-bubble{color:var(--vc);font:500 15px/1.4 var(--serif);background:#fff;border-radius:999px;padding:6px 16px;animation:5s ease-in-out infinite bob;position:absolute;box-shadow:0 12px 26px -14px #2c6dd0b3}.ib1{background:var(--vc);color:#fff;top:6%;left:10%}.ib2{animation-delay:-1s;top:14%;right:2%}.ib3{animation-delay:-2s;bottom:16%;right:6%}.ib4{animation-delay:-3s;bottom:4%;left:30%}.ib5{animation-delay:-4s;top:46%;left:-2%}@keyframes bob{50%{translate:0 -12px}}.book{aspect-ratio:1.5;perspective:1400px;width:70%;transform-style:preserve-3d;position:relative;transform:rotateX(18deg)}.book-cover{background:linear-gradient(135deg,#2a9b78,#1c7258);border-radius:10px;width:50%;position:absolute;top:0;bottom:0;box-shadow:0 30px 50px -24px #11503cb3}.book-cover--left{border-radius:12px 4px 4px 12px;left:0}.book-cover--right{border-radius:4px 12px 12px 4px;right:0}.page{transform-origin:0;width:47%;animation:flip 7s var(--out) infinite;backface-visibility:visible;background:repeating-linear-gradient(#0000 0 18px,#1f856624 18px 19.5px) 14% 16%/72% 70% no-repeat,linear-gradient(90deg,#efe9da,#fffdf6 18%);border-radius:0 8px 8px 0;position:absolute;top:4%;bottom:4%;left:50%;box-shadow:inset 6px 0 12px -6px #00000026}.p1{animation-delay:0s}.p2{animation-delay:1.4s}.p3{animation-delay:2.8s}.p4{animation-delay:4.2s}.p5{animation-delay:5.6s}@keyframes flip{0%,8%{transform:rotateY(0)}42%,to{filter:brightness(.94);transform:rotateY(-178deg)}}.book-words{pointer-events:none;position:absolute;inset:0}.book-word{font:500 26px/1 var(--serif);color:var(--rs);opacity:0;animation:rise 6s var(--out) infinite;position:absolute;bottom:38%}@keyframes rise{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-220px) scale(1.15) rotate(var(--r,8deg))}}.glass-wrap{width:46%;position:relative}.hourglass{transform-origin:50%;width:100%;overflow:visible}.hg-frame{fill:#a2552d}.hg-glass{fill:#ffffff8c;stroke:#dc6a338c;stroke-width:3px}.sand{fill:#f0a35e}.sand-stream{stroke:#f0a35e;stroke-width:3px;stroke-dasharray:6 8;animation:.6s linear infinite stream}@keyframes stream{to{stroke-dashoffset:-14px}}.coins{pointer-events:none;position:absolute;inset:0}.coin{color:#7a4f10;width:44px;height:44px;font:500 13px/1 var(--serif);opacity:0;background:radial-gradient(circle at 35% 30%,#fff1c2,#e3ae4b 60%,#b9842a);border-radius:50%;place-items:center;margin-left:-22px;display:grid;position:absolute;bottom:14%;left:50%;box-shadow:0 10px 20px -8px #b9842acc}.compass{max-width:1280px;padding:14vh var(--pad);margin:0 auto}.compass-head{grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:60px;display:grid}.compass h2,.moonlight h2{font:500 clamp(2.6rem, 5.4vw, 5rem)/1.12 var(--serif)}.compass-head p{max-width:22em;color:var(--ink-2);justify-self:end}.compass-body{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch;gap:clamp(24px,4vw,60px);display:grid}.wishes{grid-template-columns:1fr 1fr;align-content:start;gap:12px;display:grid}.wish{cursor:pointer;position:relative}.wish input{opacity:0;pointer-events:none;position:absolute}.wish span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:100%;transition:background .3s, color .3s, transform .45s var(--spring), box-shadow .3s;background:#ffffff9e;border-radius:18px;align-items:center;gap:12px;padding:16px 20px;font-size:17px;line-height:1.5;display:flex;box-shadow:inset 0 0 0 1px #ffffffe6}.wish span:before{content:"";background:var(--tone-soft);width:12px;height:12px;box-shadow:inset 0 0 0 2px var(--tone);transition:background .3s, transform .4s var(--spring);border-radius:50%;flex:none}.wish:hover span{box-shadow:inset 0 0 0 1px rgb(var(--tone-rgb) / .4), 0 16px 30px -18px rgb(var(--tone-rgb) / .7);transform:translateY(-3px)}.wish input:focus-visible+span{outline:2px solid var(--tone);outline-offset:3px}.wish input:checked+span{background:var(--tone);color:#fff;box-shadow:0 20px 40px -18px rgb(var(--tone-rgb) / .9)}.wish input:checked+span:before{box-shadow:none;background:#fff;transform:scale(1.2)}.answer{isolation:isolate;background:var(--paper-solid);border-radius:32px;min-height:380px;display:grid;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px #1d274266,inset 0 0 0 1px #ffffffe6}.answer-wash{z-index:-1;background:var(--tone);clip-path:circle(0% at var(--wx,50%) var(--wy,50%));position:absolute;inset:0}.answer-idle,.answer-result{grid-area:1/1;padding:clamp(28px,3.6vw,50px)}.answer-idle{text-align:center;color:var(--ink-3);place-content:center;justify-items:center;gap:22px;display:grid}.answer-moon{width:120px;animation:30s linear infinite turn}.am-ghost{fill:#eef1f7}.am-lit{fill:#f5c77a}.answer-result{color:#fff;flex-direction:column;justify-content:flex-end;display:flex}.answer-result[hidden]{display:none}.answer-abbr{font:500 clamp(9rem, 16vw, 15rem)/1 var(--serif);color:#ffffff2e;pointer-events:none;position:absolute;top:-.18em;right:-.06em}.answer-go{font:500 clamp(1.9rem, 3vw, 2.8rem)/1.2 var(--serif);margin-bottom:12px}.answer-why{opacity:.92;max-width:22em;margin-bottom:24px}.answer-link{width:-moz-fit-content;width:fit-content;color:var(--tone);font:500 18px/1.3 var(--serif);transition:transform .5s var(--spring);background:#fff;border-radius:999px;align-items:center;gap:16px;padding:14px 24px;text-decoration:none;display:inline-flex}.answer-link:hover{transform:translate(6px)}.answer-link svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:14px}.moonlight{max-width:1280px;padding:16vh var(--pad);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,100px);margin:0 auto;display:grid}.orrery{aspect-ratio:1;justify-self:center;width:100%;max-width:560px;position:relative}.orbit-ring{border:1.5px dashed #c38f3373;border-radius:50%;position:absolute;inset:18% 2%;rotate:-14deg}.fullmoon{background:radial-gradient(circle at 36% 32%,#fffef8,#f8efd8 60%,#ecdcb4);border-radius:50%;place-items:center;animation:5s ease-in-out infinite glow;display:grid;position:absolute;inset:27%;box-shadow:0 0 0 18px #fff5dc59,0 0 120px 40px #ffe4aa99,inset -16px -20px 40px #c38f3340}.fullmoon:before{content:"";background:radial-gradient(circle at 30% 62%,#c3a06438 0 9%,#0000 10%),radial-gradient(circle at 66% 34%,#c3a06433 0 7%,#0000 8%),radial-gradient(circle at 62% 70%,#c3a06429 0 12%,#0000 13%);border-radius:50%;position:absolute;inset:0}.fullmoon-word{font:500 clamp(2.2rem, 4.4vw, 3.8rem)/1 var(--serif);color:var(--gold);letter-spacing:.1em;position:relative}.satellite{background:radial-gradient(circle at 35% 30%, #fff, var(--tone-soft) 40%, var(--tone) 100%);width:74px;height:74px;box-shadow:0 16px 30px -12px rgb(var(--tone-rgb) / .8);will-change:transform;border-radius:50%;place-items:center;margin:-37px 0 0 -37px;display:grid;position:absolute;top:50%;left:50%}.satellite b{font:600 17px/1 var(--sans);letter-spacing:.08em;color:#fff;text-shadow:0 1px 4px #00000040}.moonlight-lede{color:var(--ink-2);max-width:26em;margin:26px 0 36px;font-size:clamp(18px,1.5vw,21px)}.vows{grid-template-columns:1fr 1fr;gap:16px;display:grid}.vows div{background:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .5s var(--spring), box-shadow .4s;border-radius:22px;padding:22px 22px 20px;box-shadow:inset 0 0 0 1px #ffffffe6}.vows div:hover{transform:translateY(-6px)rotate(-.6deg);box-shadow:inset 0 0 0 1px #ffffffe6,0 24px 40px -24px #c38f33b3}.vows dt{font:500 20px/1.4 var(--serif);color:var(--gold);margin-bottom:6px}.vows dd{color:var(--ink-2);font-size:16px;line-height:1.75}.coda{padding:16vh var(--pad) 40px}.coda-line{max-width:1280px;font:500 clamp(3rem, 8.4vw, 8rem)/1.2 var(--serif);margin:0 auto 10vh}.coda-in{display:block}.coda-in:last-child{color:var(--mt);padding-left:1.4em}.coda-line .cc{display:inline-block}@media (prefers-reduced-motion:no-preference){.coda-line .cc{will-change:transform}}.coda-doors{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1280px;margin:0 auto;display:grid}.coda-door{isolation:isolate;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:color .4s, transform .5s var(--spring);background:#ffffffa8;border-radius:26px;gap:4px;padding:30px 28px 26px;text-decoration:none;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffe6}.coda-door:before{content:"";z-index:-1;aspect-ratio:1;background:var(--tone);width:260%;transition:top .7s var(--out);border-radius:50%;position:absolute;top:100%;left:50%;translate:-50%}.coda-door:hover,.coda-door:focus-visible{color:#fff;transform:translateY(-8px)}.coda-door:hover:before,.coda-door:focus-visible:before{top:-60%}.coda-door b{font:500 clamp(3rem, 5vw, 4.6rem)/1 var(--serif);color:var(--tone);transition:color .4s}.coda-door:hover b,.coda-door:focus-visible b{color:#fff}.coda-door span{font:500 20px/1.4 var(--serif)}.coda-door em{font:400 14px/1.5 var(--sans);opacity:.75;font-style:normal}.coda-foot{border-top:1px solid var(--line);max-width:1280px;font:400 14px/1.7 var(--sans);color:var(--ink-3);grid-template-columns:auto 1fr auto;align-items:center;gap:18px 36px;margin:9vh auto 0;padding-top:28px;display:grid}.coda-brand{color:var(--ink);font:500 17px/1 var(--serif);align-items:center;gap:10px;text-decoration:none;display:flex}.coda-brand img{width:36px;height:36px}.topaccount{align-items:center;display:flex}.topaccount-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font:500 13px/1.3 var(--sans);cursor:pointer;transition:background .25s, transform .3s var(--spring), box-shadow .25s;background:#ffffffb8;border:1px solid #ffffffe6;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;display:inline-flex;box-shadow:0 4px 12px -4px #1d27421a}.topaccount-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 18px -6px #c38f3359}.topaccount-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.topaccount-dot{background:var(--ink-3);border-radius:50%;width:7px;height:7px;transition:background .3s,box-shadow .3s}.topaccount-dot.is-active{background:var(--gold);box-shadow:0 0 8px var(--gold)}.topaccount-label{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.moonlight-portal-wrap{grid-column:1/-1;width:100%;margin-top:clamp(36px,6vw,64px)}.portal-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(145deg,#fffdf8eb 0%,#fff8eed9 100%);border:1px solid #fffffff2;border-radius:32px;padding:clamp(28px,4.5vw,48px);position:relative;box-shadow:0 32px 70px -30px #1d274233,inset 0 0 0 1px #c38f3326}.portal-head{margin-bottom:28px}.portal-badge{color:var(--gold);font:600 12px/1.4 var(--sans);letter-spacing:.06em;background:#c38f331f;border:1px solid #c38f3340;border-radius:999px;margin-bottom:12px;padding:4px 12px;display:inline-block}.portal-title{font:500 clamp(24px, 3.2vw, 34px)/1.2 var(--serif);color:var(--ink);margin-bottom:10px}.portal-lede{font:400 16px/1.7 var(--serif);color:var(--ink-2);max-width:36em}.portal-form{gap:20px;display:grid}.portal-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.portal-field{flex-direction:column;gap:6px;display:flex}.portal-field label{font:500 14px/1.4 var(--sans);color:var(--ink-2)}.portal-field input{color:var(--ink);font:400 16px/1.4 var(--sans);background:#ffffffd9;border:1.5px solid #1d274224;border-radius:14px;padding:14px 18px;transition:border-color .25s,box-shadow .25s,background .25s}.portal-field input:focus{border-color:var(--gold);background:#fff;outline:none;box-shadow:0 0 0 4px #c38f3326}.portal-alert{font:500 14px/1.5 var(--sans);border-radius:12px;padding:12px 18px}.portal-alert--error{color:#b91c1c;background:#fdf2f2;border:1px solid #fecaca}.portal-alert--success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.portal-alert--info{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.portal-action-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:4px;display:flex}.portal-submit-btn{color:#fff;min-width:140px;font:500 17px/1.2 var(--serif);cursor:pointer;transition:transform .4s var(--spring), box-shadow .3s, opacity .2s;background:linear-gradient(135deg,#2b223d 0%,#151020 100%);border:none;border-radius:999px;justify-content:center;align-items:center;padding:14px 32px;display:inline-flex;box-shadow:0 12px 24px -8px #15102066}.portal-submit-btn:hover:not(:disabled){color:#ffeed3;transform:translateY(-2px);box-shadow:0 16px 30px -8px #c38f3380}.portal-submit-btn:disabled{opacity:.65;cursor:not-allowed}.portal-note{font:400 13px/1.6 var(--sans);color:var(--ink-3);max-width:28em}.portal-user-top{border-bottom:1px solid #1d274214;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding-bottom:24px;display:flex}.portal-user-profile{align-items:center;gap:16px;display:flex}.portal-avatar img{border-radius:50%;width:52px;height:52px;box-shadow:0 6px 16px -4px #c38f3366}.portal-name-row{align-items:center;gap:10px;display:flex}.portal-user-nick{font:500 clamp(20px, 2.5vw, 26px)/1.2 var(--serif);color:var(--ink)}.portal-role-pill{color:var(--gold);font:600 12px/1.2 var(--sans);background:#c38f3326;border-radius:999px;padding:3px 10px;display:inline-block}.portal-user-subline{font:400 14px/1.6 var(--sans);color:var(--ink-3);margin-top:4px}.portal-sep{opacity:.5;margin:0 4px}.portal-logout-btn{color:var(--ink-2);font:500 13px/1.2 var(--sans);cursor:pointer;background:0 0;border:1px solid #1d274229;border-radius:999px;padding:8px 18px;transition:background .25s,color .25s,border-color .25s}.portal-logout-btn:hover{color:#b91c1c;background:#fff;border-color:#fca5a5}.portal-board{background:linear-gradient(135deg,#fffffff2,#fffaf0e6);border:1px solid #ffffffe6;border-radius:22px;grid-template-columns:1fr auto;align-items:center;gap:24px;margin-bottom:28px;padding:28px 32px;display:grid;box-shadow:0 16px 36px -16px #c38f3333,inset 0 0 0 1px #c38f331a}.portal-stat-label{font:500 14px/1 var(--sans);color:var(--ink-2);margin-bottom:8px;display:block}.portal-credits-display{align-items:baseline;gap:12px;display:flex}.portal-credits-num{font:600 clamp(38px, 5vw, 56px)/1 var(--serif);color:var(--gold);text-shadow:0 2px 14px #c38f3340}.portal-credits-tag{font:500 16px/1.2 var(--serif);color:var(--ink-2)}.portal-stat-aside{align-items:center;gap:24px;display:flex}.portal-stat-frozen{text-align:right}.portal-frozen-label{font:400 12px/1 var(--sans);color:var(--ink-3);margin-bottom:4px;display:block}.portal-frozen-val{font:500 18px/1 var(--sans);color:var(--ink-2)}.portal-refresh-btn{color:var(--gold);font:500 14px/1 var(--sans);cursor:pointer;background:#ffffffd9;border:1px solid #c38f334d;border-radius:999px;align-items:center;gap:6px;padding:10px 18px;transition:background .25s,transform .25s,box-shadow .25s;display:inline-flex}.portal-refresh-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 6px 16px -4px #c38f334d}.portal-refresh-btn.is-spinning svg{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.portal-history-section{background:#fff9;border:1px solid #fffc;border-radius:20px;margin-bottom:28px;padding:24px}.portal-history-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.portal-history-header h4{font:500 18px/1.3 var(--serif);color:var(--ink);margin:0}.portal-sync-status{font:400 12px/1 var(--sans);color:var(--ink-3)}.portal-history-list{scrollbar-width:thin;flex-direction:column;gap:10px;max-height:280px;display:flex;overflow-y:auto}.tx-item{background:#ffffffb3;border:1px solid #ffffffe6;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:12px 16px;font-size:14px;display:grid}.tx-main{flex-direction:column;gap:2px;display:flex}.tx-type{font:500 14px/1.2 var(--sans);color:var(--ink)}.tx-time{font:400 11px/1.2 var(--sans);color:var(--ink-3)}.tx-desc{font:400 13px/1.4 var(--sans);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tx-amounts{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.tx-amt{font:600 15px/1.2 var(--sans)}.tx-income{color:#16a34a}.tx-expense{color:#ea580c}.tx-bal{font:400 11px/1.2 var(--sans);color:var(--ink-3)}.portal-empty{color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:36px 0;font-size:14px;display:flex}.portal-subdoors{margin-top:10px}.portal-subdoors-tip{font:400 13px/1 var(--sans);color:var(--ink-3);margin-bottom:10px;display:block}.portal-subdoors-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.portal-subdoor{color:var(--ink);transition:transform .3s var(--spring), box-shadow .25s, color .25s;background:#ffffffbf;border:1px solid #ffffffe6;border-radius:16px;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.portal-subdoor:hover{box-shadow:0 8px 18px -6px rgb(var(--tone-rgb) / .4);transform:translateY(-2px)}.portal-subdoor b{font:600 16px/1 var(--sans);color:var(--tone)}.portal-subdoor span{font:400 12px/1.3 var(--sans);color:var(--ink-2)}@media (max-width:1080px){.topnav,.version-switcher-label{display:none}}@media (max-width:860px){body{font-size:17px}.topbar{gap:10px;padding:12px 16px}.brand-latin{display:none}.brand-emblem{width:34px;height:34px}.topdoor{padding:6px 9px;font-size:12px}.version-switcher a{width:22px;height:22px;font-size:12px}.hero{align-items:start;padding:100px 20px}.hero-verse{margin-top:40px}.phases{flex-direction:column;align-items:stretch}.chapter,.moonlight,.compass-body{grid-template-columns:1fr}.chapter{gap:20px;min-height:0;margin-bottom:14vh}.chapter--flip .chapter-art{order:0}.chapter--flip .chapter-copy{justify-self:start}.chapter-art{max-width:380px}.compass-head{grid-template-columns:1fr;gap:16px;margin-bottom:36px}.compass-head p{justify-self:start}.wishes{grid-template-columns:1fr}.answer{min-height:320px}.orrery{max-width:380px}.vows,.coda-doors,.coda-foot{grid-template-columns:1fr}.satellite{width:58px;height:58px;margin:-29px 0 0 -29px}.portal-fields{grid-template-columns:1fr}.portal-board{grid-template-columns:1fr;gap:20px;padding:22px 20px}.portal-stat-aside{justify-content:space-between}.portal-subdoors-grid{grid-template-columns:1fr}.tx-item{grid-template-columns:1fr auto;gap:8px}.tx-desc{order:3;grid-column:1/-1}.topaccount-label{max-width:130px;font-size:12px}}@media (max-width:520px){.topdoors{display:none}.ribbon{rotate:-3deg}.topaccount-btn{padding:5px 10px;font-size:11px}.topaccount-label{max-width:90px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.prologue-text .pc{opacity:1}}
