#opening{--intro-bg: #0e0b09;--intro-ink: #efe8df;--intro-dim: #a99d91;--intro-gold: #c9a36a;--intro-bar: 56px;position:fixed;inset:0;z-index:60;background:var(--intro-bg);color:var(--intro-ink);cursor:pointer;transition:opacity 1.2s ease}#opening.out{opacity:0;pointer-events:none}.intro-film{position:absolute;left:0;right:0;top:0;bottom:var(--intro-bar);width:100%;height:calc(100% - var(--intro-bar));object-fit:cover;background:var(--intro-bg);pointer-events:none}.intro-bar{position:absolute;left:0;right:0;bottom:0;height:var(--intro-bar);display:flex;align-items:center;gap:20px;padding:0 24px}.intro-bar .kicker{margin:0;color:var(--intro-dim);white-space:nowrap}.intro-progress{flex:1;height:1px;background:#efe8df29;position:relative}.intro-progress i{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--intro-gold);transform-origin:left;transform:scaleX(0)}.intro-hint{margin:0;white-space:nowrap;font:500 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--intro-ink)}#opening:hover .intro-hint,#opening.blocked .intro-hint{color:var(--intro-gold)}@media (max-aspect-ratio: 1/1){.intro-film{object-fit:contain}}@media (max-width: 600px){.intro-bar .kicker{display:none}.intro-bar{padding:0 16px}}#opening{transition:opacity 1.2s ease,background-color .9s ease}#opening.gating{background:#efe9e1;cursor:pointer}.intro-film{transition:opacity .9s ease .6s}.intro-bar{transition:opacity .6s ease .8s}#opening.gating .intro-film,#opening.gating .intro-bar{opacity:0;pointer-events:none;transition-delay:0s}.gate{--g-ink: #1a1714;--g-muted: #4f4943;--g-red: #8c2f27;position:absolute;inset:0;z-index:2;overflow:hidden;display:grid;place-content:center;color:var(--g-ink);transition:visibility 0s linear 1.4s}#opening:not(.gating) .gate{visibility:hidden;pointer-events:none}.gate-bg{position:absolute;inset:0;perspective:1100px;perspective-origin:50% 20%;opacity:0;transform:scale(1.1);animation:bg-in 2.4s cubic-bezier(.2,.7,.2,1) .1s forwards;transition:transform 1s cubic-bezier(.6,.05,.3,1),opacity .7s ease}@keyframes bg-in{to{opacity:1;transform:none}}.floor{position:absolute;left:-30%;right:-30%;top:-18vh;height:150vh;display:flex;flex-direction:column;gap:4vh;transform:rotateX(38deg);transform-origin:50% 40%}.track{display:flex;gap:2.4vh;height:40vh;width:max-content;flex:none;animation:drift 150s linear infinite}.track:nth-child(2){animation-direction:reverse;animation-duration:120s;margin-left:-18vh}.track:nth-child(3){animation-duration:170s;margin-left:-8vh}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-50%)}}.track img{height:100%;width:auto;display:block;border-radius:2px;box-shadow:0 26px 40px -24px #1a171499}.gate-light{position:absolute;inset:-10%;background:radial-gradient(ellipse 50% 32% at 50% 50%,#fcf9f4f2,#faf5eee0 48%,#f8f0e466 72%,#281a102e);animation:breathe 7s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.07);opacity:.9}}.gate-sweep{position:absolute;inset:0;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(100deg,transparent 40%,rgba(255,236,205,0) 44%,rgba(255,238,210,.55) 50%,rgba(255,236,205,0) 56%,transparent 60%);background-size:300% 100%;background-position:120% 0;animation:sweep 8s cubic-bezier(.45,.05,.35,1) 1.6s infinite}@keyframes sweep{0%{background-position:120% 0}55%,to{background-position:-20% 0}}.gate-mid{position:relative;display:grid;justify-items:center;text-align:center;padding:0 16px}#opening .gate-kicker{margin:0 0 18px;color:var(--g-red);opacity:0;transform:translateY(8px);animation:rise .9s ease .9s forwards}.gate-name{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(46px,8.6vw,136px);line-height:.98;letter-spacing:-.035em;text-shadow:0 1px 0 rgba(255,255,255,.6);transition:letter-spacing .8s cubic-bezier(.6,.05,.3,1),opacity .6s ease}.gate-name .line{display:inline-block;overflow:hidden;padding:0 .08em .08em}.gate-name .line+.line{color:var(--g-red)}.gate-name .ch{display:inline-block;transform:translateY(105%);animation:row .95s cubic-bezier(.2,.75,.2,1) forwards;animation-delay:calc(1.1s + var(--i) * 50ms)}@keyframes row{to{transform:none}}@keyframes rise{to{opacity:1;transform:none}}.gate-foot{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:clamp(20px,3.4vh,34px)}.gate-play{display:inline-flex;align-items:center;gap:16px;background:none;border:0;padding:0;cursor:pointer;color:var(--g-ink);font:600 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;opacity:0;animation:rise .9s ease 2.2s forwards}.gate-play .ring{position:relative;width:60px;height:60px;border-radius:50%;background:var(--g-red);display:grid;place-items:center;box-shadow:0 12px 24px -10px #8c2f27bf;transition:transform .3s ease}.gate-play .ring:after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--g-red);opacity:0;animation:pulse 2.4s ease-out 2.9s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.75}to{transform:scale(1.75);opacity:0}}.gate-play .ring svg{width:16px;height:16px;margin-left:3px;fill:#fff}.gate-play:hover .ring,.gate-play:focus-visible .ring{transform:scale(1.08)}.gate-play:focus-visible{outline:none}.gate-play:focus-visible .ring{box-shadow:0 0 0 3px #f7f2ea,0 0 0 5px var(--g-ink)}.gate-hint{margin:0;color:var(--g-muted);font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;opacity:0;animation:rise .9s ease 2.5s forwards}.gate-hint:before{content:"\b7";margin-right:22px}#opening:not(.gating) .gate-bg{transform:scale(1.25);opacity:0}#opening:not(.gating) .gate-mid{opacity:0;transition:opacity .5s ease}#opening:not(.gating) .gate-name{letter-spacing:.1em}@media (max-width: 600px){#opening .gate-kicker{font-size:10.5px;letter-spacing:.14em}.gate-name{font-size:clamp(50px,14.5vw,74px)}.gate-name .line{display:block}.gate-foot{flex-direction:column;gap:14px}.gate-hint:before{content:none}.track{height:30vh}.gate-light{background:radial-gradient(ellipse 62% 30% at 50% 50%,#fcf9f4f2,#faf5eedb 45%,#f8f0e466 75%,#281a102e)}}@media (prefers-reduced-motion: reduce){.gate-bg,#opening .gate-kicker,.gate-name .ch,.gate-play,.gate-hint{animation:none;opacity:1;transform:none}.track,.gate-light,.gate-sweep,.gate-play .ring:after{animation:none}}.track:nth-child(4){animation-direction:reverse;animation-duration:140s;margin-left:-26vh}
