:root {
    --purple: #6c5ce7;
    --purple-light: #a29bfe;
    --mint: #00b894;
    --mint-light: #55efc4;
    --yellow: #fdcb6e;
    --blue: #0984e3;
    --coral: #e17055;
    --pink: #e84393;
    --ink: #252936;
    --paper: #f8f9ff;
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }
body { background: #171527; font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif; }
.reveal { color: var(--ink); font-size: 38px; }
.reveal .slides { text-align: left; }
.reveal .slides > section {
    width: 1280px;
    height: 720px;
    padding: 60px 76px 78px;
    overflow: hidden;
    background:
        radial-gradient(circle at 95% 8%, rgba(162,155,254,.24) 0 90px, transparent 92px),
        radial-gradient(circle at 4% 95%, rgba(85,239,196,.13) 0 105px, transparent 107px),
        var(--paper);
}
.reveal h1, .reveal h2, .reveal h3, .reveal p { margin: 0; text-transform: none; }
.reveal h1 { font-size: 88px; line-height: .98; letter-spacing: -3px; }
.reveal h2 { font-size: 64px; line-height: 1.02; letter-spacing: -2px; }
.reveal h3 { font-size: 36px; line-height: 1.1; }
.reveal p, .reveal li { font-size: 36px; line-height: 1.2; }
.reveal strong { color: inherit; }

.course-link { position: fixed; z-index: 40; top: 16px; left: 18px; padding: 10px 18px; border-radius: 999px; background: rgba(25,29,37,.88); color: #fff; text-decoration: none; font: 700 16px/1 Arial,sans-serif; backdrop-filter: blur(8px); }
.course-link i { margin-right: 7px; }
.slide-heading { display: flex; align-items: center; gap: 22px; margin-bottom: 32px; }
.slide-heading .icon { display: grid; place-items: center; flex: 0 0 82px; height: 82px; border-radius: 24px; background: linear-gradient(135deg,var(--mint),var(--mint-light)); color: #fff; font-size: 38px; transform: rotate(-3deg); box-shadow: 0 10px 0 rgba(0,184,148,.15); }
.eyebrow, .kicker { color: var(--purple); font-size: 21px; line-height: 1.2; font-weight: 900; letter-spacing: 3px; text-transform: uppercase; }
.purple-heading .icon { background: linear-gradient(135deg,var(--purple),var(--purple-light)); }.purple-heading .eyebrow { color: var(--purple); }
.coral-heading .icon { background: linear-gradient(135deg,var(--coral),#fab1a0); }.coral-heading .eyebrow { color: #d65336; }
.blue-heading .icon { background: linear-gradient(135deg,var(--blue),#74b9ff); }.blue-heading .eyebrow { color: var(--blue); }
.yellow-heading .icon { background: linear-gradient(135deg,var(--yellow),#f39c12); }.yellow-heading .eyebrow { color: #bb7200; }
.red-heading .icon { background: linear-gradient(135deg,#e74c3c,#c0392b); }.red-heading .eyebrow { color: #ff7d71; }
.pink-heading .icon { background: linear-gradient(135deg,var(--pink),#fd79a8); }.pink-heading .eyebrow { color: var(--pink); }

.hero { padding-top: 90px !important; text-align: center !important; color: #fff !important; background: linear-gradient(135deg,var(--purple),var(--purple-light)) !important; }
.hero .kicker { color: #fff; opacity: .9; font-size: 25px; }
.hero h1 { margin: 16px auto 22px; font-size: 100px; }
.hero .lead { max-width: 980px; margin: auto; font-size: 38px; }
.meta-row { display: flex; justify-content: center; gap: 48px; margin-top: 34px; font-size: 27px; font-weight: 700; }
.meta-row i { margin-right: 8px; }

.player-slide { background: linear-gradient(135deg,#0c0c0c,#1a1a2e) !important; color: #fff !important; }
.player-card { max-width: 1000px; margin: -10px auto 0; padding: 28px 38px; border: 4px solid var(--mint); border-radius: 28px; background: linear-gradient(135deg,#2d3436,#464f52); box-shadow: 0 0 35px rgba(0,184,148,.28); }
.player-title { display: flex; align-items: center; gap: 24px; margin-bottom: 22px; }
.player-title .eyebrow { color: var(--mint); }.player-title h2 { font: 900 54px/1 "Courier New",monospace; color: var(--mint); letter-spacing: 2px; }
.player-avatar { display: grid; place-items: center; width: 90px; height: 90px; border: 4px solid var(--mint); border-radius: 50%; background: linear-gradient(135deg,var(--purple),var(--purple-light)); font-size: 42px; }
.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 26px; }
.game-stat { display: flex; align-items: center; gap: 15px; min-height: 94px; padding: 12px; border-bottom: 1px solid rgba(255,255,255,.14); font-size: 26px; line-height: 1.15; }
.game-stat > i { color: var(--mint); width: 42px; text-align: center; }.game-stat b { display: block; margin-bottom: 5px; color: var(--mint); font: 900 17px/1 "Courier New",monospace; letter-spacing: 2px; text-transform: uppercase; }
.mission { margin-top: 20px; padding: 16px; border: 2px dashed var(--mint); border-radius: 15px; text-align: center; font-size: 30px; }.mission b { display: block; color: var(--yellow); font-size: 17px; letter-spacing: 3px; text-transform: uppercase; }

.goal-card { padding: 46px 54px; border-radius: 28px; background: linear-gradient(135deg,#2d3436,#636e72); color: #fff; box-shadow: 0 18px 40px rgba(45,52,54,.2); }
.goal-card span { display: block; margin-bottom: 18px; color: var(--mint-light); font-size: 21px; font-weight: 900; letter-spacing: 3px; text-transform: uppercase; }
.goal-card p { font-size: 48px; }
.card { padding: 28px 38px; border-radius: 25px; border-left: 10px solid var(--purple); background: #fff; box-shadow: 0 12px 35px rgba(37,41,54,.1); }
.instruction { margin-bottom: 14px !important; color: var(--purple); font-weight: 900; }
.check-list { margin: 0; padding: 0; list-style: none; }.check-list li { position: relative; padding: 10px 0 10px 48px; font-size: 31px; }.check-list li::before { content: "\f00c"; position: absolute; left: 0; top: 12px; color: var(--mint); font-family: "Font Awesome 5 Free"; font-weight: 900; }
.three-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 36px; }
.three-cards article { min-height: 310px; padding: 38px 27px; border-top: 12px solid var(--coral); border-radius: 24px; background: #fff; box-shadow: 0 12px 35px rgba(37,41,54,.1); text-align: center; }
.three-cards i { margin-bottom: 28px; color: var(--coral); font-size: 52px; }.three-cards p { font-size: 33px; }
.definition-slide { padding-top: 84px !important; text-align: center !important; }
.definition-box { margin: 18px 0 25px; padding: 35px 42px; border: 4px solid var(--purple); border-radius: 25px; background: #fff; font-size: 43px; line-height: 1.24; font-weight: 700; text-align: center; }
.discussion { display: flex; align-items: center; gap: 22px; padding: 24px 32px; border-radius: 20px; background: linear-gradient(135deg,var(--mint),var(--mint-light)); color: #fff; text-align: left; font-size: 31px; }.discussion > i { font-size: 48px; }.discussion b { display: block; font-size: 20px; letter-spacing: 2px; text-transform: uppercase; }

.video-slide { background: linear-gradient(135deg,#2d3436,#000) !important; color: #fff !important; }
.video-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.video-grid article { padding: 18px; border-radius: 22px; border-left: 7px solid #e74c3c; background: #1a1a1a; text-align: center; }
.video-frame { position: relative; height: 285px; overflow: hidden; border-radius: 14px; background: #090909; }.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-grid a { display: inline-flex; gap: 9px; align-items: center; margin-top: 14px; padding: 11px 22px; border-radius: 999px; background: #e74c3c; color: #fff; font-size: 20px; font-weight: 900; text-decoration: none; }

.toolkit-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }
.toolkit-grid div { display: grid; place-items: center; gap: 18px; height: 250px; border-radius: 25px; background: #fff; box-shadow: 0 10px 30px rgba(37,41,54,.1); color: var(--purple); font-size: 39px; }.toolkit-grid i { font-size: 72px; }
blockquote { margin: 26px 0 0; padding: 22px 32px; border: 0; border-radius: 22px; background: linear-gradient(135deg,var(--purple),var(--purple-light)); color: #fff; font-size: 34px; line-height: 1.2; font-style: italic; text-align: center; }
.subhead { margin: -15px 0 16px !important; color: #6a7079; font-size: 30px !important; }
.steps { margin: 0; padding: 0; list-style: none; counter-reset: step; display: grid; gap: 15px; }.steps li { position: relative; min-height: 112px; padding: 20px 24px 18px 82px; border-radius: 18px; background: #fff; box-shadow: 0 7px 22px rgba(37,41,54,.08); font-size: 31px; }.steps li::before { counter-increment: step; content: counter(step); position: absolute; left: 20px; top: 22px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--mint); color: #fff; font-size: 25px; font-weight: 900; }.purple-steps li::before { background: var(--purple); }
.breath-grid, .technique-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 18px; }.breath-grid article, .technique-grid article { min-height: 330px; padding: 34px; border: 4px solid #74b9ff; border-radius: 25px; background: #e8f4fd; }.breath-grid h3, .technique-grid h3 { margin-bottom: 25px; color: var(--blue); }.breath-grid p, .technique-grid p { font-size: 33px; }
.fear-card { margin-top: 30px; padding: 40px; border-left: 10px solid var(--coral); border-radius: 25px; background: #fff; box-shadow: 0 12px 35px rgba(37,41,54,.1); }.fear-card h3 { margin-bottom: 24px; color: var(--coral); font-size: 42px; }.fear-card p { font-size: 38px; }
.reframe-slide { padding-top: 90px !important; text-align: center !important; background: linear-gradient(135deg,var(--mint),var(--mint-light)) !important; color: #fff !important; }.reframe-slide .eyebrow { color: #fff; }.reframe-slide h2 { margin: 12px 0 28px; font-size: 76px; }.big-quote { padding: 35px 45px; border-radius: 28px; background: rgba(255,255,255,.2); font-size: 39px; line-height: 1.28; font-weight: 700; }
.technique-grid article { border-color: var(--purple-light); background: #f0eeff; }.technique-grid h3 { color: var(--purple); }
.power-intro { margin-bottom: 20px; padding: 20px 28px; border-radius: 18px; background: #ffe2db; font-size: 30px; line-height: 1.2; }.steps.compact { grid-template-columns: 1fr 1fr; }.steps.compact li { min-height: 94px; font-size: 29px; }
.tip-slide { padding-top: 95px !important; text-align: center !important; background: linear-gradient(135deg,var(--coral),#fab1a0) !important; color: #fff !important; }.tip-slide .eyebrow { color: #fff; }.tip-icon { display: grid; place-items: center; width: 110px; height: 110px; margin: 0 auto 18px; border-radius: 50%; background: rgba(255,255,255,.22); font-size: 54px; }.tip-slide h2 { margin: 12px 0 30px; font-size: 76px; }.tip-slide p { max-width: 900px; margin: auto; font-size: 42px; }

.audience-card { padding: 36px; border: 4px solid var(--purple); border-radius: 24px; background: #fff; font-size: 39px; line-height: 1.25; text-align: center; }
.versus { display: flex; align-items: center; justify-content: center; gap: 35px; margin-top: 35px; }.versus span { padding: 20px 35px; border-radius: 18px; background: #fff; color: var(--purple); font-size: 34px; font-weight: 900; box-shadow: 0 8px 25px rgba(37,41,54,.1); }.versus b { color: var(--coral); font-size: 34px; }
.role-card { display: grid; grid-template-columns: 330px 1fr; align-items: center; gap: 35px; padding: 28px; border-radius: 26px; }.puppy-card { background: linear-gradient(135deg,#ffeaa7,var(--yellow)); }.role-card img { width: 280px; height: 280px; object-fit: cover; border: 7px solid #fff; border-radius: 50%; box-shadow: 0 10px 25px rgba(0,0,0,.18); }.role-card h3 { margin-bottom: 22px; }.role-card p { font-size: 37px; }
.principal-card { display: grid; grid-template-columns: 180px 1fr; align-items: center; gap: 30px; padding: 24px 32px; border-radius: 25px; background: linear-gradient(135deg,#74b9ff,var(--blue)); color: #fff; text-align: center; }.principal-card img { width: 160px; height: 160px; border: 5px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 8px 22px rgba(0,0,0,.2); }.principal-card h3 { margin-bottom: 20px; }.principal-card p { font-size: 40px; }.lesson { margin-top: 18px; padding: 18px 26px; border-radius: 20px; background: linear-gradient(135deg,var(--yellow),#ffeaa7); font-size: 28px; line-height: 1.18; }.lesson b { display: block; margin-bottom: 6px; font-size: 22px; text-transform: uppercase; }
.spotlight-quote { margin-top: 35px; padding: 55px; border-radius: 28px; background: linear-gradient(135deg,var(--pink),#fd79a8); color: #fff; font-size: 45px; line-height: 1.25; font-style: italic; text-align: center; }
.prompt-card { padding: 35px 42px; border-left: 10px solid var(--pink); border-radius: 25px; background: #fff; box-shadow: 0 12px 35px rgba(37,41,54,.1); }.prompt-card h3 { margin-bottom: 14px; color: var(--pink); }
.audience-role { display: flex; align-items: center; gap: 20px; margin-top: 20px; padding: 17px 25px; border-radius: 18px; background: linear-gradient(135deg,var(--pink),#fd79a8); color: #fff; font-size: 28px; }.audience-role > i { font-size: 42px; }.audience-role b { display: block; font-size: 18px; letter-spacing: 2px; text-transform: uppercase; }
.review-title { margin-bottom: 20px !important; color: var(--purple); }.review-grid { display: grid; gap: 15px; }.review-grid div { display: flex; align-items: center; gap: 22px; padding: 20px 28px; border-radius: 19px; background: #fff; box-shadow: 0 8px 25px rgba(37,41,54,.09); font-size: 34px; }.review-grid i { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--purple); color: #fff; font-size: 27px; }
.homework-card { padding: 40px 48px; border-radius: 27px; background: linear-gradient(135deg,var(--yellow),#ffeaa7); box-shadow: 0 15px 36px rgba(180,130,30,.2); }.homework-card p { font-size: 40px; line-height: 1.28; }
.session-links { display: flex; justify-content: center; gap: 25px; margin-top: 28px; }.session-links a { padding: 15px 25px; border-radius: 999px; background: linear-gradient(135deg,var(--purple),var(--purple-light)); color: #fff; font-size: 21px; font-weight: 900; text-decoration: none; }.session-links a:last-child { background: #fff; color: var(--purple); border: 3px solid var(--purple); }

.deck-controls { position: fixed; z-index: 50; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; align-items: center; gap: 7px; padding: 7px; border-radius: 999px; background: rgba(18,21,25,.9); box-shadow: 0 8px 28px rgba(0,0,0,.25); backdrop-filter: blur(8px); }
.deck-controls button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; cursor: pointer; font-size: 16px; }.deck-controls button:hover,.deck-controls button:focus-visible { background: rgba(255,255,255,.3); outline: 2px solid #fff; }.deck-controls button:disabled { opacity: .3; cursor: default; }
.slide-count { min-width: 72px; color: #fff; text-align: center; font: 700 14px Arial,sans-serif; }
@media (max-width: 600px) { .course-link { top: 8px; left: 8px; padding: 8px 12px; font-size: 12px; }.deck-controls { bottom: 8px; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }