: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: 62px 76px 78px;
    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: 64px; line-height: 1.02; letter-spacing: -2px; }
.reveal h3 { font-size: 36px; line-height: 1.08; }
.reveal p, .reveal li { font-size: 36px; line-height: 1.22; }
.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: 34px; }
.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, .small-label {
    color: var(--mint); font-size: 21px; line-height: 1.2; font-weight: 900;
    letter-spacing: 3px; text-transform: uppercase;
}
.yellow-heading .icon { background: linear-gradient(135deg,#fdcb6e,#f39c12); }
.yellow-heading .eyebrow { color: #c57a00; }
.blue-heading .icon { background: linear-gradient(135deg,#0984e3,#74b9ff); }
.blue-heading .eyebrow { color: #0984e3; }
.coral-heading .icon { background: linear-gradient(135deg,#e17055,#fab1a0); }
.coral-heading .eyebrow { color: #d65336; }
.purple-heading .icon { background: linear-gradient(135deg,#6c5ce7,#a29bfe); }
.purple-heading .eyebrow { color: #6c5ce7; }

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

.goal-card, .dark-card {
    padding: 48px 56px; border-radius: 28px; background: linear-gradient(135deg,#2d3436,#636e72); color: white;
    box-shadow: 0 18px 40px rgba(45,52,54,.2);
}
.goal-card span, .dark-card .small-label { display: block; color: var(--mint-light); margin-bottom: 18px; }
.goal-card p { font-size: 48px; margin-bottom: 22px; }
.goal-card strong { font-size: 38px; color: var(--yellow); }
.dark-card p { font-size: 42px; line-height: 1.3; }
.card { padding: 30px 38px; background: white; border-radius: 25px; border-left: 10px solid var(--mint); box-shadow: 0 12px 35px rgba(37,41,54,.1); }
.steps { margin: 10px 0 0 42px; padding: 0; }
.steps li { padding: 10px 0 10px 10px; }
.steps.compact li { font-size: 32px; }
blockquote {
    margin: 30px 0 0; padding: 27px 38px; border: 0; border-radius: 24px;
    background: linear-gradient(135deg,var(--mint),var(--mint-light)); color: white;
    font-size: 34px; line-height: 1.22; font-style: italic; text-align: center;
}
.three-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.code-card { min-height: 300px; padding: 26px; border-radius: 24px; background: white; box-shadow: 0 10px 30px rgba(37,41,54,.1); border-top: 12px solid; }
.code-card h3 { margin-bottom: 20px; }
.code-card p { font-size: 29px; }
.code-card.yellow { border-color: var(--yellow); }.code-card.blue { border-color: #74b9ff; }.code-card.coral { border-color: #fab1a0; }
.tip { margin-top: 22px; padding: 18px 25px; border-radius: 18px; background: linear-gradient(135deg,var(--mint),var(--mint-light)); color: white; font-size: 28px; text-align: center; }
.prompt { margin: -12px 0 24px; font-size: 34px !important; color: #59616f; }
.oreo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.oreo-grid > div { display: flex; gap: 18px; align-items: center; padding: 20px; border-radius: 20px; background: #fff2ce; border: 3px solid #f3c35e; }
.oreo-grid b { display:grid; place-items:center; flex:0 0 58px; height:58px; border-radius:50%; background:#f39c12; color:white; font-size:34px; }
.oreo-grid p { font-size: 27px; }
.center-slide { display: flex !important; flex-direction: column; align-items: center; justify-content: center; text-align: center !important; }
.yellow-wash { background: linear-gradient(135deg,#fdcb6e,#ffeaa7) !important; }
.coral-wash { background: linear-gradient(135deg,#e17055,#fab1a0) !important; color: white !important; }
.coral-wash h2 { font-size: 95px; }
.giant-formula { font-size: 67px; line-height: 1.2; font-weight: 900; }
.giant-formula span { color: #d98200; }
.center-slide > p { margin-top: 32px; font-size: 42px; font-weight: 800; }
.timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:35px; }
.timeline article { padding:35px 22px; text-align:center; background:#e8f4fd; border:4px solid #74b9ff; border-radius:28px; }
.timeline i { color:#0984e3; font-size:50px; }.timeline h3 { margin:18px 0 12px; color:#0984e3; }.timeline p { font-size:31px; }
.example-stack { display:grid; gap:16px; }
.example-stack p { padding:18px 25px; border-radius:17px; background:#e8f4fd; border-left:8px solid #0984e3; font-size:29px; line-height:1.2; }
.example-stack strong { color:#0876c9; }

.burger { width: 100%; margin-top: 0; }
.burger-row { display:grid; grid-template-columns:310px 1fr; align-items:center; min-height:100px; gap:30px; }
.burger-row h3 { color:#d65336; font-size:29px; }.burger-row p { font-size:26px; }.burger-row em { display:block; margin-top:4px; color:#6a7079; font-size:23px; }
.bun,.patty { width:260px; margin:auto; }
.bun.top { position:relative; height:82px; border-radius:130px 130px 8px 8px; background:linear-gradient(#e6a23c,#c9841f); }
.bun.top i { position:absolute; width:12px; height:7px; border-radius:50%; background:#ffeeba; transform:rotate(-20deg); }
.bun.top i:nth-child(1){left:50px;top:30px}.bun.top i:nth-child(2){left:105px;top:15px}.bun.top i:nth-child(3){left:150px;top:33px}.bun.top i:nth-child(4){left:205px;top:22px}
.lettuce,.cheese { width:280px; height:17px; margin-left:15px; border-radius:50%; background:#2ecc71; }
.patty { height:50px; border-radius:13px; background:linear-gradient(#6b3a2a,#5c2e1a); }
.cheese { background:#f1c40f; height:14px; }
.bun.bottom { height:42px; border-radius:7px 7px 22px 22px; background:linear-gradient(#d4912a,#b8760e); }
.example-callout { margin-top:24px; padding:22px 30px; border-radius:20px; background:#e8f4fd; border-left:8px solid var(--blue); }
.example-callout h3 { color:var(--blue); margin-bottom:10px; }.example-callout p { font-size:30px; }
.topic-list { margin:0 0 0 55px; padding:0; display:grid; gap:10px; }
.topic-list li { padding:10px 18px; font-size:34px; background:white; border-radius:14px; box-shadow:0 5px 14px rgba(37,41,54,.07); }

.boss { background:linear-gradient(135deg,#202427,#4a5154) !important; color:#fff !important; }
.red-heading .icon { background:linear-gradient(135deg,#e74c3c,#c0392b); }.red-heading .eyebrow { color:#ff6b5e; }
.boss-subtitle { margin:-8px 0 24px !important; color:#ff7064; }
.battle-list { display:grid; gap:18px; }
.battle-list p { display:flex; align-items:center; gap:22px; padding:18px 24px; border-radius:18px; background:#111516; font-size:32px; }
.battle-list b { display:grid; place-items:center; flex:0 0 55px; height:55px; border-radius:50%; background:#e74c3c; }
.boss-codes { display:grid; gap:20px; }.boss-codes p { padding:25px 32px; border-radius:20px; background:#121516; font-size:34px; }
.yellow-text{color:#fdcb6e!important}.blue-text{color:#74b9ff!important}.coral-text{color:#fab1a0!important}
.question-slide { text-align:center !important; padding-top:50px !important; }
.question-slide header h2 { font-size:58px; margin:5px 0 4px; }.question-slide header p { font-size:24px; color:#b9c0c2; }
.flip-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:24px; }
.flip-card { min-height:405px; padding:0; border:0; background:transparent; color:white; cursor:pointer; perspective:1000px; font:inherit; }
.flip-card:focus-visible { outline:5px solid var(--yellow); outline-offset:5px; border-radius:24px; }
.flip-inner { position:relative; display:block; width:100%; height:405px; 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:35px; border-radius:26px; backface-visibility:hidden; }
.flip-front { background:linear-gradient(135deg,#74b9ff,#0984e3); font-size:33px; line-height:1.18; font-weight:700; }
.flip-front b { display:grid; place-items:center; width:55px; height:55px; margin-bottom:18px; border-radius:50%; background:rgba(255,255,255,.25); }
.flip-front small,.flip-back small { margin-top:20px; font-size:18px; text-transform:uppercase; letter-spacing:2px; opacity:.75; }
.flip-back { background:linear-gradient(135deg,#00b894,#55efc4); transform:rotateY(180deg); }
.flip-back strong { margin-top:16px; font-size:45px; }
.review-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.review-grid div { display:flex; align-items:center; gap:20px; padding:28px; border-radius:20px; background:white; box-shadow:0 8px 25px rgba(37,41,54,.09); font-size:34px; }
.review-grid b { display:grid; place-items:center; width:62px; height:62px; border-radius:50%; background:var(--purple); color:white; font-size:38px; }
.homework { margin-top:25px; padding:50px; border-radius:30px; color:white; background:linear-gradient(135deg,#6c5ce7,#a29bfe); font-size:42px; line-height:1.3; box-shadow:0 18px 40px rgba(108,92,231,.25); }
.closing .kicker { margin-top:20px; }.closing h1 { font-size:100px; margin-top:28px; }
.complete-link { display:inline-block; margin-top:40px; padding:18px 34px; border-radius:999px; background:white; 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 white; }
.deck-controls button:disabled { opacity:.3; cursor:default; }
.slide-count { min-width:72px; color:white; 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; }
}