/* ================= "Glass" theme =================
   Frosted-glass panels floating over drifting colour blobs, Poppins + DM Sans, navy pill buttons,
   violet/pink accents and deep-violet feature cards. Turned on with "theme": "glass" in content/site.json. */
:root.glass{
  --bg:#F0EAFB; --bg2:#E7DFF8; --surface:rgba(255,255,255,.62); --surface2:rgba(255,255,255,.76); --solid:#fff;
  --ink:#24203F; --ink2:#3A3560; --muted:#5D587E; --line:rgba(84,62,150,.16);
  --brand:#6A3BE0; --navy:#29244F; --amber:#FF8A1F; --amber-ink:#2A1400; --good:#0B8F81; --bad:#D81F68;
  --violet:#8A3FE6; --pink:#FF3D9A; --orange:#FF8A1F; --mint:#18CDB0; --blue:#2F7BFF;
  --glass-b:rgba(255,255,255,.78); --btn:#29244F; --btn-ink:#fff; --pop:#fff;
  --shadow:0 18px 48px -22px rgba(74,40,160,.38); --shadow-lg:0 34px 80px -30px rgba(74,40,160,.55);
  --display:"Poppins","Segoe UI",system-ui,sans-serif; --body:"DM Sans","Segoe UI",system-ui,sans-serif;
  --r:24px; color-scheme:light;
}
:root.glass[data-theme="dark"]{
  --bg:#130F2C; --bg2:#1A1540; --surface:rgba(38,32,78,.55); --surface2:rgba(48,41,96,.62); --solid:#1E1946;
  --ink:#EEEAFE; --ink2:#D6D0F5; --muted:#A59FCB; --line:rgba(190,170,255,.16);
  --brand:#A98BFF; --navy:#E3DCFF; --amber:#FFA94D; --amber-ink:#2A1400; --good:#3FD9B8; --bad:#FF6FA6;
  --glass-b:rgba(255,255,255,.12); --btn:linear-gradient(135deg,#9B6BFF,#6A3BE0); --btn-ink:#fff; --pop:#2B2560;
  --shadow:0 18px 48px -22px rgba(0,0,0,.6); --shadow-lg:0 34px 80px -30px rgba(0,0,0,.7); color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root.glass:not([data-theme="light"]){
    --bg:#130F2C; --bg2:#1A1540; --surface:rgba(38,32,78,.55); --surface2:rgba(48,41,96,.62); --solid:#1E1946;
    --ink:#EEEAFE; --ink2:#D6D0F5; --muted:#A59FCB; --line:rgba(190,170,255,.16);
    --brand:#A98BFF; --navy:#E3DCFF; --amber:#FFA94D; --amber-ink:#2A1400; --good:#3FD9B8; --bad:#FF6FA6;
    --glass-b:rgba(255,255,255,.12); --btn:linear-gradient(135deg,#9B6BFF,#6A3BE0); --btn-ink:#fff; --pop:#2B2560;
    --shadow:0 18px 48px -22px rgba(0,0,0,.6); --shadow-lg:0 34px 80px -30px rgba(0,0,0,.7); color-scheme:dark;
  }
}

/* ---------- drifting colour blobs behind everything ---------- */
.glass body{background:var(--bg)}
.blobs{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg);pointer-events:none}
.blobs i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.78;animation:gDrift 26s ease-in-out infinite alternate}
.blobs .b1{width:46vw;height:46vw;left:-14vw;top:38vh;background:#FF3D9A}
.blobs .b2{width:42vw;height:42vw;right:-10vw;top:-16vw;background:#7B4FE0;animation-delay:-6s}
.blobs .b3{width:40vw;height:40vw;right:-8vw;bottom:-18vw;background:#FF8A1F;animation-delay:-12s}
.blobs .b4{width:22vw;height:22vw;right:4vw;top:30vh;background:#18CDB0;opacity:.6;animation-delay:-3s}
.blobs .b5{width:26vw;height:26vw;left:30vw;bottom:-14vw;background:#FFC93C;opacity:.5;animation-delay:-9s}
.blobs::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.4) 45%,rgba(255,255,255,.14) 100%)}
:root.glass[data-theme="dark"] .blobs i{opacity:.42}
:root.glass[data-theme="dark"] .blobs::after{background:linear-gradient(100deg,rgba(19,15,44,.86),rgba(19,15,44,.6) 50%,rgba(19,15,44,.45))}
@media (prefers-color-scheme:dark){:root.glass:not([data-theme="light"]) .blobs i{opacity:.42}:root.glass:not([data-theme="light"]) .blobs::after{background:linear-gradient(100deg,rgba(19,15,44,.86),rgba(19,15,44,.6) 50%,rgba(19,15,44,.45))}}
@keyframes gDrift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(4vw,-3vh) scale(1.08)}100%{transform:translate(-3vw,4vh) scale(.95)}}

