
:root{
  --desktop:#d6d9df;
  --desktop2:#aeb4bd;
  --win:#f7f7f7;
  --chrome1:#eeeeee;
  --chrome2:#c9cdd3;
  --chrome3:#aeb4bc;
  --sidebar:#e8eaee;
  --ink:#20242a;
  --muted:#66707d;
  --line:#aeb4bd;
  --line2:#d6dae0;
  --blue1:#6aa7ff;
  --blue2:#2f78df;
  --blue3:#1f5fb8;
  --purple:#6d43a5;
  --orange:#e47b2c;
  --green:#39a35b;
  --red:#e84b3c;
  --shadow:0 26px 80px rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.25);
  --radius:10px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);
  background:
    radial-gradient(circle at 20% 0%,rgba(255,255,255,.65),transparent 28%),
    linear-gradient(135deg,#e5e8ee,#aeb5bf 60%,#8d96a2)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:38px 38px;opacity:.25}
a{text-decoration:none;color:inherit}
.wrap{width:min(1160px,calc(100% - 28px));margin:0 auto;padding:28px 0 60px}
.top{
  height:44px;border:1px solid #8f969f;border-radius:10px 10px 0 0;
  background:linear-gradient(180deg,#f7f7f7 0%,#d7dbe0 48%,#b8bec7 50%,#a9b0ba 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(0,0,0,.20);
  display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:0;
}
.top:before{content:"";position:absolute;left:13px;top:13px;width:12px;height:12px;border-radius:50%;background:#ff5f57;box-shadow:20px 0 #ffbd2e,40px 0 #28c840;border:1px solid rgba(0,0,0,.18)}
.brandmark{display:flex;align-items:center;gap:8px;text-align:center}
.logo{display:none}
.brandmark h1{font-size:14px;margin:0;font-weight:700;color:#30343a;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.brandmark p{display:none}
.pill{position:absolute;right:12px;top:8px;border:1px solid #8d949e;border-radius:5px;background:linear-gradient(180deg,#fff,#d7dbe2);padding:5px 9px;color:#2f3742;font-size:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.hero,.quiz-shell,.admin-card,.result-card,.course-card,.inst-card{
  background:var(--win);border:1px solid #8f969f;box-shadow:var(--shadow)
}
.hero{border-top:0;border-radius:0 0 10px 10px;overflow:hidden;position:relative}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,0));height:120px;pointer-events:none}
.hero-inner{position:relative;padding:34px 38px 38px;background:linear-gradient(180deg,#fbfbfc,#eceff3)}
.kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#5d6470;font-weight:800}
h2{font-size:clamp(34px,5vw,58px);line-height:.98;margin:10px 0 14px;letter-spacing:-.05em;color:#1f2329}
.lead{font-size:17px;line-height:1.55;color:#4b535f;max-width:760px;margin:0}
.inst-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.inst-card,.course-card,.quiz-card,.result-card,.admin-card{
  border-radius:8px;background:linear-gradient(180deg,#fff,#edf0f4);border-color:#b8bec7;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1px 3px rgba(0,0,0,.12);padding:18px
}
.inst-card:hover,.course-card:hover{background:linear-gradient(180deg,#fff,#e6ebf2)}
.inst-card.active{border-color:#2f78df;box-shadow:0 0 0 3px rgba(47,120,223,.18),inset 0 1px 0 #fff}
.inst-card h3,.course-card h3{font-size:22px;margin:0 0 5px;color:#1f2329}
.inst-card p,.course-card p{margin:0;color:#5f6875;line-height:1.45}
.courses{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.course-meta{display:flex;gap:7px;align-items:center;margin-bottom:10px}
.badge{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:4px 7px;background:linear-gradient(180deg,#efeaf8,#dcd1ee);color:#51327b;border:1px solid #c4b7dd}
.small{font-size:12px;color:#687381}
.actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:15px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #7f8791;border-radius:5px;
  padding:7px 12px;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;color:#222a35;
  background:linear-gradient(180deg,#ffffff,#d9dde4 50%,#c3c9d1);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1px 1px rgba(0,0,0,.18)
}
.btn.brand{color:#fff;border-color:#1f5fb8;background:linear-gradient(180deg,#7db6ff,#347de3 50%,#1f64c3);text-shadow:0 -1px 0 rgba(0,0,0,.35)}
.btn.secondary{background:linear-gradient(180deg,#fff,#dce1e8)}
.btn:disabled{opacity:.45;cursor:not-allowed}
input,select{
  width:100%;border:1px solid #9fa6b0;border-radius:5px;padding:8px 9px;font:inherit;background:#fff;color:#1f2329;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12)
}
input:focus,select:focus{outline:none;border-color:#2f78df;box-shadow:0 0 0 3px rgba(47,120,223,.2),inset 0 1px 2px rgba(0,0,0,.12)}
label{display:block;font-size:12px;color:#596270;font-weight:700;margin:10px 0 5px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quiz-shell{display:grid;grid-template-columns:280px 1fr;gap:0;margin-top:0;border-radius:0 0 10px 10px;border-top:0;overflow:hidden}
.side{background:linear-gradient(180deg,#eef1f5,#dfe3e9);border-right:1px solid #aeb4bd;padding:16px;min-height:560px}
.progress{height:9px;background:#c2c8d1;border-radius:99px;overflow:hidden;margin:12px 0;box-shadow:inset 0 1px 2px rgba(0,0,0,.18)}
.progress>div{height:100%;background:linear-gradient(180deg,#74b1ff,#2f78df);width:0}
main{background:#f7f8fa;padding:18px}
.question{font-size:30px;line-height:1.12;letter-spacing:-.03em;margin:0 0 16px;color:#1f2329}
.options{display:grid;gap:9px}
.option{border:1px solid #b7bec8;background:linear-gradient(180deg,#fff,#eef1f5);border-radius:7px;padding:12px 13px;cursor:pointer;text-align:left;color:#1f2329;font:inherit;box-shadow:inset 0 1px 0 #fff}
.option.selected{border-color:#2f78df;box-shadow:0 0 0 3px rgba(47,120,223,.18),inset 0 1px 0 #fff}
.option.correct{border-color:#39a35b;background:#e8f5ed}
.option.wrong{border-color:#e84b3c;background:#fff0ef}
.explanation{display:none;margin-top:14px;border-radius:7px;background:#f1f3f6;border:1px solid #c9cfd8;padding:12px;color:#3b4350}
.explanation.show{display:block}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stat{border:1px solid #b8bec7;border-radius:7px;padding:14px;background:linear-gradient(180deg,#fff,#eef1f5);box-shadow:inset 0 1px 0 #fff}
.stat strong{display:block;font-size:28px;letter-spacing:-.04em}
.table{width:100%;border-collapse:separate;border-spacing:0;margin-top:12px;overflow:hidden;border:1px solid #b8bec7;border-radius:7px;background:#fff}
.table th,.table td{text-align:left;padding:9px 10px;border-bottom:1px solid #d5dbe3;font-size:13px;vertical-align:top}
.table th{background:linear-gradient(180deg,#f7f8fa,#e3e7ed);color:#333a45}
.table tr:last-child td{border-bottom:0}
.msg{border-radius:7px;padding:10px 12px;margin:14px 0;background:#fff7df;border:1px solid #e2c879;color:#5d4714}
.review-table{margin:8px 0 0;width:100%}.review-table th,.review-table td{vertical-align:top}.review-table td:nth-child(3){font-weight:800}
.footer-links{display:none}
.theme-gokstad{--purple:#0c5f6f;--orange:#f0a028}
.hidden{display:none}
@media(max-width:850px){.inst-grid,.courses,.quiz-shell,.result-grid,.form-row{grid-template-columns:1fr}.side{min-height:auto}.hero-inner{padding:24px}.top{justify-content:center}.pill{position:static}.top{height:auto;padding:10px 12px;justify-content:space-between}.top:before{display:none}}


/* --- V6 Launchpad-style course overview -------------------------------- */
.launchpad-body{
  min-height:100vh;
  background:
    linear-gradient(180deg,rgba(5,10,20,.22),rgba(5,10,20,.28)),
    url('galaxy_background_transformed.png') center center / cover no-repeat fixed;
  color:#f4f7fb;
  overflow-x:hidden;
}
.launchpad-body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.10),transparent 22%),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 20%,rgba(0,0,0,.22) 100%);
  opacity:.85;
}
.launchpad-wrap{
  width:min(1120px,calc(100% - 36px));
  margin:0 auto;
  padding:26px 0 92px;
  position:relative;
}
.launchpad-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#edf4ff;
  text-shadow:0 1px 3px rgba(0,0,0,.55);
}
.launchpad-title{
  text-align:center;
  margin:34px auto 30px;
}
.launchpad-title .kicker{
  color:rgba(255,255,255,.66);
}
.launchpad-title h1{
  margin:8px 0 8px;
  font-size:clamp(34px,5vw,56px);
  letter-spacing:-.04em;
}
.launchpad-title p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:16px;
}
.school-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,220px));
  justify-content:center;
  gap:42px;
  margin-top:42px;
}
.course-icon-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(126px,1fr));
  gap:34px 30px;
  align-items:start;
  margin:34px auto 0;
  max-width:980px
}
.app-icon-link,
.school-icon-link{
  text-align:center;
  color:#fff;
  text-shadow:0 1px 4px rgba(0,0,0,.75);
}
.app-icon,
.school-icon{
  width:86px;
  height:86px;
  margin:0 auto 9px;
  border-radius:21px;
  position:relative;
  background:
    linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,.06) 42%,rgba(0,0,0,.16) 43%,rgba(0,0,0,.28)),
    linear-gradient(135deg,#6fa7ff,#2f78df);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(0,0,0,.32),
    0 2px 4px rgba(0,0,0,.34),
    0 10px 18px rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.34);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  font-weight:800;
  overflow:hidden;
  transition:transform .16s ease, filter .16s ease;
}
.app-icon:after,
.school-icon:after{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  top:7%;
  height:38%;
  border-radius:999px 999px 60px 60px;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.10));
  pointer-events:none;
}
.app-icon-link:hover .app-icon,
.school-icon-link:hover .school-icon{
  transform:translateY(-4px) scale(1.04);
  filter:brightness(1.08);
}
.app-title,
.school-title{
  display:block;
  font-size:13px;
  font-weight:700;
  line-height:1.18;
  max-width:132px;
  margin:0 auto;
}
.app-subtitle{
  display:block;
  font-size:11px;
  color:rgba(255,255,255,.66);
  margin-top:3px;
}
.app-icon.course-kristiania,
.school-icon.school-kristiania{
  background:
    linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.07) 42%,rgba(0,0,0,.15) 43%,rgba(0,0,0,.28)),
    linear-gradient(135deg,#8d55d7,#5b2b82 58%,#f36f21);
}
.app-icon.course-gokstad,
.school-icon.school-gokstad{
  background:
    linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.07) 42%,rgba(0,0,0,.15) 43%,rgba(0,0,0,.28)),
    linear-gradient(135deg,#37c5d8,#0c5f6f 58%,#f0a028);
}
.course-password-panel{
  display:none;
  margin:30px auto 0;
  max-width:520px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  background:rgba(8,15,25,.72);
  box-shadow:0 18px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(22px);
  padding:18px;
}
.course-password-panel.active{
  display:block;
}
.course-password-panel h2{
  font-size:22px;
  margin:0 0 6px;
  color:#fff;
}
.course-password-panel p{
  color:rgba(255,255,255,.72);
  margin:0 0 14px;
}
.launchpad-form label{
  color:rgba(255,255,255,.75);
}
.launchpad-form input{
  background:rgba(255,255,255,.90);
  color:#151923;
}
.launchpad-btn{
  color:#fff;
  border-color:rgba(255,255,255,.25);
  background:linear-gradient(180deg,#75b2ff,#2f78df 50%,#1f64c3);
  text-shadow:0 -1px 0 rgba(0,0,0,.35);
}
.launchpad-back{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:8px;
  padding:7px 10px;
  background:rgba(0,0,0,.22);
  color:#eef6ff;
  font-size:13px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.launchpad-dock{
  position:fixed;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  height:54px;
  min-width:380px;
  border-radius:18px 18px 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 30px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(18px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  z-index:20;
}
.dock-dot{
  width:34px;
  height:34px;
  border-radius:9px;
  background:linear-gradient(135deg,rgba(247,247,247,.85),rgba(154,164,178,.58));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 2px 5px rgba(0,0,0,.22);
}
@media(max-width:760px){
  .course-icon-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(126px,1fr));
  gap:34px 30px;
  align-items:start;
  margin:34px auto 0;
  max-width:980px
}
  .school-grid{grid-template-columns:1fr;gap:26px}
  .launchpad-dock{
  position:fixed;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  height:54px;
  min-width:380px;
  border-radius:18px 18px 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 30px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(18px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  z-index:20;
}
}


/* --- V8 site dark model palette -----------------------------------------
   Darker, closer to the main website: star background, glass panels,
   blue-violet highlights, restrained orange.
   ---------------------------------------------------------------------- */
:root{
  --desktop:#080b13;
  --desktop2:#111722;
  --win:#151a24;
  --chrome1:#252d39;
  --chrome2:#171d27;
  --chrome3:#0f141d;
  --sidebar:#1b2230;
  --ink:#f3f6fb;
  --muted:#aab4c3;
  --line:#323c4e;
  --line2:#273142;
  --blue1:#8fc2ff;
  --blue2:#365987;
  --blue3:#253b5c;
  --purple:#8d5cff;
  --orange:#f0a23d;
  --green:#65d58b;
  --red:#ff6b63;
  --shadow:0 28px 90px rgba(0,0,0,.55),0 2px 10px rgba(0,0,0,.42);
  --radius:14px;
}
html,body{
  color:var(--ink) !important;
  background:
    linear-gradient(180deg,rgba(4,8,16,.22),rgba(4,8,16,.50)),
    url('galaxy_background_transformed.png') center center / cover no-repeat fixed !important;
}
body:before{
  background:
    radial-gradient(circle at 22% 8%,rgba(255,255,255,.10),transparent 20%),
    radial-gradient(circle at 78% 0%,rgba(141,92,255,.12),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.30)) !important;
  opacity:.95 !important;
}

/* Mac window chrome: dark like the website windows */
.top{
  background:linear-gradient(180deg,#2a323d 0%,#1b222c 50%,#121821 100%) !important;
  border-color:#3a4658 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 8px rgba(0,0,0,.38) !important;
}
.brandmark h1{
  color:#f4f7fb !important;
  text-shadow:none !important;
}
.pill{
  background:linear-gradient(180deg,#2b3544,#171d27) !important;
  color:#a9cfff !important;
  border-color:#3a4658 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 3px rgba(0,0,0,.35) !important;
}

/* Main quiz/admin windows */
.hero,
.quiz-shell,
.admin-card,
.result-card,
.course-card,
.inst-card,
.quiz-card{
  background:linear-gradient(180deg,rgba(31,38,51,.92),rgba(18,23,33,.94)) !important;
  border-color:#354153 !important;
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.06) !important;
  color:var(--ink) !important;
}
.hero{
  border-top:0 !important;
}
.hero:before{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0)) !important;
}
.hero-inner,
main{
  background:linear-gradient(180deg,#171d27,#111720) !important;
}
.side{
  background:linear-gradient(180deg,#202836,#151b26) !important;
  border-right-color:#354153 !important;
}
.kicker{
  color:#9fbfff !important;
}
h2,
.question,
.inst-card h3,
.course-card h3,
.admin-card h3{
  color:#f5f8fd !important;
  text-shadow:none !important;
}
.lead,
.inst-card p,
.course-card p,
.explanation,
.small,
label{
  color:#c7d0df !important;
}
.badge{
  background:rgba(93,137,207,.18) !important;
  color:#b9d6ff !important;
  border-color:rgba(143,194,255,.28) !important;
}
input,
select{
  background:#111722 !important;
  color:#eef4ff !important;
  border-color:#354153 !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.35) !important;
}
input::placeholder{
  color:#6f7b8e !important;
}
input:focus,
select:focus{
  border-color:#7fb6ff !important;
  box-shadow:0 0 0 3px rgba(127,182,255,.18),inset 0 1px 2px rgba(0,0,0,.35) !important;
}

/* Buttons */
.btn{
  color:#f6f9ff !important;
  border-color:#3a4658 !important;
  background:linear-gradient(180deg,#2b3544,#171d27) !important;
  text-shadow:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 3px rgba(0,0,0,.35) !important;
}
.btn.brand,
.launchpad-btn{
  color:#fff !important;
  border-color:#4774b8 !important;
  background:linear-gradient(180deg,#4d7fc5,#365987 52%,#253b5c) !important;
}
.btn.secondary{
  background:linear-gradient(180deg,#273142,#171d27) !important;
}

/* Options and result blocks */
.option{
  color:#eef4ff !important;
  background:linear-gradient(180deg,#202836,#151b24) !important;
  border-color:#354153 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.option.selected{
  border-color:#7fb6ff !important;
  box-shadow:0 0 0 3px rgba(127,182,255,.18),inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.option.correct{
  border-color:rgba(101,213,139,.42) !important;
  background:rgba(101,213,139,.16) !important;
}
.option.wrong{
  border-color:rgba(255,107,99,.42) !important;
  background:rgba(255,107,99,.14) !important;
}
.explanation{
  background:#171d27 !important;
  border-color:#354153 !important;
}
.stat,
.table{
  background:#151b24 !important;
  border-color:#354153 !important;
  color:#eaf1fb !important;
}
.table th{
  background:#202836 !important;
  color:#f4f7fb !important;
  border-bottom-color:#354153 !important;
}
.table td{
  color:#d4deec !important;
  border-bottom-color:#2d3748 !important;
}
.msg{
  background:rgba(240,162,61,.13) !important;
  border-color:rgba(240,162,61,.32) !important;
  color:#ffdca8 !important;
}

/* Launchpad pages: closer to user's website dark model */
.launchpad-body{
  background:
    linear-gradient(180deg,rgba(4,8,16,.18),rgba(4,8,16,.42)),
    url('galaxy_background_transformed.png') center center / cover no-repeat fixed !important;
  color:#f4f7fb !important;
}
.launchpad-title .kicker{
  color:#a9cfff !important;
}
.launchpad-title h1{
  color:#f5f8fd !important;
  text-shadow:0 2px 8px rgba(0,0,0,.45) !important;
}
.launchpad-title p{
  color:rgba(222,232,246,.78) !important;
}
.launchpad-back{
  background:linear-gradient(180deg,rgba(43,53,68,.78),rgba(23,29,39,.78)) !important;
  color:#a9cfff !important;
  border-color:rgba(169,207,255,.26) !important;
}
.launchpad-top .small{
  color:rgba(230,238,250,.78) !important;
}

/* Course/school icons: muted glassy blue/purple/orange, less toy-like */
.app-icon,
.school-icon{
  background:
    linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.06) 42%,rgba(0,0,0,.20) 43%,rgba(0,0,0,.34)),
    linear-gradient(135deg,#4d7fc5,#365987 54%,#8d5cff) !important;
  border-color:rgba(255,255,255,.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    inset 0 -1px 0 rgba(0,0,0,.38),
    0 2px 4px rgba(0,0,0,.34),
    0 10px 20px rgba(0,0,0,.26) !important;
}
.app-icon.course-kristiania,
.school-icon.school-kristiania{
  background:
    linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.06) 42%,rgba(0,0,0,.20) 43%,rgba(0,0,0,.34)),
    linear-gradient(135deg,#6a58b9,#365987 58%,#f0a23d) !important;
}
.app-icon.course-gokstad,
.school-icon.school-gokstad{
  background:
    linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.06) 42%,rgba(0,0,0,.20) 43%,rgba(0,0,0,.34)),
    linear-gradient(135deg,#3b9db0,#365987 58%,#f0a23d) !important;
}
.app-title,
.school-title{
  color:#f5f8fd !important;
  text-shadow:0 1px 4px rgba(0,0,0,.75) !important;
}
.app-subtitle{
  color:rgba(222,232,246,.66) !important;
}

/* Launchpad dock: much more transparent and closer to glass shelf */
.launchpad-dock{
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.045)) !important;
  border-color:rgba(255,255,255,.13) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.16) !important;
  backdrop-filter:blur(22px) saturate(1.15) !important;
}
.dock-dot{
  background:linear-gradient(135deg,rgba(235,242,250,.58),rgba(96,111,132,.34)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 5px rgba(0,0,0,.18) !important;
}

/* Keep review table readable */
.review-table th,
.review-table td{
  color:#dbe5f2 !important;
}
/* --- END V8 site dark model palette ------------------------------------- */


/* --- V9 logos, open placeholder icons, no dock -------------------------- */
.launchpad-dock{display:none !important}
.launchpad-wrap{padding-bottom:58px !important}
.school-grid{
  grid-template-columns:repeat(2,minmax(0,280px)) !important;
  gap:44px !important;
}
.school-logo-card{
  width:190px;
  height:96px;
  margin:0 auto 12px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(31,38,51,.78),rgba(18,23,33,.78));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 42px rgba(0,0,0,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  backdrop-filter:blur(18px);
  transition:transform .16s ease, filter .16s ease, border-color .16s ease;
}
.school-logo-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.school-icon-link:hover .school-logo-card{
  transform:translateY(-4px) scale(1.03);
  filter:brightness(1.08);
  border-color:rgba(169,207,255,.34);
}
.school-title{
  font-size:14px !important;
}
.app-icon.app-icon-image{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.app-icon.app-icon-image:after{
  display:none !important;
}
.app-icon.app-icon-image img{
  width:86px;
  height:86px;
  display:block;
  border-radius:21px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    inset 0 -1px 0 rgba(0,0,0,.38),
    0 2px 4px rgba(0,0,0,.34),
    0 10px 20px rgba(0,0,0,.26);
}
.side label[for="student_ref"],
#student_ref{display:none !important}
@media(max-width:760px){
  .school-grid{grid-template-columns:1fr !important}
  .school-logo-card{width:210px}
}
/* --- END V9 logos, open placeholder icons, no dock ---------------------- */


/* --- V10 user background + tighter mobile grids -------------------------
   Uses the newly uploaded galaxy background and keeps school/course items
   side-by-side and centered on smaller screens.
   ---------------------------------------------------------------------- */

/* overall background closer to the newly uploaded image */
html,body{
  background:
    linear-gradient(180deg, rgba(5,10,18,.18), rgba(5,10,18,.44)),
    url('user_galaxy_background.png') center center / cover no-repeat fixed !important;
}

body:before,
.launchpad-body:before{
  background:
    radial-gradient(circle at 58% 32%, rgba(255,255,255,.10), transparent 16%),
    radial-gradient(circle at 82% 24%, rgba(214,149,255,.12), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.22)) !important;
  opacity:.92 !important;
}

.launchpad-body{
  background:
    linear-gradient(180deg, rgba(5,10,18,.16), rgba(5,10,18,.40)),
    url('user_galaxy_background.png') center center / cover no-repeat fixed !important;
}

/* School chooser more centered */
.school-grid{
  grid-template-columns:repeat(2, minmax(180px, 280px)) !important;
  justify-content:center !important;
  justify-items:center !important;
  align-items:start !important;
  gap:34px !important;
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.school-icon-link{
  width:100%;
  max-width:240px;
}

/* Course icons centered overall */
.course-icon-grid{
  justify-content:center !important;
  justify-items:center !important;
}

/* On smaller screens keep items side-by-side instead of stacking vertically */
@media (max-width: 760px){
  .school-grid{
    grid-template-columns:repeat(2, minmax(120px, 180px)) !important;
    gap:18px !important;
    max-width:420px !important;
  }
  .school-logo-card{
    width:100% !important;
    max-width:170px !important;
    height:86px !important;
    padding:12px !important;
  }
  .school-title{
    max-width:170px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .course-icon-grid{
    grid-template-columns:repeat(2, minmax(120px, 145px)) !important;
    gap:22px 16px !important;
    max-width:340px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .app-icon-link{
    width:100%;
    max-width:145px;
  }
  .app-title{
    max-width:135px !important;
  }
}

/* For very narrow phones, still prefer centered two-column feel if possible */
@media (max-width: 420px){
  .launchpad-wrap{
    width:min(100%, calc(100% - 20px)) !important;
  }
  .school-grid{
    grid-template-columns:repeat(2, minmax(110px, 1fr)) !important;
    gap:14px !important;
    max-width:300px !important;
  }
  .school-logo-card{
    height:78px !important;
    border-radius:18px !important;
  }
  .course-icon-grid{
    grid-template-columns:repeat(2, minmax(110px, 1fr)) !important;
    gap:18px 12px !important;
    max-width:280px !important;
  }
  .app-icon.app-icon-image img{
    width:78px !important;
    height:78px !important;
    border-radius:18px !important;
  }
}
/* --- END V10 user background + tighter mobile grids --------------------- */


/* --- V13 lecture release polish ---------------------------------------- */
input[type="date"]{
  color-scheme:dark;
}
.app-subtitle{
  line-height:1.25 !important;
}
/* --- END V13 lecture release polish ------------------------------------ */


/* --- V14 functional macOS traffic-light controls ------------------------ */
.top:before{
  display:none !important;
}
.window-controls{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  z-index:5;
}
.window-control{
  width:12px;
  height:12px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.28);
  padding:0;
  cursor:pointer;
  display:inline-block;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 1px 1px rgba(0,0,0,.16);
}
.window-control.close{
  background:#ff5f57;
}
.window-control.minimize{
  background:#ffbd2e;
}
.window-control.zoom{
  background:#28c840;
}
.window-control:hover{
  filter:brightness(1.08);
}
.window-control:active{
  transform:translateY(1px);
  filter:brightness(.92);
}
body.window-minimized .hero,
body.window-minimized .quiz-shell,
body.window-minimized .courses,
body.window-minimized .admin-card,
body.window-minimized .result-card,
body.window-minimized .result-grid,
body.window-minimized .course-password-panel{
  display:none !important;
}
body.window-minimized .wrap:after{
  content:"Window minimized — click the yellow button to restore.";
  display:block;
  text-align:center;
  margin:28px auto 0;
  width:min(460px,100%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:18px;
  color:#c7d0df;
  background:linear-gradient(180deg,rgba(31,38,51,.88),rgba(18,23,33,.92));
  box-shadow:0 18px 50px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.06);
}
body.window-zoomed .wrap{
  width:min(1440px,calc(100% - 18px)) !important;
}
body.window-zoomed .top{
  border-radius:10px 10px 0 0 !important;
}
@media(max-width:850px){
  .window-controls{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    margin-right:10px;
  }
  .top{
    justify-content:flex-start !important;
  }
  .brandmark{
    flex:1;
    justify-content:center;
  }
}
/* --- END V14 functional macOS traffic-light controls -------------------- */


/* --- V15 functional study dock + temporary notes ------------------------ */
.study-dock{
  position:fixed;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  min-height:58px;
  max-width:min(92vw,520px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:10px;
  padding:10px 14px 8px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.045));
  box-shadow:0 16px 40px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(24px) saturate(1.18);
  z-index:999;
}
.study-dock-item{
  appearance:none;
  border:0;
  background:transparent;
  color:#f5f8fd;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  min-width:54px;
  cursor:pointer;
  text-decoration:none;
  font:inherit;
  padding:0;
  text-shadow:0 1px 4px rgba(0,0,0,.70);
}
.dock-icon{
  width:38px;
  height:38px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.07) 42%,rgba(0,0,0,.22) 43%,rgba(0,0,0,.34)),
    linear-gradient(135deg,#4d7fc5,#365987 58%,#8d5cff);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 2px 5px rgba(0,0,0,.28);
  transition:transform .14s ease,filter .14s ease;
}
.study-dock-item:hover .dock-icon{
  transform:translateY(-5px) scale(1.08);
  filter:brightness(1.08);
}
.dock-label{
  font-size:10px;
  line-height:1;
  opacity:.86;
}
.dock-restore{background:linear-gradient(135deg,#607aa0,#365987 60%,#263142)}
.dock-courses{background:linear-gradient(135deg,#6a58b9,#365987 58%,#f0a23d)}
.dock-schools{background:linear-gradient(135deg,#3b9db0,#365987 58%,#8d5cff)}
.dock-notes{background:linear-gradient(135deg,#f0a23d,#8d5cff 58%,#365987)}

body:not(.window-minimized) .study-dock .study-dock-item:first-child{
  opacity:.55;
}
body.window-minimized .study-dock .study-dock-item:first-child{
  opacity:1;
}
body.window-minimized .study-dock{
  box-shadow:0 20px 60px rgba(0,0,0,.42),0 0 0 1px rgba(169,207,255,.12),inset 0 1px 0 rgba(255,255,255,.20);
}

.study-notes-panel{
  position:fixed;
  right:24px;
  bottom:92px;
  width:min(420px,calc(100vw - 32px));
  height:min(460px,calc(100vh - 128px));
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(180deg,rgba(31,38,51,.96),rgba(16,21,31,.97));
  box-shadow:0 24px 90px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(24px);
  z-index:1000;
  display:none;
  overflow:hidden;
}
.study-notes-panel.open{
  display:flex;
  flex-direction:column;
}
.notes-header{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:linear-gradient(180deg,#2a323d,#171d27);
  border-bottom:1px solid #354153;
}
.notes-header strong{
  display:block;
  color:#f5f8fd;
  font-size:14px;
}
.notes-header span{
  display:block;
  color:#aab4c3;
  font-size:11px;
  margin-top:2px;
}
.notes-actions{
  display:flex;
  gap:7px;
}
.notes-btn{
  border:1px solid #3a4658;
  border-radius:7px;
  background:linear-gradient(180deg,#2b3544,#171d27);
  color:#dbe5f2;
  padding:6px 9px;
  cursor:pointer;
}
.notes-btn.danger{
  color:#ffd0cc;
}
.study-notes-panel textarea{
  flex:1;
  width:100%;
  min-height:0;
  resize:none;
  border:0 !important;
  border-radius:0 !important;
  padding:16px !important;
  background:#101620 !important;
  color:#eaf1fb !important;
  font:15px/1.55 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif !important;
  box-shadow:none !important;
  outline:none !important;
}
.study-notes-panel textarea::placeholder{
  color:#768295 !important;
}

@media(max-width:760px){
  .study-dock{
    bottom:8px;
    padding:8px 10px 7px;
    gap:8px;
  }
  .dock-icon{
    width:34px;
    height:34px;
    border-radius:10px;
    font-size:16px;
  }
  .dock-label{
    font-size:9px;
  }
  .study-notes-panel{
    right:10px;
    left:10px;
    bottom:78px;
    width:auto;
  }
}
/* --- END V15 functional study dock + temporary notes -------------------- */


/* --- V16 dock after login + draggable/resizable notes ------------------- */
.study-dock{
  max-width:min(92vw,360px) !important;
}
.study-notes-panel{
  resize:both !important;
  min-width:280px !important;
  min-height:220px !important;
  max-width:calc(100vw - 24px) !important;
  max-height:calc(100vh - 24px) !important;
}
.notes-header{
  cursor:move !important;
  user-select:none !important;
  touch-action:none !important;
}
.study-notes-panel.dragging{
  opacity:.94;
  box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 0 1px rgba(169,207,255,.18),inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.notes-title{
  min-width:0;
}
.notes-title span{
  max-width:210px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.notes-resize-hint{
  font-size:10px;
  color:#758197;
  padding:6px 10px 8px;
  border-top:1px solid rgba(255,255,255,.06);
  background:#101620;
}
@media(max-width:760px){
  .study-notes-panel{
    resize:vertical !important;
  }
  .notes-title span{
    max-width:130px;
  }
}
/* --- END V16 dock after login + draggable/resizable notes --------------- */


/* --- V17 result page, admin security and CSV import polish -------------- */
code{
  color:#b9d6ff;
  background:rgba(169,207,255,.10);
  border:1px solid rgba(169,207,255,.16);
  border-radius:5px;
  padding:1px 4px;
}
.result-card h3{
  color:#f5f8fd;
}
.review-table{
  overflow-x:auto;
}
/* --- END V17 result page, admin security and CSV import polish ---------- */


/* --- V17.3 mobile result and login cleanup ------------------------------ */
.review-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:10px;
}
.review-table{
  min-width:760px;
}
.review-table th,
.review-table td{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.35 !important;
}
.result-lead{
  max-width:100% !important;
}
.review-cards{
  display:none;
}
.review-card{
  border:1px solid #354153;
  border-radius:14px;
  background:linear-gradient(180deg,rgba(31,38,51,.92),rgba(18,23,33,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 36px rgba(0,0,0,.25);
  padding:14px;
  margin:12px 0;
}
.review-card.is-correct{
  border-color:rgba(101,213,139,.38);
}
.review-card.is-wrong{
  border-color:rgba(255,107,99,.38);
}
.review-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#f5f8fd;
}
.review-card-top span{
  color:#aab4c3;
  font-size:12px;
}
.review-card-top strong{
  color:#b9d6ff;
}
.review-card.is-correct .review-card-top strong{
  color:#9cf0ba;
}
.review-card.is-wrong .review-card-top strong{
  color:#ffaaa5;
}
.review-card-lecture{
  margin:8px 0 12px;
  color:#aab4c3;
  font-size:12px;
}
.review-card dl{
  margin:0;
}
.review-card dt{
  color:#9fbfff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  margin-top:10px;
}
.review-card dd{
  margin:4px 0 0;
  color:#dbe5f2;
  overflow-wrap:anywhere;
  line-height:1.45;
}

/* remove accidental long strings / improve login form wrapping */
.course-password-panel,
.launchpad-title,
.result-card,
.quiz-card{
  overflow-wrap:anywhere;
}
.launchpad-form input,
.course-password-panel input{
  max-width:100%;
}

@media(max-width:760px){
  .result-card h2{
    font-size:clamp(28px,9vw,42px) !important;
    line-height:1 !important;
  }
  .result-lead{
    font-size:15px !important;
    line-height:1.45 !important;
  }
  .review-table-wrap{
    display:none;
  }
  .review-cards{
    display:block;
  }
  .quiz-shell{
    display:block !important;
  }
  .side{
    min-height:auto !important;
    border-right:0 !important;
    border-bottom:1px solid #354153 !important;
  }
  main{
    padding:14px !important;
  }
  .table th,
  .table td{
    font-size:12px !important;
    padding:8px !important;
  }
}
/* --- END V17.3 mobile result and login cleanup -------------------------- */


/* --- V17.4 clearer admin course CRUD ----------------------------------- */
.admin-course-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:16px;
}
.btn.danger{
  color:#ffd0cc !important;
  border-color:rgba(255,107,99,.45) !important;
  background:linear-gradient(180deg,rgba(96,39,44,.92),rgba(55,22,27,.96)) !important;
}
.btn.danger:hover{
  filter:brightness(1.08);
}
.admin-course-actions form{
  margin:0;
}
@media(max-width:760px){
  .admin-course-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-course-actions .btn,
  .admin-course-actions form,
  .admin-course-actions button{
    width:100%;
  }
}
/* --- END V17.4 clearer admin course CRUD ------------------------------- */


/* --- V17.5 admin redesign ---------------------------------------------- */
.admin-shell-nav{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin:0 0 14px;
}
.admin-dashboard{
  background:linear-gradient(180deg,rgba(31,38,51,.92),rgba(18,23,33,.94));
  border:1px solid #354153;
  border-radius:18px;
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.06);
  padding:22px;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:18px;
  align-items:end;
}
.admin-dashboard-title h2{
  margin:8px 0 8px;
  color:#f5f8fd !important;
}
.admin-stat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.admin-tabs{
  display:flex;
  gap:8px;
  margin:16px 0;
  overflow-x:auto;
  padding:4px 0;
}
.admin-tabs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:110px;
  border:1px solid #3a4658;
  border-radius:999px;
  padding:9px 13px;
  color:#c7d0df;
  background:linear-gradient(180deg,#273142,#171d27);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.admin-tabs a.active{
  color:#fff;
  border-color:#4774b8;
  background:linear-gradient(180deg,#4d7fc5,#365987 52%,#253b5c);
}
.admin-section-card{
  margin-top:16px;
}
.admin-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.admin-section-head h3{
  margin:5px 0 5px;
  color:#f5f8fd;
}
.admin-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:12px;
}
.admin-course-table{
  min-width:920px;
}
.admin-status{
  display:inline-flex;
  border-radius:999px;
  padding:5px 8px;
  font-size:11px;
  font-weight:800;
}
.admin-status.is-active{
  background:rgba(101,213,139,.16);
  color:#9cf0ba;
  border:1px solid rgba(101,213,139,.32);
}
.admin-status.is-hidden{
  background:rgba(255,107,99,.13);
  color:#ffaaa5;
  border:1px solid rgba(255,107,99,.30);
}
.admin-row-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
}
.admin-row-actions form{
  margin:0;
}
.admin-row-actions .btn{
  padding:6px 9px;
  font-size:12px;
}
.admin-question-editor{
  margin-top:18px;
  border-top:1px solid #354153;
  padding-top:18px;
}
.admin-inline-pill{
  position:static !important;
  justify-content:flex-start !important;
  width:max-content;
  max-width:100%;
}
.btn.danger{
  color:#ffd0cc !important;
  border-color:rgba(255,107,99,.45) !important;
  background:linear-gradient(180deg,rgba(96,39,44,.92),rgba(55,22,27,.96)) !important;
}
@media(max-width:850px){
  .admin-dashboard{
    grid-template-columns:1fr;
  }
  .admin-section-head{
    flex-direction:column;
  }
  .admin-section-head .btn{
    width:100%;
  }
  .admin-tabs a{
    min-width:96px;
  }
  .admin-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .admin-stat-grid{
    grid-template-columns:1fr;
  }
  .admin-shell-nav{
    justify-content:stretch;
  }
  .admin-shell-nav .btn{
    flex:1;
  }
}
/* --- END V17.5 admin redesign ------------------------------------------ */


/* --- V18 exam mode accounts -------------------------------------------- */
textarea{
  background:#101620 !important;
  color:#eaf1fb !important;
  border:1px solid #354153 !important;
  border-radius:10px !important;
  padding:10px !important;
  font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;
}
.app-subtitle{
  overflow-wrap:anywhere;
}
/* --- END V18 exam mode accounts ---------------------------------------- */


/* --- V18.2 admin-only forgot password ---------------------------------- */
.launchpad-form textarea{
  width:100%;
  min-height:110px;
  resize:vertical;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  padding:12px;
  background:rgba(6,10,18,.42);
  color:#eef4ff;
  font:inherit;
}
.launchpad-form textarea::placeholder{
  color:rgba(234,240,248,.55);
}
.course-password-panel .btn.secondary{
  color:#b9d6ff !important;
  background:linear-gradient(180deg,rgba(42,50,64,.92),rgba(23,29,39,.96)) !important;
  border-color:rgba(169,207,255,.24) !important;
}
/* --- END V18.2 admin-only forgot password ------------------------------ */


/* --- V18.3 exam fullscreen integrity report ---------------------------- */
.exam-fullscreen-gate{
  background:linear-gradient(180deg,rgba(31,38,51,.96),rgba(18,23,33,.98));
  border:1px solid rgba(169,207,255,.24);
  border-radius:18px;
  padding:24px;
  margin:0 0 18px;
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.06);
}
.exam-fullscreen-gate h2{
  color:#f5f8fd;
  margin:8px 0;
}
.exam-fullscreen-gate p{
  color:#c7d0df;
  line-height:1.55;
}
body.exam-fullscreen-left .top{
  box-shadow:inset 0 -2px 0 rgba(255,107,99,.55), inset 0 1px 0 rgba(255,255,255,.08), 0 1px 8px rgba(0,0,0,.38) !important;
}
.admin-exam-report-table{
  min-width:1100px;
}
.admin-warning-row td{
  background:rgba(255,107,99,.08) !important;
}
.admin-warning-row td:first-child{
  border-left:3px solid rgba(255,107,99,.75);
}
/* --- END V18.3 exam fullscreen integrity report ------------------------ */


/* --- V18.4 exam timer --------------------------------------------------- */
.exam-timer-bar{
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  border:1px solid rgba(169,207,255,.24);
  border-radius:14px;
  padding:12px 14px;
  background:linear-gradient(180deg,rgba(31,38,51,.96),rgba(18,23,33,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 28px rgba(0,0,0,.22);
}
.exam-timer-label{
  display:block;
  color:#9fbfff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
#examTimerDisplay{
  color:#f5f8fd;
  font-size:28px;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.exam-timer-status{
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:900;
  color:#b9d6ff;
  border:1px solid rgba(169,207,255,.24);
  background:rgba(169,207,255,.10);
}
.exam-timer-bar.warning{
  border-color:rgba(240,162,61,.50);
}
.exam-timer-bar.warning .exam-timer-status{
  color:#ffdca8;
  border-color:rgba(240,162,61,.40);
  background:rgba(240,162,61,.13);
}
.exam-timer-bar.danger{
  border-color:rgba(255,107,99,.58);
}
.exam-timer-bar.danger #examTimerDisplay,
.exam-timer-bar.danger .exam-timer-status{
  color:#ffaaa5;
}
@media(max-width:760px){
  .exam-timer-bar{
    position:sticky;
    top:0;
    z-index:50;
  }
}
/* --- END V18.4 exam timer ---------------------------------------------- */
