/* ============================================================================
   GRAND ATLANTIC — one-time terms & acknowledgment gate.
   Loaded automatically by terms.js. Namespaced ga-terms-*.
   ========================================================================== */

.ga-terms-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483402; /* above onboarding (…400) and authprompt (…401) — the gate wins */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 16px;
  padding-top: calc(env(safe-area-inset-top, 0px) + clamp(12px, 6vh, 64px));
  overflow-y: auto;
  background: rgba(4, 6, 5, 0.84);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.ga-terms {
  width: min(480px, 100%);
  max-height: calc(100dvh - env(safe-area-inset-top, 0px) - clamp(24px, 10vh, 112px));
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: linear-gradient(170deg, #101613, #0a0e0c 60%);
  border: 1px solid rgba(226, 183, 85, 0.4);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.7);
  color: #f2efe6;
  font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  padding: 22px 22px 16px;
}

.ga-terms-emblem {
  width: 44px; height: 44px;
  margin: 0 auto 10px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(226, 183, 85, 0.5);
  color: #e2b755;
  font-size: 20px;
  background: rgba(226, 183, 85, 0.08);
}

.ga-terms h2 {
  margin: 0 0 2px;
  font-size: 16px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #e2b755;
  text-align: center;
}
.ga-terms-sub {
  margin: 0 0 14px;
  font-size: 11px;
  text-align: center;
  color: rgba(242, 239, 230, 0.55);
  letter-spacing: 1px;
}

.ga-terms-body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  min-height: 0;
  margin: 0 -4px 14px;
  padding: 0 4px;
}
.ga-terms-list {
  margin: 0;
  padding: 0 0 0 18px;
  display: grid;
  gap: 12px;
  font-size: 12.5px;
  line-height: 1.55;
  color: rgba(242, 239, 230, 0.88);
}
.ga-terms-list li::marker { color: #e2b755; }
.ga-terms-list b { color: #f7df9a; }

.ga-terms-actions { display: flex; }
.ga-terms-btn {
  flex: 1;
  min-height: 46px;
  border-radius: 10px;
  border: 1px solid rgba(226, 183, 85, 0.55);
  background: rgba(226, 183, 85, 0.1);
  color: #f2efe6;
  font: inherit;
  font-size: 13px;
  letter-spacing: 0.5px;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.ga-terms-accept {
  background: linear-gradient(180deg, #ecc266, #e2b755);
  border-color: #e2b755;
  color: #14110a;
  font-weight: 700;
}
.ga-terms-accept:active { transform: translateY(1px); }

.ga-terms-fine {
  margin: 10px 2px 0;
  font-size: 10.5px;
  line-height: 1.5;
  text-align: center;
  color: rgba(242, 239, 230, 0.45);
}
