/* Interactive objects, scoped to the online collection and its native dialog. */
#table-games{background:var(--w8);scroll-margin-top:110px}
#table-games>.wrap>.rule{display:none}
.game-collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:46px}
.game-card{position:relative;isolation:isolate;min-width:0;padding:0;border-radius:0;
 background:linear-gradient(135deg,color-mix(in srgb,var(--w3) 24%,var(--w7)),color-mix(in srgb,var(--w7) 82%,transparent) 46%,color-mix(in srgb,var(--w8) 92%,transparent));
 border:1px solid color-mix(in srgb,var(--w1) 27%,transparent);color:var(--tx-d);text-align:left;cursor:pointer;overflow:hidden;
 -webkit-backdrop-filter:blur(22px) saturate(120%);backdrop-filter:blur(22px) saturate(120%);
 box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ivory) 19%,transparent),0 18px 32px -26px var(--w8);
 transition:border-color .45s,transform .65s cubic-bezier(.22,.61,.36,1),box-shadow .65s}
.game-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(115deg,color-mix(in srgb,var(--w1) 11%,transparent),transparent 34%,color-mix(in srgb,var(--w1) 5%,transparent) 63%,transparent 82%);
 opacity:.65;transition:opacity .65s}
@media(hover:hover){
 .game-card:hover{border-color:color-mix(in srgb,var(--gold) 62%,transparent);transform:translateY(-4px);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ivory) 25%,transparent),0 22px 40px -24px var(--w8)}
 .game-card:hover::before{opacity:1}
}

