.game-shell { max-width:880px; }
.game-shell h1, .game-shell h2, .game-shell p { overflow-wrap:anywhere; }
.game-hero { position:relative; overflow:hidden; padding:48px 40px; background:#173e30; color:#fffdf2; border-radius:28px; }
.game-hero::after { content:""; position:absolute; width:230px; height:230px; border:1px solid #ffffff12; border-radius:50%; right:-90px; bottom:-100px; box-shadow:0 0 0 30px #ffffff05,0 0 0 60px #ffffff04; pointer-events:none; }
.game-hero .golf-eyebrow { color:#d6eb9a; }
.game-hero h1 { font-size:clamp(32px,6vw,54px); line-height:1.12; max-width:600px; margin:18px 0; letter-spacing:-1.5px; }
.game-hero p { max-width:490px; color:#e0e9df; font-size:15px; font-weight:400; line-height:1.8; margin-bottom:0; }
.game-ball { display:block; font-size:52px; margin-top:24px; }
.game-hero-compact { padding:32px 36px; }
.game-hero-compact h1 { font-size:clamp(28px,5vw,40px); }
.game-panel { padding:28px; margin-top:20px; background:#fffef8; border:1px solid #dfe5d7; border-radius:24px; box-shadow:0 4px 12px #173e3005; }
.game-panel h2 { margin:0 0 18px; font-size:22px; line-height:1.4; }
.game-panel > .golf-eyebrow { color:#526753; margin-bottom:8px; }
.game-primary, .game-secondary { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:54px; padding:16px 20px; border:1px solid transparent; border-radius:14px; font:700 15px 'Poppins',sans-serif; color:#173e30; text-decoration:none; cursor:pointer; text-align:left; }
.game-primary { background:#f5d66b; }
.game-primary:hover { background:#f0ca4d; }
.game-secondary { background:#eef2e6; border-color:#dfe5d7; }
.game-secondary:hover { background:#e4ebd8; }
.game-languages { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.game-stat { margin:24px 0 0; color:#526753; font-size:12px; font-weight:400; }
.game-stat strong { color:#173e30; font-size:22px; margin-right:6px; }
.game-steps { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:28px 0 0; list-style:none; }
.game-steps li { font-size:12px; font-weight:400; padding:8px 14px; border-radius:24px; color:#d6e3d9; border:1px solid #ffffff38; }
.game-steps [aria-current] { color:#173e30; background:#f5d66b; border-color:#f5d66b; font-weight:700; }
.game-counts { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.game-counts button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:112px; border-radius:18px; border:1px solid #dfe5d7; background:#eef2e6; color:#173e30; font-family:inherit; cursor:pointer; }
.game-counts strong { font-size:34px; line-height:1.2; }
.game-counts span { font-size:12px; }
.game-counts button:hover, .game-counts button:focus-visible { background:#f5d66b; border-color:#dbb84c; }
.game-text-link { display:inline-block; padding:12px 0; margin-top:12px; color:#526753; font-size:13px; text-decoration:none; }
.game-text-link:hover { text-decoration:underline; }
.game-name-fields { display:grid; gap:18px; margin-bottom:24px; }
.game-name-fields label { display:block; font-size:12px; margin-bottom:7px; }
.game-name-fields input { background:white; border:1px solid #b9c9ae; border-radius:12px; padding:14px 16px; color:#173e30; font-size:16px; letter-spacing:0; }
.game-error { background:#fff0e7; border:1px solid #e3b39c; border-radius:12px; color:#8e3523; padding:14px; font-size:13px; }
.game-records { background:transparent; box-shadow:none; }
.game-records h2 { margin-bottom:0; font-size:18px; }
.game-records ol { padding:0; margin:16px 0 0; list-style:none; counter-reset:rank; }
.game-records li { counter-increment:rank; display:flex; align-items:center; gap:12px; padding:14px 0; border-top:1px solid #dfe5d7; font-size:14px; }
.game-records li::before { content:counter(rank); display:grid; place-items:center; width:30px; height:30px; flex-shrink:0; border-radius:10px; background:#e4ebd8; }
.game-records li:first-child::before { background:#f5d66b; }
.game-records li span { flex:1; overflow-wrap:anywhere; min-width:0; }
.game-records li strong { font-size:12px; white-space:nowrap; }
.game-winner { text-align:center; background:radial-gradient(ellipse at top,#2e6046,#173e30 70%); }
.game-winner h1, .game-winner p { margin-left:auto; margin-right:auto; }
.game-winner h1 { font-size:clamp(30px,5vw,46px); }
.game-trophy { display:block; font-size:48px; margin-bottom:16px; }
.game-table-scroll { overflow-x:auto; border:1px solid #dfe5d7; border-radius:16px; }
.game-results { width:100%; min-width:540px; border-collapse:collapse; font-size:13px; text-align:center; font-variant-numeric:tabular-nums; }
.game-results caption { text-align:left; padding:14px 16px; color:#526753; font-size:12px; }
.game-results th, .game-results td { padding:16px 10px; border-top:1px solid #e3e9db; }
.game-results thead th { font-size:10px; background:#edf2e5; white-space:nowrap; }
.game-results th:nth-child(2) { text-align:left; overflow-wrap:anywhere; max-width:200px; min-width:110px; }
.game-results td:last-child { font-size:18px; background:#edf2e580; }
.game-results .game-first { background:#fff5d5; }
.game-results .game-first td:last-child { background:#f5d66b; }
.game-result-actions { display:grid; gap:12px; margin-top:24px; }
.game-rules { list-style:none; counter-reset:rules; padding:0; margin:0 0 24px; }
.game-rules li { counter-increment:rules; position:relative; padding:4px 0 24px 52px; margin-bottom:20px; border-bottom:1px solid #e3e9db; font-size:14px; line-height:1.8; font-weight:400; }
.game-rules li::before { content:counter(rules); position:absolute; top:0; left:0; display:grid; place-items:center; width:36px; height:36px; border-radius:12px; background:#e4ebd8; color:#173e30; font-weight:700; }
.game-footer { text-align:center; color:#526753; font-weight:400; font-size:11px; padding-top:30px; }
.game-footer span { margin:0 8px; }
@media(max-width:520px) {
 .game-hero, .game-hero-compact { padding:28px 24px; }
 .game-panel { padding:20px; border-radius:20px; }
 .game-languages { grid-template-columns:1fr; }
 .game-counts { gap:10px; }
 .game-counts button { min-height:96px; }
 .game-steps { gap:6px; }
 .game-steps li { padding:7px 10px; font-size:11px; }
 .game-rules li { padding-left:46px; font-size:13px; }
}

.pwa-install { display:block; margin:24px auto 0; background:#e4ebd8; font-family:inherit; cursor:pointer; }
.pwa-status { padding:16px; border:1px solid #dbb84c; border-radius:14px; background:#fff5d5; color:#173e30; font-size:14px; font-weight:400; }
.pwa-install[hidden], .pwa-status[hidden] { display:none; }
