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

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }
body { background: #17201f; 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: 58px 76px 76px; overflow: hidden;
    background:
        radial-gradient(circle at 94% 8%, rgba(85,239,196,.2) 0 90px, transparent 92px),
        radial-gradient(circle at 4% 96%, rgba(108,92,231,.13) 0 110px, transparent 112px),
        var(--paper);
}
.reveal h1, .reveal h2, .reveal h3, .reveal p { margin: 0; text-transform: none; }
.reveal h1 { font-size: 82px; line-height: .98; letter-spacing: -3px; }
.reveal h2 { font-size: 62px; line-height: 1.02; letter-spacing: -2px; }
.reveal h3 { font-size: 34px; 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: 30px; }
.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: white; font-size: 38px;
    transform: rotate(-3deg); box-shadow: 0 10px 0 rgba(0,184,148,.15);
}
.eyebrow, .kicker, .definition-box > span, .goal-card > span {
    color: var(--mint); font-size: 21px; line-height: 1.2; font-weight: 900; letter-spacing: 3px; text-transform: uppercase;
}
.blue-heading .icon { background:linear-gradient(135deg,#0984e3,#74b9ff); }.blue-heading .eyebrow { color:#0984e3; }
.purple-heading .icon { background:linear-gradient(135deg,#6c5ce7,#a29bfe); }.purple-heading .eyebrow { color:#6c5ce7; }
.coral-heading .icon { background:linear-gradient(135deg,#e17055,#fab1a0); }.coral-heading .eyebrow { color:#d65336; }
.yellow-heading .icon { background:linear-gradient(135deg,#fdcb6e,#f39c12); }.yellow-heading .eyebrow { color:#b76d00; }

.hero { background:linear-gradient(135deg,#00a985,#55efc4)!important; color:#fff!important; text-align:center!important; padding-top:90px!important; }
.hero .kicker { color:#fff; opacity:.9; font-size:25px; }
.hero h1 { margin:16px auto 22px; font-size:91px; }
.hero .lead { max-width:980px; margin:0 auto; font-size:37px; }
.meta-row { display:flex; justify-content:center; gap:45px; margin-top:35px; font-size:27px; font-weight:700; }
.meta-row i { margin-right:8px; }

.activity-card, .example-box {
    padding:26px 34px; background:#fff; border-radius:24px; border-left:9px solid var(--mint);
    box-shadow:0 12px 35px rgba(37,41,54,.1);
}
.activity-card h3 { margin-bottom:14px; color:#087d67; }.activity-card h3 i { margin-right:8px; }
.check-list { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.check-list li { position:relative; padding-left:38px; font-size:32px; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--mint); font-weight:900; }
.crosses li::before { content:"×"; color:#e74c3c; }
.tip-box { margin-top:22px; padding:22px 30px; border-radius:20px; background:linear-gradient(135deg,var(--mint),var(--mint-light)); color:#fff; }
.tip-box h3 { margin-bottom:7px; }.tip-box p { font-size:30px; }
.prompt { margin:-8px 0 24px!important; color:#59616f; font-size:32px!important; }

.timer-container { text-align:center; }
.timer-circle {
    display:flex; align-items:center; justify-content:center; width:280px; height:280px; margin:8px auto 24px;
    border:12px solid var(--mint); border-radius:50%; background:#fff; box-shadow:0 12px 35px rgba(37,41,54,.12);
}
.timer-circle span { font-size:72px; font-weight:900; }.timer-yellow { border-color:#f39c12; }.timer-red { border-color:#e74c3c; }
.times-up { animation:pulse .55s infinite alternate; }.times-up span { font-size:35px; color:#e74c3c; }
@keyframes pulse { to { background:#ffd7d2; transform:scale(1.03); } }
.timer-buttons { display:flex; justify-content:center; gap:18px; }
.timer-btn { padding:15px 32px; border:0; border-radius:999px; font:800 24px/1 inherit; cursor:pointer; }
.timer-btn.start { background:var(--mint); color:#fff; }.timer-btn.reset { background:#dfe6e9; color:var(--ink); }.timer-btn:disabled { opacity:.5; }

.definition-box { padding:44px 52px; border-radius:28px; background:linear-gradient(135deg,#dfe6e9,#b2bec3); text-align:center; }
.definition-box > span { display:block; margin-bottom:18px; color:#59616f; }
.definition-box p { font-size:44px; line-height:1.28; }
.blue-box { background:linear-gradient(135deg,#dff1ff,#b9ddf8); }.blue-box > span { color:#0876c9; }
.purple-box { background:linear-gradient(135deg,#ece9ff,#d2ccff); }.purple-box > span { color:var(--purple); }
.coral-box { padding:30px 45px; background:linear-gradient(135deg,#ffe7e1,#fac4b7); }.coral-box > span { color:#c84e31; }
.coral-border { margin-top:24px; border-color:var(--coral); }.coral-border h3 { color:#d65336; }
.demo-quote { font-style:italic; font-size:35px!important; }
blockquote {
    margin:24px 0 0; padding:24px 35px; border:0; border-radius:22px;
    background:linear-gradient(135deg,var(--mint),var(--mint-light)); color:#fff;
    font-size:32px; line-height:1.2; font-style:italic; text-align:center;
}

.three-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.three-cards article { min-height:420px; padding:24px; border-radius:22px; background:#fff; border-top:10px solid var(--blue); box-shadow:0 10px 30px rgba(37,41,54,.1); }
.three-cards h3 { color:var(--blue); margin-bottom:16px; }.three-cards p { font-size:27px; margin-bottom:16px; }.three-cards em { display:block; font-size:23px; line-height:1.18; color:#59616f; }
.center-slide { display:flex!important; flex-direction:column; align-items:center; justify-content:center; text-align:center!important; }
.center-slide h2 { max-width:1050px; font-size:76px; margin:22px auto; }.center-slide p { font-size:40px; font-weight:800; }
.blue-wash { background:linear-gradient(135deg,#0984e3,#74b9ff)!important; color:#fff!important; }.blue-wash .kicker { color:#dff1ff; }
.purple-wash { background:linear-gradient(135deg,#6c5ce7,#a29bfe)!important; color:#fff!important; }.purple-wash .kicker { color:#eeeaff; }
.mint-wash { background:linear-gradient(135deg,#00a985,#55efc4)!important; color:#fff!important; }.mint-wash .kicker { color:#eafff9; }

.flip-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.flip-grid.single { grid-template-columns:760px; justify-content:center; }
.flip-card { min-height:450px; padding:0; border:0; background:transparent; color:#fff; cursor:pointer; perspective:1000px; font:inherit; }
.flip-card:focus-visible { outline:5px solid var(--yellow); outline-offset:5px; border-radius:25px; }
.flip-inner { position:relative; display:block; width:100%; height:450px; transform-style:preserve-3d; transition:transform .45s; }
.flip-card.flipped .flip-inner { transform:rotateY(180deg); }
.flip-front,.flip-back {
    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:30px; border-radius:25px; backface-visibility:hidden;
}
.flip-front { background:linear-gradient(135deg,#74b9ff,#0984e3); }.flip-front > i { font-size:72px; margin-bottom:25px; }
.flip-front strong { font-size:42px; }.flip-front small { margin-top:22px; font-size:18px; letter-spacing:2px; text-transform:uppercase; }
.flip-back { gap:17px; background:linear-gradient(135deg,#00b894,#55efc4); transform:rotateY(180deg); align-items:stretch; }
.flip-back > span { font-size:25px; line-height:1.18; }.flip-back b { color:#fff1a8; }
.purple-front { background:linear-gradient(135deg,#6c5ce7,#a29bfe); }.purple-front strong { text-align:center; font-size:38px; }
.bridge-slide .flip-inner,.bridge-slide .flip-card { height:390px; min-height:390px; }
.bridge-sentence { text-align:center; font-size:32px!important; font-style:italic; }

.number-list,.bridge-list { display:grid; gap:16px; }
.number-list p { display:flex; align-items:center; gap:20px; padding:18px 24px; border-radius:18px; background:#fff; box-shadow:0 6px 18px rgba(37,41,54,.08); font-size:31px; }
.number-list b { display:grid; place-items:center; flex:0 0 54px; height:54px; border-radius:50%; background:var(--purple); color:#fff; }
.bridge-list p { padding:25px 30px; border-left:9px solid var(--purple); border-radius:16px; background:#ece9ff; font-size:34px; }
.danger-border { margin-top:22px; border-color:#e74c3c; }.danger-border h3 { color:#e74c3c; }
.two-steps { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.two-steps article { min-height:390px; padding:28px; border-radius:24px; background:#fff; border-top:10px solid var(--coral); text-align:center; box-shadow:0 10px 30px rgba(37,41,54,.1); }
.two-steps b { display:grid; place-items:center; width:60px; height:60px; margin:0 auto 18px; border-radius:50%; background:var(--coral); color:#fff; }
.two-steps h3 { margin-bottom:16px; color:#d65336; }.two-steps p { font-size:31px; }.two-steps em { display:block; margin-top:16px; font-size:27px; color:#59616f; }
.example-box { border-color:var(--yellow); }.example-box h3 { color:#b76d00; margin-bottom:16px; }.example-box p { padding:8px 0; font-size:29px; }
.goal-card { padding:34px 45px; margin-top:22px; border-radius:25px; background:linear-gradient(135deg,#2d3436,#636e72); color:#fff; }
.goal-card > span { color:var(--mint-light); }.goal-card p { margin:12px 0; font-size:38px; }.goal-card strong { color:var(--yellow); font-size:30px; }
.outline-list { margin:0; padding-left:70px; display:grid; gap:15px; }
.outline-list li { padding:18px 25px; border-radius:16px; background:#fff; box-shadow:0 6px 18px rgba(37,41,54,.08); font-size:31px; }
.outline-list li::marker { color:var(--mint); font-weight:900; }
.review-card { display:flex; align-items:center; gap:28px; margin-bottom:24px; padding:30px 35px; border-radius:22px; background:#fff; box-shadow:0 8px 25px rgba(37,41,54,.09); }
.review-card i { color:#b76d00; font-size:55px; }.review-card p { font-size:31px; }
.homework { margin-top:24px; padding:48px; border-radius:30px; color:#fff; background:linear-gradient(135deg,#f39c12,#fdcb6e); font-size:41px; line-height:1.3; box-shadow:0 18px 40px rgba(243,156,18,.25); }
.closing .kicker { margin-top:20px; }.closing h1 { font-size:93px; margin-top:28px; }
.complete-link { display:inline-block; margin-top:34px; padding:18px 34px; border-radius:999px; background:#fff; color:var(--mint); text-decoration:none; font-size:28px; font-weight:900; }

.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; font-size:12px; padding:8px 12px; }.deck-controls { bottom:8px; } }
@media (prefers-reduced-motion:reduce) { .flip-inner { transition:none; }.times-up { animation:none; } }