:root{--ink:#35356f;--muted:#73749c;--paper:#fffdf6;--lavender:#deddf5;--blue:#8d9bdb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#e0dff4;font-family:Georgia,'Times New Roman',serif}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #6167b8;outline-offset:6px}button{border:0}a{color:inherit}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}[hidden]{display:none!important}main{overflow:hidden;background:radial-gradient(ellipse at 10% 40%,#f6eef6a8,transparent 48%),radial-gradient(ellipse at 95% 60%,#c8d8f078,transparent 45%)}.section-width{width:min(1080px,calc(100% - 100px));margin-inline:auto}.handwritten{font-family:'Segoe Print','Bradley Hand',Georgia,serif;font-style:italic;letter-spacing:.025em}.hero{position:relative;height:735px;display:flex;justify-content:center;text-align:center;isolation:isolate}.hero-art{position:absolute;inset:0;z-index:-2;background:#bec3f0 url('assets/sky.png') center 55%/cover no-repeat}.hero:after{content:'';position:absolute;bottom:-1px;inset-inline:0;height:155px;background:linear-gradient(transparent,#deddf5);z-index:-1}.hero-content{padding-top:46px}h1{font-size:clamp(64px,7.8vw,112px);font-weight:400;font-style:italic;line-height:1.05;letter-spacing:-.055em;text-shadow:0 2px 25px #fefbff80}.intro{font-size:20px;margin-top:12px}.envelope{display:block;position:relative;width:450px;height:330px;margin:36px auto 0;padding:0;background:none;isolation:isolate;transition:transform .2s}.envelope:hover{transform:translateY(-5px) rotate(-1deg)}.envelope>img{position:relative;width:100%;height:100%;object-fit:contain;z-index:2;filter:drop-shadow(0 15px 13px #50517b38)}.peeking-paper{position:absolute;inset:40px 65px 55px;padding:35px 15px;background:#fffdf7;border:1px solid #c8c5dc;z-index:1;transition:transform .35s;opacity:0;font-size:19px}.envelope.opening .peeking-paper{opacity:1;transform:translateY(-65px)}.envelope.opening{transform:translateY(8px)}.envelope-hint{font-size:17px;margin-top:5px}.envelope-hint span{display:inline-block;font-size:32px;margin-left:9px;transform:translateY(-8px)}.scroll-note{position:absolute;bottom:48px;font:11px/1.5 monospace;letter-spacing:.1em;text-decoration:none;color:#575582}.scroll-note span{display:block;font-size:19px;margin-top:6px}.gallery{padding-top:33px}.gallery h2{text-align:center;font-weight:400;font-size:clamp(25px,3vw,39px);margin-bottom:50px;letter-spacing:-.02em}.gallery-wrap{position:relative}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.photo-card{background:#fffdf7;padding:13px 13px 0;box-shadow:2px 6px 13px #41416825;transform:rotate(-2.5deg);margin:0;transition:transform .22s}.photo-card:nth-child(2){transform:rotate(1deg) translateY(7px)}.photo-card:nth-child(3){transform:rotate(2deg)}.photo-card:hover{transform:translateY(-5px) rotate(0deg)}.placeholder-picture{height:350px;position:relative;overflow:hidden;background:#aeb8e6}.placeholder-picture>img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.photo-label{position:absolute;inset:0;display:grid;place-items:center}.photo-label span{display:block;background:#fffcf0ec;padding:16px 20px;font-style:italic;font-size:14px;line-height:1.5;text-align:center;max-width:150px;box-shadow:1px 3px 7px #36304e15;transform:rotate(-5deg)}figcaption{font-size:20px;text-align:center;padding:20px 4px 23px;font-style:italic}.round-arrow{position:absolute;top:43%;z-index:4;width:42px;height:42px;border-radius:50%;background:#fffdfb;box-shadow:0 3px 10px #41416826;font:34px/1 Georgia;display:grid;place-items:center;padding:0 0 4px;transition:background .15s,transform .15s}.round-arrow:hover{background:#ecebff;transform:scale(1.08)}.previous{left:-30px}.next{right:-30px}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:32px;padding-inline:8px}.quiet{color:var(--muted);font-size:14px}.pagination{display:flex;justify-content:center;gap:9px}.pagination button{width:9px;height:9px;padding:0;border-radius:50%;background:#b7b6da;box-shadow:0 0 0 6px transparent}.pagination button[aria-current="true"]{background:#515390}.pagination button:hover{background:#7e7cb2}.warmth{display:grid;grid-template-columns:1.05fr 1fr;gap:68px;align-items:center;margin-top:110px;margin-bottom:105px}.monkey-picture{position:relative;background:var(--paper);padding:15px 15px 21px;box-shadow:2px 7px 15px #35356825;transform:rotate(-2deg)}.monkey-picture>img{height:430px;width:100%;object-fit:cover}.tape{position:absolute;width:100px;height:29px;background:#b5c4e48c;top:-13px;left:36%;transform:rotate(6deg);z-index:2}.monkey-pagination{padding-top:19px;transform:rotate(2deg)}.warmth-right{padding-top:0}.paper-note{background:radial-gradient(ellipse at top left,#ffffff80,transparent),#fffdf6;padding:38px 34px 33px;box-shadow:2px 5px 12px #43406914;transform:rotate(1.5deg);position:relative}.paper-note:before,.paper-note:after{content:'';position:absolute;inset:-3px 0 auto;height:7px;background:linear-gradient(135deg,transparent 40%,#fffdf6 40%) 0 0/12px 8px repeat-x}.paper-note:after{inset:auto 0 -3px;transform:rotate(180deg)}.paper-note>p:first-child{font-size:clamp(22px,2.5vw,31px);font-style:italic;line-height:1.45}.note-small{font-size:20px;line-height:1.6;font-style:italic;margin-top:24px}.monkey-control{display:flex;justify-content:center;align-items:center;margin-top:25px;gap:20px}.pixel-monkey{background:none;padding:0;mix-blend-mode:multiply;width:130px;transition:transform .18s}.pixel-monkey img{width:100%;image-rendering:pixelated}.pixel-monkey:hover{transform:rotate(-5deg) translateY(-4px)}.pixel-monkey:active{transform:scale(.91)}.monkey-hint{font-size:17px;line-height:1.5;transform:rotate(-7deg)}.monkey-hint>span{font-size:28px}.music{padding-bottom:100px}.player-window{position:relative;border:4px double #7c8fd2;background:#dfe7ff;box-shadow:0 0 0 4px #c9d5f4,5px 8px 0 #747eb132,0 12px 26px #56538218;padding:5px;border-radius:5px}.pixel-bow{position:absolute;top:-24px;left:calc(50% - 25px);font:bold 46px/1 monospace;color:#7185c9;text-shadow:2px 2px #fff;z-index:2}.player-title{font:15px/1.2 monospace;letter-spacing:1.5px;display:flex;justify-content:space-between;align-items:center;padding:10px 14px 13px;background:linear-gradient(90deg,#becdf5,#e6ecff);border-bottom:3px double #9ba9dc}.player-title button{padding:0;background:transparent;font-size:18px;line-height:1}.player-content{display:grid;grid-template-columns:1.05fr 1fr;min-height:275px}.turntable{overflow:hidden;border-right:3px double #8d9bd0}.turntable img{width:100%;height:100%;object-fit:cover;min-height:275px;max-height:320px;image-rendering:auto}.music-controls{padding:27px 28px;display:flex;flex-direction:column;justify-content:center}.album-info{display:flex;align-items:center;gap:22px}.album-cover{width:120px;aspect-ratio:1;object-fit:cover;border-radius:2px;box-shadow:0 3px 5px #31315f30}.artist{font-size:16px}.album-info h3{font-size:34px;font-weight:400;margin:6px 0 9px}.now-playing{font:10px monospace;letter-spacing:.02em;color:#6b719a;display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport{display:flex;align-items:center;gap:15px;margin-top:24px}.play-button{background:#e8ecff;border:2px solid #8999d1;box-shadow:2px 3px 0 #9ba9d0;width:43px;height:40px;font:18px monospace;flex-shrink:0}.play-button:hover{background:#c7d4fc}.listen-label{font:12px monospace;color:#5c6196}.small-button{background:none;font-size:25px;margin-left:auto}.music-settings,.streaming{border-top:2px double #9caada;padding:21px 23px;font:13px/1.7 Georgia}.music-settings p{color:#656992;margin:10px 0}.upload-label{display:inline-block;cursor:pointer;background:#f2f3ff;border:1px solid #9da9d4;padding:8px 12px}.upload-label input{display:block;max-width:230px;margin-top:10px;font-size:11px}.streaming-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.streaming-top button{background:none;font-size:28px}.streaming iframe{border:0;border-radius:8px;width:100%;height:352px}.streaming>p{margin-top:12px;color:#656992}.local-controls{margin-top:20px}.local-controls>input{width:100%}input[type=range]{accent-color:#7c83bc;cursor:pointer}.audio-bottom{display:flex;justify-content:space-between;align-items:center;font:10px monospace;color:#666b94;margin-top:6px}.audio-bottom label{display:flex;gap:5px;align-items:center}.audio-bottom input{width:70px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{height:270px;position:relative;background:linear-gradient(#deddf5,transparent 75%),url('assets/sky.png') center 83%/cover no-repeat}.footer-inner{max-width:1080px;margin:auto;position:relative;height:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:0 35px 30px}.footer-inner>p{font-size:17px;line-height:1.5;text-shadow:0 1px 6px #fff}.anime-stamp{background:var(--paper);padding:6px;margin:0;transform:rotate(7deg);box-shadow:0 4px 9px #44416d22;width:115px}.anime-stamp img{height:120px;width:100%;object-fit:cover;object-position:50% 18%}.anime-stamp figcaption{font-size:11px;padding:8px 0 2px}dialog{border:0;padding:0;width:min(700px,calc(100% - 36px));max-height:87dvh;overflow:auto;background:#fffdf5;color:var(--ink);box-shadow:0 20px 100px #20203a42;transform:rotate(-.4deg)}dialog::backdrop{background:#37325a77;backdrop-filter:blur(7px)}dialog[open]{animation:letter-appear .22s ease-out}.close-letter{position:sticky;top:14px;float:right;width:36px;height:36px;background:#e6e5f5;border-radius:50%;font-size:27px;line-height:1;margin:15px 17px -51px 0;z-index:3}.letter-paper{padding:65px 64px 50px;background:radial-gradient(ellipse at bottom right,#ece7df77,transparent 65%)}.letter-eyebrow{font:10px monospace;text-transform:uppercase;letter-spacing:.2em;color:#89849b}.letter-paper h2{font-size:40px;font-weight:400;font-style:italic;margin:22px 0 30px}.letter-paper p{font-size:18px;line-height:1.85;margin-top:18px}.letter-paper .letter-signature{font-size:21px;margin-top:32px}.letter-rule{height:1px;background:#d8d2e0;width:55px;margin-top:35px}.letter-paper .draft-note{font-size:12px;line-height:1.6;color:#938b9b;margin-top:17px}@keyframes letter-appear{from{opacity:0;transform:translateY(25px) rotate(-.4deg)}to{opacity:1;transform:translateY(0) rotate(-.4deg)}}@media(min-width:1500px){.hero{height:785px}.hero-content{padding-top:70px}}@media(max-width:900px){.section-width{width:calc(100% - 68px)}.hero{height:670px}.hero-content{padding-top:52px}.envelope{width:390px;height:290px}.photo-grid{gap:17px}.placeholder-picture{height:280px}.photo-card{padding:9px 9px 0}figcaption{font-size:16px;padding:17px 0}.photo-label span{font-size:12px;padding:12px;max-width:130px}.warmth{gap:30px;margin-top:90px;margin-bottom:90px}.monkey-picture>img{height:350px}.paper-note{padding:25px 24px}.note-small{font-size:17px}.pixel-monkey{width:100px}.music-controls{padding:20px}.album-cover{width:85px}.album-info{gap:13px}.album-info h3{font-size:28px}.player-content,.turntable img{min-height:235px}.listen-label{font-size:10px}.transport{gap:10px}footer{height:230px}}@media(max-width:600px){.section-width{width:calc(100% - 44px)}.hero{height:575px}.hero-art{background-position:center center}.hero-content{padding-top:48px}h1{font-size:70px}.intro{font-size:16px}.envelope{width:320px;max-width:90vw;height:240px;margin-top:27px}.envelope-hint{font-size:14px}.scroll-note{bottom:34px}.gallery{padding-top:20px}.gallery h2{font-size:28px;line-height:1.25;margin-bottom:33px;padding:0 15px}.photo-grid{display:block}.photo-card{display:none;max-width:330px;width:calc(100% - 28px);margin:auto;padding:12px 12px 0;transform:rotate(-2deg)}.photo-card:first-child{display:block}.placeholder-picture{height:340px}.photo-label span{font-size:14px;padding:15px}.photo-card figcaption{font-size:21px;padding:20px 4px}.previous{left:-8px}.next{right:-8px}.gallery-bottom{margin-top:28px;gap:15px;flex-direction:column}.quiet{font-size:13px}.warmth{grid-template-columns:1fr;gap:36px;margin-top:83px;margin-bottom:80px;width:calc(100% - 68px)}.monkey-picture{max-width:380px;margin:auto;width:100%}.monkey-picture>img{height:340px}.warmth-right{max-width:380px;margin:auto;width:100%}.paper-note{padding:29px}.paper-note>p:first-child{font-size:26px}.note-small{font-size:19px}.monkey-control{margin-top:20px}.pixel-monkey{width:115px}.monkey-hint{font-size:16px}.music{padding-bottom:70px}.player-content{grid-template-columns:1fr}.turntable{border-right:0;border-bottom:3px double #8d9bd0;height:205px}.turntable img{min-height:0;height:100%;object-position:center 64%}.music-controls{padding:24px}.album-cover{width:100px}.album-info{gap:24px}.album-info h3{font-size:33px}.transport{margin-top:23px}.listen-label{font-size:12px}.player-title{font-size:13px}.music-settings,.streaming{padding:17px}.letter-paper{padding:62px 28px 35px}.letter-paper h2{font-size:31px}.letter-paper p{font-size:17px;line-height:1.75}.letter-paper .letter-signature{font-size:19px}footer{height:220px}.footer-inner{padding:0 26px 20px}.footer-inner>p{font-size:14px}.anime-stamp{width:92px}.anime-stamp img{height:100px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Music window: compact proportions and lavender stationery chrome. */
.warmth{margin-bottom:61px}.music{padding-bottom:42px}
.player-window{padding:7px;border:3px solid #91a4e4;border-radius:12px;background:linear-gradient(135deg,#d4e0ff,#b9cbf3);box-shadow:inset 0 0 0 2px #f0f5ff,inset 0 0 0 5px #a7b9ed,0 0 0 2px #dde6ff,0 0 0 4px #9baee6,0 5px 0 4px #8da0d232,0 10px 18px #595b911f}
.player-window:before,.player-window:after{content:'';position:absolute;top:5px;width:15px;height:15px;border-top:1px solid #f9fbff;pointer-events:none}.player-window:before{left:5px;border-left:1px solid #f9fbff;border-radius:7px 0 0}.player-window:after{right:5px;border-right:1px solid #f9fbff;border-radius:0 7px 0 0}
.pixel-bow{width:79px;height:39px;left:calc(50% - 39.5px);top:-23px;font-size:0;filter:drop-shadow(0 2px 1px #57699f35)}.pixel-bow svg{width:100%;height:100%;overflow:visible}
.player-title{padding:7px 11px 10px;background:transparent;min-height:36px;font-size:17px;letter-spacing:1px;border:0;color:#40498f;text-shadow:1px 1px #eef4ff}.window-tools{display:flex;align-items:center;gap:10px}.window-tools>button{font-size:17px;width:22px;height:24px;display:grid;place-items:center}.window-decoration{display:flex;gap:5px}.window-decoration i{font:23px/1 monospace;font-style:normal;display:grid;place-items:center;width:23px;height:23px;background:#e7edff;border:1px solid #7d90cc;border-radius:2px;box-shadow:inset 1px 1px 0 #fff,1px 1px 0 #b2bfe4}
.player-content{grid-template-columns:1fr 1fr;min-height:0;border:3px double #889bd6;background:#dce5ff;border-radius:2px;overflow:hidden}.turntable{border-right:3px double #8fa0d8;height:252px;min-height:0}.turntable img{height:100%;width:100%;min-height:0;max-height:none;object-fit:cover;object-position:50% 62%;image-rendering:auto}
.music-controls{display:grid;grid-template-columns:36% 1fr;gap:23px;padding:18px 20px;align-items:center;min-width:0;background:linear-gradient(120deg,#e5eaff,#d7e2fc)}.music-controls>.album-cover{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #929bc030,0 3px 4px #45456e38}.track-panel{min-width:0}.track-panel .artist{font-size:18px;line-height:1.2}.track-panel h3{font-size:37px;line-height:1.15;font-weight:400;letter-spacing:-.02em;margin-top:5px}.now-playing{display:none}.local-controls{margin-top:22px}.local-controls>input{display:block;width:100%;margin:0}.transport{gap:13px;margin-top:14px;justify-content:space-between;align-items:center}.transport button{display:grid;place-items:center;padding:0;flex-shrink:0}.transport svg{display:block;width:23px;height:23px;fill:currentColor}.track-button{width:25px;height:36px;background:none;color:#424d9d}.track-button:hover{color:#707fd1}.play-button{width:51px;height:51px;border-radius:50%;border:1.5px solid #8e9ed5;background:#e3eaff;box-shadow:inset 0 1px 0 #f9fbff;color:#414d9e}.play-button svg{width:29px;height:29px}.play-button:hover{background:#cbd8fa;box-shadow:0 0 0 4px #c3d0f770}.volume-control{display:flex;align-items:center;gap:7px;min-width:35px;max-width:92px;flex:1;margin-left:1px;color:#4b579e}.volume-control svg{width:20px;height:20px;flex-shrink:0;fill:currentColor}.volume-control input{min-width:0;width:100%;margin:0}.local-controls input,.volume-control input{appearance:none;-webkit-appearance:none;background:transparent;height:16px}.local-controls input::-webkit-slider-runnable-track,.volume-control input::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:#8c9add;box-shadow:0 1px #edf1ff}.local-controls input::-moz-range-track,.volume-control input::-moz-range-track{height:3px;border-radius:3px;background:#8c9add}.local-controls input::-webkit-slider-thumb,.volume-control input::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:-3.5px;background:#8396d8;border:1px solid #677cba;border-radius:50%;box-shadow:inset 1px 1px #aab8ef}.local-controls input::-moz-range-thumb,.volume-control input::-moz-range-thumb{width:9px;height:9px;background:#8396d8;border:1px solid #677cba;border-radius:50%}.local-controls input:disabled,.volume-control input:disabled{opacity:.72;cursor:default}
@media(max-width:1050px) and (min-width:601px){.music-controls{grid-template-columns:33% 1fr;gap:16px;padding:17px}.track-panel .artist{font-size:16px}.track-panel h3{font-size:31px}.transport{gap:8px}.play-button{width:43px;height:43px}.volume-control{max-width:54px;gap:3px}.volume-control svg{width:17px}.turntable{height:232px}}
@media(max-width:760px) and (min-width:601px){.music-controls{gap:11px;padding:13px}.track-panel h3{font-size:27px}.track-panel .artist{font-size:14px}.transport{gap:5px}.transport svg{width:18px}.play-button{width:37px;height:37px}.volume-control{display:none}.local-controls{margin-top:16px}.turntable{height:210px}.window-decoration i{width:20px;height:20px;font-size:20px}}
@media(max-width:600px){.warmth{margin-bottom:58px}.music{padding-bottom:35px}.player-content{grid-template-columns:1fr}.player-title{font-size:14px;padding-inline:8px}.window-tools{gap:5px}.window-decoration{gap:3px}.window-decoration i{width:20px;height:20px;font-size:20px}.pixel-bow{width:67px;height:34px;left:calc(50% - 33.5px);top:-20px}.turntable{height:178px;border-right:0;border-bottom:3px double #8fa0d8}.turntable img{object-position:50% 66%}.music-controls{grid-template-columns:33% 1fr;padding:21px 15px;gap:17px}.track-panel .artist{font-size:15px}.track-panel h3{font-size:31px}.local-controls{margin-top:15px}.transport{gap:9px;margin-top:12px}.play-button{width:43px;height:43px}.play-button svg{width:25px;height:25px}.track-button{width:21px}.track-button svg{width:20px}.volume-control{max-width:65px;gap:4px}.volume-control svg{width:17px}footer{height:200px}}
@media(max-width:375px){.volume-control{display:none}.music-controls{gap:13px}.track-panel h3{font-size:28px}}

/* Continuous cloud scenery and an illustrated character on the footer ledge. */
main{background:#dce1f7 url('assets/clouds.png') center top / max(100%, 1200px) auto repeat-y}
.hero-art{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 56%,rgba(0,0,0,.72) 71%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 56%,rgba(0,0,0,.72) 71%,transparent 100%)}
.hero:after{content:none}
footer{background:none;isolation:isolate}
footer:before{content:'';position:absolute;inset:-35px 0 0;z-index:-1;background:url('assets/sky.png') center 79% / cover no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 64%);mask-image:linear-gradient(to bottom,transparent,#000 64%)}
.footer-inner{position:relative;display:block;padding:0;height:100%;max-width:1080px;margin:auto}
.footer-rei{position:absolute;right:9%;bottom:24px;width:250px;height:210px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 2px 2px #444a7d1f)}
.footer-ledge{position:absolute;bottom:0;left:0;right:0;height:29px;z-index:3;border-top:2px solid #4f659c;box-shadow:inset 0 2px 0 #a0b7dd,inset 0 -2px 0 #536da6;background-color:#7188bf;background-image:linear-gradient(to bottom,transparent 13px,#516ba4 13px,#516ba4 15px,transparent 15px),repeating-linear-gradient(to right,transparent 0,transparent 68px,#50689e 68px,#50689e 70px);background-size:100% 100%,140px 100%}
@media(max-width:900px){.footer-rei{right:8%;width:225px;height:190px}}
@media(max-width:600px){main{background-size:850px auto}.footer-rei{width:190px;height:165px;right:9%;bottom:23px}footer:before{background-position:center 83%}.footer-ledge{height:27px}}

/* Every moving envelope surface uses the original photograph and its traced outline. */
.envelope{perspective:1200px;z-index:5;overflow:visible;transition:transform .48s cubic-bezier(.22,.6,.25,1)}
.envelope>img.envelope-closed{position:absolute;inset:0;z-index:9;transition:opacity .1s;pointer-events:none}
.envelope.opening .envelope-closed{opacity:0}
.envelope.opening,.envelope.opening:disabled:hover{transform:translateY(140px)}
.envelope-stage{position:absolute;left:0;right:0;top:50%;aspect-ratio:3/2;transform:translateY(-50%);opacity:0;pointer-events:none;isolation:isolate;perspective:1200px}
.envelope.opening .envelope-stage{opacity:1}
.envelope-stage>svg,.original-envelope-flap{position:absolute;inset:0;width:100%;height:100%;overflow:visible;display:block}
.original-envelope-back{z-index:0}.original-envelope-pocket{z-index:4}
.letter-chamber{position:absolute;left:8.4%;right:8.4%;bottom:13%;height:calc(74% + 260px);overflow:hidden;z-index:3}
.envelope .peeking-paper{position:absolute;inset:auto 11% 8px;height:calc(100% - 270px);padding:23px 19px;text-align:left;display:block;opacity:0;z-index:1;font-size:14px;line-height:1.5;transform:translateY(50px);transition:none;background:linear-gradient(135deg,#fffef9,#f8f5ee);border:1px solid #d7d1e1;box-shadow:0 3px 8px #54567520}
.envelope.opening .peeking-paper{opacity:0;transform:translateY(50px)}.envelope.letter-out .peeking-paper{opacity:1}
.peeking-paper strong{font-weight:400;font-style:italic;font-size:20px;display:block;margin-bottom:13px}.peeking-paper>span{font-size:11px;line-height:1.6;display:block}.peeking-paper i{display:block;height:1px;background:#d6d1df;margin-top:12px;width:90%}.peeking-paper i:nth-of-type(2){width:97%}.peeking-paper i:nth-of-type(3){width:66%}.peeking-paper em{display:block;font-size:12px;margin-top:18px}
.envelope-flap{position:absolute;inset:0;z-index:6;transform-origin:50% 12.3046875%;transform:rotateX(0deg);pointer-events:none;will-change:transform}
.envelope.flap-open .envelope-flap{z-index:1}
.envelope.letter-expanding .letter-chamber{visibility:hidden}.envelope:disabled{cursor:default}
dialog[open]{animation:none}dialog.unfolding{animation:paper-unfold .43s cubic-bezier(.2,.65,.25,1) both;transform-origin:center}
@keyframes paper-unfold{from{opacity:.5;transform:translate(var(--letter-x,0px),var(--letter-y,0px)) scale(var(--letter-scale-x,.3)) rotate(-.4deg)}to{opacity:1;transform:translate(0,0) scale(1) rotate(-.4deg)}}
.music-controls.has-tracks .now-playing{display:block;font-size:10px;letter-spacing:0;margin-top:5px}.music-controls.has-tracks .track-panel h3{font-size:24px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-controls.has-tracks .local-controls{margin-top:13px}
@media(max-width:600px){.envelope.opening,.envelope.opening:disabled:hover{transform:translateY(110px)}.envelope .peeking-paper{inset:auto 9% 8px;height:calc(100% - 270px);padding:17px 13px}.peeking-paper strong{font-size:16px;margin-bottom:9px}.peeking-paper>span{font-size:9px}.peeking-paper i{margin-top:9px}.peeking-paper em{font-size:10px;margin-top:12px}.music-controls.has-tracks .track-panel h3{font-size:21px}}

.envelope.opening + .envelope-hint{opacity:0}.envelope-hint,.scroll-note{transition:opacity .2s}.hero:has(.envelope.opening) .scroll-note{opacity:0}

/* Draw the window icon geometrically so it stays centered in every font. */
.window-decoration .window-maximize::before{content:"";display:block;width:12px;height:12px;border:1.5px solid currentColor;box-sizing:border-box}
#audio-progress{height:28px;touch-action:none}

/* Keep artwork and track text on one top edge, with centered controls below. */
.music-controls{grid-template-columns:110px minmax(0,1fr);gap:8px 22px;align-content:center;align-items:start}
.music-controls>.album-cover{grid-column:1;grid-row:1;align-self:start}
.track-panel{display:contents}
.track-info{grid-column:2;grid-row:1;align-self:start}
.track-info .artist{margin-top:0}
.music-controls .local-controls{grid-column:1/-1;grid-row:2;width:100%;margin:0}
.music-controls .transport{grid-column:1/-1;grid-row:3;justify-self:center;display:flex;justify-content:center;align-items:center;gap:18px;width:100%;margin:0}
.music-controls .volume-control{display:flex;flex:0 1 92px;max-width:92px;margin-left:5px;align-items:center}
@media(max-width:1050px) and (min-width:601px){.music-controls{grid-template-columns:90px minmax(0,1fr);gap:7px 14px}.music-controls .transport{gap:11px}.music-controls .volume-control{flex-basis:65px}}
@media(max-width:760px) and (min-width:601px){.music-controls{grid-template-columns:72px minmax(0,1fr);gap:6px 10px}.music-controls .transport{gap:8px}.music-controls .volume-control{flex-basis:55px}}
@media(max-width:600px){.music-controls{grid-template-columns:90px minmax(0,1fr);gap:10px 17px}.music-controls .transport{gap:17px}.music-controls .volume-control{flex-basis:72px;max-width:72px}.track-panel h3{font-size:28px}}
@media(max-width:375px){.music-controls{grid-template-columns:78px minmax(0,1fr);gap:9px 12px}.music-controls .transport{gap:12px}.track-panel h3{font-size:25px}}

/* Center the artwork/title pair and keep transport symmetry independent of volume. */
.music-controls{grid-template-columns:minmax(0,1fr) 110px minmax(0,210px) minmax(0,1fr);column-gap:0}
.music-controls>.album-cover{grid-column:2}
.music-controls .track-info{grid-column:3;padding-left:22px}
.music-controls.has-tracks .local-controls{margin:8px 0 0}
.music-controls .transport{display:grid;grid-template-columns:minmax(0,1fr) 25px 51px 25px minmax(0,1fr);column-gap:18px}
.music-controls .transport>.track-button:first-child{grid-column:2}
.music-controls .transport>.play-button{grid-column:3}
.music-controls .transport>.track-button:nth-child(3){grid-column:4}
.music-controls .transport>.volume-control{grid-column:5;justify-self:end;width:92px;max-width:100%;margin:0}
@media(max-width:1050px) and (min-width:601px){.music-controls{grid-template-columns:minmax(0,1fr) 90px minmax(0,185px) minmax(0,1fr)}.music-controls .track-info{padding-left:14px}.music-controls .transport{grid-template-columns:minmax(0,1fr) 25px 43px 25px minmax(0,1fr);column-gap:10px}.music-controls .transport>.volume-control{width:65px}}
@media(max-width:760px) and (min-width:601px){.music-controls{grid-template-columns:minmax(0,1fr) 72px minmax(0,145px) minmax(0,1fr)}.music-controls .track-info{padding-left:10px}.music-controls .transport{grid-template-columns:minmax(0,1fr) 21px 37px 21px minmax(0,1fr);column-gap:6px}.music-controls .transport>.volume-control{width:55px}}
@media(max-width:600px){.music-controls{grid-template-columns:minmax(0,1fr) 90px minmax(0,180px) minmax(0,1fr)}.music-controls .track-info{padding-left:17px}.music-controls .transport{grid-template-columns:minmax(0,1fr) 21px 43px 21px minmax(0,1fr);column-gap:8px}.music-controls .transport>.volume-control{width:72px}.music-controls.has-tracks .local-controls{margin-top:5px}}
@media(max-width:375px){.music-controls{grid-template-columns:minmax(0,1fr) 78px minmax(0,160px) minmax(0,1fr)}.music-controls .track-info{padding-left:12px}.music-controls .transport{column-gap:5px}}

.letter-heart{display:inline-block;width:.85em;height:.85em;vertical-align:-.05em;margin-left:.12em;overflow:visible;transform:rotate(-8deg)}
.letter-signature .letter-heart,.peeking-paper em .letter-heart{transform:rotate(7deg)}
