/* The credentials dissolve into a wider, warmer room. Only the new flow is styled. */
#elyrem-first-open-experience { position: relative; max-width: 390px; margin-inline: auto; }
#elyrem-first-open-experience > [hidden] { display: none !important; }
#elyrem-first-open-experience[data-crossing="true"] > .efw-screen { position: absolute; inset: 0; z-index: 2; animation: efw-cross-in 1400ms ease both; }
#elyrem-first-open-experience[data-crossing="true"] > #efg-screen { animation: efw-cross-out 1400ms ease both; pointer-events: none; }
.efw-screen { --efw-soft: light-dark(#685e51,#cec4b3); --efw-line: light-dark(#8b79512b,#e3cf9d26); --efw-selected: light-dark(#fffaf0ae,#ebd1a01c); --efg-surface: light-dark(#f2ebdf,#1d2020); }
.efw-screen [hidden] { display: none !important; }
.efw-scene__room { position: absolute; inset: -12%; background: url("../../assets/images/profile-background.avif") 65% 28% / cover no-repeat; opacity: .55; filter: saturate(.65); animation: efw-room-arrive 2400ms var(--efg-ease) both; }
.efw-scene__veil { position: absolute; inset: 0; background: linear-gradient(180deg,light-dark(#f5eedb10,#20232228),light-dark(#f5eedb78,#20232298) 35%,light-dark(#f2ebdfe8,#1d2020ed) 80%,var(--efg-surface)); }
.efw-scene__sun { position: absolute; inset: -30%; background: radial-gradient(ellipse at 60% 25%,light-dark(#fff4caa8,#f3cb7752),transparent 52%); animation: efw-sun 11s ease-in-out infinite alternate; }
.efw-scene__threshold { position: absolute; inset: -30%; background: linear-gradient(112deg,transparent 20%,light-dark(#fffdf2ee,#fbe3ae6b) 45%,transparent 66%); filter: blur(20px); animation: efw-open 2300ms var(--efg-ease) both; }
.efw-brand { padding-top: 51px; text-align: center; font: 400 26px/1.2 "Bodoni Moda",serif; letter-spacing: -.045em; color: var(--efg-ink); opacity: .64; }
.efw-content { flex: 1; display: flex; flex-direction: column; padding: 0 30px 40px; position: relative; }
.efw-screen[data-transition="out"] .efw-content { animation: efw-out 300ms ease both; }
.efw-screen[data-transition="in"] .efw-content { animation: efw-in 600ms var(--efg-ease) both; }
.efw-greeting { flex: 1; min-height: 615px; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 19px; padding: 0 0 78px; border: 0; background: transparent; color: var(--efg-ink); font-family: inherit; }
.efw-greeting__title { font-size: 56px; font-weight: 400; line-height: 1.4; letter-spacing: .06em; }
.efw-greeting__detail { font-size: 19px; line-height: 1.8; color: var(--efw-soft); }
.efw-screen[data-stage="intro"] .efw-greeting__title { font-size: 32px; }
.efw-question { margin: 0; font: 400 26px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif; letter-spacing: .02em; text-wrap: balance; }
.efw-mood { margin: auto 0; padding-bottom: 60px; }
.efw-mood .efw-question { max-width: 280px; }
.efw-mood__options { display: flex; gap: 10px; margin-top: 34px; }
.efw-mood__options button { flex: 1; min-height: 53px; border: 1px solid var(--efw-line); border-radius: 20px; background: light-dark(#fffaf04d,#f3ddaa0c); color: var(--efg-ink); font: 400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; animation: efw-in 1000ms var(--efg-ease) both; }
.efw-mood__options button:nth-child(2) { animation-delay: 100ms; }
.efw-mood__options button:nth-child(3) { animation-delay: 200ms; }
.efw-quote { margin: auto 0; padding-bottom: 30px; }
.efw-quote p { font-size: 25px; font-weight: 400; line-height: 1.95; text-wrap: balance; }
.efw-quote-hit { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; padding: 0; border: 0; border-radius: inherit; background: transparent; touch-action: manipulation; }
.efw-purpose { padding-top: 57px; }
.efw-purpose .efw-question { max-width: 290px; }
.efw-purpose__options { margin-top: 23px; display: grid; gap: 5px; }
.efw-purpose__option { min-height: 48px; width: 100%; display: flex; align-items: center; gap: 16px; padding: 10px 13px; border: 1px solid transparent; border-bottom-color: var(--efw-line); border-radius: 9px; background: transparent; color: var(--efg-ink); text-align: left; font: 400 15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif; transition: background 260ms,border-color 260ms; }
.efw-purpose__option::after { content: ''; flex: none; margin-left: auto; width: 7px; height: 7px; border-radius: 50%; border: 1px solid var(--efg-muted); opacity: .38; }
.efw-purpose__option[aria-pressed="true"] { background: var(--efw-selected); border-color: var(--efw-line); }
.efw-purpose__option[aria-pressed="true"]::after { background: var(--efg-focus); border-color: var(--efg-focus); opacity: 1; }
.efw-response-space { min-height: 109px; display: flex; align-items: center; padding: 14px 8px; }
.efw-response { opacity: 0; color: var(--efw-soft); font-size: 14px; line-height: 1.8; }
.efw-purpose .efg-form__enter { margin-top: 0; }
.efw-screen[data-paused="true"] .efw-scene__sun,.efw-screen[data-hidden="true"] .efw-scene__sun { animation-play-state: paused; }
@keyframes efw-cross-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes efw-cross-out { to { opacity: 0; transform: scale(1.035); } }
@keyframes efw-room-arrive { from { transform: scale(1.16); filter: saturate(.35) blur(3px); } to { transform: scale(1); filter: saturate(.65) blur(0); } }
@keyframes efw-open { from { opacity: .9; transform: translateX(-27%); } to { opacity: .12; transform: translateX(35%); } }
@keyframes efw-sun { from { transform: translate(-7%,2%); } to { transform: translate(8%,-4%); } }
@keyframes efw-out { to { opacity: 0; transform: translateY(-9px); } }
@keyframes efw-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:360px) { .efw-content { padding-inline: 25px; padding-bottom: 30px; } .efw-greeting { min-height: 575px; } .efw-purpose { padding-top: 35px; } .efw-question { font-size: 24px; } .efw-purpose__option { font-size: 14px; } .efw-response-space { min-height: 115px; } }
@media(prefers-reduced-motion:reduce) { #elyrem-first-open-experience > .efg-screen { animation: none !important; } }
