/* NO: quiet gesture → sack over lens → darkness → a blurred awakening. */
.intro-choices .button{justify-content:center}
.entrance-actions{display:flex;align-items:center;gap:16px}
@media(max-width:760px){.entrance-actions{gap:10px}.entrance-bottom>.eyebrow{max-width:80px}}
.no-scene,.pov-eyelids{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}
.no-scene{overflow:hidden;background:#030304}
.shadow-performance,.shadow-performance canvas{position:absolute;inset:0;width:100%;height:100%}
.shadow-performance{opacity:0}
.shadow-performance canvas{display:block}
.no-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,transparent 24%,#03030435 72%,#030304bb 100%)}
.no-blackout{position:absolute;inset:0;background:#030304;opacity:0}
.pov-eyelids{z-index:5;overflow:hidden}
.eye-aperture{transform-box:view-box;transform-origin:50% 50%;transform:scale(1,0)}
.entrance[data-branch=no] .no-scene{display:block}
.entrance[data-branch=no][data-state=transition] .no-blackout{animation:sack-darkness var(--cover-duration,2800ms) linear both}
.entrance[data-branch=no] .always-in{display:block;inset:auto 20px 45%;z-index:6;font-size:clamp(21px,2.6vw,38px);letter-spacing:.01em;animation:covered-whisper var(--no-reading-duration,3000ms) linear var(--cover-duration,3400ms) both}
.entrance[data-branch=no] .always-in em{display:inline}
.entrance[data-branch=no] .entrance-top{opacity:0;transition:opacity .3s}
.entrance[data-branch=no] .entrance-bottom>.eyebrow{opacity:0}
.entrance[data-branch=no] .entrance-bottom{justify-content:flex-end}
.entrance[data-branch=no] #skip-intro{padding:8px 15px;border-radius:30px;background:#08070b80;text-shadow:0 1px 8px #000}
.entrance[data-state=waking]{background:transparent}
.entrance[data-state=waking] .invitation,.entrance[data-state=waking] .no-scene,.entrance[data-state=waking] #intro-video{display:none}
.entrance[data-state=waking] .always-in{display:none}
.entrance[data-state=waking] .pov-eyelids{display:block}
.entrance[data-state=waking] .eye-aperture{animation:eyes-open var(--wake-duration,2400ms) cubic-bezier(.22,.6,.28,1) both}
.pov-waking .hero,.pov-waking .site-header{animation:wake-focus var(--wake-duration,2400ms) ease-out both;will-change:filter}
.entrance.has-video .no-scene{display:none}
.entrance.reduced .no-scene,.entrance.reduced .pov-eyelids,.entrance.reduced .always-in{display:none}

@keyframes sack-darkness{0%,80.8%{opacity:0}89.2%,100%{opacity:1}}
@keyframes covered-whisper{0%{opacity:0;transform:translateY(5px)}8%,90%{opacity:.95;transform:translateY(0)}100%{opacity:0;transform:translateY(-2px)}}
@keyframes eyes-open{
  0%{transform:scale(.8,0)}
  13%{transform:scale(.9,.055)}
  29%{transform:scale(.98,.26)}
  39%{transform:scale(.96,.14)}
  58%{transform:scale(1.13,.65)}
  80%{transform:scale(1.42,1.42)}
  100%{transform:scale(1.85,2.3)}
}
@keyframes wake-focus{
  0%{filter:blur(19px) brightness(.3) saturate(.5)}
  23%{filter:blur(13px) brightness(.58) saturate(.65)}
  40%{filter:blur(15px) brightness(.5) saturate(.65)}
  65%{filter:blur(5px) brightness(.82) saturate(.85)}
  88%,100%{filter:blur(0) brightness(1) saturate(1)}
}
@media(max-width:760px){.entrance[data-branch=no] .always-in{font-size:23px;inset:auto 20px 46%}}
@media(prefers-reduced-motion:reduce){.no-scene,.pov-eyelids{display:none!important}.pov-waking .hero,.pov-waking .site-header{animation:none!important;filter:none!important}}

/* YES: the same shadow raises a chrome flash device, presses, then clears the scene. */
.yes-optics,.yes-message,.yes-flash{display:none;pointer-events:none}
.entrance[data-branch=yes] .no-scene{display:block}
.entrance[data-branch=yes] .no-blackout{display:none}
.entrance[data-branch=yes] .yes-message{display:block;position:absolute;z-index:6;bottom:14%;left:24px;right:24px;text-align:center;font-size:clamp(26px,3.1vw,43px);font-weight:400;letter-spacing:-.035em;line-height:1.2;opacity:var(--yes-message-opacity,0);transform:translateY(calc(6px * (1 - var(--yes-message-opacity,0))))}
.yes-message span,.yes-message em{display:block}
.yes-message em{color:#c8a3e8;font-size:1.16em;line-height:1.15;margin-top:3px}
.entrance[data-branch=yes] .entrance-top{opacity:0;transition:opacity .3s}
.entrance[data-branch=yes] .entrance-bottom>.eyebrow{opacity:0}
.entrance[data-branch=yes] .entrance-bottom{justify-content:flex-end}
.entrance[data-branch=yes] #skip-intro{padding:8px 15px;border-radius:30px;background:#08070b80;text-shadow:0 1px 8px #000}
.entrance[data-branch=yes] .yes-optics{display:block;position:absolute;inset:0;overflow:hidden;opacity:var(--beam,0);mix-blend-mode:screen}
.yes-beam{position:absolute;left:var(--emitter-x,53%);top:var(--emitter-y,38%);width:150vmax;height:55vmax;transform-origin:left center;transform:translateY(-50%) rotate(-8deg);clip-path:polygon(0 49.6%,100% 0,100% 100%,0 50.4%);background:linear-gradient(90deg,#f8e9ffed,#b046ffa1 12%,#8b21f15e 50%,transparent);filter:blur(2px)}
.yes-bloom{position:absolute;inset:-50%;background:radial-gradient(ellipse at calc(25% + var(--emitter-x,53%)/2) calc(25% + var(--emitter-y,38%)/2),#fff 0%,#efd1ffdf .6%,#bf7affab 2%,#972ff94a 7%,#7920cf19 18%,transparent 36%)}
.yes-optics::after{content:"";position:absolute;left:var(--emitter-x,53%);top:var(--emitter-y,38%);width:80vw;height:2px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#b867ff80 30%,#fdf5ff,#b867ff80 70%,transparent);box-shadow:0 0 16px 3px #a438f688}
.entrance[data-state=flashing]{background:transparent}
.entrance[data-state=flashing] .no-scene,.entrance[data-state=flashing] .yes-message,.entrance[data-state=flashing] .invitation{display:none}
.entrance[data-branch=yes] .yes-flash{display:block;position:absolute;inset:0;z-index:7;opacity:0;background:radial-gradient(ellipse at var(--emitter-x,53%) var(--emitter-y,38%),#fffbff 15%,#f2ddff 60%,#c885ff 130%)}
.entrance[data-state=flashing] .yes-flash{animation:memory-flash var(--yes-reveal-duration,1500ms) ease-out both}
.memory-revealing .hero,.memory-revealing .site-header{animation:memory-return var(--yes-reveal-duration,1500ms) ease-out both}
.entrance.reduced .yes-optics,.entrance.reduced .yes-message,.entrance.reduced .yes-flash{display:none}
@keyframes memory-flash{0%,12%{opacity:1}32%{opacity:.8}66%{opacity:.2}100%{opacity:0}}
@keyframes memory-return{0%{filter:blur(7px) brightness(1.45);transform:scale(1.015)}65%{filter:blur(1px) brightness(1.05)}100%{filter:none;transform:none}}
@media(max-width:760px){.entrance[data-branch=yes] .yes-message{bottom:16%;font-size:clamp(24px,5.8vw,34px)}}
@media(prefers-reduced-motion:reduce){.yes-optics,.yes-message,.yes-flash{display:none!important}.memory-revealing .hero,.memory-revealing .site-header{animation:none!important;filter:none!important}}
