/* Complete page shell. Existing gameplay sections retain their own CSS/JS. */
:root{--z2-page:#263d36;--z2-gold:#e6c78c;--z2-ink:#fff5e2;--z2-soft:#c9d5c9;scroll-behavior:smooth;scroll-padding-top:90px}
html,body{margin:0;min-height:100%;background:var(--z2-page);color:var(--z2-ink);font-family:Arial,Helvetica,sans-serif}
[hidden]{display:none!important}
body{isolation:isolate}body *{box-sizing:border-box}a,button{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:2px solid #ffe1a2;outline-offset:5px}
.z2-skip{position:fixed;left:15px;top:-80px;z-index:100;background:#f2d5a0;color:#15241e;padding:14px}.z2-skip:focus{top:10px}
.z2-ambient{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 15% 20%,#9a825044,transparent 55%),radial-gradient(ellipse at 85% 75%,#5a9d7744,transparent 55%),#263d36}
.z2-light{position:absolute;width:110vw;height:100vh;inset:-15vh auto auto -30vw;background:radial-gradient(ellipse,#d9b47436,transparent 65%);animation:z2-drift 26s ease-in-out infinite alternate}
.z2-light.second{inset:auto -35vw -25vh auto;background:radial-gradient(ellipse,#81c7a133,transparent 60%);animation-duration:32s;animation-delay:-13s}
.z2-sparks{position:absolute;inset:0}.z2-sparks i{position:absolute;bottom:-3%;left:var(--x);height:3px;width:3px;border-radius:50%;background:#ffe0a4;box-shadow:0 0 10px #f2c57099;opacity:0;animation:z2-rise var(--speed) linear infinite;animation-delay:var(--delay)}
@keyframes z2-drift{to{transform:translate(16vw,9vh) rotate(9deg);opacity:.5}}
@keyframes z2-rise{0%{transform:translate(0,0);opacity:0}12%{opacity:.42}75%{opacity:.25}100%{transform:translate(55px,-105vh);opacity:0}}
html[data-ambience=paused] .z2-ambient *,html[data-page-hidden=true] .z2-ambient *{animation-play-state:paused!important}
.z2-nav{position:sticky;top:0;z-index:30;background:#1c302cee;border-bottom:1px solid #e6c78c35;backdrop-filter:blur(16px)}
.z2-nav-inner{max-width:1440px;margin:auto;padding:10px 48px;display:flex;align-items:center;gap:35px;min-height:72px}
.z2-nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#f4d597;font:19px Georgia,serif;letter-spacing:2px;flex-shrink:0}.z2-nav-brand img{width:47px;height:44px;object-fit:contain}
.z2-nav-links{display:flex;align-items:center;gap:24px;margin-left:auto}.z2-nav-links a{font-size:11px;text-decoration:none;color:#d4ddd2;white-space:nowrap;padding:10px 0;border-bottom:1px solid transparent}.z2-nav-links a:hover{color:#ffe2ad;border-color:#e6c78c}
.z2-menu-toggle{display:none}.z2-nav-site{font-size:10px;letter-spacing:1px;border-left:1px solid #e6c78c40;padding-left:24px;color:#e6c78c;text-decoration:none;white-space:nowrap}
.z2-page-section{position:relative;font-family:Arial,Helvetica,sans-serif;overflow:hidden}
.z2-shell{max-width:1440px;margin:auto;padding:0 48px}
.z2-hero{background:linear-gradient(120deg,#283f30aa,#293f3355 60%,#87633c22);border-bottom:1px solid #efd29338}
.z2-hero-layout{min-height:660px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:40px;padding-top:70px;padding-bottom:60px}
.z2-kicker{margin:0 0 24px;color:#dfc087;font-size:10px;letter-spacing:3px;line-height:1.8}
.z2-coming{display:inline-flex;align-items:center;gap:12px;margin:0 0 28px;color:#f1d59f;font-size:12px;letter-spacing:2.5px;text-transform:uppercase}.z2-coming::before{content:'';width:22px;height:1px;background:#dfbf82}
.z2-hero h1{font:400 clamp(58px,6vw,86px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-3.4px;margin:0 0 27px;color:#fff5e4}.z2-hero h1 em{color:#e6c78c;font-weight:400}
.z2-hero-copy>p:not([class]){font-size:16px;line-height:1.9;max-width:480px;color:#d5ddce;margin:0 0 29px}
.z2-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.z2-button{display:inline-flex;justify-content:center;align-items:center;gap:18px;text-decoration:none;color:#203228;background:linear-gradient(125deg,#f0d5a0,#c6a165);border:1px solid #e5c58b;padding:17px 25px;min-height:52px;border-radius:3px;font-size:12px;font-weight:700;box-shadow:0 6px 22px #060e1426;transition:transform .18s,background .18s}.z2-button:hover{transform:translateY(-2px);background:#f8dcaa}.z2-button-secondary{background:#223c3380;color:#f3dfb9;border:1px solid #c8b37b80;box-shadow:none}.z2-button-secondary:hover{background:#45614590}.z2-button span{font-size:16px}
.z2-hero-link{display:inline-block;color:#c2d0bd;text-decoration:none;font-size:11px;margin-top:29px;padding-bottom:7px;border-bottom:1px solid #c1d3b645}.z2-hero-link span{margin-left:14px;color:#e8ca88}
.z2-emblem{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:530px;width:100%;justify-self:end;isolation:isolate}
.z2-emblem::before{content:'';position:absolute;inset:10%;border:1px solid #dfbd7540;border-radius:50%;box-shadow:0 0 95px #f4bf6b16,inset 0 0 80px #d2c18811;z-index:-1}
.z2-emblem::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse,#eac98735,transparent 68%);z-index:-2}
.z2-emblem img{width:83%;height:auto;filter:drop-shadow(0 18px 32px #0c191b88)}
.z2-emblem-caption{position:absolute;bottom:3%;font-size:9px;color:#f0d8ab;letter-spacing:4px;text-align:center;line-height:1.8}
.z2-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e6c78c40;padding:28px 0 33px;gap:20px}.z2-fact{display:flex;align-items:center;justify-content:center;gap:17px;border-right:1px solid #e6c78c30}.z2-fact:last-child{border:0}.z2-fact strong{font:400 37px Georgia,serif;color:#f2d49b}.z2-fact small{display:block;max-width:112px;font-size:10px;line-height:1.75;letter-spacing:.7px;color:#d2dccc}
.z2-fact:last-child strong{font-size:28px}
.z2-intro{background:linear-gradient(120deg,#344b3f70,#2a433e44);border-bottom:1px solid #e6c78c30}.z2-intro .z2-shell{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;padding-top:105px;padding-bottom:105px}.z2-intro h2{font:400 clamp(40px,4.4vw,63px)/1.1 Georgia,serif;letter-spacing:-1.8px;margin:0 0 24px}.z2-intro h2 em{font-weight:400;color:#e6c78c}.z2-intro-lead{color:#ced9c9;font-size:15px;line-height:1.95;max-width:460px;margin:0}.z2-intro-points{list-style:none;padding:0;margin:0}.z2-intro-points li{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid #e6c78c30}.z2-intro-points li:first-child{padding-top:0}.z2-intro-points li:last-child{border:0;padding-bottom:0}.z2-intro-number{font:italic 18px Georgia,serif;color:#c2a36a;padding-top:4px}.z2-intro-points h3{font:400 26px/1.2 Georgia,serif;margin:0 0 10px;color:#f6e5c8}.z2-intro-points p{font-size:13px;line-height:1.9;color:#c4d1c2;margin:0}
.z2-end{background:radial-gradient(ellipse at 50% 90%,#ad8b453d,transparent 70%),#29413977;text-align:center;border-top:1px solid #e6c78c40}.z2-end .z2-shell{padding-top:95px;padding-bottom:85px}.z2-end-mark{display:block;color:#e6c78c;font-size:35px;margin-bottom:25px}.z2-end h2{font:400 clamp(42px,5vw,70px)/1.1 Georgia,serif;letter-spacing:-2px;margin:0 0 25px}.z2-end h2 em{color:#e6c78c;font-weight:400}.z2-end p:not(.z2-kicker){max-width:610px;margin:0 auto 30px;color:#cbd6c8;font-size:15px;line-height:1.95}.z2-end .z2-actions{justify-content:center}.z2-end .z2-end-date{display:block;margin-top:29px;color:#dfc995;font-size:11px;letter-spacing:2px}
.z2-page-footer{max-width:1440px;margin:auto;padding:25px 48px 30px;display:flex;gap:25px;align-items:center;justify-content:space-between;border-top:1px solid #dfbf7f2e;font-size:10px;color:#b1c4b6}.z2-page-footer a{color:#ddc58c;text-decoration:none}.z2-footer-wordmark{font:18px Georgia,serif;letter-spacing:3px;color:#eed7a7}.z2-motion{font:10px Arial,sans-serif;color:#d7d9bd;border:1px solid #b2b98a50;background:#274237;border-radius:3px;padding:10px 12px;cursor:pointer}.z2-motion[aria-pressed=true]{border-color:#e6c78c;color:#f5dfb6}
/* Light passes over the same continuous world, without covering videos. */
.z2v,.z2s,.z2p,.z2t,.z2e,.z2f{background:linear-gradient(115deg,#243d367d,#2b433c3d 65%,#816b3e1f);border-top-color:#ddc68e3d}
.z2t{background:radial-gradient(ellipse at 85% 20%,#9e764330,transparent 60%),linear-gradient(120deg,#443d3070,#283b3670)}
.z2e{background:radial-gradient(ellipse at 15% 80%,#3d818f33,transparent 65%),#243a3850}.z2f{background:radial-gradient(ellipse at 85% 50%,#6b8d4b33,transparent 60%),#2f4a3860}
.z2v{min-height:auto}.z2v-backdrop{opacity:.15;background:linear-gradient(90deg,#284138b3,#27453a80),url('assets/day-on.jpg') 50% 50%/cover;filter:blur(8px)}.z2v[data-environment=night] .z2v-backdrop{opacity:.08}.z2v:after{background:linear-gradient(0deg,#263d3626,transparent 45%,#263d364d)}.z2v-brand{display:none}.z2v-layout{min-height:0;padding:65px 0 55px}.z2v h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(42px,4.4vw,62px);line-height:1.07;letter-spacing:-1.9px;margin:0 0 27px}.z2v h2 em{font-weight:400;color:var(--z2v-gold)}
.z2v-description,.z2s-lead,.z2s-description p,.z2p-lead,.z2p-intro-note,.z2t-lead,.z2t-reward>p:not(.z2t-small-title),.z2t-description p,.z2t-route p,.z2t-rules-grid p,.z2e-lead,.z2f-lead,.z2f-description p{color:#c6d2c3}
.z2v-footer,.z2s-footer,.z2p-footer,.z2t-footer,.z2e-footer,.z2f-footer,.z2s-status,.z2p-status,.z2t-status,.z2f-status,.z2v-caption p{color:#acbca9}
.z2s-choice,.z2p-choice,.z2t-choice,.z2f-choice{background:#273b31;border-color:#baa77358}
.z2v-segments{background:#23382f}.z2v-choice{color:#cad3bf}
@media(min-width:1600px){.z2-shell,.z2-nav-inner,.z2-page-footer{max-width:1500px}}
@media(max-width:1100px){.z2-nav-inner{padding:10px 28px;gap:22px}.z2-nav-links{gap:16px}.z2-nav-brand{font-size:17px}.z2-nav-site{display:none}.z2-shell{padding-left:28px;padding-right:28px}.z2-hero-layout{min-height:590px;gap:20px}.z2-hero h1{font-size:65px}.z2-intro .z2-shell{gap:55px}.z2-fact{gap:12px}.z2-fact strong{font-size:31px}.z2-page-footer{padding-left:28px;padding-right:28px}}
@media(max-width:800px){:root{scroll-padding-top:80px}.z2-nav-inner{min-height:64px;flex-wrap:wrap;padding:9px 24px;gap:0}.z2-nav-brand img{width:39px;height:38px}.z2-menu-toggle{display:block;margin-left:auto;border:1px solid #dac18a70;border-radius:3px;background:#264237;color:#f1dfb6;padding:10px 14px;font-size:11px;cursor:pointer}.z2-nav-links{width:100%;display:flex;flex-wrap:wrap;gap:5px 22px;margin:8px 0 0;padding:8px 0 5px}.z2-nav[data-ready=true] .z2-nav-links{display:none}.z2-nav[data-ready=true][data-open=true] .z2-nav-links{display:flex}.z2-nav-links a{padding:9px 0}.z2-shell{padding-left:24px;padding-right:24px}.z2-hero-layout{grid-template-columns:1fr;text-align:center;padding-top:25px;padding-bottom:40px;gap:28px}.z2-emblem{grid-row:1;justify-self:center;width:min(70vw,310px)}.z2-emblem-caption{font-size:8px;bottom:-1%}.z2-hero h1{font-size:61px;letter-spacing:-2px}.z2-hero h1 br{display:none}.z2-hero h1 em::before{content:' '}.z2-hero-copy>p:not([class]){margin-left:auto;margin-right:auto;font-size:15px;max-width:520px}.z2-coming{margin-bottom:21px}.z2-hero .z2-actions{justify-content:center}.z2-facts{grid-template-columns:1fr 1fr;padding:24px 0;gap:25px 15px}.z2-fact:nth-child(2){border:0}.z2-intro .z2-shell{grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:65px}.z2-intro-lead{max-width:650px}.z2-intro h2{font-size:49px}.z2-intro-points li{padding:22px 0}.z2-end .z2-shell{padding-top:65px;padding-bottom:60px}.z2-end h2{font-size:53px}.z2-page-footer{flex-wrap:wrap;justify-content:center;text-align:center;padding:25px 24px;gap:18px 25px}.z2v-layout{padding-top:45px}.z2v h2{font-size:50px}.z2v h2 br{display:none}.z2v h2 em::before{content:' '}}
@media(max-width:480px){.z2-nav-inner{padding-left:16px;padding-right:16px}.z2-shell{padding-left:16px;padding-right:16px}.z2-hero-layout{padding-top:18px}.z2-emblem{width:230px}.z2-hero h1{font-size:51px;letter-spacing:-1.8px}.z2-coming{font-size:10px}.z2-hero-copy>p:not([class]){font-size:14px}.z2-button{padding:15px 20px;font-size:11px}.z2-fact{gap:9px}.z2-fact strong{font-size:30px}.z2-fact small{font-size:9px;max-width:85px}.z2-facts{gap:23px 10px}.z2-intro h2{font-size:42px}.z2-intro .z2-shell{padding-top:50px;padding-bottom:50px}.z2-intro-lead{font-size:14px}.z2-intro-points li{gap:18px}.z2-intro-points h3{font-size:24px}.z2-intro-points p{font-size:12px}.z2-end h2{font-size:43px;letter-spacing:-1px}.z2-end p:not(.z2-kicker){font-size:14px}.z2v h2{font-size:43px;letter-spacing:-1.3px}.z2-sparks i:nth-child(2n){display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.z2-ambient *{animation:none!important}.z2-sparks{display:none}.z2-button{transition:none}.z2-button:hover{transform:none}}
@media(max-width:480px){.z2-fact{flex-direction:column;text-align:center;gap:6px}.z2-fact small{max-width:none}.z2-fact:last-child strong{font-size:30px}}
