/* ATGolf Game: no global nav, logo, button or body font overrides. */
.game-page{max-width:1180px;margin:0 auto;padding:24px 16px 40px}
.game-intro{padding:0;display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}
.game-intro .eyebrow{font-size:12px;letter-spacing:.16em;color:var(--lime)}
.game-intro h1{font:900 clamp(36px,4.4vw,58px)/.97 'Barlow Condensed',Impact,sans-serif;letter-spacing:.01em;margin:8px 0 8px}
.game-intro h1 em{font-style:normal;color:var(--lime)}
.game-lead{font-size:13px;color:var(--muted);margin:6px 0}
.game-actions,.game-bottom-buttons,.overlay-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.game-actions{justify-content:flex-end}
.game-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:#293328;color:#f1f5e8!important;border:1px solid #586750;border-radius:5px;font:900 11px/1.1 'DM Sans',Arial,sans-serif;letter-spacing:.05em;padding:13px 15px;cursor:pointer;transition:filter .12s,background .12s,transform .12s;white-space:nowrap}
.game-button:hover{filter:brightness(1.18);transform:translateY(-1px)}
.game-button:focus-visible,.level-card:focus-visible,.level-close:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.game-button:disabled{opacity:.36;cursor:not-allowed;transform:none;filter:none}
.game-button-primary{background:var(--lime);color:#10110f!important;border-color:var(--lime)}
.game-shell{position:relative;border:1px solid #526047;border-radius:12px;overflow:hidden;background:#1b2525;box-shadow:0 20px 60px #0006;padding:0!important}
.game-hud{display:flex;gap:8px;justify-content:space-around;background:#111a19;padding:14px 7px;font-weight:900;letter-spacing:.08em;font-size:clamp(10px,1.7vw,13px)}
.game-hud span:first-child{color:var(--lime)}
#field{width:100%;height:min(61vw,580px);min-height:330px;display:block;touch-action:none;cursor:crosshair}
.game-power{display:flex;align-items:center;gap:12px;padding:12px 18px;background:#121c1c;font-size:11px;font-weight:900;letter-spacing:.08em}
.game-meter{height:9px;border-radius:20px;flex:1;background:#344441;overflow:hidden}
.game-meter>div{height:100%;width:0%;background:linear-gradient(90deg,var(--lime),#f5b34f,#ef5656)}
.game-overlay{position:absolute;inset:42px 0 43px;z-index:3;background:#08100eea;display:grid;place-items:center;padding:24px;text-align:center;overflow:auto}
.game-overlay[hidden],.level-panel[hidden],.result-rating[hidden]{display:none!important}
.game-overlay-inner{max-width:520px}
.game-kicker{font:900 11px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.16em;color:var(--lime);margin:0 0 9px}
.game-overlay h2,.level-head h2{font:900 clamp(34px,5.5vw,62px)/.95 'Barlow Condensed',Impact,sans-serif;margin:0 0 16px}
.game-overlay-inner>p:not(.game-kicker){font-size:14px;line-height:1.6;color:#e7eddf}
.overlay-actions{justify-content:center;margin-top:23px}
.result-rating{color:var(--lime)!important;font-weight:900!important;font-size:21px!important;letter-spacing:.12em;margin:18px auto 0!important}
.game-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px}
.game-bottom strong{font:900 28px/1 'Barlow Condensed',Impact,sans-serif}
.game-bottom p,.game-note{color:var(--muted);font-size:13px}
.game-note{text-align:center;font-size:11px;margin-top:8px}
.game-progress{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;padding:14px 8px;font-size:11px;font-weight:900;letter-spacing:.07em;color:#c3ccba}
.dots{display:flex;gap:9px}.dots i{width:15px;height:15px;border-radius:50%;border:2px solid #65705c;display:block}.dots i.done{background:var(--lime);border-color:var(--lime)}.dots i.current{border-color:var(--lime);box-shadow:0 0 0 3px #a6ec0830}
/* Level selection is an actual in-game dialog, intentionally above the intro/finish overlay. */
.level-panel{position:absolute;inset:0;z-index:5;background:linear-gradient(135deg,#131b16,#0a110e);padding:clamp(12px,2.5vw,26px);overflow:auto;overscroll-behavior:contain}
.level-panel-content{max-width:950px;margin:auto}
.level-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:12px}
.level-head h2{margin:0;color:#f4f6eb}
.level-close{background:#2a372d;color:#f4f6eb;border:1px solid #57674f;border-radius:6px;padding:10px 16px;cursor:pointer;font-size:20px;line-height:1}
.level-close:hover{background:#3b4c3c}
.level-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 18px;font-size:11px;font-weight:900;letter-spacing:.045em}
.level-summary span{padding:8px 11px;background:#263329;color:#dce6d3;border:1px solid #42583c;border-radius:5px}
.level-summary span:nth-child(2){color:var(--lime)}
.level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.level-card{min-height:135px;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:15px;border-radius:8px;border:1px solid #66755c;background:linear-gradient(140deg,#35483e,#192720);color:#f6f8f0;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;overflow:hidden}
.level-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--lime);background:linear-gradient(140deg,#3a513d,#1d3022)}
.level-card:disabled{cursor:not-allowed;border-color:#343d36;color:#9ba59b;background:#18211c;opacity:.75}
.level-card .level-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}
.level-card .level-num{font:900 27px/1 'Barlow Condensed',Impact,sans-serif;color:var(--lime)}
.level-card:disabled .level-num{color:#7f8c79}
.level-card .level-label{font:900 24px/1 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase}
.level-card .level-meta{font-size:10px;line-height:1.35;letter-spacing:.04em;color:#c3d2c5}
.level-card .level-stars{font-size:21px;color:var(--lime);letter-spacing:3px;line-height:1.2}
.level-card .lock-text{font-size:11px;color:#b4bfb2}
.level-card.is-current{box-shadow:inset 0 0 0 1px var(--lime)}
.level-hint{font-size:12px;line-height:1.5;color:#aebbae;margin:15px 0 0}
@media(max-width:800px){.game-intro{display:block}.game-actions{justify-content:flex-start;margin-top:18px}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.game-page{padding:20px 12px 30px}.game-intro h1{font-size:clamp(33px,9vw,47px)}.game-actions{gap:7px}.game-button{font-size:10px;padding:12px 10px}.game-hud{flex-wrap:wrap;padding:10px 7px}.game-bottom{display:block}.game-bottom-buttons{margin-top:16px}.game-bottom-buttons .game-button{flex:1}.game-progress{gap:10px}#field{height:57vh;min-height:360px;max-height:600px}.level-grid{gap:8px}.level-card{min-height:118px;padding:12px;gap:5px}.level-card .level-label{font-size:20px}.level-card .level-num{font-size:23px}.level-card .level-stars{font-size:17px}.level-summary{gap:6px;margin-bottom:11px}.level-summary span{font-size:10px;padding:6px}.level-panel{padding:15px 10px}.level-head h2{font-size:37px}.game-overlay{padding:15px}.game-overlay h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.game-button,.level-card{transition:none}}

/* v0.6 game mechanics - scoped to the game. The website navigation and CTA are unaffected. */
.game-page .physics-status{display:inline-flex;align-items:center;justify-content:flex-end;min-width:178px;color:var(--lime);font:900 10px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.08em;white-space:nowrap}
.game-page .game-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 20px;color:#b2c2ae;font:800 10px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.07em;padding:15px 10px 2px}
.game-page .game-legend>span{display:inline-flex;align-items:center;gap:7px}
.game-page .legend-swatch{width:11px;height:11px;display:inline-block;border:1px solid #ddd5;transform:skewY(-13deg)}
.game-page .legend-ice{background:#78b5ca}.game-page .legend-rough{background:#798447}.game-page .legend-ramp{background:#d7a859}.game-page .legend-mover{background:#da80eb;box-shadow:0 0 7px #da80eb80}
@media(max-width:630px){.game-page .game-power{flex-wrap:wrap;column-gap:10px;row-gap:7px}.game-page .physics-status{min-width:unset;width:100%;justify-content:center}.game-page .game-legend{gap:9px 12px;font-size:9px}}

@media(max-width:600px){.game-page #field{height:clamp(330px,94vw,415px);min-height:0;max-height:none}}

/* v0.7 — public daily challenge, game-only selectors. */
.game-page .daily-panel{border:1px solid #506b40;border-radius:12px;background:linear-gradient(145deg,#1a2921,#111a16);padding:clamp(15px,2.5vw,28px);margin:26px 0 15px;scroll-margin-top:100px}
.game-page .daily-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.game-page .daily-heading h2{font:900 clamp(32px,5vw,50px)/1 'Barlow Condensed',Impact,sans-serif;margin:0 0 10px;color:#f6f8f0}
.game-page .daily-date{font-size:12px;color:#b2c7b1;margin:0 0 5px}
.game-page .daily-course{font-weight:900;color:var(--lime);margin:0}
.game-page .daily-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.game-page .daily-actions [hidden],.game-page .daily-badge[hidden],.game-page .daily-submit[hidden]{display:none!important}
.game-page .daily-status{font-size:12px;color:#aebbad;margin:15px 0 7px}
.game-page .daily-message{font-size:13px;color:#dce8d1;min-height:1.2em;margin:6px 0 14px}
.game-page .daily-message[data-type=error]{color:#ffae91}
.game-page .daily-message[data-type=success]{color:var(--lime)}
.game-page .daily-table-wrap{width:100%;overflow-x:auto}
.game-page .daily-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:390px}
.game-page .daily-table caption{font-size:1px;width:1px;height:1px;overflow:hidden;position:absolute;clip-path:inset(50%)}
.game-page .daily-table th{background:#253b2f;color:var(--lime);font-size:10px;letter-spacing:.1em;padding:12px 14px}
.game-page .daily-table td{padding:13px 14px;border-bottom:1px solid #384a3c;color:#edf2e8}
.game-page .daily-table td:nth-child(1){color:var(--lime);font-weight:900}
.game-page .daily-table td:nth-child(3){font-weight:900}
.game-page .daily-empty{color:#aebbad;padding:14px 5px 0;font-size:13px}
.game-page .daily-privacy{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:19px;color:#aebbad;font-size:11px;line-height:1.5}
.game-page .daily-delete{background:none;border:0;color:#cfe9bd;text-decoration:underline;text-underline-offset:3px;font-size:11px;cursor:pointer;padding:7px 0}
.game-page .daily-badge{color:var(--lime);letter-spacing:.09em;font-size:10px;font-weight:900}
.game-page .daily-submit{border-top:1px solid #547040;margin:19px 0 0;padding:15px 0 0;text-align:left}
.game-page .daily-submit>label:first-child{display:block;color:var(--lime);font-weight:900;font-size:11px;margin-bottom:8px}
.game-page .daily-submit>input{display:block;width:100%;background:#18251b;color:#fff;border:1px solid #6d8663;border-radius:5px;padding:13px;font-size:15px}
.game-page .daily-submit .consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4;color:#e9efdf;margin:15px 0}
.game-page .daily-submit .consent input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--lime)}
@media(max-width:720px){.game-page .daily-heading{display:block}.game-page .daily-actions{justify-content:flex-start;margin-top:15px}.game-page .daily-table{font-size:12px}}

.game-page [hidden]{display:none!important}

/* v0.8: editor-published extra courses (original site nav unaffected). */
.game-page .game-custom-status{color:#b9ec43;font-size:12px;letter-spacing:.045em;font-weight:800;margin:8px 0 12px}
.game-page .level-grid .custom-level-heading{grid-column:1/-1;font:900 clamp(23px,3.2vw,32px)/1.1 'Barlow Condensed',Impact,sans-serif;color:#b9ec43;margin:19px 0 0;padding-top:15px;border-top:1px solid #4c6145}
.game-page .level-grid .custom-level-heading:first-child{margin-top:0;border:0}
