.hero{background:var(--c-yellow);border:var(--border-thick);box-shadow:var(--shadow-lg);border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:40px;padding:28px 36px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";border-left:20px solid #0000;border-right:20px solid #0000;border-bottom:34px solid var(--c-pink);opacity:.9;pointer-events:none;width:0;height:0;position:absolute;top:50%;right:20%;transform:translateY(-50%)}.hero:after{content:"";background:var(--c-blue);border:3px solid var(--ink);pointer-events:none;border-radius:50%;width:24px;height:24px;position:absolute;top:20%;right:28%}.hero-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:2rem;line-height:1;position:relative}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.6rem}.grid-container{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}@media (width<=1024px){.grid-container{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.grid-container{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.grid-container{grid-template-columns:1fr}}.loading-msg{text-align:center;grid-column:1/-1;padding:60px 20px;font-weight:600}.card{background:var(--c-yellow);border:var(--border-thick);box-shadow:var(--shadow-md);cursor:pointer;color:var(--ink);border-radius:8px;flex-direction:column;padding:14px;text-decoration:none;transition:transform .1s,box-shadow .1s;display:flex}.card[data-color=yellow]{background:var(--c-yellow);color:var(--ink)}.card[data-color=blue]{background:var(--c-blue);color:#fff}.card[data-color=pink]{background:var(--c-pink);color:var(--ink)}.card[data-color=purple]{background:var(--c-purple);color:#fff}.card[data-color=green]{background:var(--c-green);color:var(--ink)}.card[data-color=orange]{background:var(--c-orange);color:#fff}.card:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(3px,3px)}.card:active{box-shadow:0 0 0 var(--ink);transform:translate(6px,6px)}.card-thumb{aspect-ratio:4/3;border:3px solid var(--ink);color:#fff;background:#1a1625;border-radius:4px;justify-content:center;align-items:center;margin-bottom:14px;font-size:3rem;display:flex;position:relative;overflow:hidden}.card-thumb img{object-fit:cover;width:100%;height:100%}.thumb-placeholder{filter:brightness(1.2);font-size:3rem}.badge-ori{border:2px solid var(--ink);font-family:var(--font-display);color:var(--ink);box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:4px;padding:2px 8px;font-size:.65rem;position:absolute;top:8px;right:8px}.badge-soon{background:var(--ink);color:var(--c-yellow);border:2px solid var(--ink);font-family:var(--font-display);letter-spacing:.03em;box-shadow:2px 2px 0 var(--c-pink);border-radius:4px;padding:3px 8px;font-size:.65rem;position:absolute;top:8px;left:8px}.card-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 6px;font-size:1.2rem;line-height:1.05}.card-tags{opacity:.75;font-size:.78rem;font-weight:600;font-family:var(--font-body);margin:0 0 10px}.card-meta{font-size:.8rem;font-weight:600;font-family:var(--font-body);justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-players{align-items:center;gap:4px;display:flex}.card-stars{letter-spacing:.04em}.btn-play{color:var(--ink);border:3px solid var(--ink);font-family:var(--font-display);text-align:center;cursor:pointer;width:100%;box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:4px;margin-top:auto;padding:10px 0;font-size:.85rem}@media (width<=768px){.hero{box-shadow:var(--shadow-md);margin-bottom:28px;padding:20px}.hero-title{font-size:1.3rem;line-height:1.15}.hero:before,.hero:after{display:none}.section-header{margin-bottom:16px}.section-title{font-size:1.2rem}.card{box-shadow:var(--shadow-sm);padding:12px}.card-thumb{margin-bottom:10px}.card-title{font-size:1rem}.card-tags{margin-bottom:10px;font-size:.72rem}.btn-play{box-shadow:2px 2px 0 var(--ink);padding:8px 0;font-size:.75rem}.badge-soon,.badge-ori{padding:2px 6px;font-size:.58rem}}