.game-card:focus-visible{outline:2px solid var(--gold-hi);outline-offset:6px}
.game-card__top{display:flex;justify-content:space-between;align-items:center;padding:26px 25px 0;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-d-2)}
.game-card__brand{display:flex;align-items:center;gap:10px}.game-card__monogram{width:18px;height:24px;object-fit:contain}.game-card__wordmark{width:77px;height:auto;object-fit:contain;padding-left:10px;border-left:1px solid var(--line-d);box-sizing:content-box}
.game-card__number{color:var(--gold-hi);font-variant-numeric:tabular-nums;border-bottom:1px solid var(--gold-deep);padding-block:6px}
.game-object{position:relative;display:block;height:282px;width:100%;overflow:hidden;isolation:isolate}
.game-card .game-object::before{display:none}
.game-object::after{content:"";position:absolute;left:24%;right:24%;height:12px;bottom:19px;background:rgba(0,0,0,.35);border-radius:50%;filter:blur(10px);z-index:-1}
.game-object canvas{position:absolute;inset:0;width:100%;height:100%;display:block;transition:opacity .5s;opacity:0}
.game-object[data-state="ready"] canvas{opacity:1}
.game-object__fallback{position:absolute;inset:16%;width:68%;height:68%;object-fit:contain;opacity:.75;transition:opacity .4s}
.game-object[data-state="ready"] .game-object__fallback{opacity:0;pointer-events:none}
.game-card__copy{display:block;padding:0 25px 28px}
body.editorial .game-card .game-card__title{display:block;font-size:clamp(28px,2.9vw,42px);font-weight:400;letter-spacing:-.045em;line-height:1.05;color:var(--tx-d);margin-bottom:14px}
.game-card__tagline{display:block;min-height:2.9em;font-size:13px;line-height:1.5;color:var(--tx-d-2)}
.game-card__action{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-d);padding-top:21px;margin-top:23px;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--gold-hi)}
.game-card__action svg{width:20px;height:20px;transition:transform .3s}
.game-card:hover .game-card__action svg{transform:rotate(90deg)}
html.game-modal-open{overflow:hidden}
.game-dialog{position:fixed;inset:0;margin:auto;padding:0;width:min(1100px,calc(100% - 64px));max-width:none;max-height:min(800px,calc(100svh - 64px));border:1px solid var(--line-d);background:var(--w8);color:var(--paper);box-shadow:0 35px 100px rgba(0,0,0,.45);overflow:hidden;overscroll-behavior:contain}
.game-dialog::backdrop{background:color-mix(in srgb,var(--w8) 76%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:game-backdrop-in .4s ease-out both}
.game-dialog[data-closing]::backdrop{animation:game-backdrop-out .28s ease-in both}
.game-dialog[open]{animation:game-modal-in .48s cubic-bezier(.22,.61,.36,1) both}
.game-dialog[data-closing]{pointer-events:none}
.game-dialog__layout{display:grid;grid-template-columns:1fr 1.03fr;max-height:inherit}
.game-dialog__visual{min-width:0;display:flex;flex-direction:column;padding:35px 28px 24px;position:relative;background:linear-gradient(140deg,color-mix(in srgb,var(--w3) 20%,var(--w7)),var(--w8) 75%)}
.game-dialog__brand{display:flex;align-items:center;gap:16px;font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold-hi)}
.game-dialog__brand>img{width:28px;height:38px;object-fit:contain}
.game-dialog__brand-copy{display:flex;flex-direction:column;gap:9px;padding-left:16px;border-left:1px solid var(--line-d)}
.game-dialog__brand .game-dialog__wordmark{width:98px;height:auto;object-fit:contain}
.game-dialog__object{height:420px;flex:1;min-height:300px;cursor:grab;touch-action:none;outline-offset:-8px}
.game-dialog__object.is-dragging{cursor:grabbing}
.game-dialog__object:focus-visible{outline:1px solid var(--gold-hi)}
.game-dialog__object .game-object__fallback{inset:25%;width:50%;height:50%}
.game-dialog__hint{text-align:center;font-size:10px;color:var(--tx-d-2);padding-block:10px;letter-spacing:.02em}
.game-dialog__controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:12px}
.game-dialog__controls [hidden]{display:none}
.game-dialog__controls [data-game-flip]{color:var(--gold-hi)}
.game-dialog__controls button{min-height:40px;background:transparent;border:0;border-bottom:1px solid var(--line-d);padding:8px 0;color:var(--paper);font-size:11px;cursor:pointer}
.game-dialog__controls button:hover{border-color:var(--gold-hi);color:var(--gold-hi)}
.game-dialog__controls button:disabled{opacity:.4;cursor:default}
.game-dialog__loading{font-size:10px;letter-spacing:.04em;text-align:center;color:var(--gold-hi);min-height:17px;margin-top:12px}
.game-dialog__content{position:relative;min-width:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gold-deep) var(--ivory);background:var(--ivory);color:var(--tx-l);padding:54px 38px 30px;max-height:inherit;border-top:3px solid var(--gold-hi)}
.game-dialog__close{position:absolute;z-index:3;right:13px;top:12px;width:38px;height:38px;display:grid;place-items:center;background:var(--ivory);border:1px solid var(--line-l);color:var(--tx-l);cursor:pointer}
.game-dialog__close svg{width:18px;height:18px}
.game-dialog__eyebrow{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:20px}
.game-dialog h2{font-size:clamp(45px,5vw,66px);line-height:1;letter-spacing:-.055em;font-weight:400;margin:0 0 22px}
.game-dialog__intro{font-size:15px;line-height:1.65;margin-bottom:26px}
.game-dialog__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 28px;padding-block:23px;border-block:1px solid var(--line-l)}
.game-dialog__facts dt{font-size:10px;line-height:1.4;color:var(--tx-l-2);order:2}
.game-dialog__facts dd{font-size:25px;line-height:1.2;letter-spacing:-.035em;margin:0 0 8px;white-space:nowrap}
.game-dialog__facts>div{display:flex;flex-direction:column;min-width:0}
.game-dialog details{border-bottom:1px solid var(--line-l);padding-bottom:18px;margin-bottom:18px}
.game-dialog summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-size:17px;line-height:1.4;font-weight:400;letter-spacing:-.02em}
.game-dialog summary::-webkit-details-marker{display:none}
.game-dialog summary::after{content:"+";font-size:23px;color:var(--gold-deep)}
.game-dialog details[open] summary::after{content:"−"}
.game-dialog details p{font-size:13px;line-height:1.75;color:var(--tx-l-2);margin-top:15px}
.game-dialog__availability{font-size:11px;line-height:1.65;color:var(--tx-l-2);margin:23px 0 18px}
.game-dialog__links{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;line-height:1.5}
.game-dialog__links a{border-bottom:1px solid var(--gold-deep);padding-bottom:3px}
.game-dialog__navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line-d);margin-top:24px;padding-top:20px}
.game-dialog__navigation button{width:38px;height:38px;display:grid;place-items:center;background:transparent;border:1px solid var(--line-d);color:var(--gold-hi);cursor:pointer}
.game-dialog__navigation svg{width:18px;height:18px}
.game-dialog__counter{font-size:10px;letter-spacing:.16em;color:var(--tx-d-2)}
.game-dialog :is(button,a,summary):focus-visible{outline:2px solid var(--gold-deep);outline-offset:4px}
body.editorial .game-dialog__content :is(h2,[data-on],p,summary,dt,dd,a){color:var(--tx-l)}
body.editorial .game-dialog__content :is(p,dt){color:var(--tx-l-2)}
body.editorial .game-dialog__content .game-dialog__eyebrow{color:var(--gold-deep)}
@keyframes game-modal-in{from{opacity:0;transform:translate3d(0,18px,0) scale(.98)}to{opacity:1;transform:none}}
@keyframes game-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes game-backdrop-out{from{opacity:1}to{opacity:0}}
@media(max-width:1100px){.game-card__top{padding-inline:18px}.game-card__copy{padding-inline:18px}.game-object{height:230px}.game-dialog__content{padding-inline:28px}}
@media(max-width:900px){.game-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.game-object{height:290px}.game-dialog{width:calc(100% - 36px);max-height:calc(100svh - 36px)}.game-dialog__visual{padding-inline:18px}.game-dialog__facts dd{font-size:22px}}
@media(max-width:650px){
 .game-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);overflow-y:auto}
 .game-dialog__layout{display:flex;flex-direction:column;max-height:none}
 .game-dialog__visual{padding:22px 20px 20px;flex:none}
 .game-dialog__brand{font-size:7px;padding-right:35px}.game-dialog__brand>img{width:23px;height:30px}.game-dialog__brand .game-dialog__wordmark{width:83px;height:auto}.game-dialog__brand-copy{gap:6px}
 .game-dialog__object{flex:none;height:270px;min-height:0}
 .game-dialog__hint{font-size:9px;padding:0}.game-dialog__controls{margin-top:6px}
 .game-dialog__navigation{position:absolute;left:20px;right:20px;top:135px;margin:0;padding:0;border:0;pointer-events:none}
 .game-dialog__navigation button{pointer-events:auto;background:var(--w8)}.game-dialog__counter{position:absolute;top:-65px;right:0}
 .game-dialog__content{overflow:visible;max-height:none;padding:30px 25px}
 .game-dialog__close{position:sticky;float:right;margin:10px 10px -48px auto;top:10px;right:10px;display:grid;background:var(--w8);color:var(--paper);border-color:var(--line-d)}
 .game-dialog h2{font-size:48px}.game-dialog__eyebrow{font-size:9px;margin-bottom:16px}.game-dialog__intro{font-size:14px}
 .game-dialog__loading{margin-top:7px}
}
@media(max-width:520px){.game-collection{grid-template-columns:1fr;gap:22px}.game-object{height:285px}.game-card__top{padding:22px 25px 0}.game-card__copy{padding:0 25px 24px}.game-card__tagline{min-height:0}body.editorial .game-card .game-card__title{font-size:38px}.game-card__action{margin-top:23px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.game-card,.game-card__action svg,.game-object canvas,.game-object__fallback{transition:none}.game-card:hover{transform:none}.game-dialog[open],.game-dialog::backdrop,.game-dialog[data-closing]::backdrop{animation:none}.game-card::before{transition:none}}
