/* Small, tactile details turn the birthday into a keepsake. */
html{scrollbar-color:#b47791 #f7ece8}.sound-toggle{position:fixed;right:20px;bottom:20px;z-index:9;border:1px solid #b77f9570;border-radius:40px;background:#fff8f0e8;backdrop-filter:blur(8px);padding:11px 17px;color:#83435e;font-size:10px;box-shadow:0 3px 18px #6e33450b;min-height:42px}.chapter-nav{position:sticky;top:0;z-index:6;display:flex;justify-content:center;gap:0;background:#fff8f0ef;backdrop-filter:blur(12px);border-bottom:1px solid #bc95a52a;padding:13px 20px}.chapter-nav a{padding:7px 22px;display:flex;align-items:center;gap:9px;font:italic 17px 'Cormorant Garamond',serif;color:#a47b8d;transition:color 160ms ease}.chapter-nav a span{font:9px 'DM Sans',sans-serif;letter-spacing:.4px}.chapter-nav a[aria-current]{color:#8c325b;background:#f3dbe5;border-radius:22px}.ticket-section{background:#f7e9e5;text-align:center;padding:85px 7%;overflow:hidden}.ticket-section>.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:42px;color:#977082}.birthday-ticket{position:relative;width:min(740px,100%);padding:40px 160px 38px 40px;border:1px solid #c695a750;background:#fff8ed;text-align:left;color:#754158;box-shadow:0 12px 35px #71354f0c;rotate:-2deg;transition:transform 220ms var(--ease-out);border-radius:4px}.birthday-ticket:before,.birthday-ticket:after{content:'';position:absolute;right:122px;width:22px;height:22px;border-radius:50%;background:#f7e9e5}.birthday-ticket:before{top:-12px}.birthday-ticket:after{bottom:-12px}.ticket-title{display:block;font:italic 47px/1 'Cormorant Garamond',serif;margin-bottom:30px;letter-spacing:-1px}.ticket-details{display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:11px}.ticket-details small{font-size:7px;letter-spacing:1.5px;color:#ac8595;display:block;margin-bottom:7px}.ticket-details s{color:#bb91a2;margin-left:6px;text-decoration-thickness:1px}.ticket-stub{position:absolute;right:0;top:0;bottom:0;width:134px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px dashed #ba8c9d70}.ticket-stub b{font:65px/.95 'Cormorant Garamond',serif;font-weight:400}.ticket-stub>span{font-size:8px;letter-spacing:2px;margin-top:10px}.ticket-stub i{font:italic 33px 'Cormorant Garamond',serif;margin-top:30px}.ticket-prompt{display:block;font:21px 'La Belle Aurore',cursive;margin-top:28px;color:#ac6782}#ticket-photo{max-width:650px;margin:40px auto 0;background:#fff8ef;padding:12px;box-shadow:0 14px 25px #6f364c17;rotate:1.5deg;animation:paper-arrive 300ms var(--ease-out)}#ticket-photo img{width:100%;display:block}#ticket-photo figcaption{font-size:24px;padding:14px 0 3px}.film-frame.active .film-photo{transform:scale(1.02)}.film-bottom>div>span{font-variant-numeric:tabular-nums}.album-photo:focus-visible{outline-offset:5px}.private-finale .wax-seal{transition:transform 250ms var(--ease-out)}.sealed-letter:active .wax-seal{transform:scale(.94)}body:has(#trip:not([hidden])) .sound-toggle,body:has(#private-room[open]) .sound-toggle{display:none}.private-finale{scroll-margin-top:60px}.ticket-section .birthday-ticket:focus-visible{outline-offset:8px}@media(hover:hover) and (pointer:fine){.birthday-ticket:hover{transform:translateY(-4px) rotate(1deg)}}@media(max-width:700px){.chapter-nav{padding:9px 8px;justify-content:space-around}.chapter-nav a{padding:7px 9px;font-size:16px;gap:4px}.chapter-nav a span{font-size:7px;letter-spacing:0}.ticket-section{padding:65px 20px}.ticket-section>.eyebrow{font-size:6px;letter-spacing:1.3px}.birthday-ticket{padding:30px 90px 25px 23px}.ticket-title{font-size:34px;line-height:1.05;margin-bottom:23px}.ticket-details{grid-template-columns:1fr;font-size:10px;gap:15px}.ticket-details small{font-size:6px;letter-spacing:1px}.ticket-stub{width:78px}.ticket-stub b{font-size:47px}.ticket-stub>span{font-size:6px;letter-spacing:1px}.ticket-stub i{font-size:28px}.birthday-ticket:before,.birthday-ticket:after{right:67px}.ticket-prompt{font-size:17px;line-height:1.4}.sound-toggle{right:12px;bottom:12px;padding:9px 12px;font-size:9px}.welcome-bottom{padding-bottom:55px}#ticket-photo{margin-top:30px}.room-inner{padding-bottom:75px}}
@media(prefers-reduced-motion:reduce){.birthday-ticket,.private-finale .wax-seal{transition:none}#ticket-photo{animation:none}}

.chapter-nav a:first-child,.chapter-nav a:last-child{display:flex}
