/* Full-screen, native modal entrance. Decorative atmosphere uses only CSS. */
body.entrance-open{overflow:hidden}
#heavenly-entrance{--entrance-ink:#44351e;--entrance-muted:#6c593c;position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow-y:auto;color:var(--entrance-ink);background:radial-gradient(ellipse at 50% 33%,#fffef6 0%,#fff4cd 28%,#e4d2a9 58%,#b0c0d1 100%);box-shadow:none;isolation:isolate}
#heavenly-entrance::backdrop{background:#101722}
#heavenly-entrance:not([open]){display:none}
.entrance-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.entrance-rays{position:absolute;inset:-60%;background:repeating-conic-gradient(from 0deg at 50% 46%,transparent 0deg 13deg,#fffef478 17deg,transparent 23deg 36deg);animation:entrance-radiance 32s ease-in-out infinite alternate;opacity:.55}
.entrance-halo{position:absolute;width:min(78vw,750px);aspect-ratio:1;left:50%;top:42%;transform:translate(-50%,-50%);border:1px solid #b8944150;border-radius:50%;box-shadow:0 0 90px #fff9d1,inset 0 0 90px #fff9d177}
.entrance-halo::before,.entrance-halo::after{content:'';position:absolute;inset:22px;border:1px solid #b8944130;border-radius:50%}.entrance-halo::after{inset:-22px}
.entrance-cloud{position:absolute;width:145%;height:43%;left:-25%;bottom:-16%;background:radial-gradient(ellipse at 20% 60%,#fffef8 0 22%,transparent 49%),radial-gradient(ellipse at 52% 65%,#fffdf4 0 28%,transparent 58%),radial-gradient(ellipse at 84% 60%,#fffef9 0 25%,transparent 53%);filter:blur(18px);animation:entrance-clouds 24s ease-in-out infinite alternate;opacity:.88}
.entrance-cloud.far{bottom:0;left:-10%;opacity:.43;transform:scale(1.15);animation-duration:35s;animation-direction:alternate-reverse}
.entrance-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:clamp(18px,4vw,42px);position:relative;z-index:1}
#heavenly-entrance .entrance-top button{color:var(--entrance-ink);background:transparent;border:1px solid #9e814760;border-radius:30px;padding:9px 18px;min-height:44px;font-size:14px}
.entrance-content{min-height:calc(100% - 130px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px 24px 90px;max-width:850px;margin:auto;animation:entrance-arrive 1.8s ease-out both}
.entrance-sun{font:54px Georgia,serif;color:#967029;margin-bottom:25px;text-shadow:0 0 35px #fff}
#heavenly-entrance .entrance-kicker{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--entrance-muted);margin:0 0 22px}
#heavenly-entrance h2{font:normal clamp(48px,9vw,100px)/1.05 Georgia,serif;letter-spacing:-.035em;margin:0 0 25px;color:var(--entrance-ink)}
#heavenly-entrance .entrance-subtitle{font:italic clamp(19px,3vw,25px)/1.5 Georgia,serif;color:var(--entrance-muted);max-width:480px;margin:0 0 35px}
#heavenly-entrance #entrance-enter{border:1px solid #735420;background:#574222;color:#fff8e8;border-radius:40px;min-height:58px;padding:16px 32px;font-size:16px;box-shadow:0 9px 30px #70522022;transition:transform .2s,background .2s}
#heavenly-entrance #entrance-enter:hover{background:#72552a;transform:translateY(-2px)}
#heavenly-entrance .entrance-remember{display:flex;align-items:center;gap:10px;color:var(--entrance-muted);font-size:13px;margin-top:22px;min-height:44px;cursor:pointer}
#entrance-remember{width:18px;height:18px;accent-color:#715426}
#heavenly-entrance .entrance-verse{font:14px/1.7 Georgia,serif;color:var(--entrance-muted);margin-top:38px;max-width:360px} .entrance-verse cite{display:block;font:10px system-ui;letter-spacing:.2em;text-transform:uppercase;margin-top:12px}
.night-site #heavenly-entrance{--entrance-ink:#f1e7cf;--entrance-muted:#c7b999;background:radial-gradient(ellipse at 50% 33%,#51432b 0%,#232b37 43%,#0c1522 100%)}
.night-site .entrance-rays{opacity:.14}.night-site .entrance-halo{box-shadow:0 0 65px #e1be6314,inset 0 0 65px #e1be6314;border-color:#c5a76630}.night-site .entrance-cloud{opacity:.09}.night-site .entrance-cloud.far{opacity:.05}.night-site .entrance-sun{color:#ddbf79;text-shadow:0 0 30px #e0ba5740}
.night-site #heavenly-entrance #entrance-enter{background:#d7bc80;color:#19202a;border-color:#e9d39e}.night-site #heavenly-entrance #entrance-enter:hover{background:#e9d39e}
@keyframes entrance-radiance{from{transform:rotate(-7deg)}to{transform:rotate(9deg)}}
@keyframes entrance-clouds{from{translate:-3% 0}to{translate:4% -3%}}
@keyframes entrance-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.reduced-motion #heavenly-entrance *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){#heavenly-entrance *{animation:none!important;transition:none!important}}
@media(max-width:480px){.entrance-content{padding-top:15px;padding-bottom:50px}.entrance-sun{margin-bottom:16px}.entrance-top{padding:16px}.entrance-halo{width:115vw}.entrance-verse{margin-top:25px!important}}
#heavenly-entrance .entrance-audio{display:grid;grid-template-columns:auto 120px;gap:8px 14px;align-items:center;width:min(100%,340px);margin-top:24px}
#heavenly-entrance #entrance-sound{grid-column:1/-1;background:transparent;color:var(--entrance-ink);border:1px solid #9e814760;border-radius:24px;padding:10px 18px;min-height:44px;font-size:14px}
#heavenly-entrance .entrance-audio label{font-size:12px;color:var(--entrance-muted);text-align:right}
#entrance-volume{width:120px;padding:0;accent-color:#967029;min-height:30px}
#heavenly-entrance #entrance-sound-status{grid-column:1/-1;font:12px/1.5 system-ui;color:var(--entrance-muted);margin:0}
#heavenly-entrance .entrance-remember{margin-top:12px}
/* The original artwork remains unchanged. Opening panels reuse its computed background. */
.entrance-opening-doors{display:none;position:absolute;inset:0;perspective:1500px;z-index:2;pointer-events:none}.entrance-opening-leaf{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;backface-visibility:hidden}.entrance-opening-leaf.left{left:0;transform-origin:left center}.entrance-opening-leaf.right{right:0;transform-origin:right center}.entrance-opening-picture{position:absolute;top:0;bottom:0;width:200%}.entrance-opening-leaf.left .entrance-opening-picture{left:0}.entrance-opening-leaf.right .entrance-opening-picture{right:0}#heavenly-entrance.gate-opening .entrance-atmosphere{background-image:none!important;background-color:#fff;transform:none}#heavenly-entrance.gate-opening .entrance-opening-doors{display:block}#heavenly-entrance.gate-opening .entrance-opening-leaf.left{animation:entrance-door-left 1.6s cubic-bezier(.4,0,.2,1) both}#heavenly-entrance.gate-opening .entrance-opening-leaf.right{animation:entrance-door-right 1.6s cubic-bezier(.4,0,.2,1) both}.entrance-golden-burst{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 42%,#fff 0%,#fff 65%,#f5faff 100%);transform:scale(.05);border-radius:50%}#heavenly-entrance.gate-opening .entrance-golden-burst{animation:entrance-gold-explosion 1.6s cubic-bezier(.16,.7,.2,1) both}.entrance-golden-afterglow{position:fixed;inset:0;z-index:2147483600;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,#fff 0%,#fff 65%,#f5faff 100%);animation:entrance-gold-settle .8s ease-out both}.entrance-golden-afterglow.gentle{animation-duration:.35s}#heavenly-entrance.entrance-gentle-opening .entrance-opening-leaf{animation:none!important}#heavenly-entrance.entrance-gentle-opening .entrance-golden-burst{transform:none;opacity:.45;animation:none!important;border-radius:0}#entrance-harp,#entrance-harp-status{grid-column:1/-1}#entrance-harp{min-height:44px;border-radius:24px;font:14px system-ui}#entrance-harp-status{font:12px/1.5 system-ui;color:var(--entrance-muted);margin:0}@keyframes entrance-door-left{to{transform:rotateY(-105deg)}}@keyframes entrance-door-right{to{transform:rotateY(105deg)}}@keyframes entrance-gold-explosion{0%{opacity:0;transform:scale(.02);border-radius:50%}25%{opacity:.55}70%,100%{opacity:1;transform:scale(1.5);border-radius:0}}@keyframes entrance-gold-settle{from{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.entrance-golden-afterglow{animation-duration:.35s}}
