/* Distinct openings for Prompt Wars and Pitch Tank. */
.loader.event-intro{display:grid;place-items:center;position:fixed;inset:0;z-index:200000;background:#080d19;overflow:hidden;opacity:1;transition:opacity .45s ease,visibility .45s ease}
.event-intro[hidden]{display:none}.event-intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.event-intro-scene{position:relative;width:min(680px,calc(100vw - 48px));text-align:center}.event-intro-kicker{display:block;color:#9bacc6;font:500 .6rem/1.7 'Inter',sans-serif;letter-spacing:.22em}.event-intro h2{font:600 clamp(2.7rem,7vw,5.5rem)/1.05 'Inter',sans-serif;letter-spacing:-.065em;margin:20px 0;color:#edf4ff}.event-intro-skip{position:absolute;right:28px;bottom:28px;padding:12px 16px;min-height:44px;border:1px solid #a0b8d43d;border-radius:7px;color:#c5d4e8;background:#14203377;font:500 .7rem/1.5 'Inter',sans-serif}.event-intro-skip:focus-visible{outline:2px solid #d4e9a8;outline-offset:4px}
.event-intro--prompt{background:radial-gradient(ellipse at center,#252342,#080d19 70%)}.event-intro--prompt::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#8d9fc409 1px,transparent 1px),linear-gradient(90deg,#8d9fc409 1px,transparent 1px);background-size:50px 50px;mask-image:radial-gradient(ellipse,#000,transparent 75%)}
.intro-terminal{border:1px solid #a2b7d83d;border-radius:14px;overflow:hidden;text-align:left;background:#0b1121e8;box-shadow:0 25px 100px #0007}.intro-terminal-header{padding:16px 22px;border-bottom:1px solid #9fb8da24;color:#a2b6d3;font:500 .6rem/1.5 'Inter',sans-serif;letter-spacing:.15em}.intro-terminal-content{padding:28px}.intro-terminal-content h2{font-size:clamp(2.3rem,6vw,4.2rem);color:#d4f1aa}.intro-command{color:#a9c7dd;font:400 .75rem/1.8 ui-monospace,monospace}.intro-command>span{color:#bce887}.intro-boot-lines{min-height:72px;color:#92a5c1;font:400 .65rem/1.8 ui-monospace,monospace}.intro-boot-lines p{opacity:0}.intro-boot-lines p::before{content:'✓ ';color:#bde48e}.is-playing .intro-boot-lines p{animation:intro-line .3s ease .25s forwards}.is-playing .intro-boot-lines p:nth-child(2){animation-delay:.65s}.is-playing .intro-boot-lines p:nth-child(3){animation-delay:1.05s}.intro-load-track{height:2px;margin-top:22px;background:#9cafcb26;overflow:hidden}.intro-load-track::after{content:'';display:block;width:100%;height:100%;background:linear-gradient(90deg,#a68bd8,#c2eb92);transform:scaleX(0);transform-origin:left}.is-playing .intro-load-track::after{animation:intro-track 1.6s cubic-bezier(.2,.7,.2,1) forwards}
.event-intro--pitch{background:radial-gradient(ellipse at center,#44392244,#080d19 70%)}.intro-spark{position:relative;display:grid;place-items:center;width:180px;height:180px;margin:0 auto 30px}.intro-spark::before,.intro-spark::after{content:'';position:absolute;inset:0;border:1px solid #ddc27d55;border-radius:50%;transform:scale(.35);opacity:0}.is-playing .intro-spark::before{animation:intro-spark-ring 1.6s ease-out forwards}.is-playing .intro-spark::after{animation:intro-spark-ring 1.6s ease-out .3s forwards}.intro-spark-core{display:grid;place-items:center;width:80px;height:80px;border:1px solid #efd99b99;border-radius:20px;color:#eedda9;font:400 2.7rem/1 'Inter',sans-serif;background:linear-gradient(140deg,#d7b46833,#455a7733);box-shadow:0 0 60px #ecc47022;transform:rotate(-10deg)}.is-playing .intro-spark-core{animation:intro-spark-core 1.7s cubic-bezier(.2,.8,.2,1) both}.intro-pitch-words{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;color:#dac48d;font:500 .7rem/1.8 'Inter',sans-serif;letter-spacing:.12em}.intro-pitch-words span{opacity:0;transform:translateY(8px)}.is-playing .intro-pitch-words span{animation:intro-word .4s ease .2s forwards}.is-playing .intro-pitch-words span:nth-child(2){animation-delay:.55s}.is-playing .intro-pitch-words span:nth-child(3){animation-delay:.9s}.event-intro--pitch h2{color:#f0dfad}.event-intro--pitch .intro-load-track{max-width:240px;margin:26px auto 0}.event-intro--pitch .intro-load-track::after{background:#e7cc89}
@keyframes intro-line{to{opacity:1}}@keyframes intro-track{to{transform:scaleX(1)}}@keyframes intro-word{to{opacity:1;transform:none}}@keyframes intro-spark-ring{15%{opacity:.8}100%{opacity:0;transform:scale(1.4)}}@keyframes intro-spark-core{0%{opacity:0;transform:scale(.65) rotate(-25deg)}40%,80%{opacity:1;transform:scale(1) rotate(-10deg)}100%{opacity:1;transform:scale(1.06) rotate(0)}}
@media(max-width:480px){.intro-terminal-content{padding:22px}.intro-command{font-size:.65rem}.event-intro-kicker{font-size:.5rem;letter-spacing:.14em}.intro-boot-lines{font-size:.6rem}.event-intro-skip{right:18px;bottom:18px}.intro-spark{width:150px;height:150px}.intro-pitch-words{font-size:.6rem;gap:9px}}
@media(prefers-reduced-motion:reduce){.event-intro{display:none!important}.event-intro *{animation:none!important;transition:none!important}}

/* Concept X: a research poster assembles from question to impact. */
.event-intro--concept{background:radial-gradient(ellipse at 45% 45%,#24505b44,#080d19 70%)}
.intro-concept-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:42px;align-items:center;text-align:left}
.intro-concept-paper{padding:22px 18px;background:#e4efeb;border:1px solid #d7ebe2;border-radius:9px;box-shadow:0 20px 70px #0004;transform:rotate(-4deg)}
.intro-concept-paper>span{display:block;font:700 .55rem/1.6 'Inter',sans-serif;letter-spacing:.1em;color:#264d55;padding-bottom:13px;border-bottom:1px solid #284d5533}
.intro-concept-blocks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.intro-concept-blocks>div{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:68px;padding:10px 7px;border:1px solid #7da9a04d;background:#f6faf5;border-radius:4px;opacity:0;transform:translateY(12px)}
.intro-concept-blocks b{font:500 .55rem/1.2 'Inter',sans-serif;color:#75a59b}.intro-concept-blocks span{font:600 .55rem/1.5 'Inter',sans-serif;color:#254c55}
.event-intro--concept h2{font-size:clamp(2rem,5vw,4rem);color:#d5e9e5;letter-spacing:-.055em;margin:18px 0}
.intro-concept-tagline{font:400 .75rem/1.8 'Inter',sans-serif;color:#9bb9c4}.event-intro--concept .intro-load-track::after{background:linear-gradient(90deg,#699f9d,#c1e8dc)}
.is-playing .intro-concept-blocks>div{animation:intro-word .45s cubic-bezier(.16,1,.3,1) .15s forwards}.is-playing .intro-concept-blocks>div:nth-child(2){animation-delay:.4s}.is-playing .intro-concept-blocks>div:nth-child(3){animation-delay:.65s}.is-playing .intro-concept-blocks>div:nth-child(4){animation-delay:.9s}
@media(max-width:600px) and (orientation:portrait){.intro-concept-layout{grid-template-columns:minmax(0,1fr);gap:24px;text-align:center}.intro-concept-paper{width:145px;justify-self:center;padding:15px 12px}.intro-concept-blocks{gap:6px;margin-top:9px}.intro-concept-blocks>div{min-height:52px;padding:8px 6px;gap:8px}.intro-concept-paper>span{font-size:.48rem;padding-bottom:9px}.event-intro--concept h2{font-size:2.2rem;margin:12px 0}.intro-concept-tagline{font-size:.7rem}.event-intro--concept .intro-load-track{max-width:230px;margin:18px auto 0}}
@media(max-height:500px) and (orientation:landscape){.intro-concept-layout{grid-template-columns:140px minmax(0,1fr);gap:28px}.intro-concept-paper{padding:12px}.intro-concept-blocks{margin-top:8px;gap:5px}.intro-concept-blocks>div{min-height:46px;padding:6px;gap:5px}.intro-concept-paper>span{font-size:.45rem;padding-bottom:8px}.mobile-event.event-concept-x .event-intro h2{font-size:2rem}.intro-concept-tagline{font-size:.65rem}}

/* Prompt Wars: the same illustrated amber-and-violet world as the event hero. */
.loader.event-intro--prompt { background:radial-gradient(ellipse at 50% 38%,#58372d65,transparent 55%),radial-gradient(ellipse at 20% 85%,#64318a38,transparent 55%),#100d1a; }
.event-intro--prompt::before { background-image:repeating-linear-gradient(120deg,transparent 0 89px,#cfb17618 90px 91px); background-size:auto; }
.pw-opening { width:min(760px,calc(100vw - 40px)); }
.pw-opening .event-intro-kicker { color:#c6a277; font-size:.65rem; letter-spacing:.24em; }
.pw-opening-art { position:relative; width:min(270px,35vh); margin:12px auto 0; isolation:isolate; }
.pw-opening-art img { display:block; width:100%; height:auto; position:relative; filter:drop-shadow(0 0 25px #e5b36e25); }
.pw-opening-halo { position:absolute; inset:14% 4%; border:1px solid #d8ac6b66; border-radius:50%; box-shadow:0 0 65px #d8963d20,inset 0 0 55px #9c5fbb18; }
.pw-opening-halo::after { content:''; position:absolute; inset:-12px; border:1px dashed #c895e04d; border-radius:50%; }
.pw-opening-label { display:block; color:#b392ba; font:600 .55rem/1.7 'Inter',sans-serif; letter-spacing:.3em; margin-top:8px; }
.event-intro--prompt h2 { font:900 clamp(2rem,6.5vw,4.7rem)/1.2 'Orbitron',sans-serif; letter-spacing:-.045em; color:#ffdda0; text-shadow:0 0 30px #b269a73d; margin:12px 0; }
.event-intro--prompt h2 span { color:#d4a1f2; text-shadow:0 0 22px #bd68ec55; }
.pw-opening-tagline { color:#c0afb5; font:500 .6rem/1.8 'Inter',sans-serif; letter-spacing:.13em; }
.pw-opening-words { display:flex; align-items:center; justify-content:center; gap:18px; margin:24px 0 0; font:500 .6rem/1.7 'Inter',sans-serif; letter-spacing:.14em; color:#ebc88f; }
.pw-opening-words b { color:#bd84d6; }
.pw-opening .intro-load-track { width:min(320px,80%); margin:24px auto 0; background:#b3875930; }
.pw-opening .intro-load-track::after { background:linear-gradient(90deg,#dfac60,#e3c28e,#b67be3); }
.event-intro--prompt .event-intro-skip { color:#efd9b6; border-color:#bc925c66; background:#221b2c; }
.event-intro--prompt .event-intro-skip:focus-visible { outline-color:#f1c983; }
@media(prefers-reduced-motion:no-preference) { .is-playing .pw-opening-art { animation:pw-opening-rise .8s cubic-bezier(.16,1,.3,1) both; } .is-playing .pw-opening h2 { animation:pw-opening-rise .65s ease .15s both; } .is-playing .pw-opening-words { animation:pw-opening-rise .5s ease .35s both; } @keyframes pw-opening-rise { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } } }
@media(max-width:480px) { .pw-opening-art { width:min(230px,32vh); } .pw-opening .event-intro-kicker { font-size:.5rem; } .pw-opening-tagline { font-size:.5rem; letter-spacing:.07em; } .pw-opening-words { gap:10px; font-size:.5rem; } .event-intro--prompt h2 { font-size:clamp(1.9rem,8vw,3rem); } }
@media(max-height:600px) { .pw-opening-art { width:150px; margin-top:0; } .pw-opening h2 { margin:6px 0; } .pw-opening-words { margin-top:12px; } .pw-opening .intro-load-track { margin-top:14px; } }
