/* AirShields Deck — operator-grade, restrained */
:root, [data-theme="dark"] {
  --bg: oklch(0.16 0.008 170);
  --bg-raised: oklch(0.20 0.010 170);
  --bg-sunken: oklch(0.13 0.008 170);
  --bg-deep: oklch(0.10 0.008 170);
  --line: oklch(0.32 0.012 170);
  --line-faint: oklch(0.24 0.010 170);
  --fg: oklch(0.96 0.005 170);
  --fg-muted: oklch(0.72 0.008 170);
  --fg-faint: oklch(0.52 0.010 170);
  --brand-green: oklch(0.62 0.16 150);
  --brand-green-deep: oklch(0.40 0.12 150);
  --brand-green-soft: oklch(0.72 0.10 150);
  --brand-orange: oklch(0.72 0.18 55);
  --brand-orange-deep: oklch(0.55 0.17 45);
}

[data-theme="light"] {
  --bg: oklch(0.985 0.003 170);
  --bg-raised: oklch(0.965 0.004 170);
  --bg-sunken: oklch(0.945 0.005 170);
  --bg-deep: oklch(0.92 0.006 170);
  --line: oklch(0.78 0.008 170);
  --line-faint: oklch(0.88 0.006 170);
  --fg: oklch(0.18 0.012 170);
  --fg-muted: oklch(0.40 0.012 170);
  --fg-faint: oklch(0.58 0.010 170);
  --brand-green: oklch(0.45 0.16 150);
  --brand-green-deep: oklch(0.32 0.14 150);
  --brand-green-soft: oklch(0.62 0.12 150);
  --brand-orange: oklch(0.58 0.19 45);
  --brand-orange-deep: oklch(0.45 0.18 40);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg-deep); color: var(--fg); }
body {
  font-family: 'Inter Tight', -apple-system, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

deck-stage section {
  background: var(--bg);
  color: var(--fg);
  font-family: 'Inter Tight', sans-serif;
  overflow: hidden;
}

img { display: block; max-width: 100%; }

.mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-feature-settings: "zero","ss01"; letter-spacing: 0.02em; }

/* ===== Slide-frame chrome — applied to most slides ===== */
.slide {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 100px 100px 80px;
}
.slide-grid-bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(to right, var(--line-faint) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line-faint) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 75%);
  opacity: 0.30;
  pointer-events: none;
}

/* corner regs — global (works on .slide AND .cover) */
.reg { position: absolute; width: 14px; height: 14px; opacity: 0.45; pointer-events: none; color: var(--fg-faint); }
.reg svg { width: 100%; height: 100%; display: block; }
.reg.tl { top: 32px; left: 32px; }
.reg.tr { top: 32px; right: 32px; }
.reg.bl { bottom: 32px; left: 32px; }
.reg.br { bottom: 32px; right: 32px; }

/* corner regs */
.slide .reg { position: absolute; width: 14px; height: 14px; opacity: 0.45; pointer-events: none; color: var(--fg-faint); }
.slide .reg svg { width: 100%; height: 100%; }
.slide .reg.tl { top: 32px; left: 32px; }
.slide .reg.tr { top: 32px; right: 32px; }
.slide .reg.bl { bottom: 32px; left: 32px; }
.slide .reg.br { bottom: 32px; right: 32px; }

/* slide chrome — top + bottom bars */
.slide-bar-top, .slide-bar-bot {
  position: absolute;
  left: 60px; right: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fg-faint);
  pointer-events: none;
}
.slide-bar-top { top: 44px; }
.slide-bar-bot { bottom: 44px; }
.slide-bar-top::before, .slide-bar-top::after,
.slide-bar-bot::before, .slide-bar-bot::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--line-faint);
}
.slide-bar-top::before { margin-right: 24px; }
.slide-bar-top::after  { margin-left: 24px; }
.slide-bar-bot::before { margin-right: 24px; }
.slide-bar-bot::after  { margin-left: 24px; }

.slide-bar-top .grp, .slide-bar-bot .grp { display: flex; gap: 32px; }
.slide-bar-bot .pg { color: var(--fg); }
.slide-bar-top .live-dot {
  width: 8px; height: 8px; background: var(--brand-green);
  display: inline-block; margin-right: 8px; vertical-align: middle;
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }

