/* Interior palette. The approved first welcome page keeps its existing theme. */
.interior-navy {
  --ink:#fff; --muted:#9ca3af; --line:#1f293d;
  --surface:#161f30; --accent:#8b5cf6; --accent-light:#a78bfa;
  background:#0b0f19; color:var(--ink);
}
.interior-navy :is(h1,h2,h3,h4) { color:#fff; }
.interior-navy .content-shell { background:#0b0f19; }
.interior-navy .sidebar { background:#101725; border-color:#1f293d; }
.interior-navy .topbar { background:#0b0f19ed; border-color:#1f293d; }
.interior-navy .preview-ribbon { background:#101422; color:#9ca3af; border-color:#1f293d; }
.interior-navy :is(.panel,.stat-card) {
  background:linear-gradient(135deg,#1c2638 0%,#161f30 55%);
  color:#fff; border-color:#2e394e;
  box-shadow:inset 0 1px #ffffff06,0 4px 20px #8b5cf610;
}
.interior-navy .glass-card {
  background:linear-gradient(137deg,#c0c9e21c 0%,#161f30e8 33%,#121a2bf5 100%);
}
.interior-navy :is(.page-head p,.panel-head p,.section-head p,.section-intro,.glass-card p,.glass-card small) { color:#9ca3af; }
.interior-navy :is(.nav a,.workspace-label,.sidebar-footer) { color:#9ca3af; }
.interior-navy .nav a.active {
  color:#fff; background:linear-gradient(105deg,#6d28d9,#7c3aed);
  border-color:#8b5cf6; box-shadow:0 5px 18px #6d28d926;
}
.interior-navy .btn:not(.secondary):not(.ghost):not(.danger) {
  background:linear-gradient(110deg,#6d28d9,#7c3aed); color:#fff;
}
.interior-navy :is(.text-link,.eyebrow) { color:#a78bfa; }
.interior-navy .progress-track { border:0; background:#1f293d; }
.interior-navy .progress-fill { background:linear-gradient(90deg,#8b5cf6,#a78bfa); }
.interior-navy .footer { color:#9ca3af; }

/* The introduction and its rising dashboard cover reach both viewport edges. */
.student-home-shell .main { width:100%; max-width:none; padding:0 0 30px; }
.student-home-shell .dashboard-experience,
.student-home-shell .dashboard-experience.has-intro { width:100%; margin-inline:0; }
.student-home-shell .topbar { padding-inline:clamp(20px,5vw,96px); }
.student-home-shell .preview-ribbon { max-width:none; margin-inline:0; padding:12px clamp(20px,5vw,96px) 0; background:transparent; }
.student-home-shell .has-intro .paid-intro { padding-inline:clamp(28px,6.5vw,128px); }
.student-home-shell .has-intro .intro-copy h1 { max-width:650px; }
.student-home-shell .has-intro .intro-aurora { inset-inline:-2%; }
.student-home-shell #assessment-dashboard {
  padding:48px clamp(22px,5vw,96px);
  background:radial-gradient(ellipse at 75% 0,#8b5cf60a,transparent 55%),#0b0f19;
}
.student-home-shell .has-intro #assessment-dashboard {
  padding-inline:clamp(22px,5vw,96px);
  background:linear-gradient(180deg,#182033 0%,#0f1522 30%,#0b0f19 90%);
}
.student-home-shell #assessment-dashboard > :is(.section-head,.student-glass-grid) { max-width:1320px; margin-inline:auto; }
.student-home-shell :is(.footer,.interior-assistant) { margin-inline:clamp(22px,5vw,96px); }

/* A compact, labelled-on-hover desktop rail keeps attention on the question. */
.sidebar-collapse { display:none; }
.assessment-focus .sidebar-collapse {
  display:flex; align-items:center; justify-content:center; gap:9px;
  width:100%; min-height:44px; border:1px solid #354058; border-radius:10px;
  background:#161f30; color:#c4b5fd; font:inherit; cursor:pointer; margin-bottom:20px;
}
.sidebar-collapse .icon { transform:rotate(180deg); width:17px; }
.assessment-focus.sidebar-compact { grid-template-columns:84px minmax(0,1fr); }
.assessment-focus.sidebar-compact .sidebar { padding:26px 12px 20px; overflow:visible; }
.assessment-focus.sidebar-compact .brand { justify-content:center; }
.assessment-focus.sidebar-compact .official-logo { width:46px; height:46px; }
.assessment-focus.sidebar-compact :is(.brand-name,.workspace-label,.nav-label,.nav-count,.help-card,.sidebar-footer) { display:none; }
.assessment-focus.sidebar-compact .nav { margin-top:35px; gap:10px; }
.assessment-focus.sidebar-compact .nav a { position:relative; justify-content:center; padding:0; height:48px; border-radius:12px; }
.assessment-focus.sidebar-compact .nav a::after {
  content:attr(aria-label); position:absolute; left:calc(100% + 14px); top:50%; transform:translateY(-50%);
  white-space:nowrap; padding:8px 12px; border:1px solid #354058; border-radius:8px;
  background:#161f30; color:#fff; font-size:12px; pointer-events:none; opacity:0; z-index:100;
}
.assessment-focus.sidebar-compact .nav a:is(:hover,:focus-visible)::after { opacity:1; }
.assessment-focus.sidebar-compact .sidebar-collapse span { display:none; }
.assessment-focus.sidebar-compact .sidebar-collapse .icon { transform:none; }
.assessment-focus.sidebar-compact .sidebar-bottom { padding-top:22px; }
.assessment-focus .help-card { display:none; }

/* A steady reading area with a clear selected response and a reachable footer. */
.assessment-focus .main { width:100%; max-width:1260px; padding:26px clamp(24px,4vw,64px) 28px; }
.assessment-focus .topbar { height:76px; }
.assessment-focus .preview-ribbon { padding-block:10px; }
.assessment-focus .ribbon-extra { display:none; }
.assessment-focus .footer { padding-top:10px; font-size:10px; }
.assessment-focus .interior-assistant { margin-top:14px; }
.assessment-focus .interior-assistant .btn { min-height:40px; }
.focus-workspace { max-width:1060px; }
.focus-workspace .assessment-nav { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:25px; }
.focus-workspace .assessment-nav .back-link { min-height:40px; border:0; padding:5px 0; background:transparent; color:#aeb6c8; font-size:12px; }
.focus-workspace .back-link .icon { transform:rotate(180deg); width:16px; }
.focus-help { display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; color:#a78bfa; padding:8px 0 8px 10px; font:inherit; font-size:12px; cursor:pointer; }
.focus-help .icon { width:16px; }
.focus-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.focus-heading .eyebrow { font-size:9px; font-weight:600; letter-spacing:.16em; margin-bottom:9px; }
.focus-heading h1 { margin:0; font-size:29px; letter-spacing:-.04em; line-height:1.2; }
.focus-heading .tag { font-size:9px; white-space:nowrap; }
.focus-preview-note { display:flex; align-items:center; gap:8px; color:#9ca3af; font-size:11px!important; margin:14px 0 19px; }
.focus-preview-note > .icon { width:14px; height:14px; color:#a78bfa; flex-shrink:0; }
.focus-workspace .assessment-steps {
  display:flex; flex-wrap:nowrap; gap:7px; margin:0 0 20px; overflow-x:auto;
  padding:2px 2px 9px; scrollbar-width:thin; scrollbar-color:#39425c transparent;
}
.focus-workspace .section-chip {
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:7px; flex:0 0 auto;
  min-height:42px; padding:10px 13px; background:#161f30; color:#9ca3af;
  border:1px solid #253047; border-radius:10px; font:inherit; font-size:11px; cursor:pointer;
  transition:border-color .2s,color .2s,box-shadow .2s;
}
.focus-workspace .section-chip::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(110deg,#6d28d9,#7c3aed);
  transform:translateY(102%); transition:transform .24s cubic-bezier(.2,.7,.2,1);
}
.focus-workspace .section-chip.active::before { transform:translateY(0); }
.focus-workspace .section-chip.is-arriving::before { animation:section-fill-in .24s cubic-bezier(.2,.7,.2,1); }
.focus-workspace .section-chip > .icon { width:15px; height:15px; }
.focus-workspace .section-chip:hover { color:#fff; border-color:#66528d; }
.focus-workspace .section-chip.active { color:#fff; background:#161f30; border-color:#8b5cf6; box-shadow:0 3px 12px #8b5cf626; }
.focus-workspace .focus-question {
  position:relative; padding:30px 34px 32px; border-radius:23px; border:1px solid #41405f;
  background:radial-gradient(ellipse at 95% 0,#8b5cf610,transparent 50%),#161f30;
  box-shadow:inset 0 1px #ffffff08,0 4px 20px #8b5cf626;
}
.focus-progress-copy { display:flex; justify-content:space-between; align-items:center; gap:15px; color:#9ca3af; font-size:11px; margin-bottom:12px; }
.focus-progress-copy strong { color:#fff; font-weight:600; }
.focus-progress-copy > span:last-child { color:#a78bfa; font-size:10px; }
.focus-question .progress-track { height:6px; margin-bottom:26px; border-radius:12px; overflow:hidden; }
.focus-question .progress-fill { height:100%; transition:width .35s ease; }
.focus-question .question-meta { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:0 0 22px; }
.focus-section { display:inline-flex; align-items:center; gap:8px; color:#a78bfa; font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.focus-section .icon { width:15px; height:15px; }
.focus-session-meta { display:flex; align-items:center; gap:19px; }
.assessment-timer { display:flex; align-items:center; gap:8px; color:#f59e0b; text-transform:none; letter-spacing:normal; }
.assessment-timer .icon { width:18px; height:18px; }
.assessment-timer small { display:block; color:#9ca3af; font-size:9px; line-height:1.4; margin-bottom:2px; }
.assessment-timer strong { display:block; font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:.03em; }
.focus-counter { color:#9ca3af; font-size:10px; letter-spacing:0; text-transform:none; padding-left:18px; border-left:1px solid #354058; }
.question-reading.question-enter { animation:question-in .22s cubic-bezier(.2,.7,.2,1); }
.focus-question .question-reading h2 { font-size:clamp(23px,2.1vw,30px); line-height:1.35; font-weight:600; letter-spacing:-.035em; max-width:860px; margin:0 0 12px; overflow-wrap:anywhere; }
.focus-question .question-reading > p { margin:0 0 25px; color:#9ca3af; font-size:13px; line-height:1.65; }
.focus-choices { display:grid; gap:12px; border:0; margin:0; padding:0; min-width:0; }
.focus-option { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; gap:14px; min-height:67px; padding:13px 17px; background:#101826; border:1px solid #303a50; border-radius:13px; cursor:pointer; transition:border-color .18s,background-color .18s,box-shadow .18s,transform .14s; }
.focus-option::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(105deg,#8b5cf62b,#8b5cf612); opacity:0; transition:opacity .18s ease-out; }
.focus-option:active { transform:scale(.996); }
.focus-option > input { position:absolute; width:1px; height:1px; margin:0; opacity:0; }
.option-letter { display:grid; place-items:center; width:32px; height:32px; border-radius:8px; background:#202a3d; color:#9ca3af; font-size:12px; font-weight:600; flex-shrink:0; transition:color .16s,background-color .18s; }
.option-copy { color:#9ca3af; font-size:14px; line-height:1.5; flex:1; overflow-wrap:anywhere; transition:color .16s; }
.option-radio { display:grid; place-items:center; width:20px; height:20px; border:1.5px solid #b5bfd1; border-radius:50%; flex-shrink:0; transition:border-color .16s,background-color .16s; }
.option-radio .icon { width:12px; height:12px; color:#fff; opacity:0; transform:scale(.55) rotate(-15deg); transition:opacity .16s,transform .18s cubic-bezier(.2,.7,.2,1); }
.focus-option:hover { background:#1b2539; border-color:#6a548f; }
.focus-option:has(input:checked) { border-color:#8b5cf6; background:#101826; box-shadow:0 0 0 1px #8b5cf612,inset 0 0 25px #8b5cf609; }
.focus-option:has(input:checked)::before { opacity:1; }
.focus-option:has(input:checked) :is(.option-copy,.option-letter) { color:#fff; }
.focus-option:has(input:checked) .option-letter { background:#6d28d9; }
.focus-option:has(input:checked) .option-radio { border-color:#a78bfa; background:#7c3aed; }
.focus-option:has(input:checked) .option-radio .icon { opacity:1; transform:scale(1) rotate(0); }
.focus-option:has(input:focus-visible) { outline:2px solid #c4b5fd; outline-offset:4px; }
.focus-written textarea { min-height:190px; line-height:1.65; resize:vertical; }
.focus-written .field { margin:0; }
.focus-voice { text-align:center; background:#101826; border:1px dashed #514268; border-radius:15px; padding:28px 20px; }
.focus-voice-icon { display:inline-flex; padding:13px; background:#8b5cf61a; border-radius:15px; color:#a78bfa; margin-bottom:13px; }
.focus-voice h3 { margin:0 0 9px; font-size:18px; }
.focus-voice p { font-size:13px; color:#9ca3af; margin:0 auto 19px; max-width:420px; }
.focus-question .error-text:empty { display:none; }
.focus-question .error-text { margin-top:16px; }
.preview-response-types { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:20px 1px; color:#9ca3af; }
.preview-response-types > span { font-size:10px; }
.preview-response-types .pills { gap:6px; }
.preview-response-types .pill { min-height:34px; padding:6px 10px; font-size:10px; border-radius:8px; }
.assessment-actionbar {
  position:sticky; bottom:16px; z-index:12; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px 18px; margin-top:22px; border:1px solid #39415a; border-radius:16px;
  background:#121a2bf5; box-shadow:0 10px 35px #0005,inset 0 1px #ffffff08; backdrop-filter:blur(15px);
}
.assessment-actionbar .btn { min-height:46px; border-radius:10px; padding-inline:19px; }
.assessment-actionbar .previous-answer { color:#c9ceda; border-color:#374158; background:#1b2436; }
.previous-answer .icon { transform:rotate(180deg); width:16px; }
.assessment-actionbar .next-answer { min-width:165px; justify-content:center; }
.answer-save-status { display:flex; align-items:center; justify-content:center; gap:7px; color:#9ca3af; font-size:10px; text-align:center; }
.save-status-icon { display:flex; color:#a78bfa; }
.save-status-icon .icon { width:14px; height:14px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes question-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes section-fill-in { from { transform:translateY(102%); } to { transform:translateY(0); } }

@media(max-width:1000px) {
  .assessment-focus .main { padding-inline:26px; }
  .focus-workspace .focus-question { padding:27px; }
  .student-home-shell .has-intro .paid-intro { padding-inline:clamp(28px,5vw,64px); }
}
@media(max-width:780px) {
  .assessment-focus.sidebar-compact { grid-template-columns:minmax(0,1fr); }
  .assessment-focus.sidebar-compact .sidebar { width:264px; padding:28px 20px 20px; overflow-y:auto; }
  .assessment-focus.sidebar-compact .brand { justify-content:flex-start; }
  .assessment-focus.sidebar-compact :is(.brand-name,.workspace-label,.nav-label,.sidebar-footer) { display:revert; }
  .assessment-focus.sidebar-compact .nav { margin-top:0; gap:7px; }
  .assessment-focus.sidebar-compact .nav a { justify-content:flex-start; padding:10px 14px; height:auto; }
  .assessment-focus.sidebar-compact .nav a::after { display:none; }
  .assessment-focus .sidebar-collapse { display:none; }
  .assessment-focus .main { padding:22px 20px; }
  .assessment-focus .topbar { height:70px; }
  .assessment-focus .topbar .breadcrumb { font-size:11px; }
  .focus-workspace .assessment-nav { margin-bottom:20px; }
  .student-home-shell .has-intro .paid-intro { padding-inline:24px; }
  .student-home-shell .has-intro #assessment-dashboard { padding-inline:24px; }
}
@media(max-width:550px) {
  .student-home-shell .main { padding:0 0 22px; }
  .student-home-shell .topbar { padding-inline:18px; }
  .student-home-shell .preview-ribbon { padding:11px 18px 0; }
  .student-home-shell .has-intro .paid-intro { padding-inline:23px; }
  .student-home-shell #assessment-dashboard,
  .student-home-shell .has-intro #assessment-dashboard { padding:43px 18px 28px; }
  .student-home-shell :is(.footer,.interior-assistant) { margin-inline:18px; }
  .assessment-focus .main { padding:17px 16px 24px; }
  .assessment-focus .topbar { padding-inline:16px; gap:8px; }
  .assessment-focus .breadcrumb > span,
  .assessment-focus .breadcrumb > .icon { display:none; }
  .assessment-focus .role-switch > span { display:none; }
  .assessment-focus .top-actions { gap:8px; }
  .assessment-focus .top-actions > .icon-btn { display:none; }
  .assessment-focus .role-switch { padding:5px 6px; }
  .assessment-focus .preview-ribbon { padding:9px 16px; font-size:9px; }
  .assessment-focus .preview-ribbon > a { display:none; }
  .focus-workspace .assessment-nav { margin-bottom:10px; gap:10px; }
  .focus-workspace .assessment-nav .back-link { font-size:10px; min-height:40px; }
  .focus-help { font-size:10px; min-height:40px; }
  .focus-heading h1 { font-size:25px; }
  .focus-heading .eyebrow { display:none; }
  .focus-heading .tag { font-size:7px; padding:5px 7px; }
  .focus-preview-note { font-size:10px!important; line-height:1.55!important; align-items:flex-start; margin:10px 0 14px; }
  .focus-preview-note .icon { margin-top:2px; }
  .focus-workspace .assessment-steps { margin-inline:-16px; padding-inline:16px; margin-bottom:13px; }
  .focus-workspace .section-chip { min-height:42px; font-size:10px; padding:9px 12px; }
  .focus-workspace .focus-question { padding:20px 17px; border-radius:19px; }
  .focus-progress-copy { align-items:flex-start; font-size:9px; gap:9px; margin-bottom:11px; }
  .focus-progress-copy > span:last-child { font-size:8px; text-align:right; }
  .focus-question .progress-track { margin-bottom:21px; height:5px; }
  .focus-question .question-meta { align-items:flex-start; gap:8px; margin-bottom:20px; }
  .focus-section { font-size:8px; line-height:1.5; gap:5px; max-width:47%; }
  .focus-section .icon { width:13px; height:13px; flex-shrink:0; }
  .focus-session-meta { gap:8px; align-items:flex-end; flex-direction:column; }
  .assessment-timer { gap:7px; }
  .assessment-timer small { font-size:8px; }
  .assessment-timer strong { font-size:13px; }
  .assessment-timer .icon { width:15px; }
  .focus-counter { padding:0; border:0; font-size:8px; }
  .focus-question .question-reading h2 { font-size:23px; line-height:1.35; }
  .focus-question .question-reading > p { font-size:11px; margin-bottom:22px; }
  .focus-choices { gap:10px; }
  .focus-option { min-height:65px; gap:10px; padding:12px 11px; border-radius:11px; }
  .option-letter { width:28px; height:28px; font-size:10px; }
  .option-copy { font-size:12px; }
  .option-radio { width:18px; height:18px; }
  .focus-written textarea { min-height:180px; }
  .preview-response-types { align-items:flex-start; gap:10px; flex-direction:column; margin:17px 1px; }
  .preview-response-types .pills { flex-wrap:wrap; gap:6px; }
  .preview-response-types .pill { min-height:40px; padding-inline:10px; font-size:10px; }
  .assessment-actionbar { bottom:max(10px,env(safe-area-inset-bottom)); margin-top:18px; padding:11px; gap:9px; flex-wrap:wrap; border-radius:14px; }
  .assessment-actionbar .btn { min-height:46px; padding:10px 12px; font-size:11px; gap:6px; }
  .assessment-actionbar .next-answer { min-width:0; flex:1; }
  .assessment-actionbar .previous-answer { flex:0 0 auto; }
  .answer-save-status { order:3; width:100%; font-size:9px; padding:2px 0 1px; min-height:17px; }
  .assessment-focus .footer { flex-direction:column; line-height:1.6; margin-top:24px; }
}
@media(prefers-reduced-motion:reduce) {
  .question-reading.question-enter,
  .focus-workspace .section-chip.is-arriving::before { animation:none; }
  .focus-workspace :is(.focus-option,.section-chip,.progress-fill,.option-letter,.option-copy,.option-radio,.option-radio .icon),
  .focus-workspace :is(.section-chip,.focus-option)::before { transition:none; }
  .focus-option:active { transform:none; }
}
