/* ───────────────────────────────────────────────────────────────
   age-gate.css — 18+ gate overlay (docs/age-gate-handoff, 2026-09-11).
   Load after css/_chrome.css on every PUBLIC page (not admin/).
   Self-contained: the button rules are written out here because each
   page's inline .btn/.btn-primary/.btn-ghost differ (44px white-text
   on game/about/contact, 52px orange-on-ink on index) — the gate must
   look the same everywhere, so it does not rely on page styles.
   ─────────────────────────────────────────────────────────────── */
html.ap-gated{overflow:hidden}
html.ap-gated body > *:not(.ap-age-gate){filter:blur(8px) brightness(.5);pointer-events:none;user-select:none}
html.ap-gated.ap-gated-locked body > *:not(.ap-age-gate){filter:blur(14px) brightness(.3)}

.ap-age-gate{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(11,11,13,.62);font-family:var(--ap-font-sans,"Poppins",sans-serif);color:var(--cream,#F4E9D6)}
.ap-age-gate[data-step="locked"]{background:rgba(11,11,13,.82)}

.ap-age-gate .ag-card{box-sizing:border-box;width:520px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:18px;padding:44px 48px 32px;background:#141417;border:1px solid rgba(255,255,255,.10);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.ap-age-gate[data-step="second"] .ag-card{border-color:rgba(229,119,63,.5)}
.ap-age-gate .ag-logo{height:26px;width:auto}
.ap-age-gate .ag-badge{width:60px;height:60px;box-sizing:border-box;border-radius:50%;border:3px solid var(--ap-orange-300,#E5773F);color:var(--ap-orange-300,#E5773F);display:flex;align-items:center;justify-content:center;font:800 17px/1 var(--ap-font-sans,"Poppins",sans-serif);letter-spacing:-.02em}
.ap-age-gate[data-step="locked"] .ag-badge{border-color:rgba(244,233,214,.35);color:rgba(244,233,214,.6)}
.ap-age-gate .ag-eyebrow{display:flex;align-items:center;gap:12px;font:700 11px/1 var(--ap-font-tag,"Rajdhani",sans-serif);letter-spacing:.24em;color:var(--ap-orange-300,#E5773F);text-transform:uppercase}
.ap-age-gate .ag-eyebrow::before,.ap-age-gate .ag-eyebrow::after{content:"";width:28px;height:1px;background:var(--ap-orange-300,#E5773F)}
.ap-age-gate h2{margin:0;font:800 42px/1.05 var(--ap-font-sans,"Poppins",sans-serif);letter-spacing:-.02em;text-align:center;color:var(--cream,#F4E9D6)}
.ap-age-gate p{margin:0;max-width:400px;font:400 16px/1.55 var(--ap-font-sans,"Poppins",sans-serif);color:rgba(244,233,214,.78);text-align:center}
.ap-age-gate .ag-alert{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:12px 14px;border-radius:6px;background:rgba(229,119,63,.12);border:1px solid rgba(229,119,63,.45);font:400 13px/1.45 var(--ap-font-sans,"Poppins",sans-serif);color:var(--cream,#F4E9D6);text-align:left}
.ap-age-gate .ag-alert svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--ap-orange-300,#E5773F);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ap-age-gate .ag-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-top:6px}
.ap-age-gate[data-step="locked"] .ag-actions{grid-template-columns:1fr}
.ap-age-gate .ag-note{font:400 12px/1.4 var(--ap-font-sans,"Poppins",sans-serif);color:rgba(244,233,214,.45);text-align:center}

/* Buttons — the index.html .btn set, written out so every page matches */
.ap-age-gate .btn{box-sizing:border-box;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;margin:0;padding:0 22px;border-radius:6px;font:800 13px/1 var(--ap-font-sans,"Poppins",sans-serif);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:0;box-shadow:none;transition:all .2s cubic-bezier(.22,.61,.36,1)}
.ap-age-gate .btn-primary{background:var(--ap-orange-300,#E5773F);color:#0B0B0D}
.ap-age-gate .btn-primary:hover{background:var(--ap-orange-200,#F2A471);transform:translateY(-1px)}
.ap-age-gate .btn-ghost{background:transparent;color:var(--cream,#F4E9D6);border:1px solid var(--rule-strong,rgba(255,255,255,.22))}
.ap-age-gate .btn-ghost:hover{border-color:var(--ap-orange-300,#E5773F);color:var(--ap-orange-300,#E5773F)}
.ap-age-gate .btn .ch{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ap-age-gate .btn:focus-visible{outline:2px solid var(--ap-orange-300,#E5773F);outline-offset:2px}

/* Phones: a smaller card centred on the screen (2026-09-11 user ruling —
   the handoff's bottom sheet was replaced; applies to ask / second / locked). */
@media (max-width:640px){
  .ap-age-gate{align-items:center;padding:20px}
  .ap-age-gate .ag-card{width:100%;max-width:400px;border-radius:16px;padding:26px 20px 22px;gap:13px}
  .ap-age-gate .ag-logo{height:20px}
  .ap-age-gate .ag-badge{width:46px;height:46px;border-width:2.5px;font-size:13px}
  .ap-age-gate .ag-eyebrow{font-size:10px;gap:10px}
  .ap-age-gate .ag-eyebrow::before,.ap-age-gate .ag-eyebrow::after{width:22px}
  .ap-age-gate h2{font-size:26px}
  .ap-age-gate p{font-size:14px;line-height:1.5}
  .ap-age-gate .ag-alert{padding:10px 12px;font-size:12px}
  .ap-age-gate .ag-actions{grid-template-columns:1fr;gap:10px;margin-top:2px}
  .ap-age-gate .btn{height:46px;font-size:12px}
  .ap-age-gate .ag-note{font-size:11px}
}
