/* ==========================================================================
   LearnAI Workshop — reveal.js theme, matched to the Cohort/LearnAI site.
   Warm paper, Inter, blue eyebrows, rounded cards, dark code blocks.
   Loaded AFTER reveal.css to override the base theme.
   ========================================================================== */

:root{
  --paper:#fbf9f5;
  --paper-2:#fffdf9;
  --ink:#1c2230;
  --ink-soft:#454d5e;
  --muted:#6b7280;
  --line:#e7e2d8;
  --blue:#2f72c0;
  --blue-ink:#1f5aa0;
  --blue-soft:#e6f0fa;
  --blue-border:#afd4ea;
  --mint-bg:#e1f5ec;
  --mint-border:#37b78a;
  --mint-text:#1e6b4e;
  --amber-border:#e0c36a;
  --amber-bg:#fdf6e3;
  --warn-bg:#fdeeee;
  --warn-border:#e6b3b3;
  --warn-text:#a23b3b;
  --code-bg:#0b121a;
  --code-line:#212a33;
  --code-text:#d8e7f0;
  --code-dim:#8695a3;
  --tok-kw:#dc9beb;
  --tok-fn:#dcba5c;
  --tok-num:#62d0a4;
  --tok-str:#9ad4a0;
  --tok-com:#6c7a89;
  --black:#14181f;
}

