.game-directory { max-width: 1040px; margin: 0 auto; padding: 32px 24px 120px; color: #111827; }
.game-directory-head { margin-bottom: 30px; }
.game-directory-eyebrow { font-size: 11px; letter-spacing: .17em; color: #64748b; font-weight: 700; }
.game-directory-head h1 { margin: 8px 0 10px; font-size: 32px; font-weight: 800; }
.game-directory-head p { color: #64748b; font-size: 14px; }
.game-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.game-directory-card { overflow: hidden; border: 1px solid #e5e7eb; border-radius: 20px; background: #fff; }
.game-directory-link { display: block; height: 100%; color: inherit; text-decoration: none; }
.game-directory-link:hover { color: inherit; }
.game-directory-link:focus-visible { outline: 3px solid #2563eb; outline-offset: -4px; border-radius: 20px; }
.game-directory-art { position: relative; background: #f1f3f5; aspect-ratio: 16 / 10; overflow: hidden; }
.game-directory-art img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.game-directory-badge { position: absolute; left: 18px; top: 18px; background: #fff; padding: 6px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; }
.game-directory-copy { padding: 24px; }
.game-directory-genre { font-size: 12px; color: #64748b; }
.game-directory-copy h2 { margin: 8px 0 10px; font-size: 23px; font-weight: 800; }
.game-directory-copy p { font-size: 14px; color: #64748b; line-height: 1.7; margin-bottom: 24px; }
.game-directory-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.game-directory-action span { font-size: 14px; font-weight: 700; }
.game-directory-action i { margin-left: 8px; font-size: 12px; }
.game-directory-action small { color: #94a3b8; font-size: 11px; }
.game-directory-coming { min-height: 320px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; border: 1px dashed #d8dee7; border-radius: 20px; background: #fafbfc; padding: 30px; }
.game-directory-coming > i { font-size: 36px; color: #a1adbc; margin-bottom: 22px; }
.game-directory-coming h2 { font-size: 17px; font-weight: 700; color: #64748b; }
.game-directory-coming p { font-size: 13px; color: #94a3b8; margin: 8px 0 0; }
@media (min-width: 601px) and (max-width: 900px) { .game-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .game-directory { padding: 28px 16px 100px; }
  .game-directory-grid { grid-template-columns: 1fr; gap: 18px; }
  .game-directory-copy { padding: 20px; }
  .game-directory-coming { min-height: 180px; }
}
.game-directory-filters{display:flex;align-items:end;gap:12px;padding:20px;background:#f7f9fc;border:1px solid #e7ecf2;border-radius:14px;margin-bottom:22px}.game-directory-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#64748b;min-width:140px}.game-directory-search{flex:1}.game-directory-filters input,.game-directory-filters select{height:42px;border:1px solid #dbe2eb;border-radius:8px;padding:0 12px;background:white;font-size:13px;min-width:0;color:#172033}.game-directory-filters button{height:42px;padding:0 22px;background:#172033;color:white;border:0;border-radius:8px;font-size:13px;font-weight:700}.game-directory-filters>a{font-size:12px;color:#64748b;white-space:nowrap;padding:12px 0}.game-directory-count{font-size:13px;color:#64748b;margin-bottom:18px}.game-directory-mode{display:inline-block;font-size:11px;border-radius:5px;background:#eef2f7;color:#475569;padding:3px 7px;margin-right:7px}.game-directory-copy>p{white-space:pre-line;overflow-wrap:anywhere}.game-directory-location{font-size:12px!important;background:#f8fafc;padding:10px;border-radius:8px}.game-directory-art{display:flex;align-items:center;justify-content:center}.game-directory-placeholder{font-size:64px;color:#a1adbc}.game-directory-empty{text-align:center;padding:60px 20px;background:#f8fafc;border-radius:14px;color:#64748b}.game-directory-empty>i{font-size:36px;margin-bottom:18px}.game-directory-empty h2{font-size:18px}.game-directory-empty p,.game-directory-empty a{font-size:13px}@media(max-width:760px){.game-directory-filters{flex-wrap:wrap}.game-directory-search{flex:1 1 100%}.game-directory-filters label{min-width:0;flex:1 1 40%}.game-directory-filters .game-directory-search{flex-basis:100%}.game-directory-filters button{flex:1}}
.game-directory-rating{display:inline-block;margin:7px 0 0;font-size:11px;font-weight:700;color:#526477;border:1px solid #d8e1e9;padding:3px 7px;border-radius:5px}.game-directory-rating.is-adult{color:#a32337;border-color:#edbbc3;background:#fff4f5}

.game-reward-event { display:flex; align-items:center; justify-content:space-between; gap:28px; margin:0 0 28px; padding:28px 30px; border-radius:20px; background:linear-gradient(115deg,#203e35,#355e4c); color:#fffdf2; }
.game-reward-event-eyebrow { font-size:12px; letter-spacing:.04em; color:#e7d8a4; }
.game-reward-event h2 { margin:10px 0; font-size:24px; line-height:1.5; letter-spacing:-.04em; }
.game-reward-event h2 strong { color:#ffe39a; white-space:nowrap; }
.game-reward-event p { margin:0 0 8px; font-size:14px; line-height:1.7; }
.game-reward-event small { display:block; color:#cadbd1; font-size:12px; line-height:1.7; }
.game-reward-event-action { flex-shrink:0; display:inline-flex; justify-content:center; align-items:center; gap:14px; padding:15px 20px; border-radius:12px; color:#243d32; background:#ffe7ad; font-size:14px; font-weight:700; text-decoration:none; }
.game-reward-event-action:hover { background:#ffdc87; color:#243d32; }
.game-reward-event-action:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media(max-width:600px) { .game-reward-event { flex-direction:column; align-items:stretch; padding:24px 20px; gap:20px; } .game-reward-event h2 { font-size:22px; } }

.game-portal { max-width:1200px; }
.game-portal-nav { display:flex; gap:28px; border-bottom:1px solid #e5e7eb; padding:0 0 18px; margin-bottom:32px; }
.game-portal-nav a { color:#536174; text-decoration:none; font-size:14px; font-weight:700; }
.game-portal-nav a:hover { color:#233f33; }
.game-portal :is(#game-events,#recommended-games,#all-games) { scroll-margin-top:85px; }
.game-portal .game-directory-head { margin-bottom:24px; }
.game-portal .game-reward-event { min-height:280px; position:relative; overflow:hidden; border-radius:8px; padding:36px; gap:32px; margin-bottom:42px; }
.game-reward-event-art { width:240px; height:240px; flex-shrink:0; border-radius:50%; overflow:hidden; border:8px solid #ffffff18; }
.game-reward-event-art img { width:100%; height:100%; object-fit:cover; }
.game-reward-event-copy { flex:1; }
.game-portal .game-reward-event h2 { font-size:30px; }
.game-portal .game-reward-event-action { align-self:flex-end; }
.game-portal-section-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0 0 20px; }
.game-portal-section-head h2 { margin:0; font-size:24px; font-weight:800; }
.game-portal-section-head :is(a,span) { font-size:13px; color:#64748b; text-decoration:none; }
.game-portal-recommended { margin-bottom:46px; }
.game-portal-picks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.game-portal-pick { border:1px solid #e5e7eb; background:white; border-radius:8px; overflow:hidden; }
.game-portal-pick > :is(a,div) { display:block; color:inherit; text-decoration:none; height:100%; }
.game-portal-pick img,.game-portal-pick-placeholder { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center 30%; background:#f0f3f6; }
.game-portal-pick-placeholder { padding:40px; text-align:center; font-size:40px; }
.game-portal-pick > :is(a,div) > div { padding:20px; }
.game-portal-pick span,.game-portal-pick small { color:#64748b; font-size:12px; }
.game-portal-pick h3 { font-size:21px; font-weight:800; margin:8px 0; }
.game-portal-pick p { font-size:13px; color:#64748b; line-height:1.7; }
.game-portal .game-directory-card { border-radius:8px; }
.game-portal .game-directory-copy { padding:20px; }
.game-portal .game-directory-copy h2 { font-size:21px; }
@media(max-width:1000px) { .game-reward-event-art { width:180px; height:180px; } .game-portal .game-reward-event { flex-wrap:wrap; } .game-portal .game-reward-event-action { margin-left:auto; } }
@media(max-width:760px) { .game-portal-picks { grid-template-columns:repeat(2,minmax(0,1fr)); } .game-portal .game-reward-event { padding:26px; gap:22px; } .game-portal .game-reward-event h2 { font-size:25px; } }
@media(max-width:600px) { .game-portal-picks { grid-template-columns:1fr; } .game-reward-event-art { width:140px; height:140px; } .game-portal .game-reward-event { align-items:stretch; } .game-portal .game-reward-event-action { margin-left:0; align-self:stretch; } .game-portal-section-head > span { display:none; } .game-portal-nav { gap:24px; } }

/* Games uses the same white storefront language. */
.game-portal-nav { position:sticky; top:52px; z-index:90; margin:0; padding:12px max(24px,calc((100% - 1152px)/2)); min-height:60px; box-sizing:border-box; align-items:center; background:#fff; gap:28px; border-bottom:1px solid #e9eaed; }
.game-portal-brand { margin-right:auto; flex-shrink:0; }
.game-portal-brand img { display:block; width:225px; height:36px; }
.game-portal { padding-top:28px; }
.game-portal .game-reward-event { background:#fafafa; border:1px solid #e6e7e9; color:#181b20; }
.game-portal .game-reward-event-eyebrow { color:#62666f; }
.game-portal .game-reward-event h2 strong { color:#181b20; }
.game-portal .game-reward-event small { color:#6e737b; }
.game-portal .game-reward-event-art { border:0; border-radius:8px; }
.game-portal .game-reward-event-action { background:#181b20; color:#fff; border-radius:6px; }
.game-portal .game-reward-event-action:hover { background:#363b43; }
.game-portal .game-directory-filters { background:transparent; border:0; border-radius:0; padding:0; box-shadow:none; }
.game-portal :is(#game-events,#recommended-games,#all-games) { scroll-margin-top:140px; }
@media(max-width:600px) { .game-portal-nav { top:50px; padding:10px 16px; gap:18px; flex-wrap:wrap; } .game-portal-brand { flex-basis:100%; } .game-portal-brand img { width:188px; height:30px; } .game-portal-nav a { font-size:12px; } }

.game-portal-brand img { width:225px; height:auto; max-height:75px; object-fit:contain; }
@media(max-width:600px) { .game-portal-brand img { width:188px; height:auto; max-height:63px; } }

.game-portal-brand img { width:120px; height:40px; object-fit:contain; }
@media(max-width:600px) { .game-portal-brand { flex-basis:auto; } .game-portal-brand img { width:96px; height:32px; } .game-portal-nav { gap:14px; flex-wrap:nowrap; } }

.game-event-list{display:grid;gap:14px}.game-survivor-event .game-reward-event-art{border-radius:8px;overflow:hidden}.game-survivor-event .game-reward-event-art img{width:100%;height:100%;object-fit:cover}.game-survivor-event picture{display:block;height:100%}@media(max-width:600px){.game-survivor-event .game-reward-event-art{height:180px}.game-survivor-event .game-reward-event-art img{object-position:center 25%}}

/* Image-led reward carousel, with portrait composition on phones. */
.game-portal .game-event-list{display:block;position:relative;border-radius:16px;overflow:hidden;margin-bottom:44px;background:#10151d}
.game-portal .game-event-list .game-reward-event{position:relative;box-sizing:border-box;height:390px;margin:0;padding:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;border:0;border-radius:0;background:#10151d;color:white;overflow:hidden;flex-wrap:nowrap}
.game-portal .game-event-list .game-reward-event-art{position:absolute;inset:0;width:100%;height:100%;border-radius:0;z-index:0}
.game-event-list .game-reward-event-art :is(picture,img){display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.game-event-list .game-reward-event:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,24,.94),rgba(6,12,24,.78) 42%,rgba(6,12,24,.08));pointer-events:none}
.game-portal .game-event-list .game-land-event .game-reward-event-art img{object-position:center 30%}
.game-portal .game-event-list .game-land-event:after{background:linear-gradient(90deg,rgba(18,24,30,.92),rgba(18,24,30,.68) 45%,rgba(18,24,30,.08))}
.game-event-list .game-reward-event-copy,.game-event-list .game-reward-event-action{position:relative;z-index:1;max-width:520px}
.game-portal .game-event-list .game-reward-event-eyebrow{color:#d8e9f6;font-size:12px;font-weight:600}
.game-portal .game-event-list h2{font-size:36px;line-height:1.28;letter-spacing:-.045em;margin:14px 0 18px;max-width:470px;text-wrap:balance}
.game-portal .game-event-list h2 strong{color:#a5efff}
.game-portal .game-event-list p{font-size:14px;color:#eef2f8}
.game-portal .game-event-list small{color:#b8c5d5;font-size:11px;max-width:440px}
.game-portal .game-event-list .game-reward-event-action{margin:0;align-self:flex-start;background:white;color:#111827;border-radius:7px;padding:13px 18px;font-size:13px}
.game-event-controls{position:absolute;right:24px;bottom:20px;z-index:3;display:flex;align-items:center;gap:10px;color:white}
.game-event-controls button{width:34px;height:34px;border:1px solid #ffffff60;background:#10151d80;border-radius:50%;color:white;cursor:pointer}
.game-event-controls button:focus-visible{outline:2px solid white;outline-offset:3px}
.game-event-pagination{display:flex;gap:7px;margin-right:8px}
.game-event-pagination .swiper-pagination-bullet{background:white;opacity:.4;width:7px;height:7px;margin:0!important}
.game-event-pagination .swiper-pagination-bullet-active{opacity:1;width:24px;border-radius:8px}
.game-portal .game-directory-filters{display:grid;grid-template-columns:minmax(160px,2fr) repeat(3,minmax(110px,1fr)) auto auto}
.game-portal .game-directory-filters label{min-width:0}
@media(max-width:900px){.game-portal .game-directory-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto auto}.game-portal .game-directory-search{grid-column:1/-1}}
@media(max-width:600px){
 .game-portal .game-event-list{border-radius:12px;margin-bottom:30px}
 .game-portal .game-event-list .game-reward-event{height:490px;padding:24px 22px 62px;justify-content:flex-end;gap:15px}
 .game-event-list .game-reward-event:after,.game-portal .game-event-list .game-land-event:after{background:linear-gradient(0deg,rgba(6,12,24,.98),rgba(6,12,24,.87) 35%,rgba(6,12,24,.12) 80%)}
 .game-portal .game-event-list h2{font-size:29px;line-height:1.25;margin:10px 0 12px}
 .game-portal .game-event-list p{font-size:13px;line-height:1.6}
 .game-portal .game-event-list small{font-size:11px;line-height:1.6}
 .game-portal .game-event-list .game-reward-event-eyebrow{font-size:10px}
 .game-event-controls{right:20px;bottom:15px}
 .game-portal .game-directory-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:12px}
 .game-portal .game-directory-filters label:first-child{grid-column:1/-1}
 .game-portal .game-directory-filters button{width:100%}
 .game-portal .game-directory-filters>a{text-align:center}
 .game-portal-pick h3,.game-portal .game-directory-copy h2{font-size:20px;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.game-event-list .swiper-wrapper{transition-duration:0ms!important}}
.game-event-list .game-reward-event-copy{flex:0 1 auto}

/* Keep the directory compact and readable on small screens. */
@media(max-width:600px){
 .game-portal{padding:18px 16px 100px}
 .game-portal-nav{gap:16px;min-height:56px}
 .game-portal-nav a{white-space:nowrap}
 .game-portal .game-event-list .game-reward-event{height:auto;min-height:460px;padding:180px 20px 64px;gap:16px}
 .game-portal .game-event-list .game-reward-event-copy{max-width:100%;min-width:0}
 .game-portal .game-event-list h2{font-size:clamp(25px,7vw,29px)}
 .game-portal .game-event-list .game-reward-event-action{min-height:44px;box-sizing:border-box}
 .game-portal .game-directory-filters input,.game-portal .game-directory-filters select{width:100%;box-sizing:border-box;min-height:44px;font-size:16px}
 .game-portal .game-directory-filters button{min-height:44px}
 .game-portal .game-directory-filters label:nth-child(4){grid-column:1/-1}
 .game-portal .game-directory-copy{padding:18px}
 .game-portal .game-directory-copy h2{line-height:1.35}
 .game-directory-action{flex-wrap:wrap}
}

/* Compact search toolbar; secondary controls are disclosed on demand. */
.game-portal .game-event-list[hidden]{display:none}
.game-portal .game-directory-filters{grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;margin-bottom:16px;position:relative}
.game-filter-primary{display:flex;align-items:center;border-bottom:1px solid #dbe2eb;min-width:0}
.game-portal .game-filter-primary input{width:100%;height:44px;min-width:0;border:0;border-radius:0;background:transparent;padding:0 4px;font-size:16px;box-shadow:none}
.game-portal .game-filter-primary button{flex:0 0 44px;width:44px;height:44px;padding:0;background:transparent;color:#172033}
.game-filter-advanced summary{cursor:pointer;list-style:none;font-size:12px;color:#536174;white-space:nowrap;padding:12px 0}
.game-filter-advanced summary::-webkit-details-marker{display:none}
.game-filter-advanced summary:after{content:'＋';margin-left:6px}
.game-filter-advanced[open] summary:after{content:'−'}
.game-filter-active{margin-left:6px;color:#172033;font-size:10px}
.game-filter-options{position:absolute;top:100%;left:0;right:0;z-index:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 28px #17203312}
.game-portal .game-directory-badge{left:12px;top:12px;padding:6px 10px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px #00000012;font-size:10px;letter-spacing:.02em}
.game-portal .game-directory-copy{padding:14px}
.game-portal .game-directory-copy h2{font-size:18px;margin:7px 0 8px;line-height:1.35}
.game-portal .game-directory-copy p{font-size:12px;line-height:1.65;margin:0 0 16px}
.game-portal .game-directory-genre{font-size:11px}
.game-portal .game-directory-mode,.game-portal .game-directory-rating{font-size:10px}
.game-portal .game-directory-rating{margin-top:0}
.game-portal .game-directory-action span{font-size:12px}
.game-portal .game-directory-count{font-size:12px;margin-bottom:14px}
@media(max-width:600px){
 .game-portal .game-directory-filters{grid-template-columns:minmax(0,1fr) auto;gap:0 16px}
 .game-filter-primary{grid-column:1/-1}
 .game-portal .game-directory-filters>a{justify-self:end;padding:10px 0}
 .game-filter-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .game-portal .game-filter-options label:nth-child(3){grid-column:1/-1}
 .game-portal .game-filter-options button{grid-column:1/-1}
 .game-portal .game-directory-grid{gap:16px}
 .game-portal .game-directory-copy{padding:12px}
}
.game-portal .game-filter-options label:first-child{grid-column:auto}
.game-portal .game-filter-options select{width:100%;box-sizing:border-box}

/* Minimal games wordmark bar. */
.game-portal-nav{min-height:40px;padding:4px max(24px,calc((100% - 1152px)/2))}
.game-portal-brand img{width:84px;height:28px}
@media(max-width:600px){
 .game-portal-nav{min-height:34px;padding:3px 16px}
 .game-portal-brand img{width:72px;height:24px}
}
