:root{font-family:Segoe Print,Bradley Hand,KaiTi,cursive;color:#705b53;background:#fcf7ef;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px dashed #997a81;outline-offset:5px}button:disabled{cursor:default}.landing{min-height:100svh;display:grid;place-items:center;opacity:1;transition:opacity .36s ease}.landing.is-leaving{opacity:0;pointer-events:none}.stage{position:relative;width:100%;height:100svh;overflow:hidden;isolation:isolate}.background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;-webkit-user-select:none;user-select:none;pointer-events:none}.character-group{--title-bottom: max(41svh, 23.08vw);position:absolute;bottom:3.5%;left:50%;transform:translate(-50%);height:min(62svh,calc((96.5svh - var(--title-bottom)) / .9375));aspect-ratio:2 / 3}.character{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:transparent;border-radius:45% 45% 15% 15%;cursor:pointer;touch-action:manipulation}.pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .18s ease;-webkit-user-select:none;user-select:none;pointer-events:none}.pose-idle{opacity:1}.pose-hover,.is-inviting .pose-idle{opacity:0}.is-inviting .pose-hover{opacity:1}.enter{position:absolute;left:50%;bottom:-1.2%;transform:translate(-50%);min-width:80px;min-height:44px;padding:6px 13px;border:0;background:transparent;font-size:clamp(14px,1.15vw,19px);white-space:nowrap;cursor:pointer;touch-action:manipulation}.enter:hover span:first-child{text-decoration:underline;text-underline-offset:4px}.touch-label,.mobile-bottom{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.next-chapter{display:grid;place-items:center;min-height:100svh;padding:28px;text-align:center;animation:appear .36s ease both}.eyebrow{font-size:16px;color:#9b7780}.chapter-note h1{font-size:clamp(24px,5vw,32px);font-weight:400;outline:none}.chapter-note p:not(.eyebrow){font-size:15px;line-height:1.8}.back{margin-top:20px;padding:10px 16px;border:1px solid #c7afb0;border-radius:3px;background:transparent;cursor:pointer}@keyframes appear{0%{opacity:0}to{opacity:1}}.music-player{position:fixed;z-index:2;left:14%;top:53%;width:clamp(150px,16vw,230px);text-align:center}.music-player[hidden]{display:none}.cd-button{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}.cd-art{display:block;width:100%;height:auto;border-radius:50%;-webkit-user-select:none;user-select:none;animation:cd-spin 24s linear infinite;animation-play-state:paused}.is-playing .cd-art{animation-play-state:running}.cd-arrow{position:absolute;right:-48px;bottom:5%;width:72px;height:auto;stroke:#947b77;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}@keyframes cd-spin{to{transform:rotate(360deg)}}@media(max-aspect-ratio:4 / 5){.music-player{left:8px;right:auto;top:68vw;width:clamp(92px,26vw,150px)}.cd-arrow{width:44px;right:-25px}}@media(min-aspect-ratio:4 / 5)and (max-height:550px){.music-player{top:auto;bottom:9%;width:100px}.cd-arrow{width:48px;right:-30px}}@media(max-aspect-ratio:4 / 5){.stage{width:100%;background:#fcf7ef}.background{height:auto;aspect-ratio:1672 / 941;object-fit:contain}.mobile-bottom{display:block;position:absolute;inset:auto 0 0;height:16vw;background:url(../assets/home/home_background.webp) center bottom / 100% auto no-repeat;pointer-events:none}.character-group{top:36vw;bottom:auto;height:min(70svh,135vw,calc(100svh - 36vw - 85px))}.enter{bottom:-66px;min-height:54px;min-width:145px;padding:5px 18px;font-size:20px}.touch-label{display:block;font-family:KaiTi,Microsoft YaHei,sans-serif;font-size:12px;letter-spacing:.12em;margin-top:4px}}@media(hover:none)and (min-aspect-ratio:4 / 5){.enter{bottom:-3%}.touch-label{display:block;font-family:Microsoft YaHei,sans-serif;font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.chapter-menu{position:relative;width:100%;height:100svh;overflow:hidden;background:#fcf7f1;opacity:1;transition:opacity .28s ease;animation:appear .3s ease both}.chapter-menu.is-leaving{opacity:0;pointer-events:none;animation:none}.chapter-canvas{position:absolute;width:max(100vw,calc(100svh * 1672 / 941));aspect-ratio:1672 / 941;top:0;left:50%;transform:translate(-50%)}.chapter-background{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none;pointer-events:none}.chapter-sticker{--tilt: 0deg;position:absolute;display:block;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation;border-radius:18%}.chapter-sticker--album{left:32%;top:31.8%;width:15.5%}.chapter-sticker--daily{left:54.5%;top:30%;width:13%;--tilt: -4deg}.chapter-sticker--cake{left:44%;top:50%;width:13%}.chapter-doodles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1}.sticker-image{display:block;width:100%;height:auto;transform:rotate(var(--tilt));transform-origin:center;transition:transform .18s ease;-webkit-user-select:none;user-select:none;pointer-events:none}@media(hover:hover){.chapter-sticker:hover .sticker-image{transform:rotate(var(--tilt)) scale(1.045)}}.chapter-sticker:focus-visible .sticker-image{transform:rotate(var(--tilt)) scale(1.045)}.chapter-sticker:active .sticker-image{transform:rotate(var(--tilt)) scale(1.02)}.menu-back{position:absolute;left:max(14px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));display:grid;place-items:center;width:44px;height:44px;padding:4px;border:0;background:transparent;cursor:pointer}.menu-back svg{width:30px;stroke:#a08880;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}@media(max-aspect-ratio:4 / 5){.chapter-canvas{width:190vw;top:50%;transform:translate(-50%,-50%)}.chapter-background{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 5% 95%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 5% 95%,transparent)}}@media(prefers-reduced-motion:reduce){.chapter-menu{animation:none;transition:none}.sticker-image{transition:none}}.birthday-room{width:100%;height:100svh;display:grid;place-items:center;overflow:hidden;background:#363535;color:#70575c;font-family:KaiTi,STKaiti,楷体,SimSun,serif;animation:appear .4s ease both}.birthday-tv{position:relative;width:min(100vw,calc(100svh * 1672 / 941));aspect-ratio:1672 / 941;container-type:inline-size;isolation:isolate}.tv-background{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.birthday-screen{position:absolute;inset:8.6% 6.4% 9%;overflow:hidden;border-radius:8%/12%}.birthday-detection,.cake-loading{position:absolute;inset:0 19%;display:grid;place-items:center;text-align:center;font-size:clamp(14px,2.3cqw,35px);letter-spacing:.08em;white-space:nowrap}.birthday-line{animation:birthday-line .45s ease both}.cake-layout{position:absolute;inset:0}.cake-arrival{position:absolute;top:12%;left:30.5%;width:39%;aspect-ratio:1292 / 1217;animation:cake-arrive 1.3s cubic-bezier(.22,.7,.25,1) both}.ribbon-cake-button{position:relative;isolation:isolate;display:block;width:100%;height:100%;padding:0;border:0;border-radius:28%;background:transparent;touch-action:manipulation}.ribbon-cake-button:not(:disabled){cursor:pointer}.ribbon-cake-button:disabled{cursor:default}.ribbon-cake-button:before{content:"";position:absolute;inset:-6% -10%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#ffe1a35c,#f8d6a930 48%,transparent 72%);filter:blur(12px)}.ribbon-cake{display:block;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 8px #edc78c66) drop-shadow(0 0 24px #f1cf9b45)}.candle-flames,.candle-warmth{transition:opacity .85s ease-out}.is-blown .candle-flames,.is-blown .candle-warmth{opacity:0}.wish-copy{position:absolute;left:68%;top:64%;width:28%;animation:birthday-line .65s ease both}.wish-invitation{margin:0 0 8px;font-size:clamp(12px,1.85cqw,28px);line-height:1.6;letter-spacing:.05em}.blow-hint{display:block;min-height:44px;padding:5px 0;border:0;background:transparent;color:#936875;font:inherit;font-size:clamp(12px,1.45cqw,22px);cursor:pointer;animation:birthday-line .6s ease both}.blow-hint svg{display:block;width:clamp(30px,4.5cqw,65px);color:#b08a94}.wish-received{position:absolute;bottom:5%;width:100%;margin:0;text-align:center;font-size:clamp(13px,1.8cqw,27px);animation:birthday-line .55s ease both}.cake-drift{width:100%;height:100%}.phase-celebrate .cake-arrival{animation:cake-depart .7s ease 6.3s both}.phase-celebrate .cake-drift{animation:cake-float 3s ease-in-out .85s infinite both}.birthday-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:8}.cake-back{position:fixed;z-index:10;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));width:44px;height:44px;padding:9px;border:0;border-radius:50%;background:#fffaf0b3;color:#967f7a;cursor:pointer}.cake-back svg{display:block;width:100%;height:100%}.cake-loading button{border:0;background:none;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;white-space:normal}.memory-scene{position:absolute;inset:0;text-align:center;animation:birthday-line .75s ease both}.memory-prompt{position:absolute;top:1%;width:100%;margin:0;font-size:clamp(14px,1.7cqw,25px);line-height:1.6;letter-spacing:.1em;outline:none}.memory-collage{position:absolute;top:10.5%;left:50%;height:78%;width:auto;max-width:76%;aspect-ratio:1226 / 1283;transform:translate(-50%);overflow:visible;filter:drop-shadow(0 7px 12px #806b7c20);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.memory-element{cursor:pointer;outline:none;touch-action:manipulation}.memory-element polygon{fill:transparent;stroke:transparent;stroke-width:3px;stroke-linejoin:round;transition:fill .2s,stroke .2s}@media(hover:hover){.memory-element:hover polygon{fill:#fffaf022;stroke:#b48c9ab3;stroke-dasharray:8 9}}.memory-element:focus-visible polygon{fill:#fffaf022;stroke:#9d637d;stroke-width:5px;stroke-dasharray:8 9}.memory-finale{position:absolute;bottom:.8%;left:50%;transform:translate(-50%);min-height:44px;padding:8px 16px;border:0;border-bottom:1px solid #b58d9b80;background:transparent;color:#8c6875;font:inherit;font-size:clamp(12px,1.25cqw,18px);cursor:pointer}.memory-photo-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:34px 24px;background:#4a3b436e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:birthday-line .35s ease both}.memory-photo-dialog{position:relative;width:fit-content;max-width:100%;padding:12px;background:#fffaf1;box-shadow:0 16px 70px #35262e40;animation:letter-arrive .5s ease both}.memory-photo{display:block;width:auto;height:auto;max-width:100%;max-height:min(78svh,760px);object-fit:contain}.memory-photo-close{position:absolute;top:-18px;right:-18px;width:44px;height:44px;border:1px solid #dcc5c9;border-radius:50%;background:#fffaf1;color:#95707e;font:25px sans-serif;cursor:pointer}.birthday-letter-overlay{position:fixed;inset:0;z-index:20;padding:5svh 18px;display:grid;place-items:center;background:#4d3f4659;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:birthday-line .45s ease both}.birthday-paper{position:relative;display:flex;flex-direction:column;width:min(650px,100%);max-height:88svh;padding:35px 44px 24px;border:1px solid #dfcbbb;color:#6c5656;background:#fff9f0;box-shadow:0 14px 65px #35262e33,inset 0 0 55px #dfc6aa13;animation:letter-arrive .65s ease both}.letter-heading{flex:none;text-align:center;padding-bottom:18px;margin-bottom:10px;border-bottom:1px solid #e5cfd1}.letter-heading>span{color:#bf8295;font-size:25px}.letter-heading h2{margin:9px 0 0;font-size:25px;font-weight:400;outline:none}.letter-body{min-height:0;overflow-y:auto;scrollbar-width:thin;padding-right:8px;font-size:18px;line-height:1.95}.letter-body p{margin:12px 0;animation:birthday-line .7s ease both}.letter-body .letter-signature{text-align:right;font-size:15px;color:#9f7481;padding-top:8px}.letter-close{position:absolute;top:6px;right:7px;width:44px;height:44px;border:0;background:none;font:24px sans-serif;color:#9b7881;cursor:pointer}.letter-actions{flex:none;padding-top:18px;text-align:center}.story-button{min-height:44px;padding:9px 19px;border:1px solid #dcb5c1;border-radius:3px;background:#f6e2e5;color:#805665;font:inherit;font-size:16px;cursor:pointer}.show-letter{min-height:44px;padding:8px 16px;border:0;background:none;color:#916b78;text-underline-offset:5px;text-decoration:underline;font:inherit;font-size:15px;cursor:pointer}.fireworks-finale{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 75%,#4c3346,#211c2b 85%);color:#fff0dc;animation:birthday-line 1s ease both}.fireworks-finale:before{content:"";position:absolute;inset:0;opacity:.6;background-image:radial-gradient(circle at 15% 28%,#e0c8af 0 1px,transparent 1.5px),radial-gradient(circle at 75% 60%,#f2cee5 0 .8px,transparent 1.2px),radial-gradient(circle at 60% 20%,#fff2df 0 .8px,transparent 1.2px);background-size:130px 100px,177px 149px,217px 153px}.fireworks-host{position:absolute;inset:0;pointer-events:none}.fireworks-host canvas{display:block;width:100%;height:100%}.finale-message{position:absolute;top:36%;width:100%;padding:0 12px;text-align:center;text-shadow:0 2px 15px #17131c;animation:birthday-line 1.2s ease .75s both;pointer-events:none}.finale-dedication{margin:0 0 18px;color:#edbed0;font-size:clamp(12px,1.65cqw,25px)}.finale-wish{margin:0;font-size:clamp(20px,3cqw,44px);font-weight:400;letter-spacing:.07em;line-height:1.5}.finale-afterword{margin:18px 0 0;color:#e5d3cb;font-size:clamp(12px,1.5cqw,23px)}.finale-actions{position:absolute;bottom:10%;width:100%;display:flex;justify-content:center;gap:22px}.finale-actions button{min-height:44px;padding:7px 8px;border:0;border-bottom:1px solid #d9b9c36b;background:transparent;color:#f4dfdc;font:inherit;font-size:clamp(12px,1.25cqw,19px);cursor:pointer}.birthday-room button:focus-visible,.letter-body:focus-visible{outline:2px solid #b4768b;outline-offset:4px}@keyframes birthday-line{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cake-arrive{0%{opacity:0;transform:translateY(50px)}75%{opacity:1;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes cake-depart{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(13px)}}@keyframes cake-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes letter-arrive{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.birthday-room{background:#eee8e6}.cake-arrival{width:45%;left:27.5%;top:10%}.wish-copy{left:72%;top:58%;width:26%}.wish-invitation{font-size:12px;line-height:1.35;margin-bottom:2px;letter-spacing:0}.blow-hint{font-size:12px;letter-spacing:0;padding-top:2px}.blow-hint svg{width:29px}.wish-received{bottom:3%;font-size:12px}.birthday-room:is(.phase-envelope,.phase-letter) .birthday-tv{width:100%;height:100svh;aspect-ratio:auto}.birthday-room:is(.phase-envelope,.phase-letter) .tv-background{position:absolute;top:50%;height:auto;transform:translateY(-50%);opacity:.2}.birthday-room:is(.phase-envelope,.phase-letter) .birthday-screen{inset:0;border-radius:0}.memory-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:60px 10px 28px}.memory-prompt{position:static;font-size:16px}.memory-collage{position:static;width:min(92vw,calc(65svh * 1226 / 1283));height:auto;max-width:100%;transform:none;flex:none}.memory-finale{position:static;transform:none;flex:none;font-size:14px}.memory-photo-dialog{padding:8px}.memory-photo{max-height:82svh}.birthday-paper{padding:26px 21px 18px;max-height:87svh}.letter-heading{padding-bottom:12px;margin-bottom:4px}.letter-heading h2{font-size:22px}.letter-body{font-size:16px;line-height:1.9}.letter-body .letter-signature{font-size:13px}.story-button{font-size:15px}.finale-message{top:22%}.finale-dedication{margin-bottom:10px}.finale-afterword{margin-top:10px}.finale-actions{bottom:2%;gap:10px}}@media(max-height:500px)and (min-width:601px){.birthday-paper{padding:18px 36px;max-height:90svh}.letter-heading{padding-bottom:8px;margin-bottom:0}.letter-heading>span{display:none}.letter-heading h2{margin:0;font-size:22px}.letter-body{font-size:16px}.letter-actions{padding-top:8px}}@media(prefers-reduced-motion:reduce){.birthday-room *,.birthday-room *:before,.birthday-room *:after{animation:none!important;transition:none!important}}.stf__parent{position:relative;display:block;box-sizing:border-box;transform:translateZ(0);-ms-touch-action:pan-y;touch-action:pan-y}.sft__wrapper{position:relative;width:100%;box-sizing:border-box}.stf__parent canvas{position:absolute;width:100%;height:100%;left:0;top:0}.stf__block{position:absolute;width:100%;height:100%;box-sizing:border-box;perspective:2000px}.stf__item{display:none;position:absolute;transform-style:preserve-3d}.stf__outerShadow,.stf__innerShadow,.stf__hardShadow,.stf__hardInnerShadow{position:absolute;left:0;top:0}.album-room{position:relative;width:100%;height:100svh;overflow:hidden;background:#fffafb;color:#805e6b;font-family:KaiTi,STKaiti,楷体,SimSun,serif;animation:appear .4s ease both}.album-room-content{display:grid;place-items:center;width:100%;height:100%}.album-stage{position:relative;width:min(100vw,calc(100svh * 1672 / 941));aspect-ratio:1672 / 941}.album-background{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.album-map{position:absolute;inset:0;width:100%;height:100%}.album-hotspot{cursor:pointer;outline:none;touch-action:manipulation}.album-hotspot polygon{fill:transparent;stroke:transparent;stroke-width:3;stroke-linejoin:round;transition:fill .2s,stroke .2s}@media(hover:hover){.album-hotspot:hover polygon{fill:#fff9fb16;stroke:#c79bac99;stroke-dasharray:8 10}}.album-hotspot:focus-visible polygon{stroke:#a36b82;stroke-width:5;stroke-dasharray:8 10}.album-back{position:fixed;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));width:44px;height:44px;padding:9px;border:0;border-radius:50%;background:#fffaf0c9;color:#967f7a;cursor:pointer}.album-back svg{display:block;width:100%;height:100%}.album-touch-open{display:none}.flip-album-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:12px;background:#71586865;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:appear .3s ease both}.flip-album-dialog{width:min(1100px,100%);max-height:calc(100svh - 24px);overflow:hidden;padding:20px 28px 18px;border:1px solid #e2cbd4;background:#fbf4ef;box-shadow:0 18px 75px #49333e40}.flip-album-header{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-bottom:16px}.flip-album-header h2{margin:0;font-size:21px;font-weight:400;letter-spacing:.12em;outline:none}.flip-album-close{width:44px;height:44px;padding:0;border:0;background:transparent;color:#9f7485;font:26px sans-serif;cursor:pointer}.flipbook-viewport{position:relative;margin:0 auto;max-width:100%}.flipbook-surface{position:relative;transition:transform .7s ease;filter:drop-shadow(0 10px 14px #70515e22)}.flipbook-surface.is-front-cover{transform:translate(-25%)}.flipbook-surface.is-back-cover{transform:translate(25%)}.album-flipbook .stf__wrapper{height:100%}.album-leaf{overflow:hidden;background:#fffaf1;border:1px solid #e5d8c8;box-shadow:inset 0 0 28px #d8c6b126}.album-leaf.--left{background:linear-gradient(to right,#fffaf1 92%,#e5d8c5)}.album-leaf.--right{background:linear-gradient(to left,#fffaf1 92%,#e5d8c5)}.album-leaf.album-leaf--cover{border:1px solid #cca3b4;background:repeating-linear-gradient(0deg,#efd5dfcc 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#edd0db88 0 1px,#f6e3e9 1px 4px);box-shadow:inset 0 0 0 9px #f6e6ec,inset 0 0 0 10px #d5b3c1}.album-cover-content{height:100%;padding:14%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;color:#9a687f}.album-cover-content svg{width:55%;max-height:95px;flex:none}.album-cover-content h3{margin:0;font-size:clamp(20px,2.4vw,33px);font-weight:400;line-height:1.6;letter-spacing:.15em}.album-cover-content p{margin:0;font-size:15px;line-height:1.9;letter-spacing:.08em}.album-cover-content>span{font-size:26px}.album-photo-page{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0;padding:8% 8% 12%}.album-photo-frame{display:grid;place-items:center;width:100%;min-height:0;flex:1;padding:8px;border:1px solid #eaded5;background:#fffdf9;box-shadow:1px 3px 8px #88725b15}.album-photo-frame img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.album-photo-page figcaption{flex:none;padding:15px 0 0;font-size:19px;letter-spacing:.1em}.album-leaf-number{position:absolute;bottom:3%;font-size:12px;color:#b79e9f}.flip-album-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px;min-height:44px}.flip-album-controls button{min-height:44px;min-width:105px;padding:8px 12px;border:1px solid #dfbcca;border-radius:2px;background:#f4e1e8;color:#80576a;font:inherit;font-size:15px;cursor:pointer}.flip-album-controls button[aria-disabled=true]{opacity:.38;cursor:default}.flip-album-status{min-width:90px;text-align:center;font-size:15px;color:#9b7c86}.flip-album-hint{margin:9px 0 0;text-align:center;font-size:13px;line-height:1.5;color:#a3848d}.album-room button:focus-visible{outline:2px solid #a36b82;outline-offset:3px}@media(max-width:759px){.album-touch-open{position:absolute;top:calc(50% + 30vw);left:50%;transform:translate(-50%);display:block;min-height:44px;padding:8px 16px;border:0;border-bottom:1px solid #d6b4c5;background:transparent;font:inherit;font-size:15px;cursor:pointer}.flip-album-dialog{padding:12px 14px 14px}.flip-album-header{margin-bottom:12px}.flip-album-header h2{font-size:19px}.flip-album-controls{gap:8px;margin-top:14px}.flip-album-controls button{min-width:88px;padding:8px;font-size:14px}.flip-album-status{min-width:65px;font-size:13px}.flip-album-hint{font-size:12px}.album-cover-content{gap:16px}.album-cover-content h3{font-size:24px}.album-cover-content p{font-size:13px}.album-photo-page figcaption{font-size:17px;padding-top:10px}}@media(max-height:500px){.flip-album-dialog{padding-top:8px;padding-bottom:8px}.flip-album-header{margin-bottom:5px;min-height:36px}.flip-album-header h2{font-size:17px}.flip-album-controls{margin-top:8px}.flip-album-hint{margin-top:4px}.album-cover-content{gap:8px;padding:10%}.album-cover-content h3{font-size:17px}.album-cover-content p{font-size:11px}.album-cover-content>span{font-size:16px}.album-photo-page figcaption{font-size:12px;padding-top:6px}}@media(prefers-reduced-motion:reduce){.album-room *,.album-room *:before,.album-room *:after{animation:none!important;transition:none!important}}.album-cover-content{padding:10%}.album-cover-content h3{font-size:clamp(17px,1.7vw,25px);letter-spacing:.05em}.album-cover-content p{max-width:19em;text-wrap:balance}.album-closing-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;height:100%;padding:12%;text-align:center;color:#9a687f}.album-closing-content span{font-size:30px}.album-closing-content p{margin:0;font-size:clamp(17px,1.6vw,23px);line-height:2;letter-spacing:.08em;text-wrap:balance}@media(max-width:759px){.album-cover-content h3{font-size:21px}.album-cover-content p{font-size:14px}}@media(max-height:500px){.album-cover-content h3{font-size:14px}.album-cover-content p{font-size:11px}.album-closing-content{gap:10px}.album-closing-content p{font-size:13px}}
