:root{--serif:'Reenie Beanie',cursive}
.entry-center>p:first-child{font-family:'Reenie Beanie',cursive;letter-spacing:0;font-size:clamp(63px,7vw,98px);line-height:.88}.entry-subtitle{font-size:10px;letter-spacing:.1em}.entry-coordinate{font-size:6px;letter-spacing:.36em;color:#ac8d8f}.line{letter-spacing:0;line-height:1.05}.line em{font-style:normal}.words:not(.film-words) .line{font-size:clamp(53px,6.5vw,92px)}body[data-world=encuentro]{--scene:'Zen Old Mincho',Georgia,serif}body[data-world=encuentro] .film-words .line{font-size:clamp(27px,3.2vw,44px);line-height:1.35}.words.final-frame{opacity:0;pointer-events:none}.finale{position:fixed;z-index:12;left:12%;right:12%;top:50%;translate:0 -50%;display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:8%;max-width:1120px;margin:auto;animation:keepsake-in 2s both}.finale-dedication{position:relative}.finale-intro{display:block;font-family:'Reenie Beanie',cursive;font-size:36px;color:#d6c5c4;rotate:-4deg;transform-origin:left}.netzi-sign{width:min(100%,440px);height:auto;display:block;margin:-4px 0 -3px -12px;filter:drop-shadow(0 0 25px #e6b6bb10)}.finale-dedication>p{font-family:'Reenie Beanie',cursive;font-size:47px;line-height:1.05;color:#f1d9d7;margin:9px 0 25px;rotate:-2deg;transform-origin:left}.finale-future{font-family:var(--sans);font-size:9px;line-height:1.9;color:#c7b6bf;display:block;max-width:240px}.finale .last-actions{display:flex;flex-direction:column;align-items:center;gap:27px}.envelope{display:block;position:relative;width:min(100%,278px);height:auto;aspect-ratio:280/174;padding:0;rotate:-6deg;filter:drop-shadow(0 18px 35px #0007);transition:rotate 1s ease,transform 1s ease;isolation:isolate}.envelope:hover,.envelope:focus-visible{rotate:-1deg;transform:translateY(-7px)}.envelope-paper{display:block;width:100%;height:100%;stroke-linejoin:round;stroke-width:1}.envelope-address{position:absolute;left:14%;bottom:17%;font-family:'Reenie Beanie',cursive;font-size:30px;color:#382831;line-height:.85;text-align:left;rotate:2deg}.wax-seal{position:absolute;left:44%;top:41%;width:43px;height:42px;display:grid;place-items:center;color:#e7b4b5;font-family:'Reenie Beanie',cursive;font-size:29px;line-height:1;background:radial-gradient(ellipse at 32% 25%,#9e5861,#612f3e 62%,#492335);border-radius:47% 53% 51% 49%/52% 44% 56% 48%;box-shadow:inset 0 0 0 3px #8e4c5c,inset 0 0 0 4px #d58c9b44,0 4px 6px #36252a88;transition:box-shadow .5s}.envelope:hover .wax-seal{box-shadow:inset 0 0 0 3px #a05e6c,inset 0 0 0 4px #e9b1bb66,0 4px 10px #36252a88}.envelope-invitation{position:absolute;bottom:111%;right:1%;font-family:'Reenie Beanie',cursive;font-size:27px;line-height:1;color:#d5b3bf;rotate:9deg;white-space:nowrap}.envelope-invitation:after{content:'↘';display:inline-block;translate:6px 14px;rotate:5deg;font-size:31px}.replay-note{font-family:'Reenie Beanie',cursive;font-size:25px;color:#b69ba9;min-height:44px;display:flex;align-items:center;gap:10px;rotate:2deg;transition:color .3s}.replay-note>span{font-size:27px}.replay-note:hover{color:#f0ccd9}.languages{gap:14px 25px;bottom:18%}.languages button{position:relative;min-width:0;min-height:48px;padding:7px 12px;border:0;border-radius:0;background:none;font-family:'Reenie Beanie',cursive;font-size:30px;line-height:1.2;color:#d9b7c8;rotate:-3deg;box-shadow:none}.languages button:nth-child(2){rotate:2deg;translate:0 12px}.languages button:nth-child(3){rotate:-1deg;translate:0 -5px}.languages button:nth-child(4){rotate:4deg;translate:0 8px}.languages button:nth-child(5){rotate:-4deg}.languages button:before{content:'';position:absolute;inset:0 -4px;border:1px solid #d6a4ba40;border-radius:43% 57% 49% 51%/62% 46% 54% 38%;opacity:0;transform:rotate(-5deg) scale(1.08);transition:opacity .4s}.languages button:hover,.languages button[aria-pressed=true]{background:none;box-shadow:none;color:#fff;transform:translateY(-2px)}.languages button[aria-pressed=true]:before,.languages button:hover:before{opacity:1}.languages button[lang=ja],.languages button[lang=ko]{font-size:17px;font-family:'Yu Mincho','Malgun Gothic',serif;font-weight:400;line-height:1.8}.letter h1,.letter-signature{font-family:'Reenie Beanie',cursive}.letter h1{font-size:72px;rotate:-3deg;transform-origin:left}.letter-ending em{font-family:'Reenie Beanie',cursive;font-size:42px;font-style:normal}.letter p.letter-ending{font-family:var(--sans);font-size:13px;line-height:2}.letter-signature{font-size:34px}.save-memory{border:0;position:relative;justify-content:flex-start;gap:15px;color:#dab7c5;font-family:'Reenie Beanie',cursive;font-size:25px;padding:12px 0;rotate:-2deg;width:fit-content}.save-memory:after{content:'';position:absolute;left:0;right:-6px;bottom:7px;height:5px;border-bottom:1px solid #bb8b9f65;border-radius:50%}.credits h2,.secret-body h2{font-family:'Reenie Beanie',cursive;font-size:48px}.secret-body blockquote{font-family:'Reenie Beanie',cursive;font-style:normal;font-size:35px;line-height:1}.memory-counter{font-family:'Reenie Beanie',cursive;font-size:18px;letter-spacing:.1em}.frame-count{opacity:.65}
@keyframes keepsake-in{from{opacity:0;filter:blur(8px);translate:0 calc(-50% + 8px)}to{opacity:1;filter:blur(0);translate:0 -50%}}
@media(max-width:700px){.entry-center>p:first-child{font-size:65px}.words:not(.film-words) .line{font-size:53px}body[data-world=encuentro] .film-words .line{font-size:25px}.finale{left:12%;right:12%;top:45%;display:flex;flex-direction:column;gap:38px;align-items:center}.finale-dedication{width:100%;max-width:285px}.finale-intro{font-size:30px}.netzi-sign{width:260px;margin:-6px 0 -10px -6px}.finale-dedication>p{font-size:39px;line-height:1;margin:0 0 15px}.finale-future{font-size:8px;max-width:230px;line-height:1.8}.finale .last-actions{gap:8px;width:100%;align-items:flex-end}.envelope{width:170px;align-self:flex-end;margin:0 6px 0 0}.envelope-invitation{font-size:24px;right:40%;bottom:90%;rotate:-9deg}.envelope-address{font-size:24px}.wax-seal{width:29px;height:29px;font-size:23px;box-shadow:inset 0 0 0 2px #8e4c5c,inset 0 0 0 3px #d58c9b44,0 3px 4px #36252a88}.replay-note{font-size:21px;align-self:flex-start;margin-top:-39px;margin-left:2px}.languages{bottom:21%;gap:13px 10px}.languages button{font-size:26px;padding:5px 8px;min-height:40px}.languages button[lang=ja],.languages button[lang=ko]{font-size:14px}.letter h1{font-size:64px}.letter-ending em{font-size:38px}.letter-signature{font-size:29px}.save-memory{font-size:23px}.secret-body h2,.credits h2{font-size:43px}.secret-body blockquote{font-size:31px}.memory-counter{font-size:15px}}
@media(orientation:landscape) and (max-height:580px){.entry-center>p:first-child{font-size:56px}.words:not(.film-words) .line{font-size:49px}.finale{display:grid;grid-template-columns:1.45fr 1fr;gap:10%;left:16%;right:12%;top:48%}.finale-intro{font-size:27px}.netzi-sign{width:250px;margin:-9px 0 -14px -6px}.finale-dedication>p{font-size:36px;margin:0 0 13px}.finale-future{font-size:7px;max-width:210px}.finale .last-actions{gap:10px;align-items:center}.envelope{width:170px;align-self:center;margin:0}.envelope-invitation{font-size:23px;right:2%;bottom:112%;rotate:7deg}.envelope-address{font-size:23px}.wax-seal{width:29px;height:29px;font-size:22px}.replay-note{font-size:22px;align-self:center;margin:0}.languages{bottom:20%;gap:12px}.languages button{font-size:26px;padding:5px 8px;min-height:34px}.languages button[lang=ja],.languages button[lang=ko]{font-size:14px}.letter h1{font-size:60px}.secret-body h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.finale{animation:none}.envelope{transition:none}}
body[data-world=recuerdos] .words .line{font-size:clamp(32px,3.7vw,48px);line-height:1.08}
@media(max-width:700px){body[data-world=recuerdos] .words .line{font-size:32px}}
@media(orientation:landscape) and (max-height:580px){body[data-world=recuerdos] .words .line{font-size:29px}}
