:root{--ink:#1f2a56;--pink:#d6006d;--teach:#2563eb;--wedo:#7c3aed;--prac:#16a34a;--exit:#dc2626;--paper:#fafaf7;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--paper);color:#111827;overflow:hidden;}
.slide{width:100vw;height:100vh;display:none;flex-direction:column;padding:56px 64px 92px;overflow-y:auto;}
.slide.active{display:flex;}
.slide h1{font-size:2.6rem;color:var(--ink);margin-bottom:10px;}
.slide h2{font-size:1.9rem;color:var(--ink);margin-bottom:14px;}
.slide p,.slide li{font-size:1.15rem;line-height:1.55;}
.bt-title{border-top:10px solid var(--pink);}
.bt-teach{border-top:10px solid var(--teach);}
.bt-wedo{border-top:10px solid var(--wedo);}
.bt-prac{border-top:10px solid var(--prac);}
.bt-exit{border-top:10px solid var(--exit);}
.logo{position:fixed;top:14px;right:20px;font-weight:800;color:var(--pink);font-size:1.05rem;z-index:50;}
.logo span{color:var(--ink);}
#progressbar{position:fixed;top:0;left:0;height:6px;background:var(--pink);width:0;z-index:60;transition:width .3s;}
nav{position:fixed;bottom:0;left:0;right:0;background:var(--ink);display:flex;align-items:center;gap:10px;padding:10px 18px;z-index:60;}
nav button{background:#fff;color:var(--ink);border:none;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer;font-size:1rem;}
nav button:hover{background:#ffe3f1;}
nav .spacer{flex:1;}
#slidecount{color:#fff;font-weight:600;}
#xpwrap{background:#0f1733;border-radius:999px;height:14px;width:160px;overflow:hidden;}
#xpbar{height:100%;width:0;background:linear-gradient(90deg,#f59e0b,#fbbf24);transition:width .5s;}
#xplabel{color:#fbbf24;font-weight:700;font-size:.9rem;}
.hero{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center;}
.hero h1{font-size:3.4rem;}
.hero .sub{font-size:1.4rem;color:#4b5563;margin-top:6px;}
.iconrow{display:flex;gap:26px;font-size:3.2rem;margin:26px 0;}
.iconrow span{animation:bob 2.2s ease-in-out infinite;}
.iconrow span:nth-child(2){animation-delay:.25s}.iconrow span:nth-child(3){animation-delay:.5s}
.iconrow span:nth-child(4){animation-delay:.75s}.iconrow span:nth-child(5){animation-delay:1s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.tag{display:inline-block;background:var(--ink);color:#fff;padding:4px 14px;border-radius:999px;font-size:.85rem;font-weight:700;letter-spacing:.5px;margin-bottom:14px;width:max-content;}
.box{border-radius:12px;padding:16px 20px;margin:12px 0;}
.sc-box{background:#ffedd5;border-left:6px solid #f97316;}
.aspire-box{background:#dcfce7;border-left:6px solid #16a34a;color:#14532d;}
.misc-box{background:#fee2e2;border-left:6px solid #dc2626;}
.misc-box s{opacity:.75;}
.evidence-box{background:#e0f2fe;border-left:6px solid #0284c7;}
.stem-box{background:#f3e8ff;border-left:6px solid #7c3aed;}
.tip-box{background:#fef9c3;border-left:6px solid #ca8a04;}
.lo-item{display:flex;align-items:center;gap:12px;font-size:1.3rem;margin:10px 0;opacity:0;transform:translateX(-16px);transition:all .5s;}
.lo-item.show{opacity:1;transform:none;}
.lo-item .chk{color:#16a34a;font-size:1.5rem;font-weight:900;}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:14px;}
.gcard{border-radius:14px;padding:16px;color:#fff;}
.gcard h3{font-size:1.25rem;margin-bottom:6px;}
.c1{background:#d97706;}.c2{background:#dc2626;}.c3{background:#2563eb;}.c4{background:#16a34a;}.c5{background:#7c3aed;}
.chipzone{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;}
.chip{background:#fff;border:2px solid var(--ink);border-radius:999px;padding:10px 18px;font-size:1.15rem;cursor:pointer;user-select:none;transition:transform .15s;}
.chip:hover{transform:scale(1.06);}
.chip.selected{background:var(--ink);color:#fff;}
.chip.done{opacity:.45;pointer-events:none;border-style:dashed;}
.buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.bucket{border:3px dashed #9ca3af;border-radius:14px;min-height:110px;padding:10px;text-align:center;cursor:pointer;font-weight:700;font-size:1.05rem;}
.bucket .drops{font-weight:400;font-size:.98rem;margin-top:6px;}
.bucket .mark{font-size:1.5rem;font-weight:900;min-height:1.6rem;}
.bucket.flash-good{border-color:#16a34a;background:#dcfce7;}
.bucket.flash-bad{border-color:#dc2626;background:#fee2e2;}
#wedofb{min-height:54px;margin-top:10px;font-weight:600;}
button.act{background:var(--pink);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:1.05rem;font-weight:700;cursor:pointer;margin:8px 8px 0 0;}
button.act.secondary{background:var(--ink);}
.mcq{margin:14px 0;}
.mcq .q{font-weight:700;font-size:1.2rem;margin-bottom:8px;}
.mcq .opt{display:block;width:100%;text-align:left;background:#fff;border:2px solid #cbd5e1;border-radius:10px;padding:12px 16px;font-size:1.1rem;margin:6px 0;cursor:pointer;}
.mcq .opt:hover{border-color:var(--ink);}
.mcq.locked .opt{pointer-events:none;opacity:.85;}
.opt.correct{border-color:#16a34a;background:#dcfce7;}
.opt.wrong{border-color:#dc2626;background:#fee2e2;}
.stations{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:12px;}
.station{background:#fff;border:3px solid var(--prac);border-radius:14px;padding:16px;}
.station h3{color:var(--prac);margin-bottom:6px;font-size:1.2rem;}
.modal{position:fixed;inset:0;background:rgba(15,23,51,.72);display:none;align-items:center;justify-content:center;z-index:100;}
.modal.open{display:flex;}
.modal .card{background:#fff;border-radius:16px;max-width:640px;width:92%;max-height:80vh;overflow-y:auto;padding:26px;}
.modal h2{margin-bottom:10px;}
#overlay{position:fixed;inset:0;background:rgba(22,163,74,.93);display:none;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;z-index:120;}
#overlay.open{display:flex;}
#overlay h1{font-size:3rem;color:#fff;}
#confetticanvas{position:fixed;inset:0;pointer-events:none;z-index:130;}
.toolbtns{position:fixed;top:14px;left:20px;display:flex;gap:8px;z-index:50;}
.toolbtns button{background:#fff;border:2px solid var(--ink);border-radius:8px;padding:6px 12px;font-weight:700;cursor:pointer;font-size:.9rem;}
body.calm .iconrow span{animation:none;}
body.calm{--pink:#6b7280;}
body.calm .slide{background:#f5f5f4;}
input,textarea{font-family:inherit;}
@media (prefers-reduced-motion: reduce){.iconrow span{animation:none;}.lo-item{transition:none;}}
@media (max-width:640px){
 .slide{padding:70px 18px 100px;}
 .slide h1{font-size:1.8rem;}.hero h1{font-size:2rem;}
 .slide h2{font-size:1.4rem;}
 .iconrow{font-size:2.1rem;gap:14px;}
 nav{flex-wrap:wrap;}#xpwrap{width:100px;}
}
@media print{
 nav,.toolbtns,.logo,#progressbar{display:none!important;}
 .slide{display:none!important;}
 #printarea{display:block!important;}
}
#printarea{display:none;padding:20px;font-size:11pt;}
#printarea h1{font-size:15pt;border-bottom:2px solid #000;padding-bottom:4px;}
#printarea .prow{border:1px solid #999;border-radius:6px;padding:8px;margin:7px 0;}
#printarea .ybox{border:3px solid #ca8a04;border-radius:6px;min-height:88px;padding:8px;margin:7px 0;}
#printarea .small{font-size:9pt;color:#333;}
