/* Happiness v4 — steady hands, handwritten character, three kinds of evening. */
.hero .hero-image,.hero.hero-ready .hero-image,.hero:not(.hero-ready) .hero-image{animation:heroPhotoSettle 1.35s var(--ease) both!important;opacity:1;filter:none}
.hero .hero-line,.hero.hero-ready .hero-line,.hero:not(.hero-ready) .hero-line{animation:heroTypeSettle .85s var(--ease) both!important;opacity:1;filter:none}
.hero .hero-line:nth-child(1){animation-delay:0s!important}.hero .hero-line:nth-child(2){animation-delay:.09s!important}.hero .hero-line:nth-child(3){animation-delay:.18s!important}
.hero .hero-enter:not(.is-held):not(.is-pressed),.hero.hero-ready .hero-enter:not(.is-held):not(.is-pressed){animation:none!important;opacity:1;filter:none;transform:none}
.hero .hero-room-frame:not(.is-held):not(.is-pressed),.hero.hero-ready .hero-room-frame:not(.is-held):not(.is-pressed){animation:none!important;opacity:1;filter:none}
.hero-room-frame:after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid transparent}
.hero.room-ready .hero-room-frame:after{animation:roomFrameLight 1.1s var(--ease) both}
.hero .hero-light{opacity:0;animation:none!important}.hero.hero-ready .hero-light{animation:openingLight 1.35s var(--ease) both!important}
@keyframes heroPhotoSettle{from{transform:scale(1.045)}to{transform:scale(1)}}
@keyframes heroTypeSettle{from{transform:translateY(12px)}to{transform:translateY(0)}}
@keyframes openingLight{0%{opacity:0;transform:rotate(-23deg) translateX(14%)}45%{opacity:1}100%{opacity:.65;transform:rotate(-15deg)}}
@keyframes roomFrameLight{0%,100%{border-color:transparent;box-shadow:inset 0 0 0 #e6c48800}45%{border-color:#f0d49dbb;box-shadow:inset 0 0 24px #e6c48844}}

.story-art{margin-top:12px;margin-bottom:14px;padding:10px;background:linear-gradient(135deg,#d5bd9555,#634a3b25);border:1px solid #c9aa7250;box-shadow:0 18px 45px #0004;transform:rotate(1deg)}
.story-art:before{display:none}.story-art>img{height:auto;aspect-ratio:4/3;object-fit:contain;filter:none}.story-art .photo-index{position:static;display:block;margin:0;padding:12px 8px 4px;font-size:11px;line-height:1.7;color:#d9c2a7;text-align:right}
.story-copy h2{margin-bottom:22px}.story-copy>p:not(.eyebrow){max-width:32em}
.option-star svg{width:17px;height:19px;stroke:currentColor;fill:none}.tap-emblem.effect-welcome{border:1px solid #c1907966;border-radius:3px 1px 4px 2px;background:#5c2c2b77;padding:5px;color:#f4d1ad}.tap-emblem.effect-welcome svg{width:24px;height:24px}

/* The response remains above the same five checkboxes at every count. */
.mood-console{overflow:visible}.stage{overflow:hidden}.mood-options{position:relative;padding-top:0}.mood-option{scroll-margin-top:210px}
.mood-live{position:sticky;top:88px;z-index:6;min-height:116px;box-sizing:border-box;padding:12px 10px;grid-template-columns:48px minmax(0,1fr) 54px;gap:11px;border-top:1px solid #c69a6040;border-bottom:1px solid #c69a6060;background:radial-gradient(ellipse at 0 20%,#75473955,transparent 80%),#211a22;box-shadow:0 8px 18px #09070b26;isolation:isolate}
.mood-live>img{width:48px;height:58px}.mood-live-copy{min-height:90px;display:flex;flex-direction:column;justify-content:center}.mood-live-meter{flex:none;margin-bottom:6px}#moodLiveText,.mood-live.complete #moodLiveText{font-family:var(--sans);font-size:12px;line-height:1.7;letter-spacing:0;min-height:3.4em;color:#eed9bc}
.mood-live.complete{background:linear-gradient(100deg,#624631,#2b2025);border-color:#e8c587}.mood-live.live-updated{animation:ticketGlint .65s var(--ease)}.mood-live.complete:after{z-index:-1}.mood-result-jump{min-height:46px;min-width:0;font-size:11px;padding:8px 0;gap:4px;justify-content:center}.mood-result-jump svg{width:14px}
.mood-actions{gap:8px}.mood-note{padding-bottom:16px}

/* Light changes with the visitor's choice, without covering the words. */
.scene-panel:after{z-index:0;opacity:.5;mix-blend-mode:screen;transition:background .35s;transform:none}
.scene-copy{position:relative;z-index:1}.scene-counter{z-index:2}
.scene-panel[data-scene-kind=solo]:after{background:radial-gradient(ellipse at 85% 28%,#d6a66855,transparent 58%)}
.scene-panel[data-scene-kind=stage]:after{background:conic-gradient(from 159deg at 72% -8%,transparent 0deg,#e5b1d533 14deg,transparent 24deg,#e5b1d527 35deg,transparent 45deg),radial-gradient(ellipse at 75% 30%,#b75b8540,transparent 48%)}
.scene-panel[data-scene-kind=cheers]:after{background:radial-gradient(circle at 73% 23%,#ffdfa753,transparent 19%),radial-gradient(circle at 90% 36%,#e3b9784a,transparent 22%)}
.scene-panel.switching[data-scene-kind=solo]:after{animation:seatLight .8s var(--ease)}
.scene-panel.switching[data-scene-kind=stage]:after{animation:stageLight .8s var(--ease)}
.scene-panel.switching[data-scene-kind=cheers]:after{animation:cheersLight .8s var(--ease)}
@keyframes seatLight{0%{opacity:.15;transform:translateX(8%)}65%{opacity:.8}100%{opacity:.5;transform:none}}
@keyframes stageLight{0%{opacity:.1;transform:rotate(-8deg) scale(1.08)}55%{opacity:.95}100%{opacity:.5;transform:none}}
@keyframes cheersLight{0%{opacity:.1;transform:scale(.85)}50%{opacity:1;transform:scale(1.04)}100%{opacity:.5;transform:none}}

.message.section{position:relative;display:block;max-width:1140px;margin:20px auto 48px;padding:54px 70px;border-top:1px solid #c6a16a44;border-bottom:1px solid #c6a16a44;background:radial-gradient(ellipse at 12% 15%,#7f4c392b,transparent 64%),linear-gradient(125deg,#2c2228,#1b171d);overflow:hidden}
.message-copy{position:relative;z-index:1;max-width:700px;margin:auto}.message-copy h2{font-size:clamp(28px,3vw,42px)}.message-copy .message-essence{font-size:18px!important;margin-bottom:0}.message-mark{position:absolute;right:5%;top:28px;transform:rotate(-7deg);color:#c0906640;border:1px solid #c0906622;padding:28px;border-radius:7px 2px 9px 4px}.message-mark svg{width:130px;height:155px;fill:none;stroke:currentColor}.message-more{margin-top:21px}.message .signature{margin-top:23px}
.voice-image{height:166px}.voice-card:nth-child(2) .voice-image{object-position:center 43%}.voice-body{padding:22px}.voice-excerpt{margin-bottom:12px!important}.voice-detail{margin-top:10px}.voice-body .voice-tag{font-size:15px}.voices{padding-bottom:62px}
.menu-copy h2{line-height:1.7}.menu-image>span{max-width:calc(100% - 38px);line-height:1.7}.gallery .section-heading h2{line-height:1.7}
@media(max-width:850px){.mood-live{top:78px}.message.section{margin:16px 25px 35px;padding:40px 35px}.message-mark{right:15px;top:24px;padding:18px}.message-mark svg{width:88px;height:108px}}
@media(max-width:600px){.story-art{padding:6px;margin:8px 0 0}.story-art>img{aspect-ratio:4/3}.story-art .photo-index{font-size:10px;padding:8px 5px 3px}.story-copy h2{margin-bottom:17px}.story-grid{gap:17px}.story-copy>p:not(.eyebrow){font-size:13px;line-height:1.95}.hero .hero-room-frame:not(.is-held):not(.is-pressed){transform:rotate(-1deg)}.mood-live{top:75px;min-height:116px;padding:9px 7px;grid-template-columns:40px minmax(0,1fr) 47px;gap:8px}.mood-live>img{width:40px;height:55px}.mood-live-copy{min-height:96px}#moodLiveText,.mood-live.complete #moodLiveText{font-size:12px;line-height:1.65;min-height:4.95em}.mood-live-meter{gap:8px;font-size:10px}.mood-result-jump{font-size:10px}.mood-result-jump svg{width:11px}.message.section{margin:0 18px 32px;padding:31px 23px}.message-copy h2{font-size:27px;line-height:1.75}.message-copy>p:not(.eyebrow){font-size:13px;line-height:1.9}.message-copy .message-essence{font-size:17px!important;line-height:1.85!important}.message-mark{right:15px;top:17px;opacity:.65;padding:14px}.message-mark svg{width:65px;height:83px}.message-more summary{font-size:12px}.message .signature{margin-top:19px}.voice-image{height:158px}.voice-body{padding:19px}.voice-grid{gap:18px}.voices{padding-bottom:42px}.menu-copy h2{font-size:29px}.menu-image>span{font-size:10px}.gallery .section-heading h2{font-size:26px}.scene-copy p{line-height:1.9;margin-bottom:12px}}
@media(max-width:370px){.mood-live{grid-template-columns:36px minmax(0,1fr) 43px;gap:6px;padding-left:5px;padding-right:5px}.mood-live>img{width:36px;height:53px}#moodLiveText,.mood-live.complete #moodLiveText{font-size:11px}.message-copy h2{font-size:24px}.message.section{padding-left:19px;padding-right:19px}.message-copy .message-essence{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.hero .hero-image,.hero.hero-ready .hero-image,.hero:not(.hero-ready) .hero-image,.hero .hero-line,.hero.hero-ready .hero-line,.hero:not(.hero-ready) .hero-line,.hero.hero-ready .hero-light,.hero.room-ready .hero-room-frame:after,.mood-live,.scene-panel:after{animation:none!important;transform:none;filter:none}.hero .hero-line{opacity:1}.hero .hero-light{opacity:.45}.scene-panel:after{opacity:.45}}
