/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@15.5.4_@babel+core@7.25.9_@opentelemetry+api@1.9.1_react-dom@19.2.5_react@19.2.5__react@19.2.5/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/.pnpm/next@15.5.4_@babel+core@7.25.9_@opentelemetry+api@1.9.1_react-dom@19.2.5_react@19.2.5__react@19.2.5/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/globals.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* globals for Next — shell.css provides the design system tokens + nav + footer */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--void-deep);
  color: var(--text);
  font-family: var(--font-ui);
  font-size: var(--fs-base);
  line-height: 1.6;
  min-height: 100vh;
}
a { color: var(--gold-bright); text-decoration: none; transition: color 180ms ease, text-shadow 180ms ease; }
a:hover { color: var(--text-bright); text-shadow: 0 0 10px var(--gold-glow); }

::selection { background: var(--gold-dim); color: var(--void-deep); }

:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 2px;
  border-radius: 3px;
}

/* Ensure EVERY interactive element reads as clickable (no dark-on-dark). */
button, [role="button"], a.btn, a.btn-primary, a.btn-ghost {
  cursor: pointer;
  position: relative;
}

/* Generic safety net: any button without an explicit background gets a
   visible dark-gold border so the user can tell it's tappable. */
button:not([class]):not(:disabled),
button:where(:not(.btn):not(.btn-primary):not(.btn-ghost):not(.cb-card):not(.m-card):not(.m-hand):not(.m-command)):not(:disabled) {
  min-height: 32px;
}

/* BASE BUTTON — applies to every button except skinned ones (attack, draw,
   btn-primary, m-card, nav-hamburger). Guarantees gold-ghost legibility on
   the void background so no button ever reads black-on-dark. */
button:not(.btn-primary):not(.attack-btn):not(.draw-btn):not(.cb-card):not(.m-card):not(.m-hand):not(.m-command):not(.nav-hamburger):not(.cmdr-flag):not([class*="btn-ghost"]) {
  background: rgba(20, 9, 31, 0.85);
  color: var(--gold-bright);
  border: 1px solid var(--gold-dim);
  border-radius: 6px;
  padding: 0.4rem 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-family: inherit;
  font-size: 0.85rem;
  transition: border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}
button:not(.btn-primary):not(.attack-btn):not(.draw-btn):not(.cb-card):not(.m-card):not(.m-hand):not(.m-command):not(.nav-hamburger):not(.cmdr-flag):not([class*="btn-ghost"]):hover:not(:disabled) {
  border-color: var(--gold-bright);
  color: var(--text-bright);
  box-shadow: 0 0 12px var(--gold-glow);
}
button:not(.btn-primary):not(.attack-btn):not(.draw-btn):not(.cb-card):not(.m-card):not(.m-hand):not(.m-command):not(.nav-hamburger):not(.cmdr-flag):not([class*="btn-ghost"]):disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

/* When a button has a mostly-transparent background, guarantee a readable
   border + text color so it never reads as "black on black". */
button[class*="btn-ghost"],
.seat-link:not(.current),
.draw-btn,
.cb-clear,
.dv-actions a,
.deck-actions a,
.deck-actions button {
  background: rgba(20, 9, 31, 0.85) !important;
  color: var(--text-bright) !important;
  border: 1.5px solid var(--gold-dim) !important;
}
button[class*="btn-ghost"]:hover,
.seat-link:not(.current):hover,
.draw-btn:hover,
.cb-clear:hover,
.dv-actions a:hover,
.deck-actions a:hover,
.deck-actions button:hover {
  border-color: var(--gold-bright) !important;
  color: var(--gold-bright) !important;
  box-shadow: 0 0 14px var(--gold-glow) !important;
}

/* Inputs / selects / textareas on near-void backgrounds — the default
   --glass-border (gold @ 22%) disappears. Force a visible dim-gold
   stroke so fields read as distinct surfaces. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea {
  border-color: var(--gold-dim) !important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"])::placeholder,
textarea::placeholder {
  color: var(--text-muted);
  opacity: 0.75;
}

/* Primary CTA — works on <button> AND <a>. Gold gradient, black text,
   always legible. Fixes: "new deck", "create & go to lobby", "back to
   matches" in WinnerOverlay, login primary, lobby start, etc. */
.btn-primary {
  background: linear-gradient(180deg, #F2C66D 0%, #c89a3a 100%) !important;
  color: #111 !important;
  border: 2px solid #8a6418 !important;
  padding: 0.5rem 1rem !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-size: 0.82rem !important;
  cursor: pointer !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: filter 160ms ease, box-shadow 160ms ease !important;
}
.btn-primary:hover:not(:disabled) {
  filter: brightness(1.1) !important;
  box-shadow: 0 0 14px var(--gold-glow) !important;
  color: #111 !important;
  text-shadow: none !important;
}

/* Hero H1 on home page used webkit-text-fill-color:transparent for a
   gradient-text effect that rendered invisible. Force a solid gold fill
   so the title is readable. */
.hero h1,
.home-hero h1 {
  -webkit-text-fill-color: var(--gold-bright) !important;
  color: var(--gold-bright) !important;
  background: none !important;
}

/* Panels / cards that use .glass or custom gradients on top of the page
   background sometimes disappear when the page itself is --void-deep.
   Raise the border alpha so panels have a visible edge. */
.glass,
.seat-slot,
.join-seat-card,
.seat-panel,
.deck-card,
.match-row,
.lobby-card,
.create-card,
.seats-card,
.invite-card,
.start-card,
.login-card,
.deck-editor,
.cb-filters,
.play-chat,
.deck-preview {
  border-color: rgba(212, 162, 76, 0.35) !important;
}

