:root {
  --bg: #08080d;
  --surface: #101018;
  --surface-2: #161620;
  --paper: #f4f3f8;
  --muted: #a29fac;
  --border: rgba(244, 243, 248, 0.13);
  --magenta: #ff3d8d;
  --blue: #65d8ff;
  --yellow: #f6d866;
  --lime: #b8f366;
  --radius: 22px;
  --shell: min(1180px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--paper); background: var(--bg); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; overflow-x: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.section-shell { width: var(--shell); margin-inline: auto; position: relative; }
.site-noise { pointer-events: none; position: fixed; inset: 0; opacity: .035; z-index: 5; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.aurora { pointer-events: none; position: absolute; z-index: -1; width: 42rem; aspect-ratio: 1; border-radius: 50%; filter: blur(36px); opacity: .16; }
.aurora-left { top: -12rem; left: -16rem; background: var(--blue); }
.aurora-right { top: 24rem; right: -18rem; background: var(--magenta); }
.grid-field { pointer-events: none; position: absolute; z-index: -1; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(to bottom, #000 0, transparent 55rem); }

.site-header { width: var(--shell); height: 88px; margin: auto; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 20; border-bottom: 1px solid rgba(255,255,255,.09); }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; }
.brand-mark { position: relative; width: 24px; height: 24px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 3px; transform: rotate(45deg); }
.brand-mark i { display: block; background: var(--paper); }
.brand-mark i:nth-child(2) { background: var(--magenta); border-radius: 50% 0 0; }
.brand-mark i:nth-child(3) { grid-column: 1 / 3; width: 10px; justify-self: center; background: var(--blue); }
.brand-word { display: flex; align-items: baseline; font-size: .92rem; letter-spacing: -.06em; font-weight: 900; }
.brand-word b { font-style: normal; }.brand-word em { color: var(--magenta); font-style: normal; }
.main-nav { display: flex; align-items: center; gap: 28px; margin-left: 7rem; }
.main-nav a { color: #a9a6b1; font-size: .84rem; font-weight: 700; transition: color .2s ease; position: relative; }
.main-nav a:hover, .main-nav a.active { color: var(--paper); }.main-nav a.active::after { content: ""; position: absolute; height: 2px; bottom: -34px; left: 0; right: 0; background: var(--magenta); box-shadow: 0 0 10px var(--magenta); }
.profile-button { background: transparent; color: var(--paper); border: 1px solid var(--border); border-radius: 999px; padding: 10px 15px; display: inline-flex; gap: 9px; align-items: center; font-size: .78rem; font-weight: 750; transition: border-color .2s, transform .2s; }.profile-button:hover { border-color: var(--magenta); transform: translateY(-2px); }.profile-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 3px rgba(184,243,102,.12); }
.menu-toggle { display: none; width: 44px; height: 42px; padding: 10px; border: 1px solid var(--border); background: rgba(255,255,255,.04); border-radius: 10px; }.menu-toggle span:not(.sr-only) { display: block; height: 2px; background: var(--paper); margin: 5px 0; transition: transform .25s, opacity .25s; }

.hero { min-height: 620px; display: grid; grid-template-columns: .94fr 1.06fr; align-items: center; gap: 44px; padding: 76px 0 90px; }
.hero-copy { position: relative; z-index: 2; }.eyebrow { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; color: #c2beca; font-size: .67rem; letter-spacing: .14em; font-weight: 800; text-transform: uppercase; }.live-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--magenta); box-shadow: 0 0 0 4px rgba(255,61,141,.12), 0 0 12px var(--magenta); animation: pulse 1.8s infinite; }.line-mark { height: 1px; width: 24px; background: var(--magenta); box-shadow: 0 0 10px var(--magenta); }
.hero-kicker { margin: 0 0 9px; color: var(--blue); font-size: .68rem; letter-spacing: .16em; font-weight: 800; }.hero h1, .section-heading h2, .showcase h2, .community h2, .event-banner h2 { margin: 0; font-size: clamp(3rem, 5.35vw, 5.45rem); font-weight: 850; letter-spacing: -.075em; line-height: .94; text-wrap: balance; }.hero h1 span, h2 span { color: var(--magenta); }.hero-description { max-width: 470px; color: var(--muted); margin: 24px 0 28px; font-size: 1rem; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; }.button { border: 0; min-height: 47px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; border-radius: 12px; font-size: .8rem; font-weight: 850; transition: transform .2s, box-shadow .2s, background .2s; }.button:hover { transform: translateY(-3px); }.button-primary { color: #120510; background: var(--magenta); box-shadow: 0 10px 28px rgba(255,61,141,.22); }.button-primary:hover { box-shadow: 0 14px 34px rgba(255,61,141,.4); }.button-primary span, .button-light span { font-size: 1.1rem; line-height: 1; }.button-ghost { color: var(--paper); background: rgba(255,255,255,.055); border: 1px solid var(--border); }.button-ghost:hover { border-color: rgba(101,216,255,.65); }.play-icon { color: var(--blue); font-size: .74rem; }
.hero-meta { display: flex; gap: 28px; margin-top: 44px; }.hero-meta div { display: grid; gap: 3px; padding-right: 26px; border-right: 1px solid rgba(255,255,255,.16); }.hero-meta div:last-child { border: 0; padding-right: 0; }.hero-meta strong { font-size: 1.05rem; letter-spacing: -.04em; }.hero-meta span { font-size: .65rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }

.hero-stage { min-height: 465px; position: relative; display: grid; place-items: center; }.orbit { position: absolute; border: 1px solid rgba(101,216,255,.18); border-radius: 50%; transform: rotate(-28deg); }.orbit-one { width: 520px; height: 240px; }.orbit-two { width: 460px; height: 170px; transform: rotate(45deg); border-color: rgba(255,61,141,.18); }.orbit::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 15px 4px rgba(101,216,255,.55); top: 23%; left: 8%; }.orbit-two::after { top: auto; left: auto; right: 11%; bottom: 18%; background: var(--magenta); box-shadow: 0 0 15px 4px rgba(255,61,141,.48); }.stage-coordinates { position: absolute; color: #8e8a96; font-size: .58rem; letter-spacing: .16em; font-weight: 750; }.top-coord { top: 21px; right: 0; }.bottom-coord { bottom: 24px; left: 3px; }.featured-game-card { width: min(355px, 78%); padding: 10px; position: relative; border: 1px solid rgba(255,255,255,.19); border-radius: 22px; background: rgba(18,18,28,.7); box-shadow: 0 24px 80px rgba(0,0,0,.4), inset 0 1px rgba(255,255,255,.08); backdrop-filter: blur(12px); transform: rotate(3deg); }.featured-art { position: relative; height: 300px; overflow: hidden; border-radius: 14px; background: radial-gradient(circle at 77% 14%, #ff8aab 0 5%, transparent 5.4%), linear-gradient(155deg, #221246, #7e1f68 49%, #f95b7e); }.sun-disc { position: absolute; width: 155px; height: 155px; right: 31px; top: 39px; border-radius: 50%; background: linear-gradient(#ffc6df, #fa758f); opacity: .9; }.rift { position: absolute; left: -30px; right: -30px; height: 36px; border-radius: 50%; border: 10px solid rgba(13,10,35,.86); transform: rotate(-14deg); }.rift-a { top: 152px; }.rift-b { top: 193px; border-width: 14px; }.rift-c { top: 243px; border-width: 18px; }.hero-silhouette { position: absolute; width: 90px; height: 180px; left: 44%; bottom: 20px; background: #141022; clip-path: polygon(45% 0, 65% 8%, 74% 30%, 100% 43%, 76% 52%, 83% 100%, 16% 100%, 25% 54%, 0 47%, 25% 30%, 32% 8%); filter: drop-shadow(0 0 16px #191129); }.art-label { position: absolute; top: 21px; left: 21px; color: #1b102a; font-size: 2.25rem; font-weight: 950; letter-spacing: -.11em; line-height: .74; mix-blend-mode: multiply; }.art-label span { font-size: 1.15rem; letter-spacing: .08em; }.scanline { position: absolute; inset: 0; background: repeating-linear-gradient(transparent 0 4px, rgba(0,0,0,.12) 5px 6px); mix-blend-mode: multiply; }.featured-info { min-height: 76px; padding: 10px 6px 2px; display: flex; justify-content: space-between; gap: 10px; align-items: center; }.status-chip { color: var(--magenta); font-size: .55rem; letter-spacing: .1em; font-weight: 850; }.featured-info h2 { margin: 3px 0; font-size: 1.15rem; letter-spacing: -.05em; }.featured-info p { margin: 0; font-size: .63rem; color: #9d99a6; }.circle-button, .card-details button { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.06); color: var(--paper); border-radius: 50%; font-size: 1.3rem; line-height: 1; transition: .2s; }.circle-button:hover, .card-details button:hover, .card-details button.is-favorite { background: var(--magenta); border-color: var(--magenta); color: #160710; transform: rotate(90deg); }.stage-float-card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: rgba(10,10,16,.7); backdrop-filter: blur(10px); font-size: .62rem; line-height: 1.25; box-shadow: 0 10px 24px rgba(0,0,0,.25); }.stage-float-card span:first-child { color: var(--blue); font-size: .82rem; font-weight: 900; }.float-card-one { left: -4px; top: 32%; }.float-card-two { right: -4px; bottom: 20%; }.mini-online { width: 7px; height: 7px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 10px var(--lime); }

.signal-strip { border-block: 1px solid rgba(255,255,255,.1); overflow: hidden; background: rgba(255,255,255,.025); }.signal-track { width: max-content; min-height: 52px; display: flex; align-items: center; gap: 28px; animation: ticker 25s linear infinite; padding-left: 0; }.signal-track p { margin: 0; white-space: nowrap; color: #b4afbc; font-size: .68rem; font-weight: 700; letter-spacing: .03em; }.signal-track p span { color: var(--magenta); }.signal-track i { width: 4px; height: 4px; background: var(--blue); border-radius: 50%; }

.discover { padding: 122px 0 96px; }.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; }.section-heading h2, .showcase h2, .community h2 { font-size: clamp(2.4rem, 4.25vw, 4.3rem); }.section-heading > p { max-width: 290px; margin: 0 0 5px; color: var(--muted); font-size: .91rem; line-height: 1.6; }.discover-controls { margin: 44px 0 25px; display: flex; gap: 20px; align-items: center; justify-content: space-between; }.filters { display: flex; flex-wrap: wrap; gap: 8px; }.filter { border: 1px solid var(--border); color: #b5b1bc; background: rgba(255,255,255,.025); padding: 9px 13px; border-radius: 8px; font-size: .72rem; font-weight: 750; transition: .2s; }.filter:hover { border-color: rgba(101,216,255,.55); color: var(--paper); }.filter.active { color: #140710; background: var(--paper); border-color: var(--paper); }.search-box { position: relative; min-width: 190px; }.search-box input { width: 100%; outline: none; color: var(--paper); background: rgba(255,255,255,.04); border: 1px solid var(--border); border-radius: 8px; padding: 10px 33px 10px 12px; font-size: .75rem; transition: border-color .2s; }.search-box input:focus { border-color: var(--blue); }.search-box span:not(.sr-only) { position: absolute; top: 5px; right: 10px; color: var(--blue); font-size: 1.32rem; }
.game-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.game-card { min-width: 0; background: rgba(255,255,255,.035); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s, box-shadow .28s; }.game-card:hover { transform: translateY(-8px); border-color: rgba(255,255,255,.28); box-shadow: 0 22px 44px rgba(0,0,0,.22); }.game-card.is-hidden { display: none; }.card-art { height: 218px; position: relative; overflow: hidden; isolation: isolate; }.card-art::before, .card-art::after { content: ""; position: absolute; pointer-events: none; }.art-number { position: absolute; z-index: 2; top: 15px; left: 16px; font-size: .6rem; color: rgba(255,255,255,.7); letter-spacing: .12em; font-weight: 800; }.art-title { position: absolute; z-index: 2; left: 17px; bottom: 17px; color: #fff; font-weight: 950; font-size: 1.76rem; letter-spacing: -.1em; line-height: .72; }.art-title b { font-size: .79em; letter-spacing: .04em; }.card-state { position: absolute; z-index: 2; right: 15px; top: 15px; color: #1c0726; background: var(--magenta); padding: 5px 7px; border-radius: 5px; font-size: .55rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }.card-state.cool { background: var(--blue); color: #062134; }.card-state.warm { background: var(--yellow); color: #2c2000; }
.art-vanta { background: radial-gradient(circle at 72% 28%, #f9a7cb 0 12%, transparent 12.5%), linear-gradient(145deg, #1d1649, #8c1e6b 58%, #ea5c83); }.art-vanta::before { width: 250px; height: 60px; left: -23px; bottom: 56px; transform: rotate(-14deg); border-block: 16px solid rgba(17,10,41,.8); border-radius: 50%; }.art-vanta::after { width: 48px; height: 112px; bottom: 28px; right: 62px; background: #171128; clip-path: polygon(50% 0, 64% 20%, 100% 38%, 69% 48%, 75% 100%, 26% 100%, 32% 48%, 0 38%, 37% 20%); }.art-icon { position: absolute; top: 47px; right: 38px; color: #24123c; font-size: 4rem; z-index: 1; transform: rotate(18deg); }.art-drift { background: linear-gradient(135deg, #06152b 0%, #135f88 48%, #51d8da); }.art-drift::before { width: 250px; height: 110px; background: #111a2b; bottom: -30px; right: -15px; clip-path: polygon(0 50%, 100% 0, 100% 100%, 9% 100%); }.speed-lines { position: absolute; inset: 0; background: repeating-linear-gradient(110deg, transparent 0 22px, rgba(255,255,255,.3) 23px 25px, transparent 26px 43px); opacity: .65; transform: translateX(46px); }.art-midnight { background: linear-gradient(140deg, #131b37, #20175c 55%, #8041b7); }.moon { position: absolute; width: 138px; height: 138px; border-radius: 50%; right: 21px; top: 23px; background: #c8ccff; box-shadow: 0 0 0 15px rgba(200,204,255,.1); }.art-midnight::before { left: 0; bottom: 0; width: 100%; height: 45%; background: repeating-linear-gradient(100deg, #101128 0 13px, #261a4f 14px 22px); clip-path: polygon(0 65%, 12% 38%, 26% 55%, 42% 15%, 63% 60%, 80% 25%, 100% 52%, 100% 100%, 0 100%); }.art-zenith { background: radial-gradient(circle at 50% 50%, #ffe98e 0 3%, #e0884c 4% 7%, transparent 8%), linear-gradient(145deg, #471c28, #9a382d 52%, #ef854d); }.grid-glow { position: absolute; inset: -20px; background-image: linear-gradient(rgba(255,233,142,.52) 1px, transparent 1px), linear-gradient(90deg, rgba(255,233,142,.52) 1px, transparent 1px); background-size: 27px 27px; transform: perspective(200px) rotateX(57deg) translateY(51px); }.art-zenith::before { width: 100px; height: 100px; border: 1px solid rgba(255,236,175,.9); transform: rotate(45deg); top: 39px; left: calc(50% - 50px); }.art-ember { background: radial-gradient(circle at 69% 30%, #ffc277 0 3%, transparent 3.5%), linear-gradient(135deg, #35151d, #a43f23 60%, #fa894d); }.ember-icon { position: absolute; right: 38px; top: 43px; color: #ffd07e; font-size: 4.7rem; filter: drop-shadow(0 0 14px rgba(255,208,126,.65)); }.art-ember::before { width: 250px; height: 250px; right: -69px; top: -77px; border: 1px solid rgba(255,234,180,.45); border-radius: 50%; }.art-neon { background: radial-gradient(circle at 68% 40%, #90ffd8 0 2%, transparent 2.5%), linear-gradient(145deg, #092f3c, #057b79 55%, #80d989); }.target-icon { position: absolute; font-size: 7rem; right: 28px; top: 23px; color: rgba(1,41,47,.73); }.art-neon::before { width: 200px; height: 14px; top: 85px; right: -15px; background: rgba(191,255,209,.7); transform: rotate(-28deg); box-shadow: 0 26px 0 rgba(191,255,209,.35), 0 -26px 0 rgba(191,255,209,.25); }
.card-details { min-height: 130px; padding: 17px; display: flex; gap: 12px; justify-content: space-between; }.card-details span { color: var(--blue); font-size: .59rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }.card-details h3 { margin: 5px 0 6px; font-size: 1.05rem; letter-spacing: -.04em; }.card-details p { margin: 0; max-width: 250px; color: #a49fac; font-size: .72rem; line-height: 1.45; }.card-details button { margin-top: 5px; width: 29px; height: 29px; font-size: 1.1rem; }.empty-state { margin: 34px 0 0; color: var(--muted); text-align: center; }

.showcase { min-height: 550px; padding: 98px clamp(24px, 7vw, 88px); display: grid; grid-template-columns: 1fr 1.08fr; align-items: center; gap: clamp(32px, 8vw, 110px); border: 1px solid var(--border); border-radius: 32px; background: radial-gradient(circle at 22% 43%, rgba(101,216,255,.17), transparent 27%), linear-gradient(135deg, #141421, #0b0b13 64%); overflow: hidden; }.showcase-graphic { min-height: 320px; position: relative; display: grid; place-items: center; }.graphic-orbit { width: 290px; height: 290px; border: 1px solid rgba(101,216,255,.42); border-radius: 50%; box-shadow: inset 0 0 56px rgba(101,216,255,.1), 0 0 46px rgba(101,216,255,.08); animation: spin 16s linear infinite; }.graphic-orbit::before, .graphic-orbit::after { content: ""; position: absolute; width: 100%; height: 1px; top: 50%; background: rgba(101,216,255,.35); }.graphic-orbit::after { transform: rotate(90deg); }.graphic-core { position: absolute; display: grid; text-align: center; place-items: center; width: 102px; height: 102px; color: #06161d; background: var(--blue); border-radius: 50%; font-size: 1.55rem; font-weight: 950; line-height: .8; box-shadow: 0 0 0 9px rgba(101,216,255,.08), 0 0 36px rgba(101,216,255,.45); }.graphic-core small { font-size: .53rem; letter-spacing: .08em; text-transform: uppercase; }.graphic-node { position: absolute; width: 10px; height: 10px; background: var(--magenta); border-radius: 50%; box-shadow: 0 0 16px var(--magenta); }.node-a { top: 19%; right: 20%; }.node-b { bottom: 14%; left: 24%; background: var(--yellow); box-shadow: 0 0 16px var(--yellow); }.node-c { top: 47%; left: 7%; background: var(--lime); box-shadow: 0 0 16px var(--lime); }.showcase-copy > p:not(.eyebrow), .community-copy > p:not(.eyebrow) { max-width: 490px; color: var(--muted); line-height: 1.7; font-size: .96rem; }.feature-list { list-style: none; margin: 28px 0; padding: 0; display: grid; gap: 12px; }.feature-list li { color: #d4d0da; font-size: .82rem; font-weight: 650; }.feature-list span { display: inline-block; width: 29px; color: var(--blue); font-size: .65rem; letter-spacing: .08em; }.text-link { padding: 0 0 6px; color: var(--paper); background: transparent; border: 0; border-bottom: 1px solid var(--magenta); font-size: .78rem; font-weight: 850; }.text-link span { margin-left: 12px; color: var(--magenta); font-size: 1.1rem; }.text-link:hover span { display: inline-block; transform: translateX(4px); }

.community { padding: 118px 0; display: grid; grid-template-columns: 1fr .88fr; gap: clamp(48px, 8vw, 130px); align-items: center; }.community-panel { padding: 32px; min-height: 325px; display: flex; flex-direction: column; border-radius: 25px; position: relative; overflow: hidden; background: linear-gradient(135deg, #d73081, #6d2359 58%, #242140); }.community-panel::before { content: ""; position: absolute; width: 460px; height: 460px; right: -190px; bottom: -270px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.06), 0 0 0 85px rgba(255,255,255,.04); }.community-panel-top { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 1; }.community-panel-top .eyebrow { margin: 0; color: #fff; }.online-count { font-size: .61rem; font-weight: 700; }.online-count::first-letter { color: var(--lime); }.community-avatars { position: relative; z-index: 1; display: flex; margin-top: 33px; }.avatar { width: 42px; height: 42px; margin-left: -7px; display: grid; place-items: center; border: 2px solid #aa2f6e; border-radius: 50%; color: #1c0a1b; font-size: .72rem; font-weight: 950; }.avatar:first-child { margin-left: 0; }.a1 { background: #f7c37c; }.a2 { background: #75dcf5; }.a3 { background: #afeb87; }.a4 { background: #cab3fc; }.avatar.more { background: #351b40; color: #fff; }.community-panel blockquote { position: relative; z-index: 1; margin: auto 0 23px; font-weight: 850; font-size: clamp(1.6rem, 3vw, 2.5rem); letter-spacing: -.06em; line-height: 1.01; }.community-panel blockquote em { color: #ffdf91; font-style: normal; }.button-light { position: relative; z-index: 1; align-self: flex-start; color: #241020; background: #fff; }.button-light:hover { box-shadow: 0 10px 28px rgba(0,0,0,.22); }.community-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }.community-tags span { color: #c6c1cd; border: 1px solid var(--border); border-radius: 999px; padding: 8px 11px; font-size: .67rem; font-weight: 700; }

.event-banner { min-height: 238px; margin-bottom: 76px; padding: 38px clamp(22px, 5vw, 58px); display: flex; gap: 28px; align-items: center; justify-content: space-between; overflow: hidden; position: relative; border: 1px solid rgba(101,216,255,.3); border-radius: 25px; background: linear-gradient(105deg, #05202c, #111727 58%, #371b48); }.event-banner::before { content: ""; position: absolute; width: 390px; height: 390px; right: 17%; top: -89px; border: 1px solid rgba(101,216,255,.32); border-radius: 50%; box-shadow: 0 0 0 37px rgba(101,216,255,.045), 0 0 0 74px rgba(101,216,255,.03); }.event-banner p { margin: 0 0 7px; color: var(--blue); font-size: .63rem; letter-spacing: .12em; font-weight: 800; }.event-banner h2 { font-size: clamp(1.8rem, 3.4vw, 3.3rem); position: relative; z-index: 1; }.event-orbit { position: relative; z-index: 1; width: 95px; height: 95px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; transform: rotate(-17deg); }.event-orbit::before, .event-orbit::after { content: ""; position: absolute; inset: -12px; border: 1px solid rgba(101,216,255,.28); border-radius: 50%; }.event-orbit::after { inset: 8px -18px; }.event-orbit span { width: 8px; height: 8px; position: absolute; top: 2px; background: var(--magenta); border-radius: 50%; box-shadow: 0 0 12px var(--magenta); }.event-orbit b { font-size: .83rem; transform: rotate(17deg); }.event-banner .button { position: relative; z-index: 1; flex: 0 0 auto; }

.site-footer { width: var(--shell); margin: 0 auto; min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--border); color: #8f8a98; font-size: .69rem; }.site-footer p { margin: 0; }.site-footer > span { font-size: .63rem; }.toast { position: fixed; z-index: 30; left: 50%; bottom: 28px; opacity: 0; pointer-events: none; transform: translate(-50%, 22px); padding: 12px 16px; border: 1px solid rgba(101,216,255,.42); border-radius: 10px; color: var(--paper); background: rgba(10,11,17,.91); box-shadow: 0 14px 38px rgba(0,0,0,.32); font-size: .76rem; font-weight: 700; transition: opacity .25s, transform .25s; }.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

.reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }.reveal.is-visible { opacity: 1; transform: none; }.delay-1 { transition-delay: .11s; }.delay-2 { transition-delay: .21s; }
@keyframes pulse { 50% { box-shadow: 0 0 0 7px rgba(255,61,141,0), 0 0 16px var(--magenta); } }@keyframes ticker { to { transform: translateX(-43%); } }@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 900px) { :root { --shell: min(100% - 36px, 680px); }.site-header { height: 74px; }.main-nav { position: absolute; top: 75px; right: 0; width: min(300px, 100%); padding: 18px; display: none; margin: 0; flex-direction: column; align-items: stretch; gap: 4px; border: 1px solid var(--border); border-radius: 14px; background: rgba(15,15,24,.96); box-shadow: 0 20px 45px rgba(0,0,0,.35); }.main-nav.open { display: flex; }.main-nav a { padding: 11px; }.main-nav a.active::after { display: none; }.menu-toggle { display: block; margin-left: auto; margin-right: 10px; }.menu-toggle.open span:nth-child(2) { transform: translateY(3.5px) rotate(45deg); }.menu-toggle.open span:nth-child(3) { transform: translateY(-3.5px) rotate(-45deg); }.profile-button { padding: 9px 11px; }.profile-button span:last-child { display: none; }.hero { min-height: 0; grid-template-columns: 1fr; gap: 32px; padding: 65px 0 70px; }.hero-stage { min-height: 410px; max-width: 520px; width: 100%; margin: auto; }.hero-copy { text-align: center; }.hero-copy .eyebrow, .hero-actions, .hero-meta { justify-content: center; }.hero-description { margin-inline: auto; }.hero-meta div { text-align: left; }.stage-coordinates { font-size: .5rem; }.game-grid { grid-template-columns: repeat(2, 1fr); }.showcase, .community { grid-template-columns: 1fr; }.showcase { padding-block: 66px; }.showcase-graphic { order: 2; }.community { padding-block: 85px; }.community-copy { order: -1; }.event-banner { flex-wrap: wrap; }.event-orbit { margin-left: auto; }.site-footer { min-height: 85px; }.site-footer p { display: none; } }
@media (max-width: 580px) { :root { --shell: calc(100% - 30px); }.brand-word { font-size: .82rem; }.hero h1 { font-size: clamp(2.7rem, 14vw, 4.1rem); }.hero-meta { gap: 12px; }.hero-meta div { padding-right: 12px; }.hero-meta strong { font-size: .92rem; }.hero-meta span { font-size: .52rem; }.hero-stage { min-height: 360px; }.featured-game-card { width: 282px; }.featured-art { height: 238px; }.stage-float-card { font-size: .55rem; }.float-card-one { left: -8px; }.float-card-two { right: -7px; }.orbit-one { width: 365px; height: 180px; }.orbit-two { width: 325px; }.section-heading, .discover-controls { display: block; }.section-heading > p { margin-top: 19px; }.discover-controls { margin-top: 31px; }.search-box { margin-top: 12px; width: 100%; }.game-grid { grid-template-columns: 1fr; }.card-art { height: 220px; }.showcase { padding-inline: 22px; border-radius: 22px; }.showcase-graphic { min-height: 270px; }.graphic-orbit { width: 230px; height: 230px; }.community-panel { padding: 24px; min-height: 305px; }.event-banner { padding: 29px 23px; }.event-banner .button { width: 100%; }.event-orbit { position: absolute; right: 18px; top: 22px; transform: scale(.74) rotate(-17deg); }.site-footer { flex-wrap: wrap; padding-block: 22px; }.site-footer > span { margin-left: auto; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; } }

/* Interactive play and create-your-own-game layer */
.control-actions { display: flex; align-items: center; gap: 9px; }
.add-game-trigger { min-height: 38px; padding: 0 12px; color: var(--paper); background: rgba(255,61,141,.1); border: 1px solid rgba(255,61,141,.42); border-radius: 8px; font-size: .67rem; font-weight: 850; white-space: nowrap; transition: .2s; }
.add-game-trigger:hover { color: #160710; background: var(--magenta); border-color: var(--magenta); transform: translateY(-2px); }
.add-game-trigger span { color: var(--magenta); font-size: 1rem; }.add-game-trigger:hover span { color: #160710; }
.card-actions { display: flex; align-items: center; gap: 6px; margin-top: 5px; flex: 0 0 auto; }
.play-card { min-height: 29px; padding: 0 9px; color: var(--blue); background: rgba(101,216,255,.08); border: 1px solid rgba(101,216,255,.28); border-radius: 7px; font-size: .61rem; font-weight: 850; transition: .2s; }
.play-card:hover { color: #06151d; background: var(--blue); border-color: var(--blue); }.play-card span { margin-left: 3px; color: inherit; font-size: .75rem; }
.card-custom .card-art { background: radial-gradient(circle at 75% 24%, #c9ff93 0 4%, transparent 4.5%), linear-gradient(135deg, #162b45, #2a1673 48%, #bd2e75); }
.art-new::before { content: ""; position: absolute; width: 185px; height: 185px; right: 28px; top: 18px; border: 1px solid rgba(184,243,102,.65); border-radius: 50%; box-shadow: 0 0 0 15px rgba(184,243,102,.06), 0 0 0 39px rgba(184,243,102,.04); }
.new-game-symbol { position: absolute; right: 86px; top: 74px; z-index: 1; color: var(--lime); font-size: 2.6rem; text-shadow: 0 0 18px var(--lime); }
.modal-shell { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 18px; }.modal-shell[hidden] { display: none; }.modal-backdrop { position: absolute; inset: 0; background: rgba(3,3,8,.82); backdrop-filter: blur(12px); }.modal-panel { position: relative; z-index: 1; width: min(760px, 100%); max-height: calc(100vh - 36px); overflow: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; background: linear-gradient(145deg, #121522, #0d0c16 70%); box-shadow: 0 30px 100px rgba(0,0,0,.62), 0 0 70px rgba(255,61,141,.1); }.modal-close { position: absolute; z-index: 2; top: 15px; right: 15px; width: 33px; height: 33px; display: grid; place-items: center; color: var(--paper); background: rgba(255,255,255,.07); border: 1px solid var(--border); border-radius: 50%; font-size: 1.4rem; line-height: 1; transition: .2s; }.modal-close:hover { color: #190813; background: var(--magenta); border-color: var(--magenta); transform: rotate(90deg); }
.game-panel { padding: 30px; }.game-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding-right: 42px; }.game-panel-head .eyebrow { margin-bottom: 8px; }.game-panel h2, .create-panel h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.08em; line-height: .95; }.game-score { display: grid; gap: 2px; text-align: right; }.game-score span { color: var(--blue); font-size: .56rem; font-weight: 850; letter-spacing: .15em; }.game-score strong { color: var(--paper); font-variant-numeric: tabular-nums; font-size: 1.55rem; letter-spacing: .08em; }.game-instructions { margin: 15px 0 18px; color: var(--muted); font-size: .75rem; }.canvas-wrap { position: relative; overflow: hidden; border: 1px solid rgba(101,216,255,.34); border-radius: 14px; background: #11152b; }.canvas-wrap canvas { width: 100%; height: auto; display: block; aspect-ratio: 12 / 7; image-rendering: auto; }.game-overlay { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 10px; padding: 28px; text-align: center; background: linear-gradient(rgba(5,8,21,.52), rgba(18,6,23,.8)); }.game-overlay[hidden] { display: none; }.game-overlay strong { font-size: 1.55rem; letter-spacing: -.06em; }.game-overlay span { color: #c1bdc8; max-width: 300px; font-size: .75rem; line-height: 1.45; }.game-overlay .button { margin-top: 5px; }.game-panel-foot { display: flex; justify-content: space-between; margin-top: 12px; color: #93909c; font-size: .65rem; }.keycap { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-right: 3px; color: var(--paper); border: 1px solid var(--border); border-radius: 4px; background: rgba(255,255,255,.07); font-size: .56rem; font-style: normal; }.touch-controls { display: none; justify-content: center; gap: 4px; margin-top: 14px; }.touch-controls > div { display: flex; gap: 4px; }.touch-controls button { width: 37px; height: 32px; color: var(--paper); border: 1px solid var(--border); border-radius: 7px; background: rgba(255,255,255,.07); }.touch-controls button:active { color: #150711; background: var(--magenta); }
.create-panel { padding: 38px; }.create-panel .eyebrow { margin-bottom: 15px; }.create-panel h2 span { color: var(--magenta); }.modal-lede { max-width: 500px; color: var(--muted); font-size: .8rem; line-height: 1.6; }.create-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 25px; }.create-form label { display: grid; gap: 7px; color: #bcb8c5; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.create-form input, .create-form select, .create-form textarea { width: 100%; resize: vertical; outline: none; color: var(--paper); background: rgba(255,255,255,.055); border: 1px solid var(--border); border-radius: 9px; padding: 12px; font-size: .78rem; letter-spacing: 0; text-transform: none; transition: border-color .2s, background .2s; }.create-form input:focus, .create-form select:focus, .create-form textarea:focus { border-color: var(--blue); background: rgba(101,216,255,.06); }.create-form select option { color: #111; }.full-field { grid-column: 1 / -1; }.create-form .button { width: max-content; margin-top: 4px; }
body.modal-open { overflow: hidden; }
@media (max-width: 700px) { .control-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }.control-actions .search-box { width: 100%; }.add-game-trigger { width: 100%; }.game-panel, .create-panel { padding: 24px 18px 20px; }.game-panel-head { padding-right: 35px; }.touch-controls { display: grid; }.game-panel-foot > span:first-child { display: none; }.create-form { grid-template-columns: 1fr; }.full-field { grid-column: auto; }.create-form .button { width: 100%; }.modal-panel { max-height: calc(100vh - 22px); } }