/* ===== Typography (slide-scale) ===== */
.kicker {
  font-family: 'JetBrains Mono', monospace;
  font-size: 22px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-green);
  font-weight: 400;
}
.kicker.orange { color: var(--brand-orange); }
.kicker.muted { color: var(--fg-faint); }

.s-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 22px;
  letter-spacing: 0.10em;
  color: var(--fg-faint);
}

.title {
  font-family: 'Inter Tight', sans-serif;
  font-weight: 300;
  font-size: 84px;
  line-height: 1.02;
  letter-spacing: -0.025em;
  margin: 0;
  text-wrap: balance;
}
.title.lg { font-size: 108px; }
.subtitle {
  font-family: 'Inter Tight', sans-serif;
  font-weight: 300;
  font-size: 44px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--fg-muted);
  text-wrap: balance;
}
.body {
  font-size: 28px;
  line-height: 1.5;
  color: var(--fg-muted);
  text-wrap: pretty;
}
.body.lg { font-size: 34px; }
.small {
  font-family: 'JetBrains Mono', monospace;
  font-size: 18px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--fg-faint);
}

/* ===== Section header treatment (same on all "01 · TITLE" slides) ===== */
.s-head {
  display: grid;
  grid-template-columns: 140px 1fr;
  column-gap: 40px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line-faint);
  align-items: end;
}
.s-head .num { font-size: 52px; font-weight: 300; color: var(--fg-faint); line-height: 1; font-family: 'JetBrains Mono', monospace; letter-spacing: 0.02em; }
.s-head .meta { display: flex; flex-direction: column; gap: 14px; }

/* ===== Util ===== */
.row { display: flex; }
.col { display: flex; flex-direction: column; }
.gap-12 { gap: 12px; }
.gap-20 { gap: 20px; }
.gap-28 { gap: 28px; }
.gap-40 { gap: 40px; }

.chip {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--fg-muted);
  padding: 6px 12px;
  border: 1px solid var(--line-faint);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.chip.green { color: var(--brand-green); border-color: color-mix(in oklab, var(--brand-green) 40%, var(--line-faint)); }
.chip.orange { color: var(--brand-orange); border-color: color-mix(in oklab, var(--brand-orange) 40%, var(--line-faint)); }

/* generic card grid */
.card-grid {
  display: grid;
  gap: 1px;
  background: var(--line-faint);
  border: 1px solid var(--line-faint);
}
.card-grid.c2 { grid-template-columns: repeat(2, 1fr); }
.card-grid.c3 { grid-template-columns: repeat(3, 1fr); }
.card-grid.c4 { grid-template-columns: repeat(4, 1fr); }
.card-grid.c6 { grid-template-columns: repeat(6, 1fr); }
.card-grid > .cell {
  background: var(--bg);
  padding: 36px 32px;
  position: relative;
  display: flex;
  flex-direction: column;
}

/* ===== Cover slide — variant styles handled inline ===== */
.cover {
  position: absolute; inset: 0;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  padding: 120px 100px;
  background: var(--bg);
}
.cover .grid-bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(to right, var(--line-faint) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line-faint) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at 70% 50%, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 70%);
  opacity: 0.35;
  pointer-events: none;
}

/* Selection */
::selection { background: var(--brand-green-deep); color: var(--fg); }

/* Light theme: invert the white wordmark / symbol so it reads on light bg */
[data-theme="light"] img[src*="white"],
[data-theme="light"] img[src*="logo-symbol"] {
  filter: invert(1) hue-rotate(180deg) brightness(0.55) saturate(0);
}

/* GAMI logo theme switch — dark theme uses monochrome version, light uses full-colour */
.gami-light-only { display: none; }
.gami-dark-only { display: inline-block; }
[data-theme="light"] .gami-light-only { display: inline-block; }
[data-theme="light"] .gami-dark-only { display: none; }

/* Qudra logo theme switch — dark theme uses white wordmark, light uses blue */
.qudra-light-only { display: none; }
.qudra-dark-only { display: inline-block; }
[data-theme="light"] .qudra-light-only { display: inline-block; }
[data-theme="light"] .qudra-dark-only { display: none; }

/* Hide floating toolbar (theme toggle / download) when printing */
@media print {
  [data-toolbar] { display: none !important; }
}
