/* ============================================================
   .campus · estilo mínimo (se carga después de campus.css y lo ajusta)
   La interfaz se retira: una sola tipografía, negro y grises, sin bordes
   ni rayas decorativas, para que el color y la atención queden en los
   dibujos y simuladores. El verde se reserva para el botón principal y
   el avance; el resto de los colores, para los dibujos.
   ============================================================ */

:root {
  --ink: #111;
  --muted: #6e6e6a;
  --line: #ececea;
  --line-strong: #d9d9d5;
  --surface-2: #f5f5f3;
  --soft: #f5f5f3;
  --radius: 16px;
  --radius-sm: 12px;
  --display: 'DM Sans', system-ui, sans-serif;
}

/* ---------- Tipografía: una sola familia ---------- */
h1, h2 { font-family: var(--font); font-weight: 650; text-transform: none; letter-spacing: -.025em; line-height: 1.08 }
h2 { font-size: clamp(1.75rem, 4vw, 2.3rem) }
h3 { font-family: var(--font); font-weight: 600; letter-spacing: -.01em }
.k { font-weight: 500; font-size: .82rem; color: var(--muted) }
.m { color: var(--muted) }

/* ---------- Encabezado y navegación ---------- */
#hd { border-bottom-color: transparent; background: rgba(255, 255, 255, .96) }
.main-nav a { border-bottom: 0; border-radius: 999px; color: var(--muted) }
.main-nav a[aria-current=page] { background: var(--surface-2); color: var(--ink); border-radius: 999px }
#nb { border-top-color: var(--line) }
#nb a { color: var(--muted) }
#nb a[aria-current=page] { color: var(--ink); box-shadow: inset 0 2px 0 var(--ink) }
.crumbs a { color: var(--muted); font-weight: 500 }

/* ---------- Botones ---------- */
.b { border: 0; border-radius: 12px; background: var(--surface-2); color: var(--ink); font-weight: 600 }
.b:hover:not(:disabled) { background: #ebebe8 }
.b.p { background: var(--primary); color: #fff }
.b.p:hover:not(:disabled) { background: #1b2b1e }
.link-btn { color: var(--ink); font-weight: 500; text-decoration-color: var(--line-strong) }

/* Selectores: píldoras grises, la elegida en negro */
.chip, .seg button, .post-visual-choice, .proc-tabs button, .workspace-tabs button, .related-note {
  border: 0; border-radius: 999px; background: var(--surface-2); color: var(--ink); box-shadow: none; font-weight: 500 }
.chip[aria-pressed=true], .seg button[aria-pressed=true], .post-visual-choice.active, .proc-tabs button[aria-pressed=true], .workspace-tabs button[aria-pressed=true] {
  background: var(--ink); color: #fff }
.workspace-tabs button { border-radius: 14px }
.proc-tabs { border: 0; background: var(--surface-2) }

/* Opciones de desafío */
.opt { border: 0; border-radius: 12px; background: var(--surface-2) }
.opt.ok { background: #e6efe3; color: #213a28 }
.opt.no { background: #f6e7e1; color: #6b3a28 }

/* Flechas de los visores */
.viewer-arrow { background: #fff; border: 0 }
.viewer-arrow:not(:disabled):hover { background: #ebebe8 }

/* ---------- Bloques: sin bordes, separados por espacio ---------- */
.panel, .post-card, .post-visual-detail, .lab-result, .grind-reading, .cup-timer,
.station-recap, .path-now, .path-end, .dc-sum, .lab-current, .variable-group, .record-card {
  border: 0; border-radius: var(--radius); background: var(--surface-2); box-shadow: none }
.panel.quiz { background: transparent; padding-left: 0; padding-right: 0 }
.station-recap { border-left: 0 }
.lab-current { border-left: 0 }
.step-head { border-left: 0 }
.dato { border-left: 0; padding: 12px 14px; border-radius: 12px; background: #fff }
.term-def { border-left: 0; border-radius: 12px; background: var(--surface-2) }
.stage { border-radius: 20px }

/* Profundizá: una línea, sin caja */
.deeper { border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent }
.deeper > summary { padding-left: 0; padding-right: 0 }
.deeper > summary b { color: var(--ink) }
.deeper-body { border-top: 0; padding: 4px 0 14px }

/* Pie del paso */
.step-foot { border: 0; background: transparent; padding: 18px 0 0; border-top: 1px solid var(--line); border-radius: 0 }
.step-status.is-done b { color: var(--ink) }

/* Instrucción del paso: negro, sin verde */
.do-it { color: var(--ink) }

/* Línea de pasos: más liviana */
.step-n { border-width: 1px }
.step-pill.is-done .step-n { background: var(--ink); border-color: var(--ink) }
.step-pill.is-current .step-n { outline-color: var(--ink) }
.step-pill.is-current:not(.is-done) .step-n { border-color: var(--ink); color: var(--ink) }
.stepper li.is-linked::before { background: var(--ink) }
.step-pill.is-done { color: var(--muted) }

/* Palabras del glosario */
.term { text-decoration-color: var(--line-strong) }

/* Ventanas (desafío y ficha del mapa) */
#quiz-dlg, #map-dlg { border: 0 }
.map-steps span.is-cur { background: var(--ink) }

/* Portada: sobre el fondo gris de la presentación, el botón secundario va en blanco */
.home-hero .b:not(.p) { background: #fff }