.reveal-viewport{
  background:
    radial-gradient(1400px 700px at 12% -10%, #eef3fb 0, transparent 60%),
    radial-gradient(1200px 600px at 92% 0%, #fdeede 0, transparent 55%),
    var(--paper);
}

.reveal{
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:29px;
  color:var(--ink);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
.reveal .slides{text-align:left}
.reveal .slides section{padding:0 10px}

/* headings */
.reveal h1,.reveal h2,.reveal h3,.reveal h4{
  color:var(--ink);font-weight:800;letter-spacing:-.02em;line-height:1.08;
  text-transform:none;margin:0 0 .4em;
}
.reveal h1{font-size:2.05em}
.reveal h2{font-size:1.5em}
.reveal h3{font-size:1.15em;letter-spacing:-.01em}
.reveal p{color:var(--ink-soft);line-height:1.5;margin:.5em 0}
.reveal strong{color:var(--ink);font-weight:700}
.reveal em{font-style:italic}
.reveal a{color:var(--blue-ink)}

/* eyebrow / kicker */
.reveal .eyebrow{
  display:inline-block;font-size:.5em;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue);margin:0 0 .5em;
}
.reveal .muted{color:var(--muted)}
.reveal .big{font-size:1.15em}

/* lists */
.reveal ul,.reveal ol{margin:.4em 0 .4em 1.1em;color:var(--ink-soft);line-height:1.5}
.reveal li{margin:.32em 0}
.reveal li::marker{color:var(--blue)}
.reveal ul.clean{list-style:none;margin-left:0}
.reveal ul.clean li{padding-left:1.6em;position:relative}
.reveal ul.clean li::before{content:"→";position:absolute;left:0;color:var(--blue);font-weight:800}

/* ---------- title / section slides ---------- */
.reveal .title-slide .eyebrow{font-size:.55em}
.reveal .title-slide h1{font-size:2.4em;margin-bottom:.25em}
.reveal .title-slide .sub{font-size:.9em;color:var(--ink-soft);max-width:20em}
.reveal .badge{
  display:inline-block;background:var(--black);color:#fff;font-weight:800;font-size:.55em;
  padding:.5em 1.1em;border-radius:999px;letter-spacing:.02em;
}

.reveal .divider{position:relative}
.reveal .divider .stationnum{
  font-size:6em;font-weight:900;color:var(--blue-soft);line-height:.8;letter-spacing:-.04em;margin-bottom:.05em;
}
.reveal .divider .eyebrow{font-size:.6em}
.reveal .divider h2{font-size:1.9em}

/* ---------- cards / callouts ---------- */
.reveal .card{
  background:var(--paper-2);border:1px solid var(--line);border-radius:16px;
  padding:.7em .85em;box-shadow:0 8px 30px rgba(20,24,31,.06);margin:.4em 0;
}
.reveal .callout{border-radius:14px;padding:.55em .8em;margin:.45em 0;border:1px solid var(--line);background:var(--paper-2)}
.reveal .callout .tag{font-weight:800;font-size:.72em;display:block;margin-bottom:.15em}
.reveal .callout p{margin:.1em 0;font-size:.82em}
.reveal .callout.analogy{background:var(--amber-bg);border-color:var(--amber-border)}
.reveal .callout.analogy .tag{color:#8a6d1f}
.reveal .callout.key{background:var(--mint-bg);border-color:var(--mint-border)}
.reveal .callout.key .tag{color:var(--mint-text)}
.reveal .callout.warn{background:var(--warn-bg);border-color:var(--warn-border)}
.reveal .callout.warn .tag{color:var(--warn-text)}

.reveal .objective{background:var(--blue-soft);border:1px solid var(--blue-border);border-radius:16px;padding:.7em .9em}
.reveal .objective .label{font-size:.6em;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-ink);display:block;margin-bottom:.3em}

/* two-column */
.reveal .cols{display:grid;grid-template-columns:1fr 1fr;gap:.6em;align-items:start}
.reveal .cols.tight{gap:.5em}
.reveal .tile{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:.55em .7em;box-shadow:0 6px 20px rgba(20,24,31,.05)}
.reveal .tile h4{margin:.1em 0 .2em;font-size:.8em}
.reveal .tile p{margin:0;font-size:.68em;line-height:1.4}
.reveal .pill{display:inline-block;font-size:.55em;font-weight:800;padding:.25em .7em;border-radius:999px;margin-bottom:.3em}
.reveal .pill.good{background:var(--mint-bg);color:var(--mint-text);border:1px solid var(--mint-border)}
.reveal .pill.bad{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border)}
.reveal .pill.info{background:var(--blue-soft);color:var(--blue-ink);border:1px solid var(--blue-border)}

/* ---------- code ---------- */
.reveal pre{
  width:100%;box-shadow:none;margin:.4em 0;font-size:.55em;
}
.reveal pre code{
  background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-line);
  border-radius:14px;padding:.9em 1.1em;display:block;overflow:auto;max-height:none;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.6;
  -webkit-font-smoothing:auto;
}
.reveal code .kw{color:var(--tok-kw)}
.reveal code .fn{color:var(--tok-fn)}
.reveal code .num{color:var(--tok-num)}
.reveal code .str{color:var(--tok-str)}
.reveal code .com{color:var(--tok-com)}
.reveal .inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em;background:#eef0f1;border:1px solid var(--line);border-radius:6px;padding:.05em .35em;color:var(--ink)}
.reveal .output{background:var(--code-line);color:#a6e0c6;border-radius:10px;padding:.5em .7em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.6em;margin-top:-.2em}
.reveal .output .lbl{display:block;color:var(--code-dim);font-size:.75em;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25em}

/* ---------- practical / do-this slide ---------- */
.reveal .practical{
  background:linear-gradient(180deg,#fffdf9,#fbf6ec);border:2px solid var(--amber-border);
  border-radius:18px;padding:.8em 1em;
}
.reveal .practical .label{font-size:.6em;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8a6d1f;display:block;margin-bottom:.2em}
.reveal .practical .lab{display:inline-block;font-size:.6em;font-weight:800;color:#fff;background:#8a6d1f;border-radius:8px;padding:.2em .6em;margin-top:.3em}

/* checkpoint */
.reveal .checkpoint{background:var(--paper-2);border:1px dashed var(--blue-border);border-radius:16px;padding:.7em .9em}
.reveal .checkpoint .label{font-size:.6em;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:.25em}

/* progress footer */
.reveal .slidefoot{position:fixed;bottom:14px;left:22px;font-size:14px;color:var(--muted);font-weight:600;z-index:30}
.reveal .slidefoot b{color:var(--blue-ink)}

/* controls / progress bar recolor */
.reveal .controls{color:var(--blue)}
.reveal .progress{color:var(--blue);height:5px}
.reveal .progress span{background:var(--blue)}

/* links row on title */
.reveal .kv{font-size:.62em;color:var(--muted);margin-top:.5em}
.reveal .kv b{color:var(--ink)}

/* speaker-notes readability (speaker window uses its own doc, but keep hints tidy) */
.reveal aside.notes{display:none}
