/* KT.Team brand theme for presentation decks.
 *
 * Overrides the kit's --deck-* CSS variables (space-separated RGB channels)
 * with KT.Team brand tokens. Derived from kt.team/brandbook/brandbook.md:
 *   Blue (primary) #008CFF, Blue light #9AD1FF, Blue hover #0070D6,
 *   Dark hero #0D0D12, Black #000000, White #FFFFFF,
 *   Gray bg #F6F6F6, Gray mid #EDEDED, Gray border #C7C7C7, Gray text #6F6F6F.
 *   Font: Golos Text everywhere.
 *
 * Mapping of the kit's semantic slots to KT.Team:
 *   forest = dark "brand" surface (cover/gate background)   -> #0D0D12 hero dark
 *   earth  = accent (numbers, primary buttons, highlights)  -> #008CFF brand blue
 *   cream  = light surface + text-on-dark                   -> #F6F6F6 / white
 *   sand   = light card borders / dividers                  -> #EDEDED / #C7C7C7
 *   sage   = muted secondary text                           -> #6F6F6F gray text
 *   soil   = darkest text on light                          -> #000000 black
 */

@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;700;900&display=swap');

:root {
  /* Dark brand surface (cover, portrait gate). */
  --deck-forest: 13 13 18;        /* #0D0D12 */
  --deck-forest-light: 30 30 40;  /* lifted dark for layered panels */
  --deck-forest-dark: 0 0 0;      /* #000000 */

  /* Accent — KT.Team blue. */
  --deck-earth: 0 140 255;        /* #008CFF */
  --deck-earth-light: 154 209 255;/* #9AD1FF */
  --deck-earth-dark: 0 112 214;   /* #0070D6 hover */

  /* Light surfaces and text-on-dark. */
  --deck-cream: 246 246 246;      /* #F6F6F6 */
  --deck-cream-dark: 237 237 237; /* #EDEDED */

  /* Card borders / dividers on light. */
  --deck-sand: 237 237 237;       /* #EDEDED */
  --deck-sand-dark: 199 199 199;  /* #C7C7C7 */

  /* Muted secondary text. */
  --deck-sage: 111 111 111;       /* #6F6F6F */
  --deck-sage-light: 199 199 199; /* #C7C7C7 */
  --deck-sage-dark: 111 111 111;  /* #6F6F6F */

  /* Darkest text on light. */
  --deck-soil: 0 0 0;             /* #000000 */

  /* Typography — Golos Text for UI + display, system mono for counters. */
  --deck-font-ui: "Golos Text";
  --deck-font-display: "Golos Text";
  --deck-font-mono: 'ui-monospace, "SFMono-Regular", "Menlo", monospace';
}

.presentation-deck[data-presentation-protected="true"] {
  visibility: hidden;
}

.presentation-auth-ok .presentation-deck[data-presentation-protected="true"] {
  visibility: visible;
}

.presentation-auth-required {
  background: rgb(var(--deck-forest));
}

.presentation-auth-required .deck-nav {
  display: none;
}

.presentation-auth-gate {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 22% 18%, rgba(var(--deck-earth), 0.26), transparent 32%),
    radial-gradient(circle at 78% 76%, rgba(var(--deck-earth-light), 0.18), transparent 30%),
    rgb(var(--deck-forest));
  color: rgb(var(--deck-cream));
  font-family: var(--deck-font-ui), system-ui, sans-serif;
}

.presentation-auth-card {
  width: min(100%, 460px);
  display: grid;
  gap: 18px;
  padding: 32px;
  border: 1px solid rgba(var(--deck-cream), 0.18);
  border-radius: 18px;
  background: rgba(var(--deck-forest-light), 0.84);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(18px);
}

.presentation-auth-kicker {
  color: rgb(var(--deck-earth-light));
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.presentation-auth-card h1 {
  margin: 0;
  color: rgb(var(--deck-cream));
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.04;
  letter-spacing: 0;
}

.presentation-auth-card label {
  display: grid;
  gap: 8px;
  color: rgba(var(--deck-cream), 0.74);
  font-size: 14px;
  font-weight: 700;
}

.presentation-auth-card input {
  min-height: 48px;
  border: 1px solid rgba(var(--deck-cream), 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.09);
  color: rgb(var(--deck-cream));
  font: inherit;
  font-size: 16px;
  outline: none;
  padding: 0 14px;
}

.presentation-auth-card input:focus {
  border-color: rgb(var(--deck-earth-light));
  box-shadow: 0 0 0 3px rgba(var(--deck-earth), 0.22);
}

.presentation-auth-card button {
  min-height: 50px;
  border: 0;
  border-radius: 10px;
  background: rgb(var(--deck-earth));
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.presentation-auth-card button:hover {
  background: rgb(var(--deck-earth-dark));
}

.presentation-auth-error {
  min-height: 20px;
  margin: 0;
  color: #ffb4b4;
  font-size: 14px;
}
