*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } :root { font-family: 'Pretendard', system-ui, -apple-system, sans-serif; line-height: 1.5; font-weight: 400; color: rgba(255, 255, 255, 0.87); background-color: #2E2C2F; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { min-width: 320px; min-height: 100vh; } a { color: #BACDB0; text-decoration: none; } a:hover { opacity: 0.85; } /* ── Game asset common classes ───────────────────── */ .btn-game { position: relative; display: inline-block; border: none; color: #fff; padding: 14px 40px; font-size: 1.1rem; font-weight: 700; cursor: pointer; background: url('/images/btn_normal.webp') center/100% 100% no-repeat; letter-spacing: 0.05em; overflow: hidden; text-decoration: none; transition: transform 0.15s, filter 0.15s; } .btn-game:hover { transform: translateY(-1px); filter: brightness(1.2); } .btn-game:disabled { opacity: 0.5; cursor: not-allowed; transform: none; } .btn-game > * { position: relative; z-index: 1; } .card-game { position: relative; background: rgba(0, 0, 0, 0.6); border-radius: 12px; overflow: hidden; } .card-game::before { content: ''; position: absolute; inset: -8px; background: url('/images/card_frame.webp') center/100% 100% no-repeat; pointer-events: none; z-index: 0; } .card-game > * { position: relative; z-index: 1; } .divider-game { width: 100%; max-width: 400px; height: 20px; background: url('/images/divider.webp') center/contain no-repeat; margin: 2rem auto; } @media (max-width: 768px) { .card-game::before { display: none; } .card-game { border: 1px solid rgba(186, 205, 176, 0.3); } }