:root{color-scheme:light;--wine:#562335;--paper:#fff9ef;--ink:#432a32}*{box-sizing:border-box}body{margin:0;background:var(--wine);color:var(--paper);font-family:Georgia,'Times New Roman',serif}button{font:inherit}button:focus-visible{outline:2px solid currentColor;outline-offset:8px}main{min-height:100svh;padding:24px}.arrival{min-height:calc(100svh - 48px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 0}.eyebrow{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.22em;font-weight:500}h1{font-size:clamp(2.8rem,8vw,5.5rem);line-height:1.1;font-weight:normal;letter-spacing:-.045em;margin:24px 0 45px}h1 em{font-weight:normal;color:#efc9b9}.envelope{border:0;background:none;color:#f3dcc7;cursor:pointer;position:relative;width:240px;padding:0 16px 40px;transition:transform .4s}.envelope:hover{transform:translateY(-7px) rotate(-2deg)}.envelope svg{display:block;width:100%;filter:drop-shadow(0 12px 14px #260d2420)}.seal{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:#f3dcc7;color:var(--wine);border-radius:50%;display:grid;place-items:center;font-size:17px;box-shadow:0 3px 9px #260d2433}.open-label{display:block;margin-top:14px;font-family:Arial,sans-serif;font-size:.875rem;letter-spacing:.04em;color:var(--paper)}.letter{max-width:740px;margin:40px auto;background:var(--paper);color:var(--ink);padding:76px clamp(24px,7vw,90px) 36px;box-shadow:0 20px 80px #24051c40;border-top:4px solid #ddad9e;animation:unfold .8s ease both}.letter header{text-align:center;margin-bottom:56px}.letter .eyebrow{color:#815564}h2{font-weight:normal;font-style:italic;letter-spacing:-.045em;font-size:clamp(3.1rem,8vw,4.5rem);margin:20px 0 26px}h2:focus{outline:none}.rule{width:46px;height:1px;background:#b38a7d;margin:auto}.poem{font-size:clamp(1rem,2.4vw,1.17rem);line-height:1.85;letter-spacing:.002em}.poem p{margin:0 0 30px;overflow-wrap:break-word}footer{text-align:center;margin-top:48px}.heart{display:block;font-size:32px;color:#9a5266;margin-bottom:32px}footer button{background:none;border:0;border-bottom:1px solid #cfb6b0;color:#805663;cursor:pointer;padding:8px 2px;font-family:Arial,sans-serif;font-size:.875rem}[hidden]{display:none!important}@keyframes unfold{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media(max-width:520px){main{padding:14px}.letter{margin:14px auto;padding:48px 22px 28px}.letter header{margin-bottom:40px}.poem{line-height:1.85}.poem p{margin-bottom:27px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Birthday cover */
.arrival{padding:24px 0;gap:0} .arrival h1{font-size:clamp(2.1rem,6vw,4rem);margin:12px 0 20px}.birthday-art{display:block;width:min(560px,100%);height:auto;max-height:36svh;object-fit:contain;border-radius:20px;margin:0 auto 12px}.envelope{width:170px;padding-bottom:10px}.seal{width:32px;height:32px;font-size:14px}.open-label{margin-top:8px}@media(max-width:520px){.arrival{padding:18px 0}.arrival h1{font-size:clamp(2rem,7.8vw,2.8rem)}.birthday-art{max-height:34svh;border-radius:12px}.envelope{width:150px}}

@font-face{font-family:Allura;src:url('allura.ttf') format('truetype');font-display:swap;font-weight:400}
body.reading{background:#123d69 url('wallpaper.png') center center / cover fixed no-repeat}.reading .letter{background:#ffffff;color:#142d4b;border-top:1px solid #ffffffb0;box-shadow:0 16px 70px #06193366;border-radius:8px;max-width:830px;padding-left:clamp(20px,5vw,74px);padding-right:clamp(20px,5vw,74px)}.poem,h2{font-family:Allura,'Brush Script MT',cursive;font-weight:400}.poem{font-size:clamp(1.5rem,3.8vw,2rem);line-height:1.5;letter-spacing:0}.poem p{margin-bottom:36px}h2{font-size:clamp(4rem,10vw,5.5rem);font-style:normal}.reading .letter .eyebrow,.reading footer button{color:#3e5477}.reading .heart{color:#526b9b}.reading .rule{background:#859cbd}@media(max-width:520px){.reading main{padding:12px}.reading .letter{padding:40px 20px 28px}.poem{font-size:1.6rem;line-height:1.5}.poem p{margin-bottom:30px}}

video.birthday-art{width:auto;max-width:100%;height:auto;max-height:36svh;aspect-ratio:5/4;background:#251b25}

/* Regular reading type and automatic character dance */
.poem{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1rem,2.4vw,1.17rem);line-height:1.85;letter-spacing:.002em}.poem p{margin-bottom:30px}h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-style:italic;font-size:clamp(3.1rem,8vw,4.5rem)}

.dance-trio{width:min(430px,100%);display:flex;gap:8px;justify-content:center;margin:8px auto 24px}.dancer{display:block;flex:1;aspect-ratio:5/12;background-image:url('dance.gif');background-size:300% 100%;background-repeat:no-repeat;border-radius:16px;box-shadow:0 8px 20px #210e2833}.donald{background-position:0% center}.ariel{background-position:50% center}.pooh{background-position:100% center}
@media(max-height:760px){.dance-trio{max-width:330px}}

