/* The first entrance collapses into the persistent Vice City broadcast mark. */
.entrance-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#0b182b;color:#fff4e2;overflow:clip;isolation:isolate;box-shadow:none}.entrance-dialog::backdrop{background:#0b182b}.entrance-active{overflow:hidden}.portal-denim{position:absolute;inset:auto;left:calc(50% - 75vmax);top:calc(50% - 75vmax);width:150vmax;height:150vmax;background-image:radial-gradient(ellipse at center,#0b182b11 5%,#0b182b88 45%,#060d1dee 76%),url('assets/jacket-print.jpeg');background-size:cover;background-position:center 64%;background-repeat:no-repeat;opacity:.7;transform:rotate(-18deg);animation:portal-swirl 34s linear infinite}.portal-warp{position:absolute;inset:0;perspective:700px;pointer-events:none}.portal-warp>span{position:absolute;left:50%;top:50%;width:135vw;height:125vh;border:2px solid #f0a8ca77;border-radius:48% 52% 45% 55%;box-shadow:inset 0 0 45px #ef83b310,0 0 55px #ef83b30f;animation:portal-tunnel 7s linear infinite;animation-delay:calc(var(--ring) * -1s);transform-origin:center;opacity:0}.portal-grain{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 5%,#07112088 75%),linear-gradient(115deg,#f0a8ca10,transparent 35%,#f4f05c08);pointer-events:none}.portal-top{position:absolute;left:5%;right:5%;top:35px;display:flex;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:2px;color:#f2c9db;z-index:2}.portal-content{position:absolute;top:50%;left:50%;width:min(600px,90vw);text-align:center;transform:translate(calc(-50% + var(--portal-x,0px)),calc(-50% + var(--portal-y,0px)));z-index:3;transition:transform .18s ease-out}.portal-live{font:700 12px 'DM Sans',sans-serif;letter-spacing:4px;color:#ffe7d8;margin:0 0 20px}.portal-live i{display:inline-block;width:9px;height:9px;background:#ff547f;border-radius:50%;box-shadow:0 0 20px #ff547f;margin-right:12px;animation:record-light 2.8s ease-in-out infinite}.portal-title{margin:0 auto;width:400px;height:260px;filter:drop-shadow(0 10px 35px #060d1dcc)}.portal-title .vice-lockup{width:400px;height:260px}.portal-line{font-family:'Lilita One',Impact;font-size:25px;letter-spacing:-.3px;color:#f6c2db;margin:25px 0 30px;text-shadow:2px 3px #142339}.portal-enter{border:1px solid #f6e8bf;background:var(--yellow);color:#142339;font-size:10px;font-weight:800;letter-spacing:1.5px;padding:19px 24px;box-shadow:5px 6px #060e1c88;transition:transform .2s,box-shadow .2s}.portal-enter span{font-size:20px;margin-left:30px}.portal-enter:hover{transform:translateY(-4px);box-shadow:8px 12px #060e1c88}.portal-skip{display:block;margin:20px auto 0;padding:8px;border:0;border-bottom:1px solid #f0a8ca55;background:none;color:#d7cbd5;font-size:9px;letter-spacing:.5px}.portal-footer{position:absolute;bottom:30px;width:100%;text-align:center;color:#f5d9c9;font-size:9px;letter-spacing:3px}.portal-monkey{position:absolute;left:13%;bottom:13%;width:160px;height:160px;background:none;border:0;transform:rotate(-14deg);filter:drop-shadow(5px 9px 0 #09132355);z-index:4;animation:portal-monkey 8s ease-in-out infinite alternate}.portal-banana{position:absolute;width:45px;height:45px;pointer-events:none;opacity:.8}.banana-one{right:14%;top:21%;transform:rotate(25deg);animation:portal-banana 9s ease-in-out infinite alternate}.banana-two{right:20%;bottom:15%;transform:rotate(-20deg);animation:portal-banana 11s ease-in-out infinite alternate-reverse}.entrance-dialog.pulling .portal-denim{animation:portal-pull .85s cubic-bezier(.65,0,.85,.4) forwards}.entrance-dialog.pulling .portal-warp{animation:portal-zoom .85s ease-in forwards}.entrance-dialog.pulling .portal-content{animation:portal-fall .8s ease-in forwards}.entrance-dialog.pulling .portal-top,.entrance-dialog.pulling .portal-footer,.entrance-dialog.pulling .portal-monkey,.entrance-dialog.pulling .portal-banana{opacity:0;transition:opacity .3s}
@keyframes portal-swirl{from{transform:rotate(-18deg) scale(1.05)}to{transform:rotate(342deg) scale(1.05)}}@keyframes portal-tunnel{0%{transform:translate(-50%,-50%) rotate(-40deg) scale(1.45);opacity:0}15%{opacity:.6}85%{opacity:.3}100%{transform:translate(-50%,-50%) rotate(50deg) scale(.12);opacity:0}}@keyframes portal-monkey{to{transform:translate(20px,-12px) rotate(7deg)}}@keyframes portal-banana{to{transform:translate(-30px,40px) rotate(85deg)}}@keyframes portal-pull{from{transform:rotate(-18deg) scale(1.05);filter:blur(0)}to{transform:rotate(50deg) scale(4.5);filter:blur(20px);opacity:0}}@keyframes portal-zoom{to{transform:scale(5);opacity:0}}@keyframes portal-fall{to{transform:translate(-50%,-50%) scale(.1) rotate(-12deg);filter:blur(8px);opacity:0}}
@media(max-width:700px){.portal-title,.portal-title .vice-lockup{width:300px;height:205px}.portal-live{font-size:9px;letter-spacing:2px;margin-bottom:16px}.portal-line{font-size:22px}.portal-monkey{left:3%;bottom:9%;width:110px;height:110px}.portal-top{font-size:6px;letter-spacing:1px;top:25px}.portal-footer{font-size:7px;letter-spacing:2px;bottom:22px}.portal-enter{font-size:9px;padding:16px 18px}.portal-enter span{margin-left:20px}.portal-banana{width:30px;height:30px}.banana-one{right:8%;top:15%}.banana-two{right:8%;bottom:14%}.portal-warp>span{width:190vw;height:130vh}}@media(max-height:650px){.portal-title,.portal-title .vice-lockup{width:220px;height:145px}.portal-live{font-size:8px;margin-bottom:8px}.portal-line{font-size:18px;margin:12px 0 18px}.portal-enter{padding:12px 16px;font-size:8px}.portal-skip{margin-top:10px}.portal-top{top:18px}.portal-footer{bottom:15px}.portal-monkey{width:100px;height:100px}}
body.reduced .entrance-dialog *,body.reduced .entrance-dialog.pulling *{animation:none!important;transition:none!important}.reduced .portal-content{transform:translate(-50%,-50%)}
@media(prefers-reduced-motion:reduce){.entrance-dialog *{animation:none!important;transition:none!important}.portal-warp>span:nth-child(2){transform:translate(-50%,-50%) rotate(15deg) scale(.85);opacity:.3}.portal-warp>span:nth-child(4){transform:translate(-50%,-50%) rotate(35deg) scale(.5);opacity:.2}}

.portal-title,.portal-title .vice-lockup{width:min(520px,85vw);height:auto;aspect-ratio:409/202}.portal-title .vice-lettering{filter:drop-shadow(0 0 12px #fa5aab88) drop-shadow(0 8px 12px #08122388)}
@media(max-width:700px){.portal-title,.portal-title .vice-lockup{width:min(370px,85vw)}}
@media(max-height:650px){.portal-title,.portal-title .vice-lockup{width:260px}.portal-line{margin:10px 0 15px}}
