.cover canvas{width:100%;height:100%;display:block;object-fit:cover}
/* Compact game-first launcher: the library is the first screen. */
@media(min-width:1000px){body{min-height:100dvh;overflow:hidden}header{height:60px;padding:0 28px}.intro,.friends,footer{display:none}main{padding:0 28px}.filters{height:54px;margin:0}.filter.active span{font-size:0}.filter.active span:after{content:"08";font-size:10px}.games{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-content:start}.game{border-radius:14px;animation:tile-arrive .48s both;animation-delay:calc(var(--tile,0)*55ms)}.game:nth-child(1){--tile:1}.game:nth-child(2){--tile:2}.game:nth-child(3){--tile:3}.game:nth-child(4){--tile:4}.game:nth-child(5){--tile:5}.game:nth-child(6){--tile:6}.game:nth-child(7){--tile:7}.game:nth-child(8){--tile:8}.cover{aspect-ratio:1.38}.cover-title{left:14px;bottom:13px}.cover-title>span{font-size:7px;letter-spacing:1px}.cover h2{font-size:clamp(20px,2vw,31px);letter-spacing:-1.2px}.cover h2 i{font-size:17px;margin-left:5px}.badge{top:9px;left:9px;padding:6px 7px;font-size:7px}.favourite{top:8px;right:8px;width:29px;height:29px;font-size:19px}.art-label{display:none}.game-info{padding:10px 12px 12px}.meta{font-size:9px}.genre{padding:4px 6px}.game-info p{display:none}.play{margin-top:10px;padding:9px 10px;border-radius:8px;font-size:12px}.cover img{transition:transform .35s ease}.game:hover .cover img{transform:scale(1.055)}}
@media(min-width:581px) and (max-width:999px){.intro,.friends{display:none}.games{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.game-info p{display:none}.game-info{padding:12px}.cover{aspect-ratio:1.4}.cover h2{font-size:29px}.play{margin-top:11px}.heritage-art{font-size:31px!important}}
@media(max-width:580px){.intro,.friends{display:none}.games{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cover{aspect-ratio:1.1}.cover-title{left:10px;bottom:10px}.cover h2{font-size:23px;letter-spacing:-1px}.cover-title>span,.badge,.art-label{font-size:6px}.badge{padding:5px}.favourite{width:28px;height:28px;font-size:18px}.game-info{padding:9px}.game-info p{display:none}.meta{font-size:8px}.genre{padding:3px 5px}.play{margin-top:8px;padding:8px;font-size:10px}.library-note{display:none}}
.heritage-card .cover{background:radial-gradient(circle at 76% 24%,#ffe36f 0 7%,transparent 8%),linear-gradient(140deg,#63355d,#152d4d 68%)}.heritage-card.navakankari .cover{background:radial-gradient(circle at 24% 26%,#ffdc77 0 6%,transparent 7%),linear-gradient(140deg,#264d67,#24345d 68%)}.heritage-card.aadu-huli .cover{background:radial-gradient(circle at 72% 29%,#ffc668 0 7%,transparent 8%),linear-gradient(140deg,#79413e,#352754 68%)}.heritage-art{position:absolute;inset:14% 10% 29%;z-index:1;display:flex;align-items:center;justify-content:space-between;color:#fff5c8;font-size:clamp(34px,5vw,62px);font-weight:900;letter-spacing:-7px;text-shadow:0 7px 18px #0008}.heritage-art b{font-size:clamp(10px,1.2vw,16px);line-height:1.05;letter-spacing:2px;text-align:right;color:#e5ff8b}.heritage-card .genre{background:#47304f;color:#ffe5bd}.heritage-card .play{background:#ffd765;color:#251936}.navakankari .play{background:#8ee7fc;color:#12324b}.aadu-huli .play{background:#ffa98b;color:#4a1931}@keyframes tile-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Short laptop windows: fit two playable rows, never trap the lower games. */
@media(min-width:1000px){
  body{overflow-y:auto}
  .cover{aspect-ratio:2.15}
  .game-info{padding:8px 10px 9px}
  .game-info p{display:none}
  .play{margin-top:8px;padding:8px 10px}
  .meta{font-size:9px}
  .genre{padding:4px 7px}
}
