/* 삼대 아케이드: 기존 운동 화면·세로 카메라·키보드 카드 동작을 유지한다. */
#gamesTab .tab-visual-games { min-height: 168px; }
.game-hub-intro { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:20px 0 14px; }
.game-hub-intro h2 { margin:0; font-size:20px; font-weight:850; letter-spacing:-.04em; }
.game-hub-intro span { color:var(--text-dim); font-size:12px; }
#gameHubGrid { gap:14px; }
#gameHubGrid .game-card { padding:0; border-left-width:1px; border-radius:18px; gap:0; min-width:0; overflow:visible; background:var(--surface-2); }
.gc-art { position:relative; overflow:hidden; height:120px; border-radius:17px 17px 0 0; background:linear-gradient(135deg,#263144,#10131c); }
.gc-art img { width:100%; height:100%; object-fit:cover; transition:transform 280ms ease; }
.gc-art::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,10,17,.85),transparent 80%); }
.gc-number { position:absolute; bottom:10px; left:13px; z-index:1; font:800 11px var(--font-num,system-ui); letter-spacing:.13em; color:#fff; }
.gc-body { display:flex; flex-direction:column; flex:1; gap:8px; padding:13px; }
#gameHubGrid .gc-top b { font-size:16px; letter-spacing:-.035em; }
#gameHubGrid .gc-tag { color:var(--text-dim); font-size:12px; line-height:1.5; min-height:36px; }
.gc-action { margin:0; color:var(--text); font-size:12px; line-height:1.55; }
#gameHubGrid .gc-stats { flex-wrap:wrap; gap:5px; margin-top:auto; padding-top:10px; border-top:1px solid var(--border); }
.gc-enter { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--text); font-weight:800; padding-top:5px; }
.gc-enter span { color:var(--text-dim); font-size:16px; }
#gameHubGrid .gc-play::after { border-radius:18px; z-index:2; }
#gameHubGrid .gc-rank-btn,#gameHubGrid .gc-share-btn { z-index:3; background:#121722; border-color:#626c7b; }
#gameHubGrid .gc-rank-btn .ico,#gameHubGrid .gc-share-btn .ico { color:#fff; }
#gameHubGrid .gc-play:focus-visible::after { outline:3px solid var(--text); outline-offset:3px; }
@media (hover:hover) { #gameHubGrid .game-card:hover .gc-art img { transform:scale(1.05); } }
@media (min-width:1100px) { #gameHubGrid { grid-template-columns:repeat(2,minmax(0,1fr)); } .gc-art { height:155px; } }
@media (max-width:350px) { #gameHubGrid { gap:10px; } .gc-body { padding:10px; } .gc-art { height:104px; } #gameHubGrid .gc-top b { font-size:14px; } }
#stage.game-on #video, #stage.game-on #overlay { top:10px; right:12px; width:68px; height:90px; aspect-ratio:3/4; border-color:#536174; border-width:1px; }
#stage.game-on #stageEmpty, #stage.game-on #msg { display:none; }
#stage.game-on #stageEmpty.se-error { display:flex; z-index:4; background:#0a0b0eef; }
#gamePicker .gchip[disabled] { opacity:.65; cursor:default; }
#gameSession { margin:12px 0 0; padding:14px; border:1px solid var(--border-strong); border-radius:14px; background:var(--surface-2); }
.game-session-top { display:flex; gap:12px; align-items:center; justify-content:space-between; }
#gameSessionTitle { font-size:15px; font-weight:800; }
#gameSessionBadge { font-size:11px; font-weight:800; border:1px solid var(--border-strong); border-radius:999px; padding:4px 8px; color:var(--text); white-space:nowrap; }
#gameSession p { font-size:13px; line-height:1.65; margin:8px 0 0; color:var(--text-dim); }
#gameSessionStats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0 0; }
#gameSessionStats div { background:var(--surface-1); border:1px solid var(--border); border-radius:10px; padding:10px 5px; text-align:center; }
#gameSessionStats dt { color:var(--text-dim); font-size:11px; }
#gameSessionStats dd { color:var(--text); font-size:18px; font-weight:850; margin:3px 0 0; font-variant-numeric:tabular-nums; }
#gameRecordWarning { color:var(--warn); }
#gameRecordRetry { min-height:44px; margin-top:10px; }
#gameAnnouncement { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (prefers-reduced-motion:reduce) { #gameHubGrid .game-card, .gc-art img { transition:none; } #gameHubGrid .game-card:hover, #gameHubGrid .game-card:hover .gc-art img { transform:none; } }
/* 결과 확인 후 휴식: 공유·횟수 수정까지 4개 버튼이 320px 화면 안에 들어오게 한다. */
body.resting #primaryActions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
body.resting #primaryActions .action { min-width:0; white-space:normal; padding-inline:9px; font-size:13px; }

#stage.game-on[data-game-compact="true"] #video, #stage.game-on[data-game-compact="true"] #overlay { width:45px; height:60px; top:9px; }
