:root{
  --navy:#0a1c4a;
  --royal:#2d5cff;
  --cyan:#45d9ff;
  --violet:#7a5cff;
  --gold:#ffd66b;
  --ink:#10204d;
  --glass:rgba(250,253,255,.42);
  --glass-strong:rgba(255,255,255,.64);
  --line:rgba(255,255,255,.62);
  --shadow:0 30px 90px rgba(3,18,55,.28);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Nunito",system-ui,sans-serif;color:#fff}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.portal-shell{position:relative;min-height:100svh;overflow-x:hidden;overflow-y:auto;background:#183777 url("portal-school-cinematic.webp") center/cover no-repeat;background-attachment:fixed}
.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,65,.04) 0%,rgba(10,27,68,.02) 45%,rgba(7,24,61,.15) 100%),linear-gradient(0deg,rgba(5,18,51,.18),transparent 52%)}
.portal-shell::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 19% 53%,rgba(83,209,255,.26),transparent 31%),radial-gradient(circle at 36% 12%,rgba(130,104,255,.22),transparent 22%)}
.school-brand{display:none}
.logo-frame{width:76px;height:54px;display:grid;place-items:center;flex:0 0 76px;overflow:hidden;padding:2px;border-radius:15px;background:rgba(255,255,255,.9);box-shadow:0 6px 16px rgba(1,17,55,.2)}.logo-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;filter:drop-shadow(0 5px 8px rgba(11,35,92,.18))}
.brand-copy{display:grid;gap:1px;text-align:left}
.brand-copy span{font-size:.61rem;font-weight:900;letter-spacing:1.45px;color:#d7f6ff}
.brand-copy strong{font-family:"Baloo 2",sans-serif;font-size:1.13rem;line-height:1;color:#fff}
.course-brand-lockup{display:flex;align-items:center;gap:12px;margin:-8px 0 14px;padding:8px 12px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(215,251,247,.2));border:1px solid rgba(255,255,255,.45);box-shadow:0 8px 20px rgba(21,46,105,.08)}.course-brand-lockup img{width:72px;height:58px;flex:0 0 72px;object-fit:contain;object-position:center;transform:none;filter:drop-shadow(0 5px 8px rgba(11,35,92,.18))}.course-brand-lockup strong{font-family:"Baloo 2","Trebuchet MS",sans-serif;font-size:1.35rem;line-height:1.05;letter-spacing:.2px;color:#173675;text-shadow:0 2px 8px rgba(255,255,255,.7)}
.portal-content{position:relative;z-index:3;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);align-items:center;gap:clamp(22px,5vw,80px);padding:12px clamp(22px,5vw,90px)}.auth-panel{grid-column:2;transform:none;justify-self:end}
.welcome-copy{display:none;align-self:center;padding-left:clamp(4px,2vw,30px);filter:drop-shadow(0 16px 24px rgba(5,19,56,.28))}
.welcome-kicker{display:inline-flex;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.34);font-size:.72rem;font-weight:900;letter-spacing:1.7px;backdrop-filter:blur(10px)}
.welcome-copy h1{margin:14px 0 0;font-family:"Baloo 2",sans-serif;font-size:clamp(3.2rem,6.2vw,6.7rem);line-height:.82;letter-spacing:-3px;text-shadow:0 16px 34px rgba(3,17,52,.26)}
.welcome-copy h1 em{font-style:normal;color:var(--gold)}
.welcome-copy p{margin:18px 0 0;font-size:clamp(1rem,1.7vw,1.35rem);font-weight:800}
.glass-panel{position:relative;grid-column:2;grid-row:1;justify-self:end;width:min(100%,460px);min-width:0;max-width:100%;max-height:calc(100svh - 24px);overflow:auto;padding:18px 22px 64px;border:1px solid rgba(255,255,255,.52);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(231,246,255,.045));box-shadow:0 22px 58px rgba(12,31,77,.2),inset 0 1px rgba(255,255,255,.52);backdrop-filter:blur(18px) saturate(135%);color:var(--ink);scrollbar-width:thin}
.panel-glow{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.panel-glow::before{content:"";position:absolute;width:220px;height:220px;right:-100px;top:-110px;border-radius:50%;background:rgba(255,255,255,.24);filter:blur(10px)}
.panel-head,.auth-tabs,.auth-form,.privacy-note,.student-welcome,.course-grid,.choice-note,.grade-picker,.grade5-coming-soon{position:relative;z-index:1}
.panel-school-logo{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;margin:0 auto 8px;min-height:58px}.panel-school-logo img{display:block;max-width:195px;max-height:64px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(5,28,81,.18))}
.mini-badge{display:inline-flex;padding:6px 11px;border-radius:999px;background:#153278;color:#fff;font-size:.68rem;font-weight:900;letter-spacing:1.8px;box-shadow:0 8px 18px rgba(21,50,120,.25)}
.panel-head h2{margin:12px 0 2px;font-family:"Baloo 2",sans-serif;font-size:clamp(1.75rem,3vw,2.35rem);line-height:1;color:#10265e}
.panel-head p{margin:0;color:#526186;font-weight:700}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0 11px;padding:5px;border:1px solid rgba(255,255,255,.58);border-radius:18px;background:rgba(255,255,255,.18);box-shadow:inset 0 1px rgba(255,255,255,.35)}
.auth-tab{border:0;border-radius:14px;padding:9px;color:#5a6688;background:transparent;font-weight:900;transition:.22s}
.auth-tab.active{color:#fff;background:linear-gradient(135deg,#173f9d,#5968ff);box-shadow:0 9px 22px rgba(40,75,180,.25)}
.auth-form{display:grid;gap:9px;animation:panelIn .3s ease}
.grade-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:0;border:0}.grade-picker legend{grid-column:1/-1;margin-bottom:0;padding:0;color:#46567f;font-size:.64rem;font-weight:900;letter-spacing:1.25px}.grade-choice{display:block;min-width:0;cursor:pointer}.grade-choice input{position:absolute;opacity:0;pointer-events:none}.grade-choice span{display:grid;gap:1px;min-height:55px;padding:8px 11px;border:1px solid rgba(255,255,255,.8);border-radius:16px;background:rgba(255,255,255,.42);box-shadow:inset 0 1px rgba(255,255,255,.92),0 7px 16px rgba(23,47,108,.06);transition:.2s}.grade-choice b{font-family:"Baloo 2",sans-serif;font-size:1rem;line-height:1;color:#203b7a}.grade-choice small{color:#68789b;font-size:.61rem;font-weight:800}.grade-choice.selected span{border-color:#6279ff;background:linear-gradient(135deg,rgba(38,79,198,.94),rgba(92,96,255,.9));box-shadow:0 9px 20px rgba(50,76,195,.24),inset 0 1px rgba(255,255,255,.3)}.grade-choice.selected b,.grade-choice.selected small{color:#fff}
.form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-width:0}
.input-field{display:grid;gap:4px;min-width:0}
.input-field>span:first-child{font-size:.67rem;font-weight:900;letter-spacing:1.25px;color:#46567f}
.input-box{display:flex;align-items:center;width:100%;min-width:0;min-height:48px;padding:0 12px;border:1px solid rgba(255,255,255,.64);border-radius:16px;background:rgba(255,255,255,.33);box-shadow:inset 0 1px rgba(255,255,255,.68),0 8px 20px rgba(23,47,108,.08);transition:.2s}
.input-box:focus-within{background:rgba(255,255,255,.58);border-color:#6f85ff;box-shadow:0 0 0 4px rgba(75,102,255,.14),0 12px 24px rgba(23,47,108,.12)}
.field-icon{flex:0 0 25px;font-style:normal;color:#3159c8;font-weight:900}
.input-box input,.input-box select{width:0;min-width:0;flex:1;border:0;outline:0;background:transparent;color:#10204d;font-weight:800}
.input-box input::placeholder{color:#7d88a6;font-weight:700}
.show-pin{border:0;background:transparent;color:#244cb5;font-size:.72rem;font-weight:900}
.primary-action{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:2px;padding:12px 18px;border:0;border-radius:17px;color:#fff;background:linear-gradient(135deg,#153b96,#475fff 58%,#6d5cff);box-shadow:0 15px 28px rgba(42,72,193,.28),inset 0 1px rgba(255,255,255,.3);font-weight:900;overflow:hidden;transition:.22s}
.primary-action::after{content:"";position:absolute;inset:-2px;transform:translateX(-130%);background:linear-gradient(105deg,transparent,rgba(255,255,255,.38),transparent);transition:.65s}
.primary-action:hover{transform:translateY(-2px);box-shadow:0 19px 34px rgba(42,72,193,.34)}
.primary-action:hover::after{transform:translateX(130%)}
.primary-action b{display:grid;place-items:center;width:31px;height:31px;border-radius:11px;background:rgba(255,255,255,.16);font-size:1.2rem}
.create-action{background:linear-gradient(135deg,#0d827e,#19a9a5 52%,#4b6cff)}
.privacy-note,.choice-note{margin:10px 0 0;text-align:center;color:#5e6c8d;font-size:.69rem;font-weight:800}
.privacy-note span{color:#1d61dc}
.message{position:relative;z-index:1;margin-top:13px;padding:11px 13px;border-radius:13px;font-size:.82rem;font-weight:900}
.message.error{color:#9d253d;background:rgba(255,232,237,.82);border:1px solid rgba(230,89,120,.25)}
.message.success{color:#126143;background:rgba(227,255,241,.82)}
.course-panel{grid-column:2;width:min(100%,620px);transform:translateY(42px);justify-self:end;max-height:calc(100svh - 56px)}
.student-welcome{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-bottom:20px}
.student-avatar{width:58px;height:58px;display:grid;place-items:center;border:3px solid rgba(255,255,255,.82);border-radius:19px;color:#fff;background:linear-gradient(145deg,#153d9a,#6c62ff);box-shadow:0 12px 24px rgba(35,66,170,.26);font-family:"Baloo 2";font-size:1.2rem;font-weight:900}
.student-welcome span{font-size:.65rem;font-weight:900;letter-spacing:1.5px;color:#65729a}
.student-welcome h2{margin:1px 0;font-family:"Baloo 2";font-size:clamp(1.45rem,2.4vw,1.75rem);line-height:1.08;color:#10265e;overflow-wrap:anywhere}
.student-welcome p{margin:0;color:#596887;font-size:.79rem}
.sign-out{align-self:start;border:1px solid rgba(37,64,136,.16);border-radius:12px;padding:7px 10px;color:#43557e;background:rgba(255,255,255,.45);font-size:.7rem;font-weight:900}
.course-grid{display:grid;gap:13px}
.course-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;width:100%;padding:16px;border:1px solid rgba(255,255,255,.75);border-radius:24px;text-align:left;color:var(--ink);background:rgba(255,255,255,.45);box-shadow:0 12px 25px rgba(32,52,108,.09),inset 0 1px rgba(255,255,255,.94);overflow:hidden;transition:.24s}
.course-card::before{content:"";position:absolute;width:160px;height:160px;right:-70px;top:-90px;border-radius:50%;opacity:.18}
.connect-card::before{background:#465fff}.english-card::before{background:#17b9b0}
.course-card:hover{transform:translateY(-4px) scale(1.006);background:rgba(255,255,255,.67);box-shadow:0 20px 35px rgba(27,51,118,.16)}
.course-art{position:relative;width:74px;height:74px;display:grid;place-items:center;border-radius:23px;color:#fff;box-shadow:0 14px 25px rgba(35,67,174,.24),inset 0 1px rgba(255,255,255,.32);transform:rotate(-3deg)}
.connect-card .course-art{background:linear-gradient(145deg,#183d9a,#5e5fff)}
.english-card .course-art{background:linear-gradient(145deg,#087e85,#25c7b8)}
.course-art span{font-family:"Baloo 2";font-size:1.65rem;font-weight:900}.course-art i{position:absolute;right:-5px;bottom:-6px;width:29px;height:29px;display:grid;place-items:center;border:3px solid rgba(255,255,255,.86);border-radius:11px;background:#ffd15e;color:#29335f;font-style:normal;font-weight:900}
.course-copy small{color:#69769a;font-size:.62rem;font-weight:900;letter-spacing:1.6px}.course-copy h3{margin:1px 0 0;font-family:"Baloo 2";font-size:1.45rem;line-height:1;color:#10265e}.course-copy p{margin:2px 0 7px;color:#566482;font-size:.8rem;font-weight:800}.course-tags{display:flex;gap:6px;flex-wrap:wrap}.course-tags span{padding:4px 7px;border-radius:999px;color:#3f527b;background:rgba(232,240,255,.78);font-size:.6rem;font-weight:900}.course-arrow{position:relative;z-index:1;width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:#fff;background:#173b91;font-size:1.2rem;box-shadow:0 9px 18px rgba(31,62,155,.22)}
.english-card .course-arrow{background:#0b8885}
.grade5-coming-soon{display:flex;align-items:center;gap:14px;padding:21px 17px;border:1px solid rgba(93,105,255,.28);border-radius:24px;background:linear-gradient(135deg,rgba(64,81,204,.14),rgba(74,205,233,.16));box-shadow:inset 0 1px rgba(255,255,255,.8)}.coming-icon{display:grid;place-items:center;flex:0 0 59px;width:59px;height:59px;border-radius:20px;color:#fff;background:linear-gradient(145deg,#544dd9,#19adca);box-shadow:0 12px 22px rgba(55,75,185,.2);font-size:1.65rem}.grade5-coming-soon small{color:#65729a;font-size:.64rem;font-weight:900;letter-spacing:1.5px}.grade5-coming-soon h3{margin:2px 0;color:#152f70;font-family:"Baloo 2",sans-serif;font-size:1.35rem;line-height:1.04}.grade5-coming-soon p{margin:5px 0 0;color:#566482;font-size:.77rem;font-weight:800;line-height:1.4}
.creator-credit{position:relative;z-index:1;display:flex;align-items:baseline;gap:8px;width:max-content;margin:10px auto 0;padding:8px 17px;border:1px solid rgba(255,255,255,.56);border-radius:999px;background:linear-gradient(110deg,rgba(10,39,112,.6),rgba(65,34,135,.52),rgba(9,129,165,.56));box-shadow:0 12px 28px rgba(5,25,79,.28),inset 0 1px rgba(255,255,255,.34);backdrop-filter:blur(13px) saturate(150%);white-space:nowrap;text-shadow:0 4px 15px rgba(4,18,55,.35)}
.creator-credit span{display:inline-block;font-size:.86rem;font-weight:1000;letter-spacing:.8px;background:linear-gradient(90deg,#fff,#b9f4ff,#fff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:creditShimmer 4s ease-in-out infinite}.creator-credit strong{display:inline-block;font-family:"Baloo 2";font-size:1.35rem;line-height:1;background:linear-gradient(90deg,#ffe27a,#ff9f68,#ffd34f,#ffe27a);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 12px rgba(255,183,73,.25);animation:creditShimmer 3.6s ease-in-out infinite,creditFloat 2.8s ease-in-out infinite}
.loading-layer{position:fixed;z-index:50;inset:0;display:grid;place-items:center;background:rgba(6,19,53,.36);backdrop-filter:blur(8px)}
.loader-card{display:flex;align-items:center;gap:13px;padding:18px 22px;border:1px solid rgba(255,255,255,.72);border-radius:19px;background:rgba(255,255,255,.78);box-shadow:0 22px 60px rgba(3,16,47,.28);color:#172c68}
.spinner{width:25px;height:25px;border:3px solid #cdd9ff;border-top-color:#3c57e8;border-radius:50%;animation:spin .75s linear infinite}
.spark{position:absolute;z-index:2;width:9px;height:9px;border-radius:50%;background:#fff4ae;box-shadow:0 0 18px #fff1a8;animation:floatSpark 4s ease-in-out infinite}.spark-one{left:42%;top:21%}.spark-two{left:8%;top:73%;animation-delay:-1.4s}.spark-three{left:52%;top:66%;animation-delay:-2.5s}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes floatSpark{50%{transform:translateY(-17px) scale(1.35);opacity:.55}}
@keyframes creditShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes creditFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.035)}}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.portal-content{grid-template-columns:minmax(0,1fr) minmax(340px,510px);padding-left:30px;padding-right:30px}.welcome-copy{display:none}.glass-panel{justify-self:end}.portal-shell{background-position:center}}
@media(min-width:761px) and (max-width:900px){.portal-content{grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:18px;padding-left:20px;padding-right:20px}.glass-panel{width:min(100%,300px);padding-left:10px;padding-right:10px}.panel-school-logo{min-height:46px;margin-bottom:5px}.panel-school-logo img{max-width:150px;max-height:48px}.panel-head h2{font-size:1.58rem}.panel-head p{font-size:.76rem}.auth-form{gap:8px}.grade-choice span{padding:8px}.grade-choice b{font-size:.9rem}.grade-choice small{font-size:.54rem}.input-box{padding:0 8px}.field-icon{flex-basis:18px}.input-box input,.input-box select{font-size:.77rem}.input-field>span:first-child{font-size:.59rem;letter-spacing:.8px}.primary-action{padding:11px 13px}.privacy-note{font-size:.6rem}.creator-credit{margin-top:7px;padding:6px 10px;gap:5px}.creator-credit span{font-size:.56rem}.creator-credit strong{font-size:.86rem}}
@media(max-width:900px){.portal-shell{overflow-x:hidden;overflow-y:auto;background-color:#102752;background-image:linear-gradient(180deg,rgba(7,27,72,.04),rgba(10,35,86,.12) 49%,#102752 82%),url("portal-school-cinematic.webp");background-position:center,left 12% top;background-size:100% 100%,auto 55svh;background-repeat:no-repeat;background-attachment:scroll}.scene-shade{background:linear-gradient(180deg,rgba(6,24,66,.03),rgba(6,22,61,.1) 44%,rgba(5,19,52,.32) 62%,rgba(5,19,52,.72) 100%)}.school-brand{display:none}.creator-credit{position:relative;top:auto;right:auto;bottom:auto;left:auto;justify-content:center;width:fit-content;max-width:100%;margin:14px auto 0;padding:7px 11px;gap:5px;transform:none}.creator-credit span{font-size:.55rem}.creator-credit strong{font-size:.86rem}.portal-content{display:block;min-height:100svh;padding:47svh 12px 34px}.auth-panel,.course-panel{transform:none;justify-self:center;max-height:none}.glass-panel{width:100%;max-height:none;padding:16px 17px 20px;border:1px solid rgba(255,255,255,.56);border-radius:25px;background:linear-gradient(145deg,rgba(246,251,255,.46),rgba(222,240,255,.2));box-shadow:0 14px 32px rgba(8,23,67,.24),inset 0 1px rgba(255,255,255,.56);backdrop-filter:blur(15px) saturate(125%)}.panel-school-logo{min-height:112px;margin:0 auto 10px}.panel-school-logo img{max-width:178px;max-height:120px}.panel-head{text-align:center}.panel-head h2{font-size:1.85rem}.form-pair{grid-template-columns:1fr}.student-welcome{grid-template-columns:auto 1fr}.sign-out{grid-column:2;justify-self:start}.course-brand-lockup{margin:-5px 0 12px;padding:6px 8px}.course-brand-lockup img{width:58px;height:46px}.course-brand-lockup strong{font-size:1.05rem}.course-card{grid-template-columns:auto 1fr;padding:13px;gap:12px}.course-art{width:62px;height:62px;border-radius:19px}.course-copy h3{font-size:1.25rem}.course-tags{display:none}.course-arrow{width:33px;height:33px}.spark{display:none}}
@media(max-width:380px){.brand-copy span{display:none}.auth-tabs{margin-top:17px}.portal-content{padding-left:8px;padding-right:8px}.glass-panel{padding:19px 14px}.course-card{grid-template-columns:auto 1fr}.course-arrow{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Logged-in course dashboard: grade-aware layout and reusable Hero of the Week cards. */
.course-dashboard{position:relative;z-index:4;grid-column:1/-1;width:min(1420px,100%);margin:0 auto;padding:18px 0 14px;color:var(--ink)}
.dashboard-brand{display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:calc(100% - 32px);margin:0 auto 10px;padding:7px 18px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(214,240,255,.34));box-shadow:0 18px 38px rgba(11,33,83,.16),inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(18px) saturate(135%)}
.dashboard-brand img{width:72px;height:64px;object-fit:contain;filter:drop-shadow(0 5px 9px rgba(9,33,91,.16))}.dashboard-brand div{display:grid;gap:1px}.dashboard-brand span{color:#56678e;font-size:.62rem;font-weight:1000;letter-spacing:1.5px}.dashboard-brand strong{font-family:"Baloo 2",sans-serif;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.03;color:#10265e}
.dashboard-student-row{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:calc(100% - 32px);margin:0 auto 11px;padding:7px 12px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(255,255,255,.33);box-shadow:0 10px 25px rgba(11,33,83,.11);backdrop-filter:blur(14px)}
.dashboard-student-row .student-avatar{width:36px;height:36px;border-width:2px;border-radius:12px;font-size:.82rem}.dashboard-student-row p{margin:0;color:#30466f;font-size:.76rem;font-weight:800}.dashboard-student-row .sign-out{padding:6px 10px;border-radius:10px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,2.5vw,36px);align-items:stretch}.hero-week-panel,.course-choices-panel{position:relative;min-width:0;overflow:hidden;padding:clamp(18px,2.3vw,30px);border:1px solid rgba(255,255,255,.76);border-radius:32px;background:linear-gradient(145deg,rgba(249,253,255,.58),rgba(220,242,255,.23));box-shadow:0 24px 56px rgba(4,27,77,.2),inset 0 1px rgba(255,255,255,.92);backdrop-filter:blur(20px) saturate(145%)}
.hero-week-panel{background:linear-gradient(145deg,rgba(255,253,242,.64),rgba(229,242,255,.26))}.cinematic-panel-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 8%,rgba(255,216,101,.35),transparent 25%),radial-gradient(circle at 88% 100%,rgba(84,84,255,.22),transparent 32%),linear-gradient(120deg,transparent 42%,rgba(255,255,255,.26) 50%,transparent 58%);opacity:.9}.cinematic-panel-glow::after{content:"";position:absolute;inset:1px;border:1px solid rgba(255,255,255,.55);border-radius:inherit;box-shadow:inset 0 0 32px rgba(91,211,255,.15)}
.panel-heading{position:relative;z-index:1;text-align:center}.heading-kicker{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.48);color:#52688f;font-size:.62rem;font-weight:1000;letter-spacing:1.3px}.panel-heading h2{margin:7px 0 5px;font-family:"Baloo 2",sans-serif;font-size:clamp(1.65rem,3vw,2.6rem);line-height:1;color:#10275f}.hero-heading h2{color:#173b91;text-shadow:0 2px 0 #fff,0 6px 17px rgba(237,174,48,.22)}.course-heading h2{margin-bottom:4px}.course-heading p{margin:0;color:#536789;font-size:.74rem;font-weight:800}.week-pill{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:6px 16px;border:1px solid rgba(214,153,35,.54);border-radius:999px;background:linear-gradient(135deg,#fff9df,#fff);color:#173b91;font-size:.72rem;font-weight:1000;box-shadow:0 8px 17px rgba(176,120,25,.14)}.week-pill b{min-width:30px;color:#8d4cb7}
.hero-card-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,24px);margin-top:18px}.hero-student-card{position:relative;display:grid;justify-items:center;gap:8px;min-width:0;padding:18px 10px 13px;border:1px solid rgba(242,190,69,.72);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.83),rgba(247,233,193,.38));box-shadow:0 16px 28px rgba(83,51,10,.13),inset 0 1px rgba(255,255,255,.95)}.hero-student-card::before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.78);border-radius:20px;pointer-events:none}.hero-crown{position:absolute;z-index:2;top:-18px;color:#f6b832;font-size:2.25rem;filter:drop-shadow(0 5px 5px rgba(108,69,5,.3))}.hero-photo{position:relative;z-index:1;display:grid;place-items:center;width:min(100%,172px);aspect-ratio:1;border:4px solid #f6c64a;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#e5f6ff,#d6d9ee);box-shadow:0 11px 23px rgba(32,55,112,.18),inset 0 1px rgba(255,255,255,.9)}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo span{display:grid;place-items:center;width:68%;height:68%;border-radius:50%;color:#fff;background:linear-gradient(145deg,#1c5cca,#7059e9);font-size:3.1rem;box-shadow:0 9px 18px rgba(25,67,165,.22)}.hero-class{position:relative;z-index:2;margin-top:-24px;padding:4px 15px;border:2px solid #fff;border-radius:12px;background:linear-gradient(135deg,#143b9c,#585dff);box-shadow:0 7px 14px rgba(29,61,160,.24);color:#fff;font-family:"Baloo 2",sans-serif;font-size:1.22rem;line-height:1}.hero-name{position:relative;z-index:1;width:100%;padding:8px 5px 7px;border:1px solid rgba(220,168,40,.72);border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,216,.83));font-family:"Baloo 2",sans-serif;font-size:clamp(.95rem,1.9vw,1.38rem);line-height:1;text-align:center;overflow-wrap:anywhere;background-image:linear-gradient(90deg,#1960cf,#10a9df,#9d4cdf);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none}
.course-orbit-grid,.grade5-course-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,25px);margin-top:18px}.course-orbit{position:relative;display:grid;justify-items:center;gap:9px;min-width:0;padding:19px 11px 14px;border:1px solid rgba(255,255,255,.85);border-radius:50% 50% 26px 26px;background:linear-gradient(145deg,rgba(252,255,255,.86),rgba(221,244,255,.4));box-shadow:0 18px 30px rgba(24,51,117,.16),inset 0 1px rgba(255,255,255,.96);color:#10265e;overflow:hidden;transition:transform .22s,box-shadow .22s}.course-orbit:hover{transform:translateY(-5px) scale(1.025);box-shadow:0 25px 39px rgba(28,59,141,.23),inset 0 1px rgba(255,255,255,.96)}.orbit-ring{position:absolute;inset:8px;border:2px solid rgba(75,201,255,.65);border-radius:50% 50% 24px 24px;box-shadow:0 0 0 6px rgba(84,94,255,.05),0 0 24px rgba(64,191,255,.24)}.course-orbit-art{position:relative;z-index:1;display:grid;place-items:center;width:clamp(76px,10vw,124px);aspect-ratio:1;border:4px solid rgba(255,255,255,.86);border-radius:50%;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.72),transparent 18%),linear-gradient(145deg,#1a4cb9,#575fff 56%,#45ccff);box-shadow:0 14px 26px rgba(27,65,170,.28),inset 0 1px rgba(255,255,255,.5);color:#fff;font-family:"Baloo 2",sans-serif;font-size:clamp(1.55rem,3.4vw,2.5rem);font-weight:900;text-shadow:0 4px 12px rgba(10,30,99,.34)}.english-orbit .course-orbit-art,.english-coming .course-orbit-art{background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.72),transparent 18%),linear-gradient(145deg,#7046ce,#bc55d7 55%,#ff9b69)}.course-orbit-copy{position:relative;z-index:1;display:grid;gap:3px;justify-items:center}.course-orbit-copy strong{font-family:"Baloo 2",sans-serif;font-size:clamp(1rem,2.05vw,1.5rem);line-height:1.02;text-align:center;background:linear-gradient(90deg,#1743a6,#0aa4d1,#7f49d0);background-clip:text;-webkit-background-clip:text;color:transparent}.english-orbit .course-orbit-copy strong{background-image:linear-gradient(90deg,#6139bd,#c144bc,#ec784b)}.course-orbit-copy small{color:#52698f;font-size:.68rem;font-weight:900}.course-orbit .course-arrow{position:relative;z-index:1;display:grid;place-items:center;width:37px;height:37px;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:linear-gradient(135deg,#1743a6,#45bded);color:#fff;box-shadow:0 8px 16px rgba(20,62,158,.22);font-size:1.3rem}.english-orbit .course-arrow{background:linear-gradient(135deg,#6e42c6,#ef7b72)}.coming-orbit{cursor:default;opacity:.86;filter:saturate(.8)}.coming-orbit::after{content:"COMING SOON";position:absolute;top:13px;right:13px;padding:4px 7px;border-radius:999px;background:#fff3c7;color:#8d6215;font-size:.54rem;font-weight:1000;letter-spacing:.9px}.grade5-note{grid-column:1/-1;margin:0;padding:10px 12px;border-radius:15px;background:rgba(255,255,255,.48);color:#536789;font-size:.76rem;font-weight:800;text-align:center}
.dashboard-credit{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:center;gap:8px;width:max-content;max-width:calc(100% - 32px);margin:12px auto 0;padding:8px 17px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:linear-gradient(110deg,rgba(11,45,121,.72),rgba(89,50,151,.68),rgba(16,141,172,.68));box-shadow:0 12px 28px rgba(5,25,79,.28),inset 0 1px rgba(255,255,255,.34);backdrop-filter:blur(13px);white-space:nowrap}.dashboard-credit span{font-size:.73rem;font-weight:900;color:#fff}.dashboard-credit strong{font-family:"Baloo 2",sans-serif;font-size:1.2rem;line-height:1;background:linear-gradient(90deg,#ffe27a,#ff9f68,#ffd34f,#ffe27a);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:creditShimmer 3.6s ease-in-out infinite,creditFloat 2.8s ease-in-out infinite}
@media(max-width:900px){.course-dashboard{padding:14px 10px 28px}.dashboard-brand{max-width:100%;padding:6px 10px}.dashboard-brand img{width:57px;height:50px}.dashboard-brand strong{font-size:1.28rem}.dashboard-student-row{max-width:100%;flex-wrap:wrap;border-radius:19px;text-align:center}.dashboard-student-row p{flex:1 1 190px}.dashboard-grid{grid-template-columns:1fr;gap:16px}.hero-week-panel,.course-choices-panel{padding:18px 14px;border-radius:26px}.hero-card-grid{gap:10px}.hero-student-card{padding:16px 7px 11px}.hero-photo{width:min(100%,142px)}.hero-name{font-size:1rem}.course-orbit-grid,.grade5-course-grid{gap:12px}.course-orbit{padding:15px 8px 11px}.course-orbit-art{width:92px}.dashboard-credit{margin-top:14px;padding:7px 12px}.dashboard-credit span{font-size:.57rem}.dashboard-credit strong{font-size:.9rem}}
@media(max-width:430px){.dashboard-brand div span{font-size:.51rem;letter-spacing:.8px}.dashboard-brand strong{font-size:1.08rem}.dashboard-student-row .sign-out{font-size:.65rem}.heading-kicker{font-size:.52rem}.panel-heading h2{font-size:1.47rem}.hero-crown{font-size:1.75rem;top:-14px}.hero-photo{width:104px}.hero-photo span{font-size:2.1rem}.hero-class{font-size:1rem;padding:4px 11px}.hero-name{font-size:.79rem;letter-spacing:-.2px}.course-orbit-art{width:76px;font-size:1.35rem}.course-orbit-copy strong{font-size:.92rem}.course-orbit-copy small{font-size:.58rem}.course-orbit .course-arrow{width:31px;height:31px;font-size:1rem}}

/* Facade-first dashboard: lighter glass lets the school remain the hero. */
.portal-shell{background-image:url("portal-school-facade.png")}
.scene-shade{background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.02) 48%,rgba(20,43,98,.07))}
.portal-shell::before{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(17,43,97,.08))}
.hero-week-panel,.course-choices-panel{background:linear-gradient(145deg,rgba(251,254,255,.24),rgba(210,236,255,.12));box-shadow:0 18px 42px rgba(4,27,77,.16),inset 0 1px rgba(255,255,255,.76);backdrop-filter:blur(8px) saturate(124%)}
.hero-week-panel{background:linear-gradient(145deg,rgba(255,252,235,.25),rgba(217,241,255,.11))}.cinematic-panel-glow{opacity:.34}
.hero-student-card{background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(247,233,193,.15));box-shadow:0 13px 26px rgba(48,45,24,.13),inset 0 1px rgba(255,255,255,.72)}
.course-orbit{background:linear-gradient(145deg,rgba(252,255,255,.38),rgba(221,244,255,.14));box-shadow:0 13px 26px rgba(24,51,117,.14),inset 0 1px rgba(255,255,255,.72)}
.course-orbit:hover{box-shadow:0 21px 34px rgba(28,59,141,.23),inset 0 1px rgba(255,255,255,.8)}
.dashboard-student-row{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.68);backdrop-filter:blur(9px) saturate(130%)}
.dashboard-student-row p{font-family:"Baloo 2",sans-serif;font-size:clamp(.94rem,1.55vw,1.28rem);letter-spacing:.15px;color:#fff;text-shadow:0 2px 7px rgba(7,30,83,.86),0 1px 0 #173c90}.dashboard-student-row p strong{color:#ffdc63;text-shadow:0 2px 6px rgba(6,27,78,.85)}
.panel-heading h2,.hero-heading h2{color:#102a72;text-shadow:0 2px 0 rgba(255,255,255,.9),0 4px 14px rgba(12,41,106,.34)}
.course-heading p,.course-orbit-copy small{color:#13356f;text-shadow:0 1px rgba(255,255,255,.88)}
@media(max-width:900px){.portal-shell{background-image:linear-gradient(180deg,rgba(7,27,72,.02),rgba(10,35,86,.12) 58%,#102752 92%),url("portal-school-facade.png")}.dashboard-student-row p{font-size:.92rem}}

/* Keep the real school sign visible: the portal lockup is compact and off-centre. */
.dashboard-brand{justify-content:flex-start;gap:8px;width:min(390px,calc(100% - 32px));margin:0 18px 7px auto;padding:4px 10px;border-color:rgba(255,255,255,.58);border-radius:17px;background:rgba(238,248,255,.12);box-shadow:0 9px 22px rgba(11,33,83,.11),inset 0 1px rgba(255,255,255,.6);backdrop-filter:blur(6px) saturate(118%)}
.dashboard-brand img{width:48px;height:43px}.dashboard-brand span{font-size:.52rem;letter-spacing:1.1px;color:#e7f3ff;text-shadow:0 1px 4px rgba(7,31,82,.82)}.dashboard-brand strong{font-size:clamp(1.08rem,1.85vw,1.48rem);color:#fff;text-shadow:0 2px 7px rgba(6,27,77,.84)}
@media(max-width:900px){.dashboard-brand{margin:0 auto 8px;justify-content:center;width:min(360px,calc(100% - 24px));background:rgba(238,248,255,.18)}}

/* Centre the compact portal lockup without restoring the opaque banner. */
.dashboard-brand{margin:0 auto 7px;justify-content:center}

/* A crisp emblem crop is clearer than shrinking the full wordmark inside the header. */
.dashboard-brand img{display:none}.dashboard-brand::before{content:"";flex:0 0 58px;width:58px;height:58px;border:1px solid rgba(255,255,255,.9);border-radius:16px;background-color:rgba(255,255,255,.84);background-image:url("alandalus-school-logo-transparent.png");background-repeat:no-repeat;background-size:142px auto;background-position:center 4px;box-shadow:0 5px 12px rgba(7,30,79,.2),inset 0 1px rgba(255,255,255,.95)}
.dashboard-brand span{color:#eff9ff;text-shadow:0 1px 4px rgba(7,31,82,.86)}.dashboard-brand strong{background:linear-gradient(90deg,#fff,#bcecff 45%,#ffe69a);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none}
.panel-heading h2{background:linear-gradient(90deg,#123c98,#0f9fca 48%,#6944ba);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 2px 0 rgba(255,255,255,.78)}.hero-heading h2{background-image:linear-gradient(90deg,#1742a0,#0d9dd0 48%,#8d4ac8)}
.heading-kicker{color:#174b97;border:1px solid rgba(255,255,255,.82);box-shadow:0 4px 10px rgba(12,46,110,.11)}.course-heading p{color:#133b7f;font-family:"Baloo 2",sans-serif;font-size:.84rem}.course-orbit-copy strong,.hero-name{filter:drop-shadow(0 1px 0 rgba(255,255,255,.78))}
@media(max-width:900px){.dashboard-brand::before{flex-basis:50px;width:50px;height:50px;background-size:122px auto;background-position:center 3px}}

/* The welcome screen keeps its student scene; the signed-in dashboard keeps the clear facade. */
.portal-shell:has(#authPanel:not(.hidden)){background-image:url("portal-school-cinematic.webp")}
@media(max-width:900px){.portal-shell:has(#authPanel:not(.hidden)){background-image:linear-gradient(180deg,rgba(7,27,72,.04),rgba(10,35,86,.12) 49%,#102752 82%),url("portal-school-cinematic.webp")}}

/* Course hub visual identity: bright learning orbits and a celebratory hero showcase. */
.dashboard-grid{gap:clamp(20px,3vw,42px)}.hero-week-panel,.course-choices-panel{border-color:rgba(255,255,255,.82);isolation:isolate}.hero-week-panel::after,.course-choices-panel::after{content:"";position:absolute;z-index:-1;inset:auto -12% -24% auto;width:190px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(50,202,255,.24),transparent 68%);filter:blur(3px)}.hero-week-panel::after{background:radial-gradient(circle,rgba(255,193,65,.27),transparent 68%)}
.panel-heading h2{font-weight:900;letter-spacing:.3px}.heading-kicker{padding:6px 13px;background:linear-gradient(90deg,rgba(255,255,255,.76),rgba(226,246,255,.48));font-family:"Nunito",sans-serif;letter-spacing:1.55px}.week-pill{position:relative;overflow:hidden;border-color:rgba(255,193,65,.78);background:linear-gradient(110deg,rgba(255,255,255,.92),rgba(255,242,190,.78));box-shadow:0 8px 18px rgba(167,106,13,.18)}.week-pill::before{content:"✦";margin-right:2px;color:#e2a829;font-size:.95rem}
.hero-card-grid{gap:clamp(16px,2.4vw,28px)}.hero-student-card{padding:22px 12px 15px;border-color:rgba(246,194,65,.85);background:linear-gradient(160deg,rgba(255,255,255,.52),rgba(255,243,203,.2) 62%,rgba(132,206,255,.17));box-shadow:0 17px 33px rgba(47,39,11,.17),inset 0 1px rgba(255,255,255,.88);transition:transform .25s ease,box-shadow .25s ease}.hero-student-card:hover{transform:translateY(-7px) rotate(-.8deg);box-shadow:0 25px 39px rgba(47,39,11,.24),inset 0 1px rgba(255,255,255,.92)}.hero-student-card:nth-child(2){background:linear-gradient(160deg,rgba(255,255,255,.52),rgba(234,225,255,.22) 62%,rgba(121,219,250,.18))}.hero-crown{color:#ffbf2e;text-shadow:0 2px #fff,0 9px 14px rgba(127,74,5,.36);animation:heroCrownFloat 2.9s ease-in-out infinite}.hero-photo{border-width:5px;border-color:#ffd358;box-shadow:0 0 0 6px rgba(255,255,255,.4),0 16px 28px rgba(24,67,150,.2),inset 0 1px #fff}.hero-student-card:nth-child(2) .hero-photo{border-color:#b66df2}.hero-photo span{background:radial-gradient(circle at 35% 25%,#9ff4ff 0 8%,transparent 9%),linear-gradient(145deg,#174cc4,#5a5cff 58%,#bf58ec);font-size:3.35rem}.hero-class{letter-spacing:.5px;background:linear-gradient(135deg,#123c9c,#36aeea);box-shadow:0 8px 17px rgba(29,61,160,.28),inset 0 1px rgba(255,255,255,.4)}.hero-student-card:nth-child(2) .hero-class{background:linear-gradient(135deg,#6b3bbf,#d055c4)}.hero-name{border-color:rgba(255,198,55,.7);padding:10px 6px 9px;font-size:clamp(1rem,2vw,1.45rem);letter-spacing:.35px;background-color:rgba(255,255,255,.58)}
.course-orbit-grid,.grade5-course-grid{gap:clamp(18px,2.6vw,30px)}.course-orbit{min-height:300px;align-content:center;gap:12px;padding:24px 15px 17px;border-color:rgba(255,255,255,.92);background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.82),transparent 28%),linear-gradient(160deg,rgba(226,248,255,.46),rgba(255,255,255,.2) 58%,rgba(65,177,255,.18));box-shadow:0 20px 36px rgba(24,51,117,.17),inset 0 1px rgba(255,255,255,.96)}.english-orbit{background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.82),transparent 28%),linear-gradient(160deg,rgba(247,232,255,.45),rgba(255,255,255,.2) 58%,rgba(232,104,173,.18))}.course-orbit::after{content:"LEARN • PLAY • SHINE";position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:max-content;color:rgba(22,62,145,.68);font-size:.52rem;font-weight:1000;letter-spacing:1.55px}.english-orbit::after{color:rgba(130,58,158,.7)}.orbit-ring{inset:9px;border-width:2px;border-color:rgba(52,192,255,.78);box-shadow:0 0 0 7px rgba(84,94,255,.06),0 0 25px rgba(64,191,255,.3),inset 0 0 24px rgba(65,207,255,.09)}.english-orbit .orbit-ring{border-color:rgba(222,105,224,.76);box-shadow:0 0 0 7px rgba(201,90,214,.06),0 0 25px rgba(209,101,220,.28),inset 0 0 24px rgba(228,112,202,.09)}.course-orbit-art{width:clamp(88px,11vw,135px);border-width:5px;box-shadow:0 0 0 7px rgba(255,255,255,.34),0 17px 30px rgba(27,65,170,.3),inset 0 1px rgba(255,255,255,.56);animation:orbitPulse 3.8s ease-in-out infinite}.course-orbit-copy strong{font-size:clamp(1.12rem,2.2vw,1.62rem);letter-spacing:.25px}.course-orbit-copy small{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.42);color:#173c85;font-size:.68rem;letter-spacing:.25px}.english-orbit .course-orbit-copy small{color:#783a9a}.course-orbit .course-arrow{width:43px;height:43px;border-width:3px;font-size:1.45rem;transition:transform .22s}.course-orbit:hover .course-arrow{transform:translateX(4px) scale(1.08)}
.dashboard-student-row{border-color:rgba(255,255,255,.76);box-shadow:0 12px 27px rgba(11,33,83,.15)}.dashboard-student-row .student-avatar{background:linear-gradient(145deg,#173ea7,#6565ff 58%,#39c7ed);box-shadow:0 7px 15px rgba(20,62,158,.27)}.dashboard-credit{border-color:rgba(255,225,121,.62)}
@keyframes heroCrownFloat{50%{transform:translateY(-5px) rotate(4deg)}}@keyframes orbitPulse{50%{transform:translateY(-4px) scale(1.025);filter:saturate(1.1)}}
@media(max-width:900px){.course-orbit{min-height:245px}.course-orbit::after{font-size:.46rem}.hero-student-card{padding:19px 8px 13px}.hero-photo span{font-size:2.65rem}.course-orbit-art{width:96px}.course-orbit .course-arrow{width:38px;height:38px}}

/* Subject-specific artwork makes each course immediately recognisable. */
.course-orbit{overflow:visible}.course-orbit::before{content:"COURSE 01";position:absolute;z-index:3;top:14px;left:50%;transform:translateX(-50%);padding:5px 11px;border:1px solid rgba(255,255,255,.88);border-radius:999px;background:linear-gradient(90deg,#e8f8ff,#fff);box-shadow:0 5px 13px rgba(22,61,145,.14);color:#1554ae;font-size:.57rem;font-weight:1000;letter-spacing:1.35px}.english-orbit::before{content:"COURSE 02";color:#9b3fba;background:linear-gradient(90deg,#faedff,#fff)}
.course-orbit-art{width:clamp(128px,14vw,170px);aspect-ratio:1;border:0;background:none!important;box-shadow:none;animation:courseArtworkFloat 4.3s ease-in-out infinite}.course-orbit-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 16px rgba(17,61,159,.24))}.english-orbit .course-orbit-art img{filter:drop-shadow(0 15px 16px rgba(159,39,163,.22))}.course-orbit-copy{margin-top:-2px}.course-orbit-copy strong{font-family:"Baloo 2",sans-serif;font-weight:900;text-shadow:0 2px 0 rgba(255,255,255,.86),0 7px 16px rgba(22,55,132,.14)}.course-orbit-copy small{font-family:"Nunito",sans-serif;font-weight:1000}.course-orbit .course-arrow{position:relative;overflow:hidden}.course-orbit .course-arrow::after{content:"";position:absolute;inset:-80% -45%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.82) 50%,transparent 60%);transform:translateX(-120%);animation:arrowShine 3.1s ease-in-out infinite}
.hero-week-panel{background:linear-gradient(145deg,rgba(255,250,228,.28),rgba(207,241,255,.15) 55%,rgba(140,104,255,.16))}.hero-name{font-family:"Baloo 2",sans-serif;font-weight:900;text-shadow:0 2px 0 rgba(255,255,255,.86),0 6px 15px rgba(29,66,156,.15)}.hero-student-card::after{content:"★  STAR LEARNER  ★";position:absolute;top:13px;left:50%;z-index:2;transform:translateX(-50%);width:max-content;color:#b27517;font-size:.48rem;font-weight:1000;letter-spacing:1.1px}.hero-student-card:nth-child(2)::after{color:#8a48be}
@keyframes courseArtworkFloat{50%{transform:translateY(-7px) rotate(1.5deg) scale(1.025)}}@keyframes arrowShine{0%,38%{transform:translateX(-120%)}62%,100%{transform:translateX(120%)}}
@media(max-width:900px){.course-orbit::before{top:10px;font-size:.47rem;padding:4px 8px}.course-orbit-art{width:112px}.hero-student-card::after{top:9px;font-size:.4rem}}

/* High-visibility learner messaging with gentle, consistent colour motion. */
.dashboard-student-row{padding:9px 16px;gap:13px}.dashboard-student-row p{font-size:clamp(1.08rem,1.9vw,1.58rem);font-weight:1000;letter-spacing:.35px;color:#fff;text-shadow:0 2px 0 #193f96,0 5px 13px rgba(6,28,80,.62);animation:welcomeGlow 3.4s ease-in-out infinite}.dashboard-student-row p strong{display:inline-block;background:linear-gradient(100deg,#ffe67d,#ffbd59,#8df5ff,#ffe67d);background-size:230% auto;-webkit-background-clip:text;background-clip:text;color:transparent;font-family:"Baloo 2",sans-serif;font-size:1.1em;letter-spacing:.65px;text-shadow:none;animation:textShimmer 3.8s linear infinite}
.course-orbit-copy strong{padding:3px 8px;border-radius:13px;background-color:rgba(255,255,255,.42);background-image:linear-gradient(95deg,#0b3d9e,#078fce 50%,#6d38bc);background-size:180% auto;-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(1.18rem,2.35vw,1.75rem);letter-spacing:.45px;animation:textShimmer 5s linear infinite}.english-orbit .course-orbit-copy strong{background-image:linear-gradient(95deg,#7235bd,#e044bd 52%,#ee744b)}.course-orbit-copy small{border:1px solid rgba(255,255,255,.7);box-shadow:0 5px 12px rgba(12,48,130,.12);font-size:.71rem;letter-spacing:.45px}
.hero-name{position:relative;overflow:hidden;border-width:2px;border-color:rgba(255,199,62,.88);background-color:rgba(255,255,255,.66);background-image:linear-gradient(95deg,#0e4fac,#16a7d4 42%,#8144c7,#0e4fac);background-size:240% auto;-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(1.08rem,2.15vw,1.58rem);letter-spacing:.65px;animation:textShimmer 5.5s linear infinite}.hero-student-card:nth-child(2) .hero-name{background-image:linear-gradient(95deg,#6f38be,#c747ce 43%,#ff8358,#6f38be)}.hero-class{font-size:1.3rem;letter-spacing:1px}.hero-student-card::after{font-size:.54rem;letter-spacing:1.35px;text-shadow:0 1px rgba(255,255,255,.78)}
.hero-heading h2,.course-heading h2{font-size:clamp(1.85rem,3.35vw,3rem);letter-spacing:.7px}.course-heading p{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.38);font-size:.82rem;font-weight:1000;color:#143d86}
@keyframes welcomeGlow{50%{filter:brightness(1.12);text-shadow:0 2px 0 #193f96,0 0 20px rgba(132,222,255,.72)}}@keyframes textShimmer{to{background-position:220% center}}
@media(max-width:900px){.dashboard-student-row{padding:8px 12px}.dashboard-student-row p{font-size:1rem}.course-orbit-copy strong{font-size:1.1rem}.hero-name{font-size:.98rem}.hero-heading h2,.course-heading h2{font-size:1.7rem}}

/* Course titles use their own vivid palettes instead of white text. */
.hero-heading h2{background-image:linear-gradient(100deg,#ffbf26,#ff7d56 28%,#16b8e8 60%,#7958f0);background-size:210% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 0 rgba(255,255,255,.8);animation:textShimmer 6s linear infinite}.course-heading h2{background-image:linear-gradient(100deg,#1564d8,#10b8dd 42%,#8d4dd0,#f18056);background-size:210% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 0 rgba(255,255,255,.82);animation:textShimmer 6s linear infinite}
.connect-orbit .course-orbit-copy strong{background-image:linear-gradient(100deg,#0640aa,#078cd3 48%,#1dcbef,#0640aa);background-size:210% auto}.english-orbit .course-orbit-copy strong{background-image:linear-gradient(100deg,#662eba,#ca40c2 45%,#ff7b54,#662eba);background-size:210% auto}.course-orbit-copy strong{color:transparent!important}

/* Preserve the colour gradients while giving every heading a readable halo. */
.hero-heading h2,.course-heading h2,.course-orbit-copy strong,.hero-name{-webkit-text-stroke:.65px rgba(255,255,255,.96);paint-order:stroke fill;text-shadow:0 2px 0 rgba(255,255,255,.86);filter:drop-shadow(0 5px 8px rgba(7,35,98,.54))}.course-orbit-copy strong,.hero-name{-webkit-text-stroke:.45px rgba(255,255,255,.94)}

/* Course doors: a vertical choice layout with an animated double-door entry. */
.course-orbit-grid{grid-template-columns:1fr;width:min(100%,610px);margin:20px auto 0}.course-orbit-grid .course-orbit{grid-template-columns:minmax(142px,178px) minmax(0,1fr) auto;grid-template-areas:"art copy arrow";align-items:center;justify-items:stretch;min-height:188px;padding:22px 28px 20px 32px;border-radius:30px;gap:23px;overflow:hidden;text-align:left}.course-orbit-grid .course-orbit::before{top:13px;left:30px;transform:none}.course-orbit-grid .course-orbit::after{bottom:11px;left:auto;right:29px;transform:none}.course-orbit-grid .orbit-ring{inset:9px;border-radius:25px}.course-orbit-grid .course-orbit-art{grid-area:art;width:clamp(128px,15vw,170px);justify-self:center}.course-orbit-grid .course-orbit-copy{grid-area:copy;justify-items:start;gap:7px}.course-orbit-grid .course-orbit-copy strong{text-align:left}.course-orbit-grid .course-arrow{grid-area:arrow;align-self:center}.course-orbit-grid .course-orbit:hover{transform:translateX(7px) scale(1.015)}
.course-door-transition{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(95,202,255,.3),rgba(4,20,69,.92) 72%);opacity:0;pointer-events:none;transition:opacity .18s}.course-door-transition.is-opening{opacity:1;pointer-events:auto}.door-stage{position:relative;width:min(940px,94vw);height:min(530px,78vh);overflow:hidden;border:6px solid rgba(255,255,255,.82);border-radius:32px;box-shadow:0 0 0 8px rgba(72,204,255,.22),0 30px 80px rgba(0,0,0,.55);background:linear-gradient(135deg,#08275f,#148fc8);isolation:isolate}.english-door .door-stage{background:linear-gradient(135deg,#40147d,#d54b9a)}.door{position:absolute;z-index:2;inset:0 50% 0 0;border-right:4px solid rgba(255,255,255,.75);background:linear-gradient(135deg,#0b3c97,#1ac8e7 52%,#12388a);box-shadow:inset 0 0 0 9px rgba(255,255,255,.18),inset 0 0 45px rgba(255,255,255,.2);transform-origin:left center}.door::before{content:"";position:absolute;inset:10% 14%;border:3px solid rgba(255,255,255,.48);border-radius:16px;box-shadow:inset 0 0 0 8px rgba(0,30,96,.18)}.door::after{content:"✦";position:absolute;right:7%;top:50%;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#ffd55a;color:#164198;font-size:1.65rem;box-shadow:0 6px 12px rgba(3,27,84,.35);transform:translateY(-50%)}.door-right{right:0;left:50%;border-right:0;border-left:4px solid rgba(255,255,255,.75);background:linear-gradient(225deg,#0b3c97,#1ac8e7 52%,#12388a);transform-origin:right center}.door-right::after{right:auto;left:7%}.english-door .door{background:linear-gradient(135deg,#6c35bf,#e552bd 54%,#ff8a65)}.english-door .door-right{background:linear-gradient(225deg,#6c35bf,#e552bd 54%,#ff8a65)}.english-door .door::after{color:#8a3ab3}.door-welcome{position:absolute;z-index:1;inset:0;display:grid;align-content:center;justify-items:center;gap:9px;padding:32px;text-align:center;color:#fff}.door-welcome span{font-size:.75rem;font-weight:1000;letter-spacing:2px}.door-welcome strong{font-family:"Baloo 2",sans-serif;font-size:clamp(2rem,5vw,4.2rem);line-height:1;background:linear-gradient(90deg,#fff,#aaf4ff,#ffe67b,#fff);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:textShimmer 2.5s linear infinite}.door-welcome small{font-size:1rem;font-weight:900;color:#fff8cf}.course-door-transition.is-opening .door-left{animation:doorOpenLeft .82s cubic-bezier(.75,0,.2,1) forwards}.course-door-transition.is-opening .door-right{animation:doorOpenRight .82s cubic-bezier(.75,0,.2,1) forwards}.course-door-transition.is-opening .door-welcome{animation:doorWelcome .84s ease-out both}@keyframes doorOpenLeft{to{transform:perspective(900px) rotateY(-101deg)}}@keyframes doorOpenRight{to{transform:perspective(900px) rotateY(101deg)}}@keyframes doorWelcome{from{opacity:0;transform:scale(.84)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.course-orbit-grid{width:100%}.course-orbit-grid .course-orbit{grid-template-columns:100px minmax(0,1fr) auto;min-height:145px;padding:20px 18px 18px;gap:13px;border-radius:24px}.course-orbit-grid .course-orbit::before{top:8px;left:17px;font-size:.45rem}.course-orbit-grid .course-orbit::after{display:none}.course-orbit-grid .orbit-ring{border-radius:19px}.course-orbit-grid .course-orbit-art{width:95px}.course-orbit-grid .course-orbit-copy{gap:4px}.course-orbit-grid .course-orbit-copy strong{font-size:1.08rem}.course-orbit-grid .course-orbit-copy small{font-size:.58rem}.door-stage{height:min(430px,68vh);border-width:4px;border-radius:23px}.door::before{inset:9% 10%;border-width:2px}.door::after{width:34px;height:34px;font-size:1.2rem}.door-welcome strong{font-size:2rem}.door-welcome small{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.course-door-transition{transition:none}.course-door-transition.is-opening .door-left,.course-door-transition.is-opening .door-right,.course-door-transition.is-opening .door-welcome{animation:none}.course-door-transition.is-opening{opacity:1}}

/* Course dashboard V2 — calm cinematic identity with clear visual hierarchy. */
.course-dashboard-v2{width:min(1460px,100%);padding:14px 16px 18px}.course-dashboard-v2 .brand-lockup{width:min(430px,calc(100% - 28px));min-height:64px;margin:0 auto 9px;padding:7px 14px;border-radius:22px;background:linear-gradient(120deg,rgba(236,248,255,.28),rgba(255,255,255,.12));border:1px solid rgba(255,255,255,.76);box-shadow:0 15px 34px rgba(8,32,86,.14),inset 0 1px rgba(255,255,255,.74);backdrop-filter:blur(8px) saturate(122%)}.course-dashboard-v2 .brand-lockup::before{flex-basis:54px;width:54px;height:54px;border-radius:15px}.course-dashboard-v2 .brand-lockup span{color:#f5fbff;font-size:.57rem;letter-spacing:1.55px}.course-dashboard-v2 .brand-lockup strong{font-size:clamp(1.28rem,2vw,1.75rem);background-image:linear-gradient(90deg,#fff,#8de8ff 45%,#ffe090);filter:drop-shadow(0 3px 6px rgba(6,29,83,.5))}
.course-dashboard-v2 .learner-welcome{width:min(860px,calc(100% - 28px));min-height:58px;margin:0 auto 16px;padding:9px 14px 9px 10px;border-radius:20px;background:linear-gradient(100deg,rgba(15,60,146,.58),rgba(53,115,185,.35) 56%,rgba(255,255,255,.18));border:1px solid rgba(255,255,255,.7);box-shadow:0 14px 30px rgba(6,29,80,.18),inset 0 1px rgba(255,255,255,.38);backdrop-filter:blur(9px) saturate(128%)}.course-dashboard-v2 .learner-welcome .student-avatar{width:42px;height:42px;border-radius:13px}.course-dashboard-v2 .learner-welcome p{font-size:clamp(1.12rem,1.65vw,1.48rem);text-align:center}.course-dashboard-v2 .learner-welcome .sign-out{padding:8px 13px;background:rgba(255,255,255,.82);box-shadow:0 6px 13px rgba(12,45,111,.15)}
.course-dashboard-v2 .dashboard-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(20px,2.2vw,34px);align-items:stretch}.course-dashboard-v2 .award-showcase,.course-dashboard-v2 .learning-gateways{min-height:570px;padding:25px clamp(18px,2vw,28px);border-radius:34px;border:1px solid rgba(255,255,255,.76);background:linear-gradient(145deg,rgba(244,251,255,.2),rgba(204,230,255,.09));box-shadow:0 24px 52px rgba(5,28,78,.17),inset 0 1px rgba(255,255,255,.74);backdrop-filter:blur(7px) saturate(118%)}.course-dashboard-v2 .award-showcase{background:linear-gradient(145deg,rgba(255,247,216,.2),rgba(229,238,255,.1) 58%,rgba(187,157,255,.1))}.course-dashboard-v2 .cinematic-panel-glow{opacity:.2}.course-dashboard-v2 .panel-heading h2{margin-top:9px;font-size:clamp(2rem,3.1vw,2.9rem);line-height:.95;-webkit-text-stroke:.7px rgba(255,255,255,.96);filter:drop-shadow(0 5px 8px rgba(8,35,96,.45))}.course-dashboard-v2 .heading-kicker{background:rgba(255,255,255,.62);border-color:rgba(255,255,255,.85);color:#174b98}.course-dashboard-v2 .course-heading p{margin-top:7px;background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.74);box-shadow:0 5px 12px rgba(8,40,105,.1)}
.course-dashboard-v2 .hero-card-grid{gap:17px;margin-top:21px}.course-dashboard-v2 .hero-student-card{min-height:385px;align-content:center;padding:29px 12px 15px;border:1px solid rgba(255,211,94,.84);border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.52),rgba(255,239,192,.18) 58%,rgba(90,181,255,.12));box-shadow:0 18px 35px rgba(42,43,45,.16),inset 0 1px rgba(255,255,255,.88)}.course-dashboard-v2 .hero-student-card:nth-child(2){border-color:rgba(186,112,237,.72);background:linear-gradient(160deg,rgba(255,255,255,.52),rgba(237,221,255,.19) 58%,rgba(86,204,242,.12))}.course-dashboard-v2 .hero-student-card::before{inset:7px;border-radius:21px;border-color:rgba(255,255,255,.64)}.course-dashboard-v2 .hero-student-card::after{top:15px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.56);font-size:.48rem}.course-dashboard-v2 .hero-crown{top:-20px;font-size:2.45rem}.course-dashboard-v2 .hero-photo{width:min(100%,176px);border-width:5px;box-shadow:0 0 0 7px rgba(255,255,255,.34),0 18px 30px rgba(24,67,150,.2)}.course-dashboard-v2 .hero-class{margin-top:-23px;padding:5px 17px;border-radius:11px;font-size:1.18rem}.course-dashboard-v2 .hero-name{margin-top:3px;padding:11px 7px 10px;border:0;border-radius:13px;background-color:rgba(255,255,255,.64);font-size:clamp(1.02rem,1.55vw,1.35rem)}.course-dashboard-v2 .week-pill{margin-top:7px;padding:6px 17px}
.course-dashboard-v2 .course-orbit-grid{width:100%;margin-top:21px;gap:18px}.course-dashboard-v2 .gateway-card{grid-template-columns:145px minmax(0,1fr) 48px;min-height:210px;padding:24px 25px 20px;border-radius:28px;gap:22px;border:1px solid rgba(109,213,255,.78);background:linear-gradient(112deg,rgba(218,246,255,.56),rgba(255,255,255,.27) 57%,rgba(68,169,238,.18));box-shadow:0 18px 34px rgba(14,67,150,.16),inset 0 1px rgba(255,255,255,.9);overflow:hidden;text-align:left;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.course-dashboard-v2 .gateway-card.english-orbit{border-color:rgba(222,131,228,.72);background:linear-gradient(112deg,rgba(245,226,255,.54),rgba(255,255,255,.27) 57%,rgba(235,116,176,.18))}.course-dashboard-v2 .gateway-card:hover{transform:translateX(8px) scale(1.012);border-color:#44c8f3;box-shadow:0 24px 43px rgba(14,67,150,.24),inset 0 1px rgba(255,255,255,.94)}.course-dashboard-v2 .gateway-card.english-orbit:hover{border-color:#d467d8;box-shadow:0 24px 43px rgba(143,51,156,.21),inset 0 1px rgba(255,255,255,.94)}.course-dashboard-v2 .gateway-card .orbit-ring{inset:7px;border-radius:22px;border:1px solid rgba(255,255,255,.58);box-shadow:inset 0 0 32px rgba(67,187,238,.08)}.course-dashboard-v2 .gateway-card::before{content:"COMMUNICATION • SKILLS";top:15px;left:auto;right:20px;padding:5px 11px;transform:none;background:rgba(255,255,255,.67);color:#1764ad}.course-dashboard-v2 .gateway-card.english-orbit::before{content:"READ • WRITE • CREATE";color:#9445a9}.course-dashboard-v2 .gateway-card::after{content:"OPEN THE COURSE";right:23px;bottom:12px;color:#1a5fac;font-size:.49rem;letter-spacing:1.45px}.course-dashboard-v2 .gateway-card.english-orbit::after{color:#9845aa}.course-dashboard-v2 .gateway-card .course-orbit-art{width:143px;animation:gatewayIconFloat 4.6s ease-in-out infinite}.course-dashboard-v2 .gateway-card .course-orbit-art img{filter:drop-shadow(0 14px 13px rgba(16,58,146,.22))}.course-dashboard-v2 .gateway-card.english-orbit .course-orbit-art img{filter:drop-shadow(0 14px 13px rgba(144,48,151,.2))}.course-dashboard-v2 .gateway-card .course-orbit-copy{gap:8px}.course-dashboard-v2 .gateway-card .course-orbit-copy strong{font-size:clamp(1.42rem,2.15vw,1.92rem);letter-spacing:.4px}.course-dashboard-v2 .gateway-card .course-orbit-copy small{padding:5px 12px;background:rgba(255,255,255,.62);font-size:.72rem}.course-dashboard-v2 .gateway-card .course-arrow{width:46px;height:46px;border-width:2px;box-shadow:0 9px 18px rgba(19,67,157,.22)}
.course-dashboard-v2 .dashboard-credit{margin-top:14px;background:linear-gradient(105deg,rgba(13,51,132,.78),rgba(72,55,154,.72),rgba(17,139,168,.7));border-color:rgba(255,255,255,.58)}@keyframes gatewayIconFloat{50%{transform:translateY(-5px) scale(1.02)}}
@media(max-width:980px){.course-dashboard-v2 .dashboard-grid{grid-template-columns:1fr}.course-dashboard-v2 .award-showcase,.course-dashboard-v2 .learning-gateways{min-height:auto}.course-dashboard-v2 .hero-student-card{min-height:340px}.course-dashboard-v2 .gateway-card{grid-template-columns:125px minmax(0,1fr) 44px;min-height:185px}.course-dashboard-v2 .gateway-card .course-orbit-art{width:122px}}
@media(max-width:560px){.course-dashboard-v2{padding:10px 8px 24px}.course-dashboard-v2 .brand-lockup{min-height:56px}.course-dashboard-v2 .learner-welcome{width:100%;padding:8px;gap:8px}.course-dashboard-v2 .learner-welcome p{flex:1 1 210px;font-size:.93rem}.course-dashboard-v2 .award-showcase,.course-dashboard-v2 .learning-gateways{padding:20px 11px;border-radius:25px}.course-dashboard-v2 .panel-heading h2{font-size:1.65rem}.course-dashboard-v2 .hero-card-grid{gap:9px}.course-dashboard-v2 .hero-student-card{min-height:290px;padding:25px 7px 11px}.course-dashboard-v2 .hero-photo{width:112px}.course-dashboard-v2 .hero-name{font-size:.83rem}.course-dashboard-v2 .gateway-card{grid-template-columns:88px minmax(0,1fr) 34px;min-height:138px;padding:18px 12px 14px;gap:10px;border-radius:21px}.course-dashboard-v2 .gateway-card::before{top:7px;right:10px;font-size:.38rem;padding:3px 6px}.course-dashboard-v2 .gateway-card::after{display:none}.course-dashboard-v2 .gateway-card .course-orbit-art{width:88px}.course-dashboard-v2 .gateway-card .course-orbit-copy{gap:4px}.course-dashboard-v2 .gateway-card .course-orbit-copy strong{font-size:1.03rem;text-align:left}.course-dashboard-v2 .gateway-card .course-orbit-copy small{padding:3px 7px;font-size:.5rem}.course-dashboard-v2 .gateway-card .course-arrow{width:34px;height:34px;font-size:1rem}}

/* Compact course gateways keep both subjects visible without unnecessary scrolling. */
@media(min-width:981px){.course-dashboard-v2 .award-showcase,.course-dashboard-v2 .learning-gateways{min-height:500px;padding-top:19px;padding-bottom:19px}.course-dashboard-v2 .course-orbit-grid{margin-top:14px;gap:12px}.course-dashboard-v2 .gateway-card{grid-template-columns:112px minmax(0,1fr) 42px;min-height:164px;padding:18px 20px 15px;gap:17px;border-radius:24px}.course-dashboard-v2 .gateway-card .orbit-ring{border-radius:18px}.course-dashboard-v2 .gateway-card .course-orbit-art{width:110px}.course-dashboard-v2 .gateway-card .course-orbit-copy{gap:5px}.course-dashboard-v2 .gateway-card .course-orbit-copy strong{font-size:clamp(1.25rem,1.8vw,1.62rem)}.course-dashboard-v2 .gateway-card .course-orbit-copy small{padding:4px 10px;font-size:.66rem}.course-dashboard-v2 .gateway-card .course-arrow{width:40px;height:40px}.course-dashboard-v2 .gateway-card::before{top:10px;right:16px;padding:4px 9px;font-size:.48rem}.course-dashboard-v2 .gateway-card::after{right:18px;bottom:8px;font-size:.44rem}.course-dashboard-v2 .course-heading h2{font-size:clamp(1.85rem,2.65vw,2.5rem)}}

/* Viewport-fit dashboard: richer colour, shorter cards and no desktop overflow. */
.course-dashboard-v2 .brand-lockup span{color:#123c78;text-shadow:0 1px rgba(255,255,255,.72)}.course-dashboard-v2 .brand-lockup strong{background-image:linear-gradient(100deg,#082d73 0%,#087ba7 52%,#9a6114 100%);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 2px 0 rgba(255,255,255,.68)) drop-shadow(0 4px 6px rgba(7,38,91,.2))}.course-dashboard-v2 .hero-heading h2{background-image:linear-gradient(100deg,#8b3d09 0%,#dc5a21 27%,#0873a7 59%,#5b2d91 100%);-webkit-text-fill-color:transparent;-webkit-text-stroke:0;text-shadow:none;filter:drop-shadow(0 2px 0 rgba(255,255,255,.62)) drop-shadow(0 5px 7px rgba(38,28,68,.28))}.course-dashboard-v2 .course-heading h2{background-image:linear-gradient(100deg,#082d73 0%,#006b9c 44%,#63318f 76%,#a43c68 100%);-webkit-text-fill-color:transparent;-webkit-text-stroke:0;text-shadow:none;filter:drop-shadow(0 2px 0 rgba(255,255,255,.68)) drop-shadow(0 5px 7px rgba(7,38,91,.25))}.course-dashboard-v2 .gateway-card .course-orbit-copy strong{-webkit-text-fill-color:transparent;-webkit-text-stroke:0;text-shadow:none;filter:drop-shadow(0 2px 0 rgba(255,255,255,.72)) drop-shadow(0 4px 6px rgba(8,46,111,.2))}.course-dashboard-v2 .gateway-card.connect-orbit .course-orbit-copy strong{background-image:linear-gradient(100deg,#073883,#0079ad 52%,#2958b8)}.course-dashboard-v2 .gateway-card.english-orbit .course-orbit-copy strong{background-image:linear-gradient(100deg,#57258f,#a52b96 52%,#c94e61)}.course-dashboard-v2 .hero-name{-webkit-text-fill-color:transparent;-webkit-text-stroke:0;text-shadow:none;filter:drop-shadow(0 2px 0 rgba(255,255,255,.76))}.course-dashboard-v2 .learner-welcome p{color:#dff7ff;text-shadow:0 2px 0 #153779,0 4px 11px rgba(4,25,71,.55)}
@media(min-width:981px){.course-dashboard-v2{padding-top:7px;padding-bottom:8px}.course-dashboard-v2 .brand-lockup{min-height:56px;margin-bottom:7px;padding-top:5px;padding-bottom:5px}.course-dashboard-v2 .brand-lockup::before{width:48px;height:48px;flex-basis:48px}.course-dashboard-v2 .learner-welcome{min-height:50px;margin-bottom:10px;padding-top:6px;padding-bottom:6px}.course-dashboard-v2 .dashboard-grid{height:clamp(450px,calc(100vh - 330px),515px);gap:22px}.course-dashboard-v2 .award-showcase,.course-dashboard-v2 .learning-gateways{min-height:0;height:100%;padding:15px 20px;border-radius:29px}.course-dashboard-v2 .panel-heading h2{margin-top:4px;font-size:clamp(1.7rem,2.25vw,2.2rem);line-height:1}.course-dashboard-v2 .heading-kicker{padding:4px 11px;font-size:.62rem}.course-dashboard-v2 .week-pill{margin-top:3px;padding:5px 14px}.course-dashboard-v2 .hero-card-grid{height:calc(100% - 108px);margin-top:9px;gap:14px}.course-dashboard-v2 .hero-student-card{min-height:0;height:100%;padding:22px 9px 9px;gap:3px;border-radius:23px}.course-dashboard-v2 .hero-student-card::before{border-radius:17px}.course-dashboard-v2 .hero-student-card::after{top:10px;padding:3px 8px;font-size:.42rem}.course-dashboard-v2 .hero-crown{top:-15px;font-size:1.9rem}.course-dashboard-v2 .hero-photo{width:min(68%,132px);border-width:4px;box-shadow:0 0 0 5px rgba(255,255,255,.3),0 12px 22px rgba(24,67,150,.18)}.course-dashboard-v2 .hero-photo span{font-size:2.4rem}.course-dashboard-v2 .hero-class{margin-top:-18px;padding:3px 13px;font-size:.98rem}.course-dashboard-v2 .hero-name{padding:7px 5px 6px;font-size:clamp(.86rem,1.2vw,1.08rem)}.course-dashboard-v2 .course-heading p{padding:4px 10px;font-size:.72rem}.course-dashboard-v2 .course-orbit-grid{margin-top:10px;gap:10px}.course-dashboard-v2 .gateway-card{grid-template-columns:94px minmax(0,1fr) 36px;min-height:0;height:145px;padding:14px 17px 12px;gap:14px;border-radius:22px}.course-dashboard-v2 .gateway-card .course-orbit-art{width:92px}.course-dashboard-v2 .gateway-card .course-orbit-copy strong{font-size:clamp(1.16rem,1.5vw,1.42rem)}.course-dashboard-v2 .gateway-card .course-orbit-copy small{font-size:.61rem}.course-dashboard-v2 .gateway-card .course-arrow{width:35px;height:35px}.course-dashboard-v2 .gateway-card::before{top:7px;right:12px;font-size:.42rem}.course-dashboard-v2 .gateway-card::after{bottom:5px;font-size:.39rem}.course-dashboard-v2 .dashboard-credit{margin-top:7px;padding:6px 15px}.course-dashboard-v2 .dashboard-credit strong{font-size:1.05rem}}

/* Content-sized course cards with clear action labels. */
@media(min-width:981px){.course-dashboard-v2 .course-orbit-grid{width:min(100%,600px);margin:16px auto 0;gap:11px}.course-dashboard-v2 .gateway-card{width:100%;height:132px;grid-template-columns:84px minmax(0,1fr) 38px;padding:13px 15px 11px;gap:13px;border-radius:21px;justify-self:center}.course-dashboard-v2 .gateway-card .orbit-ring{inset:6px;border-radius:16px}.course-dashboard-v2 .gateway-card .course-orbit-art{width:82px}.course-dashboard-v2 .gateway-card .course-orbit-copy{gap:4px}.course-dashboard-v2 .gateway-card .course-orbit-copy strong{font-size:clamp(1.15rem,1.42vw,1.36rem)}.course-dashboard-v2 .gateway-card .course-orbit-copy small{padding:4px 9px;background:rgba(255,255,255,.78);color:#153e7d;font-size:.62rem}.course-dashboard-v2 .gateway-card.english-orbit .course-orbit-copy small{color:#71338f}.course-dashboard-v2 .gateway-card .course-arrow{width:36px;height:36px}.course-dashboard-v2 .gateway-card::before{top:7px;right:10px;padding:4px 8px;font-size:.4rem}.course-dashboard-v2 .gateway-card::after{content:"OPEN COURSE";right:10px;bottom:7px;padding:4px 8px;border:1px solid rgba(24,91,161,.28);border-radius:999px;background:rgba(255,255,255,.84);color:#104f91;font-size:.52rem;font-weight:1000;letter-spacing:.5px}.course-dashboard-v2 .gateway-card.english-orbit::after{border-color:rgba(154,62,168,.28);color:#8b3d9b}}

/* Show the complete school logo in the course header instead of a cropped icon. */
.course-dashboard-v2 .brand-lockup{width:min(620px,calc(100% - 28px));min-height:102px;gap:16px;padding:4px 18px}.course-dashboard-v2 .brand-lockup::before{display:none}.course-dashboard-v2 .brand-lockup img{display:block;width:160px;height:96px;flex:0 0 160px;object-fit:contain;object-position:center;filter:drop-shadow(0 5px 9px rgba(9,33,91,.2))}.course-dashboard-v2 .brand-lockup div{text-align:left}.course-dashboard-v2 .brand-lockup span{font-size:.61rem}.course-dashboard-v2 .brand-lockup strong{font-size:clamp(1.3rem,1.9vw,1.76rem)}
@media(max-width:560px){.course-dashboard-v2 .brand-lockup{width:100%;min-height:70px;gap:9px;padding:5px 9px}.course-dashboard-v2 .brand-lockup img{width:96px;height:64px;flex-basis:96px}.course-dashboard-v2 .brand-lockup span{font-size:.49rem;letter-spacing:.7px}.course-dashboard-v2 .brand-lockup strong{font-size:1.02rem}}

/* Course dashboard V3 — school-facade glass portal inspired by a clear student gateway. */
.course-dashboard-v3 .brand-lockup{background:linear-gradient(120deg,rgba(250,253,255,.84),rgba(226,243,255,.58));border-color:rgba(255,255,255,.94);box-shadow:0 14px 32px rgba(17,49,105,.15),inset 0 1px #fff;backdrop-filter:blur(14px) saturate(128%)}.course-dashboard-v3 .learner-welcome{background:linear-gradient(105deg,rgba(250,253,255,.9),rgba(224,243,255,.7));border-color:rgba(255,255,255,.95);box-shadow:0 12px 28px rgba(17,49,105,.14),inset 0 1px #fff;backdrop-filter:blur(14px) saturate(128%)}.course-dashboard-v3 .learner-welcome p{color:#17345f;text-shadow:none}.course-dashboard-v3 .learner-welcome p strong{background-image:linear-gradient(100deg,#286ce4,#654fdb 55%,#db4e8b);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 1px rgba(255,255,255,.7))}.course-dashboard-v3 .learner-welcome .sign-out{border:0;background:linear-gradient(135deg,#396eea,#585fe5);color:#fff;box-shadow:0 8px 18px rgba(49,86,207,.28)}
.course-dashboard-v3 .award-showcase,.course-dashboard-v3 .learning-gateways{background:linear-gradient(145deg,rgba(249,253,255,.76),rgba(229,244,255,.55));border:1px solid rgba(255,255,255,.96);box-shadow:0 20px 46px rgba(13,45,101,.17),inset 0 1px #fff;backdrop-filter:blur(16px) saturate(125%)}.course-dashboard-v3 .award-showcase{background:linear-gradient(145deg,rgba(255,252,243,.78),rgba(235,245,255,.55))}.course-dashboard-v3 .cinematic-panel-glow{opacity:.13}.course-dashboard-v3 .heading-kicker{border-color:rgba(69,111,190,.18);background:rgba(255,255,255,.82);color:#31588f;box-shadow:0 5px 13px rgba(27,65,125,.09)}.course-dashboard-v3 .hero-heading h2{background-image:linear-gradient(100deg,#9e4611,#e2672c 34%,#0875a6 68%,#603391);filter:drop-shadow(0 2px rgba(255,255,255,.76))}.course-dashboard-v3 .course-heading h2{background-image:linear-gradient(100deg,#143d78,#1472a8 48%,#604197);filter:drop-shadow(0 2px rgba(255,255,255,.78))}.course-dashboard-v3 .course-heading p{background:rgba(255,255,255,.84);border-color:rgba(54,95,173,.18);color:#31527e;box-shadow:0 6px 16px rgba(21,55,115,.1)}
.course-dashboard-v3 .hero-student-card{background:linear-gradient(155deg,rgba(255,255,255,.88),rgba(255,244,211,.63));border-color:rgba(232,177,48,.62);box-shadow:0 14px 28px rgba(54,65,91,.13),inset 0 1px #fff}.course-dashboard-v3 .hero-student-card:nth-child(2){background:linear-gradient(155deg,rgba(255,255,255,.88),rgba(241,229,255,.62));border-color:rgba(157,93,216,.5)}.course-dashboard-v3 .hero-name{background-color:rgba(255,255,255,.85);filter:none}.course-dashboard-v3 .week-pill{background:linear-gradient(105deg,#fff,#fff4cb);border-color:rgba(226,172,42,.52);color:#294c7e;box-shadow:0 7px 17px rgba(124,84,12,.12)}
.course-dashboard-v3 .gateway-card::before,.course-dashboard-v3 .gateway-card::after{display:none}.course-dashboard-v3 .gateway-card .orbit-ring{display:none}.course-dashboard-v3 .gateway-card{border:1px solid rgba(70,154,220,.42);background:linear-gradient(105deg,rgba(248,253,255,.96),rgba(224,247,255,.86));box-shadow:0 14px 27px rgba(28,79,145,.14),inset 0 1px #fff;overflow:hidden}.course-dashboard-v3 .gateway-card.english-orbit{border-color:rgba(194,91,191,.38);background:linear-gradient(105deg,rgba(255,250,255,.96),rgba(249,226,245,.86))}.course-dashboard-v3 .gateway-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 34px rgba(28,79,145,.22),inset 0 1px #fff}.course-dashboard-v3 .gateway-card.english-orbit:hover{box-shadow:0 20px 34px rgba(146,56,152,.2),inset 0 1px #fff}.course-dashboard-v3 .gateway-card .course-orbit-art{animation:gatewayIconFloat 4.6s ease-in-out infinite}.course-dashboard-v3 .gateway-card .course-orbit-copy{justify-items:start;text-align:left}.course-dashboard-v3 .course-number{display:inline-flex;padding:3px 9px;border-radius:999px;background:#e8f5ff;color:#1762a5;font-family:"Nunito",sans-serif;font-size:.49rem;font-style:normal;font-weight:1000;letter-spacing:1.15px}.course-dashboard-v3 .english-orbit .course-number{background:#f8e9fb;color:#8c3c9c}.course-dashboard-v3 .gateway-card .course-orbit-copy strong{-webkit-text-fill-color:transparent;filter:none}.course-dashboard-v3 .gateway-card.connect-orbit .course-orbit-copy strong{background-image:linear-gradient(100deg,#1547a0,#0785b9 65%,#3165cf)}.course-dashboard-v3 .gateway-card.english-orbit .course-orbit-copy strong{background-image:linear-gradient(100deg,#6530a2,#b3399d 60%,#df5b79)}.course-dashboard-v3 .gateway-card .course-orbit-copy small{border:0;background:transparent;box-shadow:none;color:#45658d}.course-dashboard-v3 .gateway-card.english-orbit .course-orbit-copy small{color:#815188}
.course-dashboard-v3 .course-entry-cta{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:136px;min-height:48px;padding:7px 9px 7px 15px;border-radius:15px;background:linear-gradient(135deg,#3774ee,#5d5ee7);box-shadow:0 10px 21px rgba(55,91,211,.28),inset 0 1px rgba(255,255,255,.25);color:#fff;font-family:"Nunito",sans-serif;font-size:.72rem;font-weight:1000;letter-spacing:.35px;white-space:nowrap}.course-dashboard-v3 .english-orbit .course-entry-cta{background:linear-gradient(135deg,#8b4bd2,#dd4e9c);box-shadow:0 10px 21px rgba(160,59,160,.25)}.course-dashboard-v3 .course-entry-cta .course-arrow{position:static;width:30px;height:30px;border:0;background:rgba(255,255,255,.2);box-shadow:none;color:#fff;font-size:1.05rem;transform:none}.course-dashboard-v3 .gateway-card:hover .course-entry-cta .course-arrow{transform:translateX(3px)}
@media(min-width:981px){.course-dashboard-v3 .learning-gateways{padding-left:24px;padding-right:24px}.course-dashboard-v3 .course-orbit-grid{width:min(100%,640px);margin-top:17px;gap:13px}.course-dashboard-v3 .gateway-card{width:100%;height:138px;grid-template-columns:96px minmax(0,1fr) 136px;padding:13px 14px;gap:15px;border-radius:24px}.course-dashboard-v3 .gateway-card .course-orbit-art{width:92px}.course-dashboard-v3 .gateway-card .course-orbit-copy{gap:3px}.course-dashboard-v3 .gateway-card .course-orbit-copy strong{font-size:clamp(1.2rem,1.52vw,1.48rem)}.course-dashboard-v3 .gateway-card .course-orbit-copy small{padding:1px 0;font-size:.65rem}}
@media(max-width:980px){.course-dashboard-v3 .gateway-card{grid-template-columns:92px minmax(0,1fr) 126px;min-height:136px;padding:13px 14px;gap:12px}.course-dashboard-v3 .gateway-card .course-orbit-art{width:88px}.course-dashboard-v3 .course-entry-cta{min-width:126px;min-height:44px;font-size:.66rem}}
@media(max-width:560px){.course-dashboard-v3 .gateway-card{grid-template-columns:72px minmax(0,1fr);grid-template-areas:"art copy" "cta cta";min-height:168px;padding:13px;gap:8px 10px}.course-dashboard-v3 .gateway-card .course-orbit-art{grid-area:art;width:70px}.course-dashboard-v3 .gateway-card .course-orbit-copy{grid-area:copy}.course-dashboard-v3 .gateway-card .course-orbit-copy strong{font-size:1.06rem}.course-dashboard-v3 .course-number{font-size:.4rem;padding:2px 6px}.course-dashboard-v3 .course-entry-cta{grid-area:cta;width:100%;min-height:40px;justify-content:center;font-size:.68rem}.course-dashboard-v3 .course-entry-cta .course-arrow{width:25px;height:25px}.course-dashboard-v3 .learner-welcome p{color:#17345f;text-shadow:none}}

/* Opening-screen background layer. The login UI stays still. */
.portal-shell{isolation:isolate}
.portal-shell:has(#authPanel:not(.hidden)) .scene-shade{z-index:1}
.portal-shell:has(#authPanel:not(.hidden))::before{z-index:2}
@media(prefers-reduced-motion:reduce){
  .portal-shell:has(#authPanel:not(.hidden))::after{animation:none;transform:none}
}

/* 2026-08-30 opening screen: light cinematic scene and liquid-glass identity. */
.portal-shell:has(#authPanel:not(.hidden)){
  background-color:#e9f8ff;
  background-image:url("portal-light-learning.png");
  background-position:left center;
  background-size:cover;
}
.portal-shell:has(#authPanel:not(.hidden))::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:url("portal-light-learning.png") left center/cover no-repeat;
  transform-origin:left center;
  will-change:transform;
  animation:openingSceneBreath 24s ease-in-out infinite alternate;
}
.portal-shell:has(#authPanel:not(.hidden)) .scene-shade{
  background:linear-gradient(90deg,rgba(231,250,255,.03) 0%,rgba(255,255,255,.015) 46%,rgba(241,252,255,.11) 67%,rgba(255,250,238,.2) 100%);
}
.portal-shell:has(#authPanel:not(.hidden)) .school-brand{
  position:absolute;
  z-index:5;
  top:24px;
  left:clamp(22px,4vw,66px);
  display:flex;
  align-items:center;
  gap:11px;
  width:min(635px,56vw);
  filter:drop-shadow(0 18px 28px rgba(25,80,139,.13));
}
.portal-shell:has(#authPanel:not(.hidden)) .logo-frame{
  position:relative;
  display:block;
  flex:0 0 104px;
  width:104px;
  height:104px;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(255,255,255,.86);
  border-radius:50%;
  background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.56),transparent 48%),linear-gradient(145deg,rgba(255,255,255,.23),rgba(201,240,255,.08));
  box-shadow:0 10px 24px rgba(35,90,145,.13),inset 0 1px 1px rgba(255,255,255,.98),inset 0 -1px 1px rgba(97,190,229,.2);
  backdrop-filter:blur(20px) saturate(180%);
}
.portal-shell:has(#authPanel:not(.hidden)) .logo-frame::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:5px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  pointer-events:none;
}
.portal-shell:has(#authPanel:not(.hidden)) .logo-frame img{
  position:absolute;
  width:300px;
  height:auto;
  max-width:none;
  left:-98px;
  top:-4px;
  object-fit:contain;
  filter:drop-shadow(0 7px 10px rgba(20,55,112,.18));
}
.portal-shell:has(#authPanel:not(.hidden)) .school-brand .brand-copy{
  position:relative;
  display:grid;
  flex:1;
  place-items:center;
  align-content:center;
  gap:5px;
  min-width:0;
  height:84px;
  padding:9px 24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.78);
  border-radius:27px;
  text-align:center;
  background:radial-gradient(circle at 22% 0%,rgba(255,255,255,.38),transparent 45%),linear-gradient(125deg,rgba(255,255,255,.19),rgba(204,241,255,.065));
  box-shadow:inset 0 1px 1px rgba(255,255,255,.94),inset 0 -1px 1px rgba(120,202,232,.2);
  backdrop-filter:blur(20px) saturate(185%);
}
.portal-shell:has(#authPanel:not(.hidden)) .school-brand .brand-copy::before{
  content:"";
  position:absolute;
  left:9%;right:28%;top:3px;height:16px;
  border-radius:50%;
  background:rgba(255,255,255,.28);
  filter:blur(8px);
  pointer-events:none;
}
.portal-shell:has(#authPanel:not(.hidden)) .school-brand .brand-copy span{
  position:relative;
  z-index:1;
  font-family:"Baloo 2",sans-serif;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:2px;
  color:#2c5c91;
  text-shadow:0 1px 0 #fff,0 2px 0 rgba(138,190,215,.72),0 5px 9px rgba(25,72,124,.2);
}
.portal-shell:has(#authPanel:not(.hidden)) .school-brand .brand-copy strong{
  position:relative;
  z-index:1;
  font-family:"Baloo 2",sans-serif;
  font-size:clamp(1.5rem,2.2vw,2.12rem);
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  background:linear-gradient(105deg,#113a94 0%,#00afd1 27%,#7257dc 51%,#f0ae31 72%,#18a9ca 88%,#113a94 100%);
  background-size:250% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.35px rgba(14,62,133,.38);
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.98)) drop-shadow(0 2px 0 rgba(120,184,212,.72)) drop-shadow(0 4px 0 rgba(41,101,166,.28)) drop-shadow(0 8px 8px rgba(22,70,129,.23));
  animation:openingBrandShimmer 7s linear infinite,openingBrandLift 4.2s ease-in-out infinite;
}
.portal-shell:has(#authPanel:not(.hidden)) .portal-content{
  grid-template-columns:minmax(0,1fr) minmax(390px,520px);
}
.portal-shell:has(#authPanel:not(.hidden)) .auth-panel{
  width:min(100%,490px);
  margin-right:clamp(12px,3vw,44px);
  padding:31px 31px 28px;
  overflow:auto;
  border:1px solid rgba(255,255,255,.76);
  border-radius:36px;
  background:radial-gradient(circle at 18% 4%,rgba(255,255,255,.34),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.17),rgba(206,241,255,.06) 52%,rgba(233,218,255,.055));
  box-shadow:0 30px 75px rgba(35,80,137,.19),inset 0 1px 1px rgba(255,255,255,.98),inset 0 -1px 2px rgba(112,189,226,.2);
  backdrop-filter:blur(22px) saturate(185%) contrast(106%);
}
.portal-shell:has(#authPanel:not(.hidden)) .auth-panel::after{
  content:"";
  position:absolute;
  z-index:0;
  top:-42px;left:7%;width:62%;height:110px;
  border-radius:50%;
  background:rgba(255,255,255,.28);
  filter:blur(20px);
  pointer-events:none;
}
.portal-shell:has(#authPanel:not(.hidden)) .auth-panel .panel-school-logo{display:none}
.portal-shell:has(#authPanel:not(.hidden)) .panel-head h2{
  background:linear-gradient(100deg,#143d98,#12a1c6 45%,#7956dc);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.9)) drop-shadow(0 5px 7px rgba(20,68,130,.17));
}
.portal-shell:has(#authPanel:not(.hidden)) .creator-credit{
  position:fixed;
  z-index:6;
  left:clamp(30px,7vw,118px);
  right:auto;
  bottom:27px;
  margin:0;
  background:linear-gradient(110deg,rgba(255,255,255,.76),rgba(218,247,255,.54));
  border-color:rgba(255,255,255,.92);
  box-shadow:0 13px 29px rgba(35,79,130,.13),inset 0 1px #fff;
  text-shadow:none;
}
.portal-shell:has(#authPanel:not(.hidden)) .creator-credit span{
  color:#315c88;
  background:none;
  -webkit-text-fill-color:#315c88;
  text-shadow:0 1px #fff;
}
.portal-shell:has(#authPanel:not(.hidden)) .creator-credit strong{
  font-size:1.34rem;
  background:linear-gradient(95deg,#0c63bd,#05b3cf 27%,#7654db 52%,#f1aa24 74%,#0b87c7);
  background-size:230% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.3px rgba(30,67,143,.3);
  filter:drop-shadow(0 1px 0 #fff) drop-shadow(0 2px 0 rgba(114,182,211,.7)) drop-shadow(0 5px 6px rgba(28,70,133,.24));
}
.portal-shell:not(:has(#authPanel:not(.hidden)))>.portal-content>.creator-credit{display:none}
@keyframes openingBrandShimmer{to{background-position:240% center}}
@keyframes openingBrandLift{50%{transform:translateY(-1px) scale(1.012)}}
@keyframes openingSceneBreath{
  0%{transform:scale(1) translate3d(0,0,0)}
  50%{transform:scale(1.025) translate3d(0,-.18%,0)}
  100%{transform:scale(1.045) translate3d(0,.12%,0)}
}
@media(max-width:900px){
  .portal-shell:has(#authPanel:not(.hidden)){
    background-color:#e6f8ff;
    background-image:linear-gradient(180deg,transparent 0 42svh,#e8f8ff 58svh,#eaf7ff 100%),url("portal-light-learning.png");
  }
  .portal-shell:has(#authPanel:not(.hidden))::after{
    top:0;right:-3vw;bottom:auto;left:-3vw;height:57svh;
    background-position:left 8% top;
    background-size:auto 100%;
    animation-duration:28s;
  }
  .portal-shell:has(#authPanel:not(.hidden)) .school-brand{
    top:15px;left:12px;width:calc(100% - 24px);max-width:calc(100vw - 24px);gap:7px;
  }
  .portal-shell:has(#authPanel:not(.hidden)) .logo-frame{flex-basis:72px;width:72px;height:72px}
  .portal-shell:has(#authPanel:not(.hidden)) .logo-frame img{width:215px;left:-71px;top:-3px}
  .portal-shell:has(#authPanel:not(.hidden)) .logo-frame::after{inset:4px}
  .portal-shell:has(#authPanel:not(.hidden)) .school-brand .brand-copy{height:64px;padding:7px 8px;border-radius:20px}
  .portal-shell:has(#authPanel:not(.hidden)) .school-brand .brand-copy span{font-size:.39rem;letter-spacing:.4px}
  .portal-shell:has(#authPanel:not(.hidden)) .school-brand .brand-copy strong{font-size:clamp(.76rem,3.65vw,.96rem);-webkit-text-stroke:.2px rgba(14,62,133,.34)}
  .portal-shell:has(#authPanel:not(.hidden)) .portal-content{padding-top:47svh}
  .portal-shell:has(#authPanel:not(.hidden)) .auth-panel{width:100%;margin:0;padding:22px 18px;border-radius:28px}
  .portal-shell:has(#authPanel:not(.hidden)) .creator-credit{position:relative;left:auto;right:auto;bottom:auto;justify-content:center;margin:14px auto 0}
}

/* Course dashboard V4 — English Adventure Galaxy. */
body:has(#coursePanel:not(.hidden)){height:100%;overflow:hidden}
.portal-shell:has(#coursePanel:not(.hidden)){
  height:100svh;
  min-height:0;
  overflow:hidden;
  background-color:#bfe8ff;
  background-image:url("course-galaxy-bg.png");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  background-attachment:fixed;
}
.portal-shell:has(#coursePanel:not(.hidden))::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:-2%;
  pointer-events:none;
  background:url("course-galaxy-bg.png") center/contain no-repeat;
  transform-origin:center;
  will-change:transform;
  animation:galaxySceneBreath 28s ease-in-out infinite alternate;
}
.portal-shell:has(#coursePanel:not(.hidden))::before{z-index:1;background:linear-gradient(180deg,rgba(15,78,166,.06),transparent 24%,rgba(255,255,255,.035) 68%,rgba(92,66,172,.07))}
.portal-shell:has(#coursePanel:not(.hidden)) .scene-shade{z-index:1;background:linear-gradient(180deg,rgba(21,86,167,.04),transparent 34%,rgba(255,250,231,.05))}
.portal-shell:has(#coursePanel:not(.hidden)) .portal-content{display:block;width:100%;height:100svh;min-height:0;padding:0;overflow:hidden}

.course-dashboard-galaxy{
  display:grid;
  grid-template-columns:minmax(340px,520px) minmax(430px,1fr);
  grid-template-rows:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px 16px;
  width:min(1500px,100%);
  height:100svh;
  min-height:0;
  margin:0 auto;
  padding:18px clamp(18px,4vw,64px) 12px;
  color:#173d72;
}
.course-dashboard-galaxy .brand-lockup{
  grid-column:1;
  grid-row:1;
  justify-self:start;
  justify-content:flex-start;
  width:max-content;
  max-width:100%;
  min-height:70px;
  margin:0;
  padding:6px 18px 6px 7px;
  gap:11px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.52),rgba(211,242,255,.22));
  box-shadow:0 18px 39px rgba(22,61,123,.14),inset 0 1px rgba(255,255,255,.98);
  backdrop-filter:blur(18px) saturate(165%);
}
.course-dashboard-galaxy .brand-lockup img{display:none}
.course-dashboard-galaxy .brand-lockup::before{
  content:"";
  display:block;
  flex:0 0 70px;
  width:70px;
  height:70px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  background-color:rgba(255,255,255,.55);
  background-image:url("alandalus-school-logo-transparent.png");
  background-repeat:no-repeat;
  background-size:170px auto;
  background-position:center 3px;
  box-shadow:0 9px 20px rgba(20,73,139,.15),inset 0 1px #fff;
}
.course-dashboard-galaxy .brand-lockup div{display:grid;gap:0;text-align:left}
.course-dashboard-galaxy .brand-lockup span{color:#214d81;font-size:.55rem;font-weight:1000;letter-spacing:1.65px;text-shadow:0 1px 2px #fff}
.course-dashboard-galaxy .brand-lockup strong{
  font-family:"Baloo 2",sans-serif;
  font-size:clamp(1.28rem,2vw,1.75rem);
  line-height:1;
  white-space:nowrap;
  background:linear-gradient(100deg,#173d77 0 28%,#087fb4 48%,#6953cf 70%,#df6e9b 88%,#eba938);
  background-size:220% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.9)) drop-shadow(0 4px 5px rgba(18,55,112,.18));
  animation:creditShimmer 7s linear infinite;
}
.course-dashboard-galaxy .learner-welcome{
  grid-column:2;
  grid-row:1;
  justify-self:end;
  justify-content:flex-start;
  width:max-content;
  max-width:100%;
  min-height:58px;
  margin:0;
  padding:8px 10px 8px 12px;
  gap:10px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:999px;
  background:linear-gradient(105deg,rgba(255,255,255,.65),rgba(224,243,255,.38));
  box-shadow:0 15px 32px rgba(17,49,105,.13),inset 0 1px #fff;
  backdrop-filter:blur(17px) saturate(155%);
}
.course-dashboard-galaxy .learner-welcome .student-avatar{width:40px;height:40px;border:2px solid #fff;border-radius:14px;font-size:.85rem}
.course-dashboard-galaxy .learner-welcome p{margin:0;color:#173d70;font-family:"Baloo 2",sans-serif;font-size:clamp(1rem,1.6vw,1.35rem);font-weight:800;white-space:nowrap;text-shadow:0 1px 1px #fff,0 2px 5px rgba(26,60,118,.12)}
.course-dashboard-galaxy .learner-welcome p strong{background:linear-gradient(90deg,#087eaf,#4c63d7 52%,#d45b99);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #fff)}
.course-dashboard-galaxy .learner-welcome .sign-out{align-self:center;border:0;border-radius:14px;padding:10px 14px;color:#fff;background:linear-gradient(135deg,#315fd2,#7759df);box-shadow:0 8px 18px rgba(42,70,175,.23);font-size:.72rem;font-weight:1000}

.course-dashboard-galaxy .dashboard-grid{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:20px;width:100%;height:100%;min-height:0}
.course-dashboard-galaxy .award-showcase,.course-dashboard-galaxy .learning-gateways{position:relative;min-width:0;height:100%;min-height:0;overflow:visible;padding:12px 10px;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}
.course-dashboard-galaxy .award-showcase::after,.course-dashboard-galaxy .learning-gateways::after{display:none}
.course-dashboard-galaxy .cinematic-panel-glow{display:none}
.course-dashboard-galaxy .panel-heading{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:24px;
  background:linear-gradient(125deg,rgba(255,255,255,.56),rgba(237,248,255,.28));
  box-shadow:0 12px 28px rgba(26,64,118,.12),inset 0 1px rgba(255,255,255,.92);
  backdrop-filter:blur(9px) saturate(145%);
}
.course-dashboard-galaxy .heading-kicker{padding:5px 11px;border:1px solid rgba(53,94,169,.18);border-radius:999px;background:rgba(255,255,255,.88);color:#2457a2;font-size:.57rem;letter-spacing:1.5px;box-shadow:0 5px 12px rgba(37,79,145,.09)}
.course-dashboard-galaxy .panel-heading h2{margin:7px 0 3px;background:none;color:#173d72;-webkit-text-fill-color:#173d72;font-family:"Baloo 2",sans-serif;font-size:clamp(1.85rem,3vw,2.65rem);line-height:.96;text-shadow:0 2px 0 rgba(255,255,255,.96),0 5px 9px rgba(24,58,112,.17);filter:none}
.course-dashboard-galaxy .panel-heading h2 span{background:linear-gradient(100deg,#5167db,#8a55d3 48%,#d24d91 80%,#dd8f22);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 rgba(255,255,255,.72))}
.course-dashboard-galaxy .hero-heading h2 span{background-image:linear-gradient(100deg,#d6671c,#cf3f78 48%,#6844c5 78%,#0879a8)}
.course-dashboard-galaxy .course-heading p{display:block;margin:0;padding:0;border:0;background:none;color:#315987;font-size:.72rem;text-shadow:0 1px 1px rgba(255,255,255,.9);box-shadow:none}
.course-dashboard-galaxy .week-pill{margin-top:6px;padding:6px 15px;border:1px solid rgba(222,164,36,.48);border-radius:999px;background:linear-gradient(110deg,rgba(255,255,255,.94),rgba(255,240,178,.9));color:#1c4d94;box-shadow:0 7px 17px rgba(118,82,17,.13);font-size:.68rem}

.course-dashboard-galaxy .hero-card-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;height:calc(100% - 120px);min-height:0;margin-top:16px}
.course-dashboard-galaxy .hero-student-card{isolation:isolate;overflow:visible;align-content:center;justify-items:center;gap:5px;min-width:0;height:100%;min-height:0;padding:34px 8px 22px;border:0;border-radius:0;background:transparent;box-shadow:none}
.course-dashboard-galaxy .hero-student-card:hover{transform:none;box-shadow:none}
.course-dashboard-galaxy .hero-student-card::before{content:"";position:absolute;z-index:-2;inset:auto;left:50%;top:50%;width:min(95%,255px);aspect-ratio:1;transform:translate(-50%,-52%);border:0;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.62) 0 28%,rgba(66,194,255,.2) 46%,rgba(255,202,76,.17) 58%,transparent 72%);filter:blur(2px);animation:galaxyHaloPulse 4.5s ease-in-out infinite}
.course-dashboard-galaxy .hero-student-card:nth-child(2)::before{background:radial-gradient(circle,rgba(255,255,255,.62) 0 28%,rgba(187,101,238,.22) 46%,rgba(74,207,255,.16) 58%,transparent 72%);animation-delay:-1.8s}
.course-dashboard-galaxy .hero-student-card::after{content:"";position:absolute;z-index:-1;left:50%;bottom:17%;width:78%;height:28px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(61,170,235,.52),rgba(111,91,221,.16) 48%,transparent 72%);filter:blur(7px)}
.course-dashboard-galaxy .hero-crown{z-index:4;top:14%;color:#f2b52b;font-size:2.45rem;filter:drop-shadow(0 4px 0 rgba(255,255,255,.7)) drop-shadow(0 9px 8px rgba(128,82,4,.28))}
.course-dashboard-galaxy .hero-photo{z-index:2;width:min(76%,168px);padding:6px;border:0;border-radius:50%;background:conic-gradient(from 210deg,#f5bc35,#fff1a4,#22b6e7,#7658e5,#f5bc35);box-shadow:0 0 0 7px rgba(255,255,255,.26),0 20px 34px rgba(23,73,151,.22),0 0 34px rgba(80,201,255,.28)}
.course-dashboard-galaxy .hero-student-card:nth-child(2) .hero-photo{border:0;background:conic-gradient(from 210deg,#a95bdd,#f2a0e2,#38c6eb,#665ee7,#a95bdd);box-shadow:0 0 0 7px rgba(255,255,255,.26),0 20px 34px rgba(91,45,150,.2),0 0 34px rgba(185,93,232,.24)}
.course-dashboard-galaxy .hero-photo span{width:100%;height:100%;border:1px solid rgba(255,255,255,.76);background:radial-gradient(circle at 35% 25%,#64d6f2,#3266dc 53%,#714fdf);box-shadow:inset 0 1px rgba(255,255,255,.7)}
.course-dashboard-galaxy .hero-class{z-index:4;margin-top:-23px;padding:5px 17px;border-radius:999px;font-size:1.05rem}
.course-dashboard-galaxy .hero-name{z-index:3;width:auto;min-width:78%;margin-top:4px;padding:9px 17px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(255,255,255,.62);box-shadow:0 10px 22px rgba(24,70,137,.12),inset 0 1px rgba(255,255,255,.85);color:#126ca8;-webkit-text-fill-color:#126ca8;font-size:clamp(.9rem,1.5vw,1.15rem);font-weight:900;text-shadow:0 1px 0 #fff;filter:none;backdrop-filter:blur(12px)}
.course-dashboard-galaxy .hero-student-card:nth-child(2) .hero-name{color:#8742ac;-webkit-text-fill-color:#8742ac}

.course-dashboard-galaxy .course-orbit-grid{display:grid;grid-template-columns:1fr;align-content:center;gap:18px;width:100%;height:calc(100% - 102px);min-height:0;margin:5px 0 0}
.course-dashboard-galaxy .gateway-card{display:grid;grid-template-columns:108px minmax(0,1fr) 132px;align-items:center;justify-items:stretch;gap:15px;width:100%;min-height:174px;height:auto;padding:14px 14px 14px 18px;overflow:hidden;border:1px solid rgba(255,255,255,.86);border-radius:27px;background:linear-gradient(105deg,rgba(247,252,255,.62),rgba(210,241,255,.38));box-shadow:0 18px 36px rgba(23,67,126,.14),inset 0 1px rgba(255,255,255,.98);backdrop-filter:blur(10px) saturate(150%);text-align:left}
.course-dashboard-galaxy .gateway-card.english-orbit{border-color:rgba(255,255,255,.84);background:linear-gradient(105deg,rgba(255,251,255,.64),rgba(248,220,243,.4))}
.course-dashboard-galaxy .gateway-card:hover{transform:translateY(-4px) scale(1.008);box-shadow:0 22px 40px rgba(23,67,126,.2),inset 0 1px #fff}
.course-dashboard-galaxy .gateway-card .orbit-ring{position:absolute;display:block;inset:7px;border:1px solid rgba(255,255,255,.5);border-radius:20px;box-shadow:none}
.course-dashboard-galaxy .gateway-card .course-orbit-art{display:block;width:104px;height:auto;aspect-ratio:auto;border:0;border-radius:0;background:none;box-shadow:none;animation:gatewayIconFloat 4.5s ease-in-out infinite}
.course-dashboard-galaxy .gateway-card .course-orbit-art img{display:block;width:100%;filter:drop-shadow(0 12px 11px rgba(25,66,145,.2))}
.course-dashboard-galaxy .gateway-card .course-orbit-copy{display:grid;justify-items:start;gap:4px;text-align:left}
.course-dashboard-galaxy .course-number{display:inline-flex;width:max-content;padding:3px 8px;border:1px solid rgba(61,107,182,.12);border-radius:999px;background:rgba(255,255,255,.9);color:#2459aa;font-family:"Nunito",sans-serif;font-size:.46rem;font-style:normal;font-weight:1000;letter-spacing:1.1px;box-shadow:0 5px 11px rgba(32,77,144,.08)}
.course-dashboard-galaxy .english-orbit .course-number{color:#91439c}
.course-dashboard-galaxy .gateway-card .course-orbit-copy strong{background:none;color:#174988;-webkit-text-fill-color:#174988;font-family:"Baloo 2",sans-serif;font-size:clamp(1.25rem,2vw,1.62rem);line-height:1;text-align:left;text-shadow:0 2px 0 #fff,0 4px 7px rgba(23,62,119,.12);filter:none}
.course-dashboard-galaxy .gateway-card.english-orbit .course-orbit-copy strong{color:#743496;-webkit-text-fill-color:#743496}
.course-dashboard-galaxy .gateway-card .course-orbit-copy strong i{font-style:normal;color:#0b9dc0;-webkit-text-fill-color:#0b9dc0}
.course-dashboard-galaxy .gateway-card.english-orbit .course-orbit-copy strong i{color:#de5f91;-webkit-text-fill-color:#de5f91}
.course-dashboard-galaxy .gateway-card .course-orbit-copy small,.course-dashboard-galaxy .gateway-card.english-orbit .course-orbit-copy small{padding:0;border:0;background:none;color:#34577f;font-size:.68rem;text-shadow:0 1px 0 rgba(255,255,255,.92);box-shadow:none}
.course-dashboard-galaxy .course-entry-cta{display:grid;justify-items:center;gap:5px;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:none;color:#fff;box-shadow:none}
.course-dashboard-galaxy .english-orbit .course-entry-cta{background:none;box-shadow:none}
.course-dashboard-galaxy .course-entry-cta .course-arrow{position:relative;order:-1;width:78px;height:90px;border:5px solid #3c82df;border-radius:14px 14px 7px 7px;background:linear-gradient(145deg,#38a9db,#3564d7);box-shadow:0 12px 22px rgba(32,74,170,.25),inset 0 0 0 2px rgba(255,255,255,.82);font-size:0;transform-origin:left center;transition:transform .7s ease}
.course-dashboard-galaxy .english-orbit .course-entry-cta .course-arrow{border-color:#a954cf;background:linear-gradient(145deg,#a24fd4,#dd568e)}
.course-dashboard-galaxy .course-entry-cta .course-arrow::after{content:"";position:absolute;right:8px;top:50%;width:7px;height:7px;border-radius:50%;background:#ffe47b;box-shadow:0 0 8px #fff2a7}
.course-dashboard-galaxy .gateway-card:hover .course-entry-cta .course-arrow{transform:perspective(500px) rotateY(-12deg)}
.course-dashboard-galaxy .course-entry-cta>span{padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#2871d9,#5661df);box-shadow:0 7px 14px rgba(37,79,177,.22);font-size:.56rem;font-weight:1000;letter-spacing:.45px}
.course-dashboard-galaxy .english-orbit .course-entry-cta>span{background:linear-gradient(135deg,#7d4bc8,#d6579a)}
.course-dashboard-galaxy .gateway-card::before,.course-dashboard-galaxy .gateway-card::after{display:none}

.course-dashboard-galaxy .grade5-course-grid{grid-template-columns:1fr;align-content:center;gap:14px;height:calc(100% - 95px);margin-top:8px}
.course-dashboard-galaxy .grade5-course-grid .coming-orbit{display:grid;grid-template-columns:95px minmax(0,1fr);justify-items:start;align-items:center;gap:15px;min-height:150px;padding:16px 22px;border-radius:25px;background:linear-gradient(105deg,rgba(247,252,255,.68),rgba(226,229,255,.4));text-align:left}
.course-dashboard-galaxy .grade5-course-grid .course-orbit-art{width:86px}.course-dashboard-galaxy .grade5-course-grid .course-orbit-copy{justify-items:start}.course-dashboard-galaxy .grade5-note{background:rgba(255,255,255,.68);color:#315987}
.course-dashboard-galaxy .dashboard-credit{grid-column:1/-1;grid-row:3;justify-self:center;margin:0;padding:7px 15px;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.68);box-shadow:0 10px 20px rgba(20,68,126,.12);text-shadow:none;backdrop-filter:blur(14px)}
.course-dashboard-galaxy .dashboard-credit span{color:#284f7e;font-size:.58rem}.course-dashboard-galaxy .dashboard-credit strong{font-size:1.08rem;background:linear-gradient(90deg,#176bc0,#09aabd,#8050d2,#e6a52e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px #fff)}

@keyframes galaxySceneBreath{0%{transform:scale(.94) translate3d(-.8%,0,0)}50%{transform:scale(.98) translate3d(.8%,-.35%,0)}100%{transform:scale(1.02) translate3d(0,.25%,0)}}
@keyframes galaxyHaloPulse{50%{transform:translate(-50%,-52%) scale(1.06);opacity:.82}}

@media(min-width:981px) and (max-height:820px){
  .course-dashboard-galaxy{padding-top:10px;padding-bottom:8px;gap:7px 16px}
  .course-dashboard-galaxy .brand-lockup{min-height:58px}.course-dashboard-galaxy .brand-lockup::before{width:58px;height:58px;flex-basis:58px;background-size:142px auto}
  .course-dashboard-galaxy .learner-welcome{min-height:52px}
  .course-dashboard-galaxy .panel-heading{padding:5px 8px}.course-dashboard-galaxy .panel-heading h2{margin:4px 0 1px;font-size:clamp(1.55rem,2.5vw,2.25rem)}
  .course-dashboard-galaxy .heading-kicker{padding:3px 9px}.course-dashboard-galaxy .week-pill{margin-top:3px;padding:4px 12px}
  .course-dashboard-galaxy .hero-card-grid{height:calc(100% - 92px);margin-top:7px}
  .course-dashboard-galaxy .hero-student-card{padding-top:25px;padding-bottom:10px}.course-dashboard-galaxy .hero-photo{width:min(66%,132px)}.course-dashboard-galaxy .hero-crown{top:10%;font-size:2rem}.course-dashboard-galaxy .hero-name{padding-top:6px;padding-bottom:6px}
  .course-dashboard-galaxy .course-orbit-grid{height:calc(100% - 82px);grid-template-rows:repeat(2,minmax(150px,180px));align-content:center;gap:12px;margin-top:2px}
  .course-dashboard-galaxy .gateway-card{min-height:0;height:100%;grid-template-columns:92px minmax(0,1fr) 108px;padding:9px 11px}.course-dashboard-galaxy .gateway-card .course-orbit-art{width:88px}.course-dashboard-galaxy .course-entry-cta .course-arrow{width:64px;height:73px}
  .course-dashboard-galaxy .dashboard-credit{padding-top:4px;padding-bottom:4px}
}
@media(max-width:980px){
  body:has(#coursePanel:not(.hidden)){height:auto;overflow:auto}
  .portal-shell:has(#coursePanel:not(.hidden)){height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto;background-attachment:scroll}
  .portal-shell:has(#coursePanel:not(.hidden))::after{inset:0;background-position:center top;background-size:auto 62svh;animation-duration:30s}
  .portal-shell:has(#coursePanel:not(.hidden)) .portal-content{height:auto;min-height:100svh;overflow:visible;padding:0}
  .course-dashboard-galaxy{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;height:auto;min-height:100svh;padding:12px;gap:10px}
  .course-dashboard-galaxy .brand-lockup{grid-column:1;grid-row:1;justify-self:center}.course-dashboard-galaxy .learner-welcome{grid-column:1;grid-row:2;justify-self:center}.course-dashboard-galaxy .dashboard-grid{grid-column:1;grid-row:3;grid-template-columns:1fr;height:auto}.course-dashboard-galaxy .dashboard-credit{grid-column:1;grid-row:4;margin:2px auto 12px}
  .course-dashboard-galaxy .award-showcase,.course-dashboard-galaxy .learning-gateways{height:auto;padding:8px 2px}.course-dashboard-galaxy .hero-card-grid{height:390px}.course-dashboard-galaxy .course-orbit-grid{height:auto;margin-top:16px}.course-dashboard-galaxy .gateway-card{grid-template-columns:92px minmax(0,1fr) 126px;min-height:154px;padding:13px 14px;gap:12px}.course-dashboard-galaxy .gateway-card .course-orbit-art{width:88px}.course-dashboard-galaxy .course-entry-cta .course-arrow{width:58px;height:67px}
}
@media(max-width:560px){
  .course-dashboard-galaxy .brand-lockup{width:100%;min-height:66px;padding:5px 9px;gap:8px}.course-dashboard-galaxy .brand-lockup::before{width:58px;height:58px;flex-basis:58px;background-size:142px auto}.course-dashboard-galaxy .brand-lockup span{font-size:.4rem;letter-spacing:.7px}.course-dashboard-galaxy .brand-lockup strong{font-size:1rem}
  .course-dashboard-galaxy .learner-welcome{width:100%;justify-content:center;flex-wrap:wrap;border-radius:22px}.course-dashboard-galaxy .learner-welcome p{font-size:.9rem;white-space:normal;text-align:center}
  .course-dashboard-galaxy .panel-heading{margin:0 4px}.course-dashboard-galaxy .panel-heading h2{font-size:1.55rem}
  .course-dashboard-galaxy .hero-card-grid{height:350px;gap:6px}.course-dashboard-galaxy .hero-student-card{padding-left:1px;padding-right:1px}.course-dashboard-galaxy .hero-crown{font-size:1.8rem}.course-dashboard-galaxy .hero-photo{width:104px;padding:4px}.course-dashboard-galaxy .hero-name{min-width:92%;padding:7px 6px;font-size:.78rem}
  .course-dashboard-galaxy .gateway-card{grid-template-columns:72px minmax(0,1fr);grid-template-areas:"art copy" "cta cta";min-height:205px;padding:15px;gap:8px 10px}.course-dashboard-galaxy .gateway-card .course-orbit-art{grid-area:art;width:70px}.course-dashboard-galaxy .gateway-card .course-orbit-copy{grid-area:copy}.course-dashboard-galaxy .gateway-card .course-orbit-copy strong{font-size:1.06rem}.course-dashboard-galaxy .course-number{font-size:.4rem;padding:2px 6px}.course-dashboard-galaxy .course-entry-cta{grid-area:cta;grid-template-columns:auto auto;justify-content:center}.course-dashboard-galaxy .course-entry-cta .course-arrow{width:48px;height:56px}.course-dashboard-galaxy .course-entry-cta>span{font-size:.62rem}
}

/* V4 conflict resets for legacy V2/V3 declarations retained for safe rollback. */
.course-dashboard-v3.course-dashboard-galaxy .hero-student-card,
.course-dashboard-v3.course-dashboard-galaxy .hero-student-card:nth-child(2){border:0;background:transparent;box-shadow:none}
.course-dashboard-v3.course-dashboard-galaxy .hero-name,
.course-dashboard-v3.course-dashboard-galaxy .hero-student-card:nth-child(2) .hero-name{background-color:rgba(255,255,255,.62);background-image:none;background-clip:border-box;-webkit-background-clip:border-box;color:#126ca8!important;-webkit-text-fill-color:#126ca8;text-shadow:0 1px 0 #fff;filter:none}
.course-dashboard-v3.course-dashboard-galaxy .hero-student-card:nth-child(2) .hero-name{color:#8742ac!important;-webkit-text-fill-color:#8742ac}
.course-dashboard-v3.course-dashboard-galaxy .hero-photo img,
.course-dashboard-v3.course-dashboard-galaxy .hero-photo span{position:absolute;inset:6px;width:auto;height:auto}
.course-dashboard-v3.course-dashboard-galaxy .hero-photo img{object-fit:cover;border-radius:50%}
.course-dashboard-v3.course-dashboard-galaxy .gateway-card.connect-orbit .course-orbit-copy strong{background:none;background-image:none;background-clip:border-box;-webkit-background-clip:border-box;color:#174988!important;-webkit-text-fill-color:#174988;text-shadow:0 2px 0 #fff,0 4px 7px rgba(23,62,119,.12);filter:none}
.course-dashboard-v3.course-dashboard-galaxy .gateway-card.english-orbit .course-orbit-copy strong{background:none;background-image:none;background-clip:border-box;-webkit-background-clip:border-box;color:#743496!important;-webkit-text-fill-color:#743496;text-shadow:0 2px 0 #fff,0 4px 7px rgba(23,62,119,.12);filter:none}
.course-dashboard-v3.course-dashboard-galaxy .gateway-card.connect-orbit .course-orbit-copy strong i{color:#0b9dc0!important;-webkit-text-fill-color:#0b9dc0}.course-dashboard-v3.course-dashboard-galaxy .gateway-card.english-orbit .course-orbit-copy strong i{color:#de5f91!important;-webkit-text-fill-color:#de5f91}
.course-dashboard-v3.course-dashboard-galaxy .course-entry-cta,.course-dashboard-v3.course-dashboard-galaxy .english-orbit .course-entry-cta{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;place-items:center;justify-content:center;align-content:center;width:100%;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.course-dashboard-v3.course-dashboard-galaxy .course-entry-cta .course-arrow{position:relative;grid-area:auto;order:-1;width:78px;height:90px;border:5px solid #3c82df;border-radius:14px 14px 7px 7px;background:linear-gradient(145deg,#38a9db,#3564d7);box-shadow:0 12px 22px rgba(32,74,170,.25),inset 0 0 0 2px rgba(255,255,255,.82);font-size:0;transform-origin:left center}
.course-dashboard-v3.course-dashboard-galaxy .english-orbit .course-entry-cta .course-arrow{border-color:#a954cf;background:linear-gradient(145deg,#a24fd4,#dd568e)}
.course-dashboard-v3.course-dashboard-galaxy .course-entry-cta>span{display:block;position:static;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#2871d9,#5661df);box-shadow:0 7px 14px rgba(37,79,177,.22);color:#fff;font-size:.56rem;font-weight:1000;letter-spacing:.45px}
.course-dashboard-v3.course-dashboard-galaxy .english-orbit .course-entry-cta>span{background:linear-gradient(135deg,#7d4bc8,#d6579a)}
@media(min-width:981px) and (max-height:820px){.course-dashboard-v3.course-dashboard-galaxy .course-entry-cta .course-arrow{width:64px;height:73px}}
@media(max-width:980px){.course-dashboard-v3.course-dashboard-galaxy .course-entry-cta .course-arrow{width:58px;height:67px}}
@media(max-width:560px){.course-dashboard-v3.course-dashboard-galaxy .course-entry-cta{grid-template-columns:auto auto;grid-template-rows:1fr;width:auto}.course-dashboard-v3.course-dashboard-galaxy .course-entry-cta .course-arrow{width:48px;height:56px}}