.glass h1,.glass h2,.glass h3,.glass h4{font-family:var(--display);letter-spacing:-.02em}
.glass .eyebrow{color:var(--violet)}
.glass code{border-radius:6px}

/* ---------- glass panels ---------- */
.glass :is(.ccard,.row,.lcard,.mcard,.stat,.lockcard,.pw-app,.pw-pipe,.ab-card,.ab-cnt,.ab-tabs,.ab-tl>li,.ab-pc,.ab-pubs li,.ab-tc,.pcard,.pbox,.dcourse,.dkpis div,.pstats div,.dsub,.wday,.empty,.searchbtn,.iconbtn,.ubtn,.vbar,.pal .box,.udrop,.lnav a,.fbtn,.field input){
  background:var(--surface);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--glass-b);box-shadow:var(--shadow)}
.glass :is(.ccard,.lcard,.pw-app,.ab-card,.pcard,.pbox,.dcourse,.lockcard,.empty){border-radius:26px}
.glass :is(.row,.ab-tl>li,.ab-pc,.ab-pubs li,.ab-tc,.ab-cnt,.stat,.mcard,.dkpis div,.pstats div){border-radius:20px}
.glass :is(.searchbtn,.iconbtn,.ubtn,.fbtn,.field input,.chip){border-radius:999px}
.glass .chip{background:var(--surface2);border-color:var(--glass-b)}
.glass .ccard:hover,.glass .pw-app:hover,.glass a.ab-pc:hover,.glass .row:hover{border-color:#fff;box-shadow:0 26px 44px -22px rgba(74,40,160,.6)}
.glass :is(.pmodal .box,.pmodal>div,.udrop){background:var(--solid)}

/* ---------- buttons: navy pills ---------- */
.glass .btn{border:0;border-radius:999px;background:var(--btn);color:var(--btn-ink);font:700 14px/1 var(--display);letter-spacing:.03em;box-shadow:0 14px 26px -14px rgba(41,36,79,.9)}
.glass .btn:hover{transform:translateY(-2px);background:linear-gradient(135deg,#3B3570,#29244F);box-shadow:0 18px 28px -14px rgba(41,36,79,.9)}
.glass[data-theme="dark"] .btn:hover{background:linear-gradient(135deg,#B48CFF,#7A4BF0)}
.glass .btn.ghost,.glass .btn.ghost:hover{background:linear-gradient(135deg,#A57BFF,#6A3BE0);color:#fff!important;box-shadow:0 14px 26px -14px #6A3BE0}
.glass .btn.disabled{opacity:.6}
.glass .cta .btn,.glass .authcard .btn.wide,.glass .signbtn{text-transform:uppercase;letter-spacing:.08em;font-size:13px}

/* ---------- floating glass top bar ---------- */
/* a compact glass pill, centred, floating over the page (and inside the hero card on the home page) */
.glass .top{position:sticky;top:0;z-index:30;height:0;margin:0;padding:0;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}
.glass .top .wrap{position:absolute;left:0;right:0;top:26px;margin-inline:auto;width:max-content;max-width:calc(100% - 28px);height:58px;gap:6px;padding:0 7px;border-radius:999px;
  background:rgba(255,255,255,.68);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);border:1px solid rgba(255,255,255,.7);
  box-shadow:0 18px 40px -20px rgba(41,36,79,.55),inset 0 1px 0 rgba(255,255,255,.8);transition:top .35s var(--ease),box-shadow .3s,background .3s}
.glass header.top.scrolled{box-shadow:none}
.glass header.top.scrolled .wrap{top:12px;background:rgba(255,255,255,.66);box-shadow:0 22px 44px -18px rgba(41,36,79,.6),inset 0 1px 0 rgba(255,255,255,.8)}
.glass[data-theme="dark"] .top .wrap{background:rgba(40,33,86,.5);border-color:rgba(255,255,255,.16);box-shadow:0 18px 40px -20px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.1)}
.glass[data-theme="dark"] header.top.scrolled .wrap{background:rgba(40,33,86,.72)}
@media (prefers-color-scheme:dark){:root.glass:not([data-theme="light"]) .top .wrap{background:rgba(40,33,86,.5);border-color:rgba(255,255,255,.16)}:root.glass:not([data-theme="light"]) header.top.scrolled .wrap{background:rgba(40,33,86,.72)}}
.glass .top .sp{display:none}
.glass .top .mainnav{margin:0;padding:0;border-radius:999px;background:none}
.glass[data-theme="dark"] .top .mainnav{background:rgba(255,255,255,.06)}
.glass .top .searchbtn .lbl,.glass .top .searchbtn kbd{display:none}
.glass .top .searchbtn,.glass .top .iconbtn{width:42px;height:42px;padding:0;justify-content:center;background:rgba(255,255,255,.55);box-shadow:none}
.glass .top .searchbtn{display:grid;place-items:center}
.glass .top .brand{padding-right:4px}
/* room for the floating bar: the first card on each page starts under it */
.glass #view{padding-top:12px}
.glass .pw-hero,.glass .band{margin-top:0!important}
.glass .pw-hero .wrap{padding-top:120px}
.glass .band .wrap{padding-top:104px}
.glass #view>:first-child:not(.pw-hero):not(.band){margin-top:92px}
.glass .brand{font:500 15px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.glass .brand .logo{width:38px;height:38px;border-radius:12px}
.glass .mainnav .navlink{border-radius:999px;color:var(--muted);font-family:var(--display);font-weight:600;font-size:14.5px}
.glass .mainnav .navlink:hover{background:rgba(255,255,255,.7);color:var(--ink)}
.glass .mainnav .navlink.on{background:var(--btn);color:var(--btn-ink)}
.glass .mainnav .navlink.on::after{display:none}
.glass .signbtn{height:42px}
/* phones */
@media (max-width:900px){
  .glass .top .wrap{top:18px;height:54px;background:rgba(255,255,255,.82)}
  .glass .top .mainnav .navlink span{display:inline}
  .glass .pw-hero .wrap{padding-top:96px}.glass .band .wrap{padding-top:90px}
}

/* ---------- home hero: a deep-violet card with the grid animation inside ---------- */
.glass .pw-hero{width:min(1240px,calc(100% - 32px));margin:16px auto 0;border-radius:34px;min-height:min(calc(100svh - 120px),760px);box-shadow:0 40px 80px -40px rgba(41,36,79,.8);background:#29244F}
.glass .pw-scene{background:radial-gradient(circle at 0% 0%,rgba(255,61,154,.5),transparent 40%),radial-gradient(circle at 100% 100%,rgba(255,138,31,.45),transparent 42%),radial-gradient(circle at 90% 8%,rgba(24,205,176,.32),transparent 30%),linear-gradient(135deg,#29244F,#45288A)}
.glass .pw-scrim{background:linear-gradient(90deg,rgba(33,27,76,.93) 0%,rgba(33,27,76,.78) 36%,rgba(33,27,76,.3) 60%,rgba(33,27,76,0) 80%),linear-gradient(0deg,rgba(33,27,76,.5),transparent 30%)}
@media (min-width:901px) and (max-width:1180px){.glass .pw-scrim{background:linear-gradient(90deg,rgba(33,27,76,.95) 0%,rgba(33,27,76,.85) 45%,rgba(33,27,76,.4) 70%,rgba(33,27,76,.05) 90%)}}
@media (max-width:900px){.glass .pw-scrim{background:linear-gradient(180deg,rgba(33,27,76,.92) 0%,rgba(33,27,76,.8) 45%,rgba(33,27,76,.25) 75%,rgba(33,27,76,.1) 100%)}.glass .pw-hero{border-radius:28px}}
.glass .pw-hero .pw-words b{background:linear-gradient(90deg,#C7A8FF,#FF8FC4 55%,#FFC27D);-webkit-background-clip:text;background-clip:text}
.glass .pw-hero .btn{background:linear-gradient(135deg,#FFB547,#FF8A1F);color:#2A1400;box-shadow:0 14px 26px -12px rgba(255,138,31,.7)}
.glass .pw-hero .btn.ghost{background:rgba(255,255,255,.12)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.glass .pw-hero .stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:18px}
.glass .pw-hero .stat b{color:#FFC27D}
.glass .pw-copy .eyebrow{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:#FFC27D}
.glass .pw-nnn.on,.glass .pw-e{fill:#FFB547}

/* ---------- course / lecture banners: glass cards ---------- */
.glass .band{width:min(1240px,calc(100% - 32px));margin:16px auto 0;border-radius:30px;border:1px solid var(--glass-b);box-shadow:var(--shadow);overflow:hidden;
  background:linear-gradient(110deg,rgba(255,255,255,.8),rgba(255,255,255,.4) 55%,color-mix(in srgb,var(--c,var(--brand)) 14%,transparent));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.glass[data-theme="dark"] .band{background:linear-gradient(110deg,rgba(38,32,78,.8),rgba(38,32,78,.45) 55%,color-mix(in srgb,var(--c,var(--brand)) 18%,transparent))}
@media (prefers-color-scheme:dark){:root.glass:not([data-theme="light"]) .band{background:linear-gradient(110deg,rgba(38,32,78,.8),rgba(38,32,78,.45) 55%,color-mix(in srgb,var(--c,var(--brand)) 18%,transparent))}}

/* ---------- home sections ---------- */
.glass .pw-pipe span{border-radius:999px;background:var(--surface2);border-color:var(--glass-b)}
.glass .pw-aico{border-radius:18px;background:var(--surface2);border-color:var(--glass-b)}
.glass .ab-card::before{background:radial-gradient(circle at 0% 0%,rgba(255,61,154,.6),transparent 55%),radial-gradient(circle at 100% 100%,rgba(255,138,31,.55),transparent 55%),linear-gradient(135deg,#29244F,#45288A)}
.glass .ab-ink{background:var(--btn)}
.glass .ab-tabs{border-radius:999px}.glass .ab-tabs button,.glass .ab-ink{border-radius:999px}
.glass .ab-head{background:linear-gradient(90deg,var(--ink),var(--violet) 60%,var(--pink));-webkit-background-clip:text;background-clip:text}
.glass .ab-badge{border-radius:22px;background:linear-gradient(135deg,rgba(255,181,71,.25),var(--surface));border-color:var(--glass-b);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.glass .ab-medal{background:linear-gradient(135deg,#FFB547,#FF8A1F);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 8px 16px -8px rgba(255,138,31,.8)}
.glass .ab-tl::before{background:linear-gradient(var(--violet),var(--pink),var(--orange))}
.glass .cicon{border-radius:16px;box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -4px 8px rgba(0,0,0,.15),0 10px 18px -8px rgba(60,30,140,.6)}

/* ---------- sign-in: deep-violet stage, white glass card ---------- */
.glass .auth{background:radial-gradient(circle at 0% 0%,rgba(255,61,154,.5),transparent 40%),radial-gradient(circle at 100% 100%,rgba(255,138,31,.45),transparent 42%),radial-gradient(circle at 90% 8%,rgba(24,205,176,.3),transparent 30%),linear-gradient(135deg,#29244F,#45288A)}
.glass .authcard{border-radius:30px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);color:#24203F;
  --surface:rgba(255,255,255,.7);--surface2:rgba(255,255,255,.85);--ink:#24203F;--ink2:#3A3560;--muted:#5D587E;--line:rgba(84,62,150,.18);--brand:#6A3BE0;--btn:#29244F}
.glass .authcard .pfield input{border-radius:999px}
.glass .demobar{border-radius:999px}

footer{background:transparent}
.glass footer{border-top:0;margin-top:50px}
@media (prefers-reduced-motion:reduce){.blobs i{animation:none}}
.glass .ab-av span{background:var(--solid);border-color:var(--solid)}
.glass[data-theme="dark"] .top :is(.searchbtn,.iconbtn){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:var(--ink)}
.glass[data-theme="dark"] .top .mainnav .navlink:not(.on){color:var(--ink2)}
@media (prefers-color-scheme:dark){:root.glass:not([data-theme="light"]) .top :is(.searchbtn,.iconbtn){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:var(--ink)}:root.glass:not([data-theme="light"]) .top .mainnav .navlink:not(.on){color:var(--ink2)}}
.glass .footsign{color:var(--brand);font-weight:700;text-decoration:none}
.glass .top .mainnav .navlink{height:44px;padding:0 16px}
/* transparent navbar: no fill or shadow, just a hairline outline and a light blur */
.glass .top .wrap,.glass header.top.scrolled .wrap,.glass[data-theme="dark"] .top .wrap,.glass[data-theme="dark"] header.top.scrolled .wrap{background:transparent!important;box-shadow:none!important;border:1px solid rgba(84,62,150,.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.glass .top .mainnav .navlink:not(.on){color:var(--ink)}
.glass .top .mainnav .navlink:not(.on):hover{background:rgba(255,255,255,.35)}
.glass .top.over-dark .wrap{border-color:rgba(255,255,255,.3)}
.glass .top.over-dark .mainnav .navlink:not(.on){color:#fff}
.glass .top.over-dark .mainnav .navlink:not(.on):hover{background:rgba(255,255,255,.12)}
.glass .top.over-dark .mainnav .navlink.on{background:rgba(255,255,255,.92);color:#29244F}
.glass[data-theme="dark"] .top .wrap{border-color:rgba(255,255,255,.18)}
@media (prefers-color-scheme:dark){:root.glass:not([data-theme="light"]) .top .wrap{background:transparent!important;box-shadow:none!important;border-color:rgba(255,255,255,.18)}}
/* home page: the animated grid fills the whole screen */
.glass body.is-home #view{padding-top:0}
.glass body.is-home .pw-hero{width:100%;margin:0!important;border-radius:0;min-height:100vh;min-height:100svh;box-shadow:none}
.glass body.is-home footer{position:absolute;left:0;right:0;top:calc(100svh - 64px);margin:0;padding-block:20px;color:rgba(255,255,255,.72);z-index:5}
.glass body.is-home footer .footsign{color:#FFC27D}
.glass body.is-home{padding-bottom:0}
@media (max-width:700px){.glass body.is-home footer span+span{display:none}}

/* ---------- inner pages: calm and readable ----------
   A light page with near-solid white cards and dark text; only the page banners keep the home page's deep violet. */
:root.glass{--bg:#F4F2FA;--surface:rgba(255,255,255,.94);--surface2:#F7F5FC;--solid:#fff;--ink:#1E1A36;--ink2:#38335A;--muted:#5B5679;--line:rgba(60,45,120,.14);--glass-b:rgba(60,45,120,.10)}
.glass .blobs i{opacity:.22;filter:blur(120px)}
.glass .blobs::after{background:rgba(250,249,253,.78)}
.glass :is(.ccard,.row,.lcard,.mcard,.stat,.lockcard,.pcard,.pbox,.dcourse,.dkpis div,.pstats div,.dsub,.wday,.empty,.dtile,.dgroup,.dasg){background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--line);box-shadow:0 10px 30px -18px rgba(40,30,100,.35)}
.glass .band{background:radial-gradient(circle at 0% 0%,rgba(255,61,154,.32),transparent 45%),radial-gradient(circle at 100% 100%,rgba(255,138,31,.28),transparent 45%),linear-gradient(135deg,#29244F,#45288A);border-color:transparent;box-shadow:0 30px 60px -36px rgba(41,36,79,.8)}
.glass .band h1{color:#fff}.glass .band .cb-sub{color:#E3DEFA}
.glass .band .crumbs,.glass .band .crumbs a{color:#D6D0F5}
.glass .band .chip{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}
.glass .band .btn{background:linear-gradient(135deg,#FFB547,#FF8A1F);color:#2A1400!important;box-shadow:0 14px 26px -12px rgba(255,138,31,.7)}
.glass .band .btn.ghost{background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.glass .band .cta{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}
.glass .band .ctabs a{color:#E3DEFA}.glass .band .ctabs a.on{background:#fff;color:#29244F}
.glass .band canvas{opacity:.55}
.glass .top:not(.over-dark) .wrap{border-color:rgba(255,255,255,.35)!important}
.glass .top:not(.over-dark) .mainnav .navlink:not(.on){color:#fff}
.glass .top:not(.over-dark) .mainnav .navlink:not(.on):hover{background:rgba(255,255,255,.14)}
.glass .top:not(.over-dark) .mainnav .navlink.on{background:#fff;color:#29244F}
.glass footer{color:var(--muted)}
.glass .authcard .btn{color:#fff!important}
.glass .authcard .btn.ghost{color:#fff!important}
/* student / teacher dashboard tabs */
.dtabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px -18px rgba(40,30,100,.35);width:max-content;max-width:100%;margin:0 auto 22px}
.dtabs a{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;text-decoration:none;color:var(--ink2);font:600 14.5px/1 var(--display);transition:background .2s,color .2s}
.dtabs a svg{width:18px;height:18px}
.dtabs a:hover{background:var(--surface2);color:var(--ink)}
.dtabs a.on{background:var(--btn);color:#fff}
.dcourses{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.dcourses a{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14px;color:var(--ink2);background:var(--surface);border:1px solid var(--line)}
.dcourses a i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.dcourses a.on{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 22%,transparent);color:var(--ink)}
.myhost{min-height:300px}
@media (max-width:700px){.dtabs{border-radius:22px}.dtabs a{padding:0 12px;height:38px}.dtabs a span{font-size:13.5px}}
.glass .band::after{background:linear-gradient(90deg,rgba(33,27,76,.92) 0%,rgba(33,27,76,.7) 40%,rgba(33,27,76,.15) 80%)}
.glass .band .outline-btn{background:#fff;color:#29244F!important;border:0}
/* ---------- student theme: deeper colours, dark navbar, reg no on the right ---------- */
html.glass.stu:not([data-theme="dark"]){--bg:#e9e3fb}
html.glass.stu .blobs i{opacity:.9}
html.glass.stu:not([data-theme="dark"]) .blobs::after{background:linear-gradient(115deg,rgba(233,227,251,.62) 0%,rgba(233,227,251,.34) 50%,rgba(233,227,251,.12) 100%)}
.glass .top.stu .wrap,.glass .top.stu.scrolled .wrap,.glass[data-theme="dark"] .top.stu .wrap{left:16px;right:16px;width:auto;max-width:none;height:auto;padding:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0}
.glass .top.stu .stutabs{grid-column:2;background:rgba(41,36,79,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 38px -18px rgba(41,36,79,.75)}
.glass .top.stu .stutabs a{color:rgba(255,255,255,.82)}
.glass .top.stu .stutabs a:hover{background:rgba(255,255,255,.12);color:#fff}
.glass .top.stu .stutabs a.on{background:linear-gradient(135deg,#9B6BFF,#FF4FA3);color:#fff;box-shadow:0 8px 18px -8px rgba(255,79,163,.8)}
.glass .top.stu .umenu{grid-column:3;justify-self:end;margin:0}
.glass .top.stu .ubtn{height:52px;padding:0 16px 0 6px;background:rgba(41,36,79,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);color:#fff;box-shadow:0 18px 38px -18px rgba(41,36,79,.75)}
.glass .top.stu .ubtn b{color:#fff}
.glass .top.stu .ubtn .av{background:linear-gradient(135deg,#FFC93C,#FF8A1F);color:#29244F}
.glass #view>.stumy{margin-top:0!important}
.glass .stumy{padding-top:86px}
@media (max-width:1180px){.glass .top.stu .wrap,.glass .top.stu.scrolled .wrap{grid-template-columns:minmax(0,1fr) auto}.glass .top.stu .stutabs{grid-column:1;justify-self:start}.glass .top.stu .umenu{grid-column:2}}
@media (max-width:900px){.glass .top.stu .wrap,.glass .top.stu.scrolled .wrap{left:10px;right:10px;gap:8px}.glass .top.stu .ubtn{height:48px;padding:0 14px}.glass .stumy{padding-top:74px}}
/* many tabs: the tab bar takes the free space in the middle and scrolls if it must */
.glass .top.stu .wrap,.glass .top.stu.scrolled .wrap{grid-template-columns:auto minmax(0,1fr) auto}
.glass .top.stu .stutabs{grid-column:2;justify-self:center;max-width:100%}
.glass .top.stu .umenu{grid-column:3}
@media (max-width:1180px){.glass .top.stu .stutabs{justify-self:start}}
/* signed in: the page header card starts below the navbar instead of underneath it */
html.glass.stu .band{margin-top:92px!important}
html.glass.stu .band .wrap{padding-top:34px}
@media (max-width:900px){html.glass.stu .band{margin-top:80px!important}html.glass.stu .band .wrap{padding-top:26px}}
/* phones: logo + account button on the first row, the full tab bar (with labels) on its own row underneath */
@media (max-width:640px){
  .glass .top.stu .wrap,.glass .top.stu.scrolled .wrap{top:10px;left:10px;right:10px;grid-template-columns:auto minmax(0,1fr) auto;row-gap:8px}
  .glass .top.stu .brandmark{display:inline-flex!important;grid-column:1;grid-row:1;font-size:0!important;gap:0!important}
  .glass .top.stu .umenu{grid-column:3;grid-row:1}
  .glass .top.stu .ubtn{height:42px}
  .glass .top.stu .stutabs{grid-column:1/-1;grid-row:2;justify-self:stretch;padding:4px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .glass .top.stu .stutabs.at-end{-webkit-mask-image:none;mask-image:none}
  .glass .top.stu .stutabs a{height:38px;padding:0 13px;font-size:14px}
  .glass .stumy{padding-top:118px}
  html.glass.stu .band{margin-top:118px!important}
}
