/* 게임 모음소 */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { background: #0b0b0b; }
body { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; background: radial-gradient(ellipse at top, #1a1a1a 0%, #0b0b0b 60%); color: #e8e8e8; font-family: 'Pretendard', 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif; line-height: 1.6; }
main { flex: 1 1 auto; min-width: 0; }
ul { list-style: none; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.inner { width: calc(100% - 40px); max-width: 1200px; margin: 0 auto; }

.header { border-bottom: 1px solid #262626; }
.header .inner { display: flex; align-items: center; padding: 28px 0; }
.header .logo { font-family: 'Courier New', Courier, monospace; font-size: clamp(22px, 3vw, 30px); letter-spacing: 2px; color: #f2f2f2; text-shadow: 2px 2px 0 #5a0000; }

.section { padding: 60px 0; }
.section_intro { padding-bottom: 0; }
.section_intro .intro_text { font-size: clamp(15px, 2vw, 18px); color: #9a9a9a; }

.section_games .game_list { display: flex; flex-wrap: wrap; gap: 24px; }
.section_games .game_card { flex: 0 0 calc((100% - 24px * 3) / 4); min-width: 0; display: flex; }
.section_games .game_link { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; background: #151515; border: 1px solid #262626; transition: border-color 0.2s, background 0.2s; }
.section_games .game_link:hover,
.section_games .game_link:focus-visible { border-color: #8a0000; background: #1a1a1a; }
.section_games .game_thumb { display: block; overflow: hidden; background: #000; aspect-ratio: 16 / 9; }
.section_games .game_thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.section_games .game_link:hover .game_thumb img { transform: scale(1.04); }
.section_games .game_info { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; gap: 8px; padding: 16px; }
.section_games .game_title { font-size: clamp(16px, 1.6vw, 19px); color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.section_games .game_desc { font-size: 13px; color: #9a9a9a; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-width: 0; }
.section_games .game_tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 4px; }
.section_games .game_tag { font-size: 12px; color: #c9c9c9; border: 1px solid #333; padding: 2px 8px; }

.footer { border-top: 1px solid #262626; }
.footer .inner { padding: 24px 0; }
.footer .footer_text { font-size: 13px; color: #666; }

@media (max-width: 1024px) {
    .section_games .game_card { flex: 0 0 calc((100% - 24px * 2) / 3); }
}

@media (max-width: 768px) {
    .section { padding: 40px 0; }
    .section_games .game_list { gap: 12px; }
    .section_games .game_card { flex: 0 0 calc((100% - 12px) / 2); }
    .section_games .game_info { padding: 12px; }
    .section_games .game_desc { font-size: 12px; }
    .section_intro .intro_text br { display: none; }
}
