/* One quiet Halloween stage, a finite entrance and large alpha-normalized motifs. */
.team-intro{position:fixed;inset:0;z-index:1800;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;overflow:auto;isolation:isolate;padding:28px 36px;color:#fff0d1;background:linear-gradient(#111426bd,#090e1deb),url('../media/crawl-v7/world-rift.jpg') center/cover}
.team-intro::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 25% 45%,#81e8b81f,transparent 42%),radial-gradient(ellipse at 75% 45%,#b58aff26,transparent 42%)}
.team-intro>h2{font:500 clamp(25px,3.2vw,52px)/1.1 Georgia,serif;letter-spacing:.14em;margin:0;text-align:center}
.intro-teams{display:grid;grid-template-columns:1fr 1fr;gap:5vw;width:min(1700px,100%);flex:1;align-content:center;padding:12px 0;box-sizing:border-box}
.intro-team{--glow:#96e6b0;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.intro-team[data-team='B']{--glow:#c6a2ff}
.intro-team>div:first-child{position:relative;isolation:isolate}
.intro-team[data-revealed='false']{visibility:hidden}
.intro-team[data-revealed='true']>div:first-child,.intro-team[data-revealed='true']>h3{animation:intro-medallion-arrive .7s cubic-bezier(.16,.75,.2,1) both}
.intro-team>div:first-child::before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:-6%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--glow) 18%,transparent),transparent 68%)}
.intro-team>div:first-child::after{content:'';position:absolute;z-index:-1;pointer-events:none;inset:12% 3%;border:1px solid color-mix(in srgb,var(--glow) 14%,transparent);border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 32px color-mix(in srgb,var(--glow) 7%,transparent)}
.intro-team>div:first-child .squad-badge{width:clamp(320px,43.5vh,490px);margin:auto;filter:drop-shadow(0 8px 18px #0009) drop-shadow(0 0 26px color-mix(in srgb,var(--glow) 25%,transparent))}
.intro-team>small{font:700 14px/1.2 system-ui,sans-serif;letter-spacing:.2em;color:var(--glow);margin:8px 0 4px}
.intro-team h3{font:600 clamp(30px,3.4vw,56px)/1.08 Georgia,serif;color:var(--glow);margin:0 0 14px;letter-spacing:.015em;overflow-wrap:anywhere;max-width:100%}
.intro-names{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:190px}
.intro-name{display:block;width:100%;overflow-wrap:anywhere;font:500 clamp(29px,3.1vw,50px)/1.14 Georgia,serif;opacity:0;transform:translateX(-60px);text-shadow:0 3px 18px #000;transition:opacity .45s,transform .6s cubic-bezier(.2,.8,.2,1)}
.intro-team[data-team='B'] .intro-name{transform:translateX(60px)}
.intro-name.is-shown,.intro-team[data-team='B'] .intro-name.is-shown{opacity:1;transform:none}
.intro-names[data-many='true']{gap:4px;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.intro-names[data-many='true'] .intro-name{font-size:23px}
.intro-controls{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;flex-shrink:0;position:sticky;bottom:0;z-index:2;padding:8px 12px 0;border-radius:12px;background:linear-gradient(transparent,#0a1120e8 30%)}
.intro-controls button{min-height:48px;border:1px solid #d1c89b88;border-radius:12px;padding:10px 22px;background:#152d35;color:#fff0d1;font:18px system-ui,sans-serif;cursor:pointer}
.intro-controls #teamIntroBegin{background:#e8d39a;color:#12212a;font-weight:700;min-width:210px;font-size:24px}
.intro-controls button:focus-visible{outline:3px solid #ffe4a5;outline-offset:4px}
@keyframes intro-medallion-arrive{from{opacity:0;transform:translateY(22px) scale(.88)}to{opacity:1;transform:none}}
.team-intro[data-paused='true'] .intro-team>div:first-child,.team-intro[data-paused='true'] .intro-team>h3{animation-play-state:paused}
.team-intro[data-settled='true'] .intro-team>div:first-child,.team-intro[data-settled='true'] .intro-team>h3{animation:none}
.team-intro[data-settled='true'] .intro-name{transition:none!important}
.team-intro[data-reduced='true'] *{animation:none!important;transition:none!important}
@media(max-height:800px){.team-intro{padding:16px 24px}.team-intro>h2{font-size:30px}.intro-teams{padding:8px 0;gap:5vw}.intro-team>div:first-child .squad-badge{width:320px}.intro-team>small{font-size:12px;margin:6px 0 3px}.intro-team h3{font-size:36px;margin-bottom:10px}.intro-names{min-height:132px;gap:5px}.intro-name{font-size:34px}.intro-names[data-many='true'] .intro-name{font-size:21px}.intro-controls{min-height:52px;padding-top:6px}}
@media(max-width:750px){.team-intro{padding:18px 12px}.intro-teams{gap:16px}.intro-team>div:first-child .squad-badge{width:min(38vw,320px)}.intro-team h3{font-size:clamp(25px,4.5vw,36px)}.intro-name{font-size:clamp(24px,4.1vw,34px)}.intro-names[data-many='true']{grid-template-columns:1fr}.intro-controls{flex-wrap:wrap}.intro-controls button{padding:8px 12px}.intro-controls #teamIntroBegin{min-width:130px}}
