/* Character artwork belongs to the lobby; no in-game assets are replaced. */
.hero .hero-art{width:100%;height:100%;max-width:none;inset:0;object-fit:cover;object-position:center top}
.hero:before{background:linear-gradient(90deg,#111c2ad9 0%,#111c2a91 33%,#111c2a20 55%,transparent 75%)}
.hero-bottom{color:#d1c6e7;text-shadow:0 1px 8px #000}
.lux-art-cover img{object-position:center;transform:none;transition:transform .5s}
.game-card:hover .lux-art-cover img{transform:scale(1.035)}
.lux-art-cover:after{background:linear-gradient(0deg,#080d1840,transparent 25%)}
.lux-art-cover .play-overlay{top:calc(50% - 23px)}
.game-mini-cover img{width:100%;height:100%;object-fit:cover;display:block}
.hero h2{font-family:Georgia,serif;color:#f7e6be;letter-spacing:.01em;line-height:1.02;text-shadow:0 2px 24px #050817}

.search-dialog{width:940px}
.search-dialog .search-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content;gap:23px 16px;padding:4px 28px 25px;max-height:min(60dvh,620px);min-height:180px;align-content:start;align-items:start}
.search-dialog .search-result{position:relative;display:block;min-width:0;min-height:0;padding:0 0 8px;border-radius:9px;background:transparent}
.search-dialog .search-result[href]:hover,.search-dialog .search-result[href]:focus-visible{background:transparent;transform:translateY(-3px)}
.search-dialog .search-cover{position:relative;isolation:isolate;width:100%;height:auto;aspect-ratio:4/5;overflow:hidden;border-radius:9px;font-size:64px;box-shadow:0 6px 18px #07101b35;transition:filter .2s}
.search-dialog .search-cover.art-lux{background:#171a31}
.search-cover img{width:100%;height:100%;display:block;object-fit:cover}
.search-cover-symbol{filter:drop-shadow(0 0 22px var(--art));transition:transform .35s}
.search-cover:has(.search-cover-symbol):before,.search-cover:has(.search-cover-symbol):after{content:'';position:absolute;width:65%;aspect-ratio:1;border:1px solid var(--art);border-radius:50%;opacity:.25;transform:rotate(-35deg) scaleX(.65);z-index:-1}
.search-cover:has(.search-cover-symbol):after{transform:rotate(35deg) scaleX(.65)}
.search-result:hover .search-cover-symbol{transform:scale(1.08) rotate(8deg)}
.search-dialog .search-result-copy{display:block;padding:10px 2px 0}
.search-dialog .search-result-copy strong{font-size:14px;line-height:1.3}
.search-dialog .search-result-copy small{margin-top:4px;font-size:10px;color:#91a7b8}
.search-dialog .search-status{position:absolute;top:10px;left:10px;right:auto;margin:0;padding:5px 8px;border-radius:5px;background:#0a172bcc;backdrop-filter:blur(8px);border:1px solid #ffffff1a;color:#c8d5df;font-size:9px;font-weight:650}
.search-dialog .search-status.is-live{color:#d0fba6;background:#132814d9}
.search-dialog .search-status .icon{width:13px;height:13px}
.search-dialog .search-no-results{grid-column:1/-1;min-height:230px;align-content:center}
@media(max-width:760px){.search-dialog .search-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;padding-inline:20px}.search-dialog .search-result-copy strong{font-size:13px}}
@media(max-width:600px){
    .hero{height:480px;background:#101b2b}
    .hero .hero-art{height:290px;width:100%;inset:0;object-position:76% center;mask-image:linear-gradient(#000 55%,transparent 100%)}
    .hero:before{background:linear-gradient(0deg,#101b2b 2%,#101b2bf5 30%,#101b2b80 57%,transparent 82%)}
    .hero-content{bottom:20px;padding:22px}
    .hero h2{font-size:28px}
    .hero p{max-width:285px}
    .hero-kicker{margin-bottom:13px}
    .search-dialog .search-results{padding:4px 18px 20px;max-height:55dvh;gap:18px 12px}
}
@media(max-width:480px){.search-dialog .search-results{grid-template-columns:repeat(2,minmax(0,1fr))}.search-dialog .search-status{top:7px;left:7px;padding:4px 6px;font-size:8px}.search-dialog .search-cover{font-size:57px}}
@media(prefers-reduced-motion:reduce){.search-dialog .search-result,.search-cover-symbol,.lux-art-cover img{transition:none;transform:none!important}}
