/* Scoped to the V7 homepage presentation. Destination styles and V6 mechanics
   remain unchanged. The supplied 1672 x 941 coordinate system is uniform. */
#v7-home{position:absolute;inset:0;overflow:clip;z-index:1;pointer-events:none;background:#030811 url('/assets/bj02.webp?v=8.2.5') center/cover no-repeat}
#v7-home[hidden]{display:none}
#v7-scene{position:absolute;left:50%;top:50%;width:1672px;height:941px;transform:translate(-50%,-50%) scale(var(--v7-scale,1));transform-origin:center}
.v7-background,.v7-cube{position:absolute;inset:0;width:1672px;height:941px;pointer-events:none;user-select:none}
.v7-background{z-index:0}
.v7-clean{position:absolute;inset:0;pointer-events:none;z-index:1}
body[data-v7-home] .v7-background,body[data-v7-home] .v7-clean{display:none}
.v7-ui-patch{position:absolute;background-image:url('/assets/home-v7/layers/01_background_reconstructed_APPROX.png');background-size:1672px 941px}
#v7-floating{position:absolute;inset:0;z-index:2;animation:v7-float 7.5s ease-in-out infinite;transform-origin:836px 330px}
.v7-copy{position:absolute;inset:0;z-index:3;isolation:isolate;text-align:center;pointer-events:none;color:#f4e1c1}
.v7-title{position:absolute;z-index:4;left:632.9px;top:593px;width:387px;height:96.8px;margin:0;font-size:0;filter:drop-shadow(0 1px 2px #020813d9) drop-shadow(0 0 3px #020813a8);background:url('/assets/z.png?v=8.2.5') no-repeat;background-size:100% 100%}
.v7-question{position:absolute;left:595px;top:684px;width:480px;margin:0;text-align:center;font:500 16px/26px 'Songti SC','SimSun',serif;letter-spacing:3px;color:#f2cf9b;text-shadow:0 0 9px #ffbd7466,0 8px 14px #ffbd7430}
.v7-subline{position:absolute;left:586px;top:710px;width:480px;margin:0;font:14px/22px 'Songti SC','SimSun',serif;letter-spacing:3px;color:#c4c9d0}
body[data-v7-home] #ritual{background:#030813}

body[data-v7-home] #stage,body[data-v7-home] .invitation,body[data-v7-home] #ritual>footer,body[data-v7-home] #starfield,body[data-v7-home] .vignette{visibility:hidden}
body[data-v7-home] header{position:absolute;top:calc((100svh - 941px * var(--v7-scale)) / 2);padding:calc(24px * var(--v7-scale)) calc(39px * var(--v7-scale));align-items:center}
body[data-v7-home] .brand{font-size:0;display:block;width:calc(228px * var(--v7-scale));height:calc(47px * var(--v7-scale));background:url('/assets/home-v7/layers/04_header_logo_RGBA.png') no-repeat;background-size:calc(1672px * var(--v7-scale)) calc(941px * var(--v7-scale));background-position:calc(-39px * var(--v7-scale)) calc(-23px * var(--v7-scale));flex-shrink:0}
body[data-v7-home] .brand span{display:none}
body[data-v7-home] .global-controls .quiet{min-height:38px;color:#e8d9c4;border-color:#cbb48a80;background:#060b1390;font-size:13px}
body[data-v7-home] #language{border-color:transparent}
body[data-v7-home] #key{position:absolute;left:685px;top:745px;width:300px;height:53px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border:1px solid #dfc79e;border-radius:40px;background:linear-gradient(#ffffff08,#00000016);box-shadow:0 0 21px #ffbd7445,inset 0 0 10px #ffdcac15;color:#eae2d4;pointer-events:auto;transform:translateY(0);opacity:1;filter:none;animation:none!important;font-size:15px;letter-spacing:1px;transition:transform .28s cubic-bezier(.22,.7,.2,1),box-shadow .28s ease,background .28s ease,border-color .28s ease;will-change:transform,box-shadow}
body[data-v7-home] #key::before{content:"";position:absolute;inset:-4px;border-radius:44px;pointer-events:auto}
body[data-v7-home] #key:not(:disabled):hover,body[data-v7-home] #key:not(:disabled):focus-visible{transform:translateY(-3px);border-color:#f3d7a8;background:linear-gradient(#fff3d61a,#00000022);box-shadow:0 12px 24px #00000066,0 0 30px #ffbd7475,inset 0 1px 0 #fff3d6a6,inset 0 0 14px #ffdcac2e}
body[data-v7-home] #key:disabled{opacity:.5}
.v7-awaken-icon{font:34px/1 Georgia;color:#f7dbab;text-shadow:0 0 10px #ffdca0}
.v7-arrow{font:28px/1 Georgia;color:#dcc496}
body[data-v7-home] #v7-floating .gem{z-index:4;visibility:visible;pointer-events:auto}
body[data-v7-home] .gem:after{opacity:0;inset:10px}
body[data-v7-home] .gem:disabled span{display:none}
body[data-v7-home] .gem:not(:disabled):hover:after,body[data-v7-home] .gem:focus-visible:after{opacity:.65}
body[data-v7-home] #choice{z-index:5;bottom:45px;color:#f2dfbc;border-color:#e5cba85e;background:#07101bd9}
body[data-v7-home] #restart{z-index:6;bottom:12px}
body[data-state='approaching'] #v7-floating,body[data-state='choosing'] #v7-floating{animation-play-state:paused}
body[data-state='choosing'] .v7-copy,body[data-state='approaching'] .v7-copy{opacity:.65}
html[lang='en'] .v7-question{font:400 17px/26px Georgia,serif;letter-spacing:.5px}
html[lang='en'] .v7-subline{font-size:14px;letter-spacing:1px}
@keyframes v7-float{0%,100%{transform:translateY(0) rotate(-.15deg)}50%{transform:translateY(-8px) rotate(.15deg)}}
@media(max-width:699px){body[data-v7-home] header{top:0;padding:18px 16px;gap:10px;align-items:center}body[data-v7-home] .brand{width:114px;height:24px;background-size:836px 470.5px;background-position:-19.5px -11.5px}body[data-v7-home] .global-controls{gap:2px;flex-wrap:nowrap}body[data-v7-home] .global-controls .quiet{font-size:10px;padding:7px;min-height:36px}body[data-v7-home] #choice{bottom:45px;font-size:12px}body[data-v7-home] #key{height:74px;top:740px}body[data-v7-home] .v7-question{font-size:18px}body[data-v7-home] .v7-subline{font-size:16px;letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){#v7-floating{animation:none}}

/* V8: the new art owns every ritual frame, including direct-route entry. */
#ritual #stage,#ritual>.invitation,#ritual>footer,#ritual>#starfield,#ritual>.vignette{visibility:hidden!important}
#ritual{overflow:clip}
#ritual>.cosmos{background-image:url('/assets/home-v7/layers/00_background_UI_FIXED_for_floating.png')}
#v8-loading{position:absolute;inset:0;z-index:24;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:#040b17;color:#e4d2b6;font-size:13px}
#v8-closeup{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;pointer-events:none}
#v8-magic{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#v8-status{position:absolute;bottom:95px;left:20px;right:20px;margin:0;text-align:center;font-size:14px;line-height:1.7;letter-spacing:.12em;color:#f8dcae;text-shadow:0 2px 10px #020916,0 0 20px #f6bc5966;opacity:0}
body[data-magic-awake] #v8-closeup,body[data-magic-awake] #v8-status{opacity:1}
body[data-magic-awake] #v7-scene{transform:translate(-50%,-50%) scale(calc(var(--v7-scale) * 1.55));opacity:0;transition:transform 1.4s ease,opacity 1.4s ease}
body[data-magic-awake] #key{pointer-events:none!important}
body[data-v7-home] #choice{visibility:hidden!important}
body[data-v7-home] #v8-closeup .gem{pointer-events:auto;visibility:visible;z-index:5}
body[data-v7-home] #v8-closeup .gem:disabled{pointer-events:none}
body[data-v7-home] #v8-closeup .gem.selected:after{opacity:.9;box-shadow:0 0 24px 8px var(--gem)}
body[data-v7-home] header{top:0;padding:20px 32px}
body[data-v7-home] #restart{bottom:35px}
body[data-magic-awake][data-state='transition'] #v8-status{opacity:0}
#light{background:radial-gradient(ellipse at 50% 32%,#fff 0%,#fbfeff 60%,#f1f9ff 100%)}
@media(max-width:699px){body[data-v7-home] header{padding:16px 12px}#v8-status{bottom:95px;font-size:12px;letter-spacing:.06em}body[data-v7-home] #restart{bottom:35px}}

/* V8.2.5: bj02.webp supplies the homepage backdrop and dl.png the standalone box.
   The transparent padding on dl.png is compensated so the visible box keeps the
   approved home size, vertical position and a centre axis at the gold light. */
#v7-floating .v7-cube{left:570.1px;top:76.9px;right:auto;bottom:auto;width:533.8px;height:512.5px}

/* V8.2.7: second-stage ritual video. The layer is sized from the video's own
   first-frame box so it meets the dl.png closeup at the same centre and size. */
#v8-video-layer{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;opacity:0;visibility:hidden;background:#030811}
#v8-ritual-video{position:absolute;left:0;top:0;width:1920px;height:1080px;max-width:none;max-height:none;object-fit:fill;pointer-events:none;background:#030811}
body[data-ritual-video] #v8-closeup .gem{visibility:hidden!important;pointer-events:none!important}
