.install-dialog,.install-tile{color:#eff5ed;font-family:inherit;-webkit-tap-highlight-color:transparent}.install-dialog{width:min(540px,calc(100vw - 28px));max-height:calc(100dvh - 30px);box-sizing:border-box;overflow:auto;overscroll-behavior:contain;border:1px solid #74875780;border-radius:30px;background:radial-gradient(ellipse at 50% 20%,#739f492d,transparent 65%),#172124;padding:25px 30px 28px;box-shadow:0 32px 110px #000a;text-align:center}.install-dialog::backdrop{background:#070e14bd;backdrop-filter:blur(7px)}.install-dialog button{border:1px solid #ffffff22;border-radius:999px;padding:12px 18px;background:#29383d;color:#eff5ed;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;-webkit-tap-highlight-color:transparent;transition:transform .15s}.install-dialog button:active{transform:scale(.97)}.install-dialog button:focus-visible,.install-tile:focus-visible{outline:3px solid #c2f18a;outline-offset:4px}.install-dialog button:disabled{opacity:.6}.install-dialog .install-close{position:absolute;right:14px;top:14px;padding:0;width:36px;height:36px;font-size:24px}.install-kicker{font-size:11px;letter-spacing:.22em;color:#c5e98e;margin:0 0 15px}.install-dialog h2{font-size:26px;line-height:1.35;margin:20px 0 12px;letter-spacing:-.03em}.install-description{font-size:16px;line-height:1.75;color:#e1ebdf;margin:0}.install-gift-note{color:#aebbad;font-size:12px;line-height:1.65;margin:16px 0 0}.install-dialog ol{text-align:left;list-style:none;counter-reset:install;display:grid;gap:10px;margin:20px 0;padding:0}.install-dialog ol[hidden]{display:none}.install-dialog li{counter-increment:install;position:relative;padding:0 0 0 34px;font-size:14px;line-height:1.65;color:#dce6dd}.install-dialog li::before{content:counter(install);position:absolute;left:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#142219;background:#b8df8e;font-size:12px;font-weight:800}.install-status{color:#d1efae;font-size:13px;line-height:1.6;min-height:0;margin:12px 0}.install-status:empty{display:none}.install-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:22px}.install-dialog .install-primary{background:#b8e5a3;color:#102119;border-color:transparent}.install-dialog .install-later{background:transparent;color:#b9c6bc}.install-link{box-sizing:border-box;width:100%;border:1px solid #8fb87b;border-radius:12px;padding:12px;color:#fff;background:#111a1c}.install-link[hidden]{display:none}.install-collectible{perspective:1000px;display:flex;justify-content:center}.install-flip{width:190px;height:180px;position:relative;transform-style:preserve-3d;animation:installFlip 1.2s cubic-bezier(.2,.7,.2,1) both}.install-card-front,.install-card-back{position:absolute;inset:0;border:1px solid #b0ce695e;border-radius:24px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#8bdc3c25,transparent 80%),#17251d;box-shadow:0 0 34px #a6ef4b18}.install-card-front img{width:150px;height:140px;object-fit:contain;transform:scale(1.2)}.install-card-front span{position:relative;font-size:11px;color:#dbefb3;margin-top:3px}.install-card-back{transform:rotateY(180deg);font-weight:900;font-size:20px;letter-spacing:-.06em}.install-card-back span{color:#b3eb25}.install-tile{min-width:0;position:relative;display:block;align-self:center;padding:0;border:0;border-radius:24px;background:transparent;cursor:pointer;text-align:left;transition:transform .25s cubic-bezier(.2,.8,.2,1);isolation:isolate}.install-tile .art{display:block;border-radius:inherit;background:radial-gradient(ellipse at 65% 32%,#5f7e327d,transparent 70%),linear-gradient(135deg,#263b32,#112326);overflow:hidden;box-shadow:inset 0 0 0 1px #d4f5923d}.install-tile .art>img{position:absolute;width:69%;height:86%;top:-8%;right:0;object-fit:contain;transform:none;filter:none}.install-tile-badge{position:absolute;z-index:1;top:14px;left:14px;color:#d6edaa;font-size:11px;letter-spacing:.12em}.install-tile-copy{position:absolute;bottom:15px;left:15px;right:15px;display:flex;flex-direction:column;gap:5px}.install-tile-copy strong{font-size:clamp(15px,1.2vw,20px);line-height:1.4;max-width:88%;text-shadow:0 2px 8px #0009}.install-tile-copy small{font-size:11px;color:#c9dabd}.install-tile-plus{position:absolute;right:13px;bottom:22px;color:#c4ed90;font-size:22px}.game-row>.install-tile{flex:0 0 var(--game-width,220px)}@keyframes installFlip{0%{transform:rotateY(180deg) translateY(18px) scale(.85)}40%{transform:rotateY(180deg) translateY(-5px)}100%{transform:rotateY(0) translateY(0)}}@media(max-width:850px){.install-dialog{padding:23px 21px}.install-dialog h2{font-size:24px}.install-collectible .install-flip{width:160px;height:150px}.install-card-front img{width:125px;height:115px}.install-dialog button{padding:12px 15px}.install-tile-copy strong{font-size:17px}}@media(prefers-reduced-motion:reduce){.install-flip{animation:none}.install-tile,.install-dialog button{transition:none}}

@media(max-width:850px){#games .game-row>.install-tile{flex:0 0 42%}}
/* Keep the collectible above its caption even in the narrow mobile rail. */
.install-tile .art>img{width:90%;height:80%;top:-12%;right:5%}.install-tile-copy{bottom:12px;gap:2px}.install-tile-copy strong{font-size:clamp(15px,1.15vw,20px)}
@media(max-width:850px){.install-tile-plus{display:none}.install-tile-copy{left:9px;right:9px;bottom:8px}.install-tile-copy strong{font-size:15px;max-width:none}.install-tile-copy small{font-size:10px}}
.install-tile{scroll-snap-align:start}
/* Same .game wrapper/focus controller as real games, with a collectible invitation inside. */
.game-row>.game.install-tile{flex:0 0 var(--game-width,220px);font-size:inherit;scroll-snap-align:none}
.install-tile-badge{top:10px;left:10px;padding:4px 8px;border-radius:999px;background:#c5f38f;color:#15251a;font-size:10px;font-weight:800;letter-spacing:.04em;box-shadow:0 2px 9px #0003}
.game-row .install-tile .art>img{top:0;right:9%;width:82%;height:73%;opacity:1;animation:installGiftFloat 3.2s ease-in-out infinite}
.install-tile-copy{left:13px;right:13px;bottom:12px;gap:3px}
.install-tile-copy strong{font-size:clamp(13px,1.1vw,18px);max-width:none;color:#f3f9ef}
.install-tile-copy small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c9e5b4;text-shadow:0 1px 4px #0008}
.install-tile-plus{font-size:17px;bottom:9px;right:10px}
@keyframes installGiftFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:850px){.game-row>.game.install-tile{flex-basis:42%}.install-tile-badge{top:7px;left:7px;padding:3px 6px;font-size:9px}.install-tile-copy{left:9px;right:9px;bottom:9px}.install-tile-copy strong{font-size:13px}.install-tile-copy small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.game-row .install-tile .art>img{animation:none}}