/* Space School — Mission Briefing inside a lesson (sits on the light lesson card) */
.msb{margin:0 0 22px;padding:18px;border-radius:24px;background:#fff;border:1px solid #e3e8f8;box-shadow:0 10px 30px rgba(27,47,107,.08);animation:msbin .6s cubic-bezier(.2,.9,.3,1) both}
@keyframes msbin{from{opacity:0;transform:translateY(16px)}}
.msb-h{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 12px!important;font:700 22px Fredoka,sans-serif!important;color:#1b2f6b!important}
.msb-h i{font-style:normal;display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#eef2ff,#e0f2fe)}
.msb-sub,.msb-tip{font:700 13px "Nunito Sans",sans-serif;color:#64748b!important}
.msb-tip{margin:10px 0 0!important}

/* video */
.msb-video{padding:10px;background:linear-gradient(160deg,#16236a,#0a1140);border:0}
.msb-screen{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 0 0 2px rgba(94,224,255,.35),0 0 40px rgba(94,224,255,.25)}
.msb-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* objectives checklist */
.msb-count{margin-inline-start:auto;padding:4px 12px;border-radius:999px;background:#ecfdf5;color:#15803d;font:800 13px "Nunito Sans",sans-serif}
.msb-bar{display:block;height:8px;border-radius:9px;background:#eef2ff;overflow:hidden;margin-bottom:12px}
.msb-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#22c55e,#86efac);border-radius:9px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.msb-goals ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.msb-goal{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;border-radius:16px;border:2px solid #e3e8f8;background:#f8faff;color:#1b2340;font:700 16px "Nunito Sans",sans-serif;text-align:start;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.msb-goal:hover{transform:translateY(-2px);border-color:#c7d2fe}
.msb-tick{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:3px solid #c7d2fe;background:#fff;position:relative;transition:all .25s}
.msb-goal[aria-pressed="true"]{border-color:#22c55e;background:#f0fdf4}
.msb-goal[aria-pressed="true"] .msb-tick{border-color:#22c55e;background:#22c55e;animation:msbpop .4s cubic-bezier(.2,1.8,.4,1)}
.msb-goal[aria-pressed="true"] .msb-tick::after{content:"";position:absolute;left:7px;top:3px;width:7px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
@keyframes msbpop{50%{transform:scale(1.3)}}
.msb-goals.is-all{border-color:#86efac;box-shadow:0 0 0 4px #dcfce7}

/* Canva slides in a holo-screen */
.msb-pages{padding:4px 12px;border-radius:999px;background:#fff7e6;color:#b45309;font:800 13px "Nunito Sans",sans-serif}
.msb-holo{position:relative;padding:14px;border-radius:22px;background:radial-gradient(120% 120% at 50% 0%,#24317f,#0a1140 70%);box-shadow:inset 0 0 40px rgba(94,224,255,.18)}
.msb-frame{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#0a1140;box-shadow:0 0 0 1px rgba(94,224,255,.45),0 0 30px rgba(94,224,255,.3)}
.msb-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.msb-corner{position:absolute;width:26px;height:26px;border:3px solid #5ee0ff;filter:drop-shadow(0 0 6px #5ee0ff);animation:msbglow 2.4s ease-in-out infinite}
.msb-corner.a{left:6px;top:6px;border-right:0;border-bottom:0;border-radius:10px 0 0 0}.msb-corner.b{right:6px;top:6px;border-left:0;border-bottom:0;border-radius:0 10px 0 0}
.msb-corner.c{left:6px;bottom:6px;border-right:0;border-top:0;border-radius:0 0 0 10px}.msb-corner.d{right:6px;bottom:6px;border-left:0;border-top:0;border-radius:0 0 10px 0}
@keyframes msbglow{50%{opacity:.45}}
.msb-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.msb-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 18px;border:0;border-radius:999px;background:#1b2f6b;color:#fff!important;font:800 15px "Nunito Sans",sans-serif;text-decoration:none!important;cursor:pointer;transition:transform .15s}
.msb-btn:hover{transform:translateY(-2px)}
.msb-btn.ghost{background:#eef2ff;color:#1b2f6b!important}

/* space words: 3D flip cards */
.msb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.msb-card{position:relative;height:130px;border:0;padding:0;background:none;cursor:pointer;perspective:800px}
.msb-card .f,.msb-card .k{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;border-radius:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .6s cubic-bezier(.2,.8,.2,1);text-align:center}
.msb-card .f{background:var(--g);color:#fff;box-shadow:0 10px 24px rgba(27,47,107,.18)}
.msb-card .f b{font:700 22px Fredoka,sans-serif;color:#fff}
.msb-card .f small{font:700 11px "Nunito Sans",sans-serif;opacity:.8;color:#fff}
.msb-card .k{background:#fff;border:3px solid;border-color:var(--c);color:#1b2340;font:700 16px/1.4 "Nunito Sans",sans-serif;transform:rotateY(180deg)}
.msb-card[aria-pressed="true"] .f{transform:rotateY(-180deg)}
.msb-card[aria-pressed="true"] .k{transform:rotateY(0)}
.msb-card.c0{--g:linear-gradient(135deg,#ff6b81,#f43f5e);--c:#f43f5e}.msb-card.c1{--g:linear-gradient(135deg,#3fa7ff,#2563eb);--c:#2563eb}
.msb-card.c2{--g:linear-gradient(135deg,#ffc23d,#f59e0b);--c:#f59e0b}.msb-card.c3{--g:linear-gradient(135deg,#2ed39a,#059669);--c:#059669}
.msb-card:focus-visible{outline:3px solid #5ee0ff;outline-offset:4px;border-radius:20px}

/* home mission */
.msb-home{display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,#fff7e6,#fef3c7);border-color:#fde68a}
.msb-home-rocket{font-size:52px;flex:0 0 auto;animation:msbfloat 3s ease-in-out infinite}
@keyframes msbfloat{50%{transform:translateY(-8px) rotate(-6deg)}}
.msb-home p{margin:0 0 12px!important;color:#7c2d12!important;font-weight:700;font-size:17px}
.msb-home .msb-btn{background:linear-gradient(90deg,#f5a623,#ff8a3d);color:#1b2f6b!important;box-shadow:0 10px 24px rgba(245,166,35,.4)}
.msb-home.is-done .msb-btn{background:#22c55e;color:#fff!important;box-shadow:none}
.msb-home.is-done .msb-home-rocket{animation:msblaunch 1s cubic-bezier(.6,0,.4,1) forwards}
@keyframes msblaunch{to{transform:translateY(-60px) rotate(-12deg);opacity:0}}
.msb-spark{position:fixed;z-index:9999;pointer-events:none;font-size:20px;transform:translate(-50%,-50%);animation:msbspark .9s ease-out forwards}
@keyframes msbspark{to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.4);opacity:0}}

@media (max-width:640px){.msb{padding:14px;border-radius:20px}.msb-h{font-size:19px!important}.msb-cards{grid-template-columns:1fr 1fr}.msb-card{height:120px}.msb-home{flex-direction:column;text-align:center}}
@media (prefers-reduced-motion:reduce){.msb,.msb *{animation:none!important;transition:none!important}}

/* ================= Mission Player ================= */
.msp{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;outline:none;box-shadow:0 0 0 2px rgba(94,224,255,.35),0 0 40px rgba(94,224,255,.25);user-select:none;-webkit-user-select:none}
.msp:focus-visible{box-shadow:0 0 0 3px #5ee0ff,0 0 40px rgba(94,224,255,.35)}
/* the YouTube frame is taller than the box: its title bar (top) and logo (bottom) fall outside and get cropped */
.msp-stage{position:absolute;left:0;right:0;top:-64px;bottom:-64px;pointer-events:none}
.msp-stage iframe,.msp-yt{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}
.msp-shield{position:absolute;inset:0;z-index:2;cursor:pointer}
.msp-wm{position:absolute;z-index:3;pointer-events:none;padding:3px 8px;border-radius:6px;background:rgba(0,0,0,.18);color:rgba(255,255,255,.55);font:700 clamp(10px,1.3vw,14px) ui-monospace,Menlo,monospace;letter-spacing:.5px;white-space:nowrap;transition:left 1.2s ease,top 1.2s ease;text-shadow:0 1px 2px rgba(0,0,0,.6)}
/* cover / pause: hides YouTube's own screens */
.msp-cover{position:absolute;inset:0;z-index:4;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(circle at 50% 40%,rgba(36,49,127,.92),rgba(7,11,51,.97));color:#fff}
.msp-cover.is-on{display:flex}
.msp-cover.is-paused{background:rgba(7,11,51,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.msp-big{width:92px;height:92px;border-radius:50%;border:0;background:linear-gradient(135deg,#f5a623,#ff8a3d);color:#1b2f6b;font-size:34px;cursor:pointer;box-shadow:0 0 0 10px rgba(245,166,35,.2),0 16px 40px rgba(245,166,35,.45);animation:mspbeat 2s ease-in-out infinite}
.msp-big span{margin-left:6px}
@keyframes mspbeat{50%{box-shadow:0 0 0 18px rgba(245,166,35,.08),0 16px 40px rgba(245,166,35,.45)}}
.msp-title{margin:0!important;color:#dfe5ff!important;font:700 18px Fredoka,sans-serif}
.msp-resume{text-align:center}
.msp-resume p{margin:0 0 8px!important;color:#fff!important;font-weight:700}
.msp-resume button,.msp-replay,.msp-q-go{margin:0 4px;min-height:42px;padding:8px 18px;border-radius:999px;border:0;font:800 14px "Nunito Sans",sans-serif;cursor:pointer}
.msp-yes,.msp-replay,.msp-q-go{background:#fff;color:#1b2f6b}
.msp-again{background:rgba(255,255,255,.14);color:#fff}
/* end screen */
.msp-end{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle at 50% 40%,#24317f,#0a1140);color:#fff;text-align:center;padding:20px}
.msp-end[hidden],.msp-q[hidden],.msp-resume[hidden]{display:none!important}
.msp-end-ico{font-size:54px;animation:mspfly 1.2s cubic-bezier(.2,.8,.3,1)}
@keyframes mspfly{from{transform:translateY(60px) rotate(20deg);opacity:0}}
.msp-end h4{margin:0!important;font:700 26px Fredoka,sans-serif;color:#fff!important}
.msp-end-sub{margin:0 0 10px!important;color:#b9c3ef!important;font-weight:700}
/* in-video question */
.msp-q{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;background:rgba(7,11,51,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;text-align:center}
.msp-q-k{margin:0!important;color:#5ee0ff!important;font:800 13px "Nunito Sans",sans-serif;text-transform:uppercase;letter-spacing:.5px}
.msp-q h4{margin:0 0 4px!important;font:700 clamp(18px,2.4vw,26px) Fredoka,sans-serif;color:#fff!important;max-width:760px}
.msp-q-o{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(640px,100%)}
.msp-q-o button{min-height:52px;padding:10px 14px;border:0;border-radius:16px;color:#fff;font:800 16px "Nunito Sans",sans-serif;cursor:pointer;transition:transform .15s}
.msp-q-o button:hover:not(:disabled){transform:translateY(-2px)}
.msp-q-o .c0{background:#ff6b81}.msp-q-o .c1{background:#3fa7ff}.msp-q-o .c2{background:#f59e0b}.msp-q-o .c3{background:#2ed39a}
.msp-q-o .is-right{background:#22c55e!important;box-shadow:0 0 0 4px #bbf7d0}
.msp-q-o .is-wrong{background:#ef4444!important;animation:mspno .45s}
.msp-q-o button:disabled:not(.is-right):not(.is-wrong){opacity:.4}
@keyframes mspno{25%,75%{transform:translateX(-8px)}50%{transform:translateX(8px)}}
/* controls */
.msp-bar{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;align-items:center;gap:6px;padding:26px 10px 8px;background:linear-gradient(transparent,rgba(5,8,35,.92));transition:opacity .35s,transform .35s}
.msp.is-idle .msp-bar{opacity:0;transform:translateY(10px);pointer-events:none}
.msp.is-idle{cursor:none}
.msp-b{flex:0 0 auto;min-width:40px;height:38px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:#fff;font:800 14px "Nunito Sans",sans-serif;cursor:pointer}
.msp-b:hover{background:rgba(255,255,255,.14)}
.msp-play{font-size:16px}
.msp-track{position:relative;flex:1;height:8px;margin:0 6px;border-radius:9px;background:rgba(255,255,255,.2);cursor:pointer}
.msp-track:hover{height:10px}
.msp-buf,.msp-fill{position:absolute;left:0;top:0;bottom:0;border-radius:9px}
.msp-buf{background:rgba(255,255,255,.25)}
.msp-fill{background:linear-gradient(90deg,#f5a623,#ff8a3d)}
.msp-knob{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(245,166,35,.45)}
.msp-ticks i{position:absolute;top:-3px;width:3px;height:calc(100% + 6px);margin-left:-1px;border-radius:2px;background:#5ee0ff}
.msp-ticks i.is-q{background:#ffd36b;width:8px;height:8px;top:50%;margin:-4px 0 0 -4px;border-radius:50%}
.msp-tip{position:absolute;bottom:18px;transform:translateX(-50%);padding:4px 8px;border-radius:8px;background:#0a1140;color:#fff;font:700 12px "Nunito Sans",sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.msp-track:hover .msp-tip{opacity:1}
.msp-time{flex:0 0 auto;color:#dfe5ff;font:700 13px ui-monospace,Menlo,monospace}
.msp-toast{position:absolute;left:50%;top:14px;z-index:7;transform:translate(-50%,-10px);padding:8px 16px;border-radius:999px;background:#1b2f6b;color:#fff;font:800 14px "Nunito Sans",sans-serif;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}
.msp-toast.is-on{opacity:1;transform:translate(-50%,0)}
.msp.is-full{border-radius:0;aspect-ratio:auto;width:100vw;height:100vh}
/* chapters + notes panel */
.msp-panel{margin-top:10px;padding:12px;border-radius:16px;background:rgba(255,255,255,.06)}
.msp-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.msp-tabs button{min-height:38px;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#dfe5ff;font:800 14px "Nunito Sans",sans-serif;cursor:pointer}
.msp-tabs button.is-on{background:#fff;color:#1b2f6b;border-color:#fff}
.msp-watch{margin-inline-start:auto;display:inline-flex;align-items:center;gap:8px;color:#b9c3ef;font:700 13px "Nunito Sans",sans-serif;position:relative;padding-inline-start:96px}
.msp-watch::before{content:"";position:absolute;inset-inline-start:0;top:50%;width:86px;height:7px;margin-top:-3.5px;border-radius:9px;background:rgba(255,255,255,.15)}
.msp-watch i{position:absolute;inset-inline-start:0;top:50%;height:7px;margin-top:-3.5px;border-radius:9px;background:linear-gradient(90deg,#22c55e,#86efac);max-width:86px}
.msp-watch b{color:#fff}
.msp-watch.is-done b::after{content:" ✓";color:#86efac}
.msp-chs,.msp-notes{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:220px;overflow:auto}
.msp-chs button,.msp-ngo{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;border-radius:12px;background:rgba(255,255,255,.06);color:#fff;font:700 14px "Nunito Sans",sans-serif;text-align:start;cursor:pointer}
.msp-chs button:hover,.msp-ngo:hover{background:rgba(255,255,255,.12)}
.msp-chs button.is-now{background:linear-gradient(90deg,rgba(245,166,35,.35),rgba(245,166,35,.1));box-shadow:inset 3px 0 0 #f5a623}
.msp-chs b,.msp-ngo b{flex:0 0 auto;color:#ffd36b;font:700 13px ui-monospace,Menlo,monospace}
.msp-notes li{display:flex;gap:6px}
.msp-ndel{flex:0 0 auto;width:36px;border:0;border-radius:10px;background:rgba(255,255,255,.06);color:#fca5a5;cursor:pointer}
.msp-noteform{display:flex;gap:6px;align-items:center;margin-bottom:8px}
.msp-at{flex:0 0 auto;color:#ffd36b;font:700 13px ui-monospace,Menlo,monospace}
.msp-noteform input{flex:1;min-width:0;min-height:42px;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.25)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font:600 15px "Nunito Sans",sans-serif}
.msp-noteform button{min-height:42px;padding:8px 16px;border:0;border-radius:12px;background:#f5a623;color:#1b2f6b;font:800 14px "Nunito Sans",sans-serif;cursor:pointer}
.msp-empty{color:#b9c3ef!important;font-weight:700;font-size:14px}
@media (max-width:640px){.msp-back,.msp-fwd,.msp-mute{display:none}.msp-time{font-size:11px}.msp-q-o{grid-template-columns:1fr}.msp-big{width:70px;height:70px;font-size:26px}.msp-watch{margin-inline-start:0}}

/* lesson stars strip (under the title) */
.msb-stars{margin:0 0 16px;padding:12px 16px;border-radius:20px;background:linear-gradient(120deg,#1b2f6b,#3b1d7a);color:#fff;box-shadow:0 10px 26px rgba(27,47,107,.25)}
.msb-stars p{display:flex;align-items:center;gap:10px;margin:0 0 8px!important;color:#fff!important}
.msb-stars p b{font:700 18px Fredoka,sans-serif;color:#fff!important}
.msb-stars-n{margin-inline-start:auto;padding:3px 12px;border-radius:999px;background:rgba(255,255,255,.15);font:800 14px "Nunito Sans",sans-serif}
.msb-stars ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.msb-stars li{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#dfe5ff!important;font:700 14px "Nunito Sans",sans-serif;transition:background .3s,border-color .3s}
.msb-stars .st{font-style:normal;font-size:20px;line-height:1;color:rgba(255,255,255,.25);transition:color .3s,text-shadow .3s}
.msb-stars li.is-on{background:rgba(245,166,35,.22);border-color:rgba(245,166,35,.7);color:#fff!important}
.msb-stars li.is-on .st{color:#ffd36b;text-shadow:0 0 12px rgba(245,166,35,.9)}
.msb-stars li.is-new .st{animation:msbpop .6s cubic-bezier(.2,1.8,.4,1)}
.msb-stars.is-all{box-shadow:0 0 0 4px rgba(245,166,35,.5),0 10px 26px rgba(27,47,107,.25)}
.msp-panel[hidden]{display:none!important}
.msb-simple{margin:0 0 18px}
