/* Time as Oracle — reveal.js deck theme.
   Technomagickal, harmonized to the TarotPulse workbook system.
   Slides authored at 1280×720 (matches Reveal width/height config). */
@import url('fonts/fonts.css');  /* vendored locally — deck runs fully offline */

:root{
  --obsidian:#13162b; --lav:#b9a3e3; --lav-soft:#cdbcec; --lav-deep:#8b6fc9;
  --gold:#caa45a; --ink:#e8e9f5; --mut:#9aa0c0;
  --wands:#d1542e; --cups:#4a78c9; --swords:#caa45a; --pents:#5aa86a;
}
html,body{margin:0;background:#0a0b16;}
.reveal{font-family:'Space Grotesk',sans-serif;background:#0a0b16;}
.reveal .slides{text-align:left;}
.slide, .slide *{box-sizing:border-box;}
.pixel{font-family:'Silkscreen',monospace;}
.mono{font-family:'Space Mono',monospace;}

/* base slide canvas */
.slide{
  position:relative; width:1280px; height:720px; overflow:hidden;
  background:radial-gradient(120% 100% at 50% 0%, #232a52 0%, var(--obsidian) 55%, #0c0e1d 100%);
  color:var(--ink); display:flex; align-items:center; justify-content:center;
}
.slide.black{background:#0a0b16;}
.grid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(185,163,227,.05) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(185,163,227,.05) 1px,transparent 1px);
  background-size:60px 60px;}
.eyebrow{font-family:'Space Mono',monospace;font-size:17px;letter-spacing:4px;
  color:var(--lav);text-transform:uppercase;max-width:1060px;}
.foot{position:absolute;bottom:34px;right:54px;font-family:'Space Mono',monospace;
  font-size:13px;color:var(--mut);letter-spacing:1px;z-index:5;}

/* TITLE */
.title-slide{justify-content:space-between;padding:0 96px;}
.title-left{z-index:3;max-width:680px;}
.title-eyebrow{font-family:'Space Mono',monospace;font-size:18px;letter-spacing:4px;
  color:var(--lav);text-transform:uppercase;margin-bottom:28px;}
.title-main{font-family:'Silkscreen',monospace;font-weight:700;font-size:74px;line-height:1.05;color:#fff;}
.title-sub{font-style:italic;font-size:26px;color:#d7d9ee;margin-top:30px;line-height:1.4;max-width:600px;}
.title-meta{margin-top:64px;font-family:'Space Mono',monospace;font-size:18px;color:var(--ink);letter-spacing:1px;}
.title-meta .b{color:var(--lav);}
.title-card{height:560px;z-index:3;border-radius:12px;
  box-shadow:0 0 70px rgba(185,163,227,.45),0 18px 50px rgba(0,0,0,.6);}
.title-logo{position:absolute;top:48px;right:54px;width:100px;border-radius:12px;z-index:5;}

/* CARD OPENER */
.card-slide .numeral{position:absolute;font-family:'Silkscreen',monospace;font-weight:700;
  font-size:420px;color:rgba(185,163,227,.07);z-index:1;line-height:1;letter-spacing:8px;}
.card-slide .card{height:500px;z-index:3;border-radius:10px;
  box-shadow:0 0 80px rgba(185,163,227,.5),0 18px 50px rgba(0,0,0,.6);}
.card-name{position:absolute;bottom:64px;left:0;right:0;text-align:center;z-index:4;
  font-family:'Silkscreen',monospace;font-size:30px;color:var(--lav);letter-spacing:4px;}
.card-num-small{position:absolute;top:64px;left:0;right:0;text-align:center;z-index:4;
  font-family:'Space Mono',monospace;font-size:18px;color:var(--gold);letter-spacing:8px;}

/* QUOTE */
.quote-slide{flex-direction:column;text-align:center;padding:0 190px;}
.quote-mark{font-family:'Silkscreen',monospace;font-size:80px;color:var(--lav-deep);opacity:.5;margin-bottom:14px;}
.quote-text{font-weight:500;font-size:42px;line-height:1.4;color:#fff;max-width:920px;}
.quote-text.sm{font-size:34px;}
.quote-text .hl{color:var(--gold);}
.quote-attr{margin-top:52px;font-family:'Space Mono',monospace;font-size:21px;color:var(--lav);letter-spacing:1px;}

/* CONTENT */
.content-slide{flex-direction:column;align-items:flex-start;padding:96px 110px;justify-content:center;}
.content-eyebrow{margin-bottom:26px;}
.content-h{font-family:'Silkscreen',monospace;font-size:40px;color:#fff;line-height:1.18;z-index:3;max-width:1080px;}
.content-h .lav{color:var(--lav);}
.content-big{font-size:60px;font-family:'Silkscreen',monospace;color:#fff;line-height:1.1;z-index:3;max-width:1080px;}
.content-body{font-size:26px;line-height:1.55;color:#d7d9ee;margin-top:30px;max-width:1000px;z-index:3;}
.content-body .hl{color:var(--lav);font-weight:500;}
.split{display:flex;gap:60px;align-items:center;width:100%;z-index:3;}
.split .col{flex:1;min-width:0;font-size:30px;line-height:1.4;color:#fff;}
.split .col .lab{font-family:'Space Mono',monospace;font-size:16px;color:var(--lav);letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:14px;}
.split .vs{font-family:'Silkscreen',monospace;color:var(--lav-deep);font-size:30px;}

/* PULL (suit) */
.pull-slide{flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.pull-glyph{font-size:200px;line-height:1;z-index:3;text-shadow:0 0 60px currentColor;}
.pull-suit{font-family:'Silkscreen',monospace;font-size:46px;margin-top:10px;z-index:3;letter-spacing:2px;}
.pull-meta{font-family:'Space Mono',monospace;font-size:18px;color:var(--mut);letter-spacing:3px;margin-top:14px;text-transform:uppercase;z-index:3;}
.pull-line{font-size:30px;color:#fff;margin-top:34px;max-width:880px;z-index:3;line-height:1.4;}
.pull-num{position:absolute;top:54px;left:0;right:0;text-align:center;font-family:'Space Mono',monospace;
  font-size:16px;color:var(--mut);letter-spacing:6px;z-index:3;}

/* FOUR FUNCTIONS mandala */
.fn-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;z-index:3;width:880px;}
.fn-cell{border:1.5px solid rgba(185,163,227,.3);border-radius:14px;padding:26px 30px;
  background:rgba(255,255,255,.02);}
.fn-cell .g{font-size:60px;line-height:1;}
.fn-cell .s{font-family:'Silkscreen',monospace;font-size:22px;margin-top:10px;}
.fn-cell .d{font-family:'Space Mono',monospace;font-size:15px;color:var(--mut);margin-top:8px;letter-spacing:1px;}
.fn-caption{position:absolute;bottom:52px;left:0;right:0;text-align:center;font-size:22px;color:#d7d9ee;z-index:3;}

/* TIMELINE / river */
.timeline{display:flex;align-items:center;justify-content:center;gap:0;z-index:3;width:1080px;flex-wrap:nowrap;}
.tl-stone{text-align:center;}
.tl-stone .yr{font-family:'Silkscreen',monospace;font-size:26px;color:var(--lav);}
.tl-stone .nm{font-family:'Space Mono',monospace;font-size:15px;color:#d7d9ee;margin-top:8px;letter-spacing:1px;}
.tl-stone.you .yr{color:var(--gold);}
.tl-arrow{color:var(--lav-deep);font-size:30px;margin:0 18px;opacity:.7;}

/* EXERCISE */
.exercise-slide{flex-direction:column;align-items:center;justify-content:center;padding:60px;}
.ex-badge{font-family:'Silkscreen',monospace;font-size:24px;color:#0a0b16;background:var(--lav);
  padding:8px 22px;border-radius:6px;letter-spacing:2px;z-index:3;}
.ex-q{font-size:30px;color:#fff;margin-top:26px;text-align:center;max-width:900px;line-height:1.45;z-index:3;}
.ex-data{margin-top:30px;background:rgba(255,255,255,.03);border:1px solid rgba(185,163,227,.25);
  border-radius:12px;padding:24px 30px;z-index:3;font-family:'Space Mono',monospace;font-size:18px;color:#d7d9ee;line-height:1.9;}
.ex-data .hot{color:var(--gold);}

/* DATA reveal */
.data-slide{flex-direction:column;align-items:center;justify-content:center;}
.data-h{font-family:'Silkscreen',monospace;font-size:30px;color:#fff;margin-bottom:24px;z-index:3;}
.legend{display:flex;gap:30px;margin-top:22px;z-index:3;font-family:'Space Mono',monospace;font-size:16px;}
.legend span{display:flex;align-items:center;gap:8px;color:#d7d9ee;}
.legend i{width:16px;height:4px;display:inline-block;border-radius:2px;}

/* HERO (generated bg) */
.hero-slide{flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,22,.35),rgba(10,11,22,.78));z-index:1;}
.hero-text{position:relative;z-index:3;font-size:40px;color:#fff;max-width:900px;line-height:1.4;font-weight:500;
  text-shadow:0 4px 30px rgba(0,0,0,.8);}
.hero-text .hl{color:var(--lav);}
/* placeholder hero treatment until generated art is dropped in */
.hero-goo{background:radial-gradient(80% 70% at 50% 55%, #caa45a 0%, #6a7a3a 28%, #2a3a44 60%, #0a0b16 100%);}
.hero-shimmer{background:radial-gradient(40% 40% at 72% 22%, #e8e6ff 0%, #b9a3e3 14%, #2a2a52 40%, #0a0b16 80%);}

/* CTA */
.cta-slide{flex-direction:column;text-align:center;}
.cta-logo{width:140px;border-radius:14px;margin-bottom:22px;z-index:3;}
.cta-h{font-family:'Silkscreen',monospace;font-size:34px;color:#fff;z-index:3;}
.cta-h .b{color:var(--lav);}
.cta-line{font-size:22px;color:#d7d9ee;margin-top:20px;z-index:3;max-width:820px;}
.cta-qr{background:#fff;border-radius:14px;padding:16px;margin-top:26px;z-index:3;}
.cta-qr img{width:150px;height:150px;display:block;}
.cta-url{margin-top:18px;font-family:'Space Mono',monospace;font-size:22px;color:var(--lav);letter-spacing:1px;z-index:3;}
.cta-scan{margin-top:10px;font-family:'Space Mono',monospace;font-size:15px;color:var(--mut);letter-spacing:1px;z-index:3;}

/* CLOSE */
.close-slide{flex-direction:column;text-align:center;padding:0 140px;}
.close-line{font-size:34px;color:#fff;line-height:1.4;z-index:3;max-width:1000px;}
.close-line .hl{color:var(--lav);}
.close-sign{font-family:'Space Mono',monospace;font-size:22px;color:var(--gold);margin-top:40px;z-index:3;}
.close-res{font-family:'Space Mono',monospace;font-size:15px;color:var(--mut);margin-top:24px;z-index:3;}
.close-logo{width:90px;border-radius:10px;margin-top:30px;z-index:3;}
