/*
 * OtoPrep App Shell Styles
 *
 * IMPORTANT:
 * - Scoped under body.otoprep-app to avoid leaking to the rest of the site.
 * - Progress/dashboard refinements include Milestone 1 + 2 updates.
 */

body.otoprep-app{
  /* theme tokens */
  --otoprep-blue:#1075BC;
  --otoprep-orange:#E7694B;
  --otoprep-ink:#13202A;
  --otoprep-muted:#5b6b77;
  --otoprep-border:#e6eef5;

  background:#F3F6F9;
  margin:0;
  color:var(--otoprep-ink);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;
}

body.otoprep-app a{color:inherit}

body.otoprep-app .otoprep-shell{
  max-width:1100px;
  margin:0 auto;
  padding:14px 14px 90px;
}

body.otoprep-app .otoprep-topbar{
  position:sticky;
  top:0;
  z-index:50;
  /* Match the app hero gradient (Portal / Open OtoPrep app) */
  background:linear-gradient(180deg, rgba(16,117,188,.06), rgba(255,255,255,1));
  border:1px solid #e6eef5;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(16,117,188,.10);
  backdrop-filter:blur(10px);
  padding:calc(10px + env(safe-area-inset-top)) 12px 12px;
}

body.otoprep-app .otoprep-topbar__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

body.otoprep-app .otoprep-brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:950;
}

body.otoprep-app .otoprep-brand__logo{
  width:36px;
  height:36px;
  object-fit:contain;
  border-radius:12px;
  border:1px solid rgba(16,117,188,.14);
  background:#fff;
}

body.otoprep-app .otoprep-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.18);
  background:rgba(16,117,188,.08);
  color:#1075BC;
  font-weight:850;
  font-size:13px;
}

/* Trial header: keep trial remaining + upgrade CTA visually grouped */
body.otoprep-app .otoprep-trialbar{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

/* Upgrade CTA pill (trial users) */
body.otoprep-app .otoprep-pill--upgrade{
  gap:6px;
  background:rgba(231,105,75,.12);
  border-color:rgba(231,105,75,.28);
  color:var(--otoprep-orange);
  text-decoration:none;
}
body.otoprep-app .otoprep-pill--upgrade:hover{
  background:rgba(231,105,75,.16);
}
body.otoprep-app .otoprep-pill--upgrade:focus{
  outline:2px solid rgba(231,105,75,.55);
  outline-offset:2px;
}

body.otoprep-app .otoprep-upgrade__label{font-weight:950;}
body.otoprep-app .otoprep-upgrade__sep{opacity:.85;}
body.otoprep-app .otoprep-upgrade__meta{font-weight:850;}
body.otoprep-app .otoprep-upgrade__meta--short{display:none;}

@media (max-width: 520px){
  body.otoprep-app .otoprep-upgrade__meta--long{display:none;}
  body.otoprep-app .otoprep-upgrade__meta--short{display:inline;}
}

body.otoprep-app .otoprep-card{
  background:#fff;
  border:1px solid #e6eef5;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(16,117,188,.10);
  padding:16px;
}

/* Watermarked card (used in Results → Question review) */
body.otoprep-app .otoprep-card--watermarked{
  position:relative;
  overflow:hidden;
}
body.otoprep-app .otoprep-card--watermarked .otoprep-watermark{
  position:absolute;
  inset:0;
  background-repeat:repeat;
  background-size:320px 200px;
  background-position:0 0;
  opacity:.08;
  pointer-events:none;
  user-select:none;
  mix-blend-mode:multiply;
  z-index:2;
}
body.otoprep-app .otoprep-card--watermarked .otoprep-watermark__content{
  position:relative;
  z-index:1;
}

/* Per-question watermark stamp (used in Results → Question review) */
body.otoprep-app .otoprep-qreview-body{
  position:relative;
  overflow:hidden;
}
body.otoprep-app .otoprep-qreview-stamp{
  position:absolute;
  pointer-events:none;
  user-select:none;
  z-index:2;
  opacity:.12;
  mix-blend-mode:multiply;
}
body.otoprep-app .otoprep-qreview-body > *:not(.otoprep-qreview-stamp){
  position:relative;
  z-index:1;
}

/* Utility: card with no internal padding (used for iframe portals) */
body.otoprep-app .otoprep-card--flush{padding:0;}

/* In-app embedded portal (iframe) */
body.otoprep-app .otoprep-iframeWrap{
  overflow:hidden;
  border-radius:18px;
  border:1px solid var(--otoprep-border);
  background:#fff;
}
body.otoprep-app .otoprep-iframe{
  width:100%;
  height:620px; /* JS may resize this for billing portals */
  border:0;
  display:block;
  background:#fff;
}

/*
 * NOTE (M23): We use two distinct grid systems.
 * - .otoprep-grid   : responsive card grid (Practice/Review etc)
 * - .otoprep-grid12 : 12-column layout grid (Progress analytics)
 *
 * Previously both used the same .otoprep-grid class which caused “squeezed”
 * cards on mobile (Practice/Review inheriting the 12-col layout).
 */
body.otoprep-app .otoprep-grid12{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:12px;
}

body.otoprep-app .otoprep-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

@media (min-width: 720px){
  body.otoprep-app .otoprep-grid{grid-template-columns:repeat(2, 1fr);} 
}

@media (min-width: 980px){
  body.otoprep-app .otoprep-grid{grid-template-columns:repeat(3, 1fr);} 
}

body.otoprep-app .otoprep-col-12{grid-column:span 12;}
body.otoprep-app .otoprep-col-6{grid-column:span 6;}

body.otoprep-app .otoprep-h1{font-size:24px;margin:10px 0 6px;}
body.otoprep-app .otoprep-muted{color:#5b6b77;font-size:13px;}

body.otoprep-app .otoprep-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
body.otoprep-app .otoprep-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:12px;
  background:#1075BC;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  border:none;
  cursor:pointer;
}
body.otoprep-app .otoprep-btn--ghost{
  background:rgba(16,117,188,.10);
  color:#1075BC;
  border:1px solid rgba(16,117,188,.20);
}

body.otoprep-app .otoprep-btn--primary{
  background: var(--otoprep-blue);
  color: #fff;
  border: 2px solid transparent;
}

body.otoprep-app .otoprep-btn--outline{
  background: #fff;
  color: var(--otoprep-blue);
  border: 2px solid var(--otoprep-blue);
}

body.otoprep-app .otoprep-btn--outline:hover{
  background: rgba(16,117,188,.06);
}

/* Bottom tabs */
body.otoprep-app .otoprep-tabs{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:100;
  background:#fff;
  border-top:1px solid #e6eef5;
  padding:8px 10px calc(8px + env(safe-area-inset-bottom));
}
body.otoprep-app .otoprep-tabs__inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  gap:10px;
}
body.otoprep-app .otoprep-tab{
  flex:1 1 0;
  text-align:center;
  padding:8px 6px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  color:#5b6b77;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:52px;
}
body.otoprep-app .otoprep-tab__icon{
  display:inline-flex;
  line-height:0;
}
body.otoprep-app .otoprep-tab__icon svg{
  width:22px;
  height:22px;
}
body.otoprep-app .otoprep-tab__label{
  font-size:12px;
  line-height:1.1;
  letter-spacing:.2px;
}
body.otoprep-app .otoprep-tab.is-active{
  background:rgba(16,117,188,.10);
  color:#1075BC;
}


/* AI Coach meta line */
body.otoprep-app .otoprep-ai-meta{
  margin:0 0 10px;
  color:#6b7a86;
  font-size:12px;
}
/* Embed mode */
body.otoprep-app.otoprep-embed .otoprep-tabs,
body.otoprep-app.otoprep-embed .otoprep-topbar{display:none;}
body.otoprep-app.otoprep-embed .otoprep-shell{padding-bottom:14px;}

/* Quiz mode (full-screen task): hide bottom tabs to avoid covering quiz navigation */
body.otoprep-app.otoprep-view-quiz .otoprep-tabs{display:none;}
body.otoprep-app.otoprep-view-quiz .otoprep-shell{padding-top:0; padding-bottom:14px;}

/* Question session theme variables (configurable in wp-admin → OtoPrep App Mode) */
body.otoprep-app.otoprep-view-quiz{
  --otoprep-qs-primary: var(--otoprep-blue);
  --otoprep-qs-primary-contrast: #ffffff;
  --otoprep-qs-accent: var(--otoprep-orange);
  --otoprep-qs-accent-contrast: #ffffff;

  --otoprep-qs-controls-bg: rgba(243,246,249,.92);
  --otoprep-qs-controls-border: rgba(16,117,188,.14);

  /* Bottom nav buttons */
  --otoprep-qs-btn-bg: var(--otoprep-qs-primary);
  --otoprep-qs-btn-text: var(--otoprep-qs-primary-contrast);
  --otoprep-qs-btn-border: rgba(16,117,188,.35);

  --otoprep-qs-finish-bg: var(--otoprep-qs-accent);
  --otoprep-qs-finish-text: var(--otoprep-qs-accent-contrast);
  --otoprep-qs-finish-border: rgba(231,105,75,.45);

  /* Question navigation (number grid) */
  --otoprep-qs-qnav-bg: #ffffff;
  --otoprep-qs-qnav-text: var(--otoprep-ink);
  --otoprep-qs-qnav-border: rgba(0,0,0,.14);

  --otoprep-qs-qnav-active-bg: rgba(16,117,188,.10);
  --otoprep-qs-qnav-active-text: var(--otoprep-qs-primary);
  --otoprep-qs-qnav-active-border: rgba(16,117,188,.28);

  --otoprep-qs-qnav-answered-bg: #F5F5F5;
  --otoprep-qs-qnav-answered-text: #6B7280;
  --otoprep-qs-qnav-answered-border: rgba(0,0,0,.10);

  --otoprep-qs-qnav-correct-bg: rgba(39,174,96,0.40);
  --otoprep-qs-qnav-correct-text: var(--otoprep-ink);
  --otoprep-qs-qnav-wrong-bg: rgba(243,134,129,0.40);
  --otoprep-qs-qnav-wrong-text: var(--otoprep-ink);
}

/* Quiz mode: keep the branded top bar visible (and re-layout it for quiz controls) */
body.otoprep-app.otoprep-view-quiz .otoprep-topbar{display:block;}
body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz{margin-bottom:10px;}

body.otoprep-app.otoprep-view-quiz .otoprep-topbar__row--quiz{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
}

body.otoprep-app.otoprep-view-quiz .otoprep-brand--quiz{font-weight:900;}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.18);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-qs-primary, var(--otoprep-blue));
  font-weight:900;
  font-size:13px;
  text-decoration:none;
  white-space:nowrap;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__mid{min-width:0;}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__title{font-weight:950; font-size:14px; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__sub{font-size:12px; color:var(--otoprep-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px;}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__bar{height:4px; background:rgba(16,117,188,.12); border-radius:999px; overflow:hidden; margin-top:6px;}
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__barfill{height:100%; background:var(--otoprep-qs-primary, var(--otoprep-blue)); width:0%;}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__right{display:flex; flex-direction:column; align-items:flex-end; gap:6px;}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__meta{display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end;}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__progress,
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__timer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.18);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-qs-primary, var(--otoprep-blue));
  font-weight:950;
  font-size:13px;
  line-height:1;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__ai{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(231,105,75,.28);
  background:rgba(231,105,75,.12);
  color:var(--otoprep-qs-accent, var(--otoprep-orange));
  font-weight:950;
  font-size:13px;
  cursor:pointer;
}

/* If both AI Coach and Live Coach buttons are present, add spacing */
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__ai + .otoprep-quizbar__ai{
  margin-left:8px;
}

/* Live Coach button variant */
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__ai--live{
  background:var(--otoprep-qs-primary, #1b4dff);
  border-color:var(--otoprep-qs-primary, #1b4dff);
  color:#ffffff;
}
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__ai--live:hover{
  opacity:0.92;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__timer.is-hidden{display:none;}

/* Docked mark toolbar lives under the timer in the quiz top bar */
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__marks{display:flex; align-items:center; justify-content:flex-end; gap:8px;}
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__marks .ays-quiz-questions-nav-bookmark-box{
  position:static !important;
  top:auto !important;
  right:auto !important;
  margin:0 !important;
}

@media (max-width: 720px){
  body.otoprep-app.otoprep-view-quiz .otoprep-topbar__row--quiz{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__right{align-items:flex-start;}
  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__meta{justify-content:flex-start;}
  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__marks{justify-content:flex-start;}
  body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box{justify-content:flex-start;}
}

/* Quiz wrapper */
body.otoprep-app .otoprep-quiz-wrap{
  background:#fff;
  border:1px solid #e6eef5;
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 30px rgba(16,117,188,.10);
}

/* Back row (result views, legacy) */
body.otoprep-app .otoprep-subnav{margin:0 0 10px;}
body.otoprep-app .otoprep-back,
body.otoprep-app .otoprep-subnav__back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  color:#1075BC;
  font-weight:950;
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.18);
}
body.otoprep-app .otoprep-back:focus,
body.otoprep-app .otoprep-subnav__back:focus{outline:3px solid rgba(16,117,188,.28); outline-offset:2px;}

/* In-quiz header (Milestone 9): slim sticky controls row */
body.otoprep-app .otoprep-quizhead{
  position:sticky;
  top:0;
  z-index:90;
  background:rgba(243,246,249,.92);
  backdrop-filter:blur(8px);
  padding:10px 0;
  margin:0 0 10px;
  border-bottom:1px solid rgba(0,0,0,.06);
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
}

body.otoprep-app .otoprep-quizhead__back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  color:#1075BC;
  font-weight:950;
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.18);
  white-space:nowrap;
}

body.otoprep-app .otoprep-quizhead__mid{min-width:0;}
body.otoprep-app .otoprep-quizhead__title{
  font-weight:950;
  font-size:14px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.otoprep-app .otoprep-quizhead__sub{
  margin-top:2px;
  font-size:12px;
  color:var(--otoprep-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.otoprep-app .otoprep-quizhead__meta{
  margin-top:4px;
  display:flex;
  align-items:center;
  gap:10px;
}

body.otoprep-app .otoprep-quizhead__progress{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.18);
  color:#1075BC;
  font-weight:900;
  font-size:12px;
}

body.otoprep-app .otoprep-quizhead__ai{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.22);
  background:#fff;
  color:#0f172a;
  font-weight:800;
  font-size:12px;
  line-height:1;
  cursor:pointer;
}

body.otoprep-app .otoprep-quizhead__ai:active{
  transform:translateY(1px);
}

body.otoprep-app .otoprep-quizhead__bar{
  margin-top:8px;
  height:6px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  overflow:hidden;
}
body.otoprep-app .otoprep-quizhead__barfill{
  height:100%;
  width:0%;
  background:rgba(16,117,188,.65);
  border-radius:999px;
  transition:width .12s ease;
}

body.otoprep-app .otoprep-quizhead__right{display:flex;justify-content:flex-end;}
body.otoprep-app .otoprep-quizhead__timer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.10);
  color:var(--otoprep-ink);
  font-weight:900;
  font-size:12px;
}
body.otoprep-app .otoprep-quizhead__timer.is-hidden{display:none;}

@media (max-width: 520px){
  body.otoprep-app .otoprep-quizhead{
    grid-template-columns:auto 1fr;
  }
  body.otoprep-app .otoprep-quizhead__right{display:none;}
  body.otoprep-app .otoprep-quizhead__title{font-size:13px;}
}

/*
  Quiz timer (App Mode)

  We used to hide the native Quiz Maker timer block and mirror it into the
  sticky in-quiz header.

  Timed Mode now requires a visible countdown inside the quiz container as
  well (especially for mobile layouts where the header timer may be hidden).
*/
body.otoprep-app.otoprep-view-quiz section.ays_quiz_timer_container{
  display:block;
  margin:0 0 12px;
  padding:0;
  border:0;
}

body.otoprep-app.otoprep-view-quiz section.ays_quiz_timer_container hr{
  display:none;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-timer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:86px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.10);
  color:var(--otoprep-ink);
  font-weight:900;
  font-size:12px;
  letter-spacing:.02em;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-after-timer{
  display:none;
}

body.otoprep-app.otoprep-view-quiz.otoprep-has-timer section.ays_quiz_timer_container{
  display:none !important;
}

body.otoprep-app.otoprep-view-quiz.otoprep-has-timer .ays-quiz-container .ays-quiz-timer{
  display:none !important;
}

body.otoprep-app.otoprep-view-quiz.otoprep-has-timer .ays-quiz-container .ays-quiz-after-timer{
  display:none !important;
}

/* Timed mode setup (minutes picker) shown on the quiz start screen */
body.otoprep-app .otoprep-timed-setup{
  margin:14px 0 12px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(16,117,188,.18);
  background:rgba(16,117,188,.06);
}
body.otoprep-app .otoprep-timed-setup__title{
  margin:0 0 10px;
  font-weight:900;
  font-size:13px;
  color:var(--otoprep-ink);
}
body.otoprep-app .otoprep-timed-setup__row{
  display:flex;
  align-items:center;
  gap:10px;
}
body.otoprep-app .otoprep-timed-setup__row label{
  font-size:12px;
  font-weight:800;
  color:var(--otoprep-muted);
  margin:0;
}
body.otoprep-app .otoprep-timed-setup__minutes{
  width:92px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:var(--otoprep-ink);
  font-weight:900;
}
body.otoprep-app .otoprep-timed-setup__chips{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body.otoprep-app .otoprep-timed-setup__chip{
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.9);
  color:var(--otoprep-ink);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
body.otoprep-app .otoprep-timed-setup__chip:active{
  transform:translateY(1px);
}
body.otoprep-app .otoprep-timed-setup__hint{
  margin:10px 0 0;
  font-size:12px;
  color:var(--otoprep-muted);
}

/* AYS Quiz cosmetics (light touch, mostly to avoid “ugly” defaults) */
body.otoprep-app .ays-quiz-container{
  border:none !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
}

/*
  Fullscreen mode (AYS):
  The fullscreen API promotes .ays-quiz-container to the fullscreen root.
  In the app we normally keep this container transparent because it sits inside
  our white “card” wrapper.

  In fullscreen there is no underlying card, so a transparent background causes
  iOS/WKWebView (and some browsers) to show a black backdrop, making the quiz
  text/options look “missing” or unreadable (low contrast).
*/
body.otoprep-app .ays-quiz-container:fullscreen,
body.otoprep-app .ays-quiz-container:-webkit-full-screen,
body.otoprep-app .ays-quiz-container:-moz-full-screen,
body.otoprep-app .ays-quiz-container:-ms-fullscreen{
  background:#fff !important;
  width:100% !important;
  height:100% !important;
  overflow:auto !important;
  box-sizing:border-box;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom)) !important;
}


/* Keep the quiz itself inside our card theme */
body.otoprep-app .otoprep-quiz-card{overflow:hidden;}

/* Normalize AYS quiz themes inside the app shell so question content uses the
   full card width instead of the legacy split-screen Modern theme layout. */
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step[data-question-id],
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step.ays-scenario-step,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step.ays-scenario-child-step{
  justify-content:center !important;
  align-items:stretch !important;
  padding-top:0 !important;
  padding-right:0 !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step[data-question-id] > .ays-abs-fs,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step.ays-scenario-step > .ays-abs-fs,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step.ays-scenario-child-step > .ays-abs-fs{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Hide the AYS question counter; we mirror progress into the in-quiz header. */
body.otoprep-app .otoprep-quiz-card p.ays-question-counter,
body.otoprep-app .otoprep-quiz-card .ays-question-counter{
  display:none !important;
}

/* Question typography: align with the app */
body.otoprep-app .otoprep-quiz-card .ays_quiz_question,
body.otoprep-app .otoprep-quiz-card .ays_quiz_question *{
  font-family:var(--otoprep-font) !important;
  color:var(--otoprep-ink) !important;
}
body.otoprep-app .otoprep-quiz-card .ays_quiz_question{
  font-size:16px;
  line-height:1.5;
  margin-bottom:12px;
  text-align:left !important;
}

body.otoprep-app .otoprep-quiz-card .ays_quiz_question p,
body.otoprep-app .otoprep-quiz-card .ays_quiz_question li{
  text-align:left !important;
}

/* Hints/messages: keep them subtle */
body.otoprep-app .otoprep-quiz-card .ays_question_hint,
body.otoprep-app .otoprep-quiz-card .ays_message,
body.otoprep-app .otoprep-quiz-card .ays_score_message{
  color:var(--otoprep-muted) !important;
}

/* Make answer options feel like tappable cards */
body.otoprep-app .ays-quiz-answers .ays-field input~label[for^="ays-answer-"]{
  border:1px solid rgba(16,117,188,.18);
  border-radius:14px;
  padding:12px 12px;
  line-height:1.5;
  color:var(--otoprep-ink);
  background:#fff;
  box-shadow:0 6px 18px rgba(16,117,188,.06);
}

/* Some AYS themes set generic <p> text to white (dark themes). In app mode we render the quiz on a
   light card background, so ensure paragraphs remain readable. */
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-container p{
  color:var(--otoprep-ink);
}

/* Buttons */
body.otoprep-app input.ays_next,
body.otoprep-app input.ays_previous,
body.otoprep-app input.ays_finish{
  border-radius:12px !important;
}

/* Quiz navigation bar (AYS) – make it feel like a native app control row */
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-wrap{padding-bottom:24px;}
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .ays_buttons_div{
  position:sticky;
  bottom:calc(12px + env(safe-area-inset-bottom));
  z-index:40;
  background:var(--otoprep-qs-controls-bg);
  backdrop-filter:blur(8px);
  border:1px solid var(--otoprep-qs-controls-border);
  border-radius:16px;
  padding:10px;
  margin-top:14px;
  box-shadow:0 10px 24px rgba(16,117,188,.10);
  display:flex;
  gap:10px;
  justify-content:space-between;
  flex-wrap:wrap;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_next,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_next,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_finish{
  flex:1 1 140px;
  min-height:44px;
}

/* Fill + text colors for the native <input> navigation buttons */
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_next,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_next{
  background:var(--otoprep-qs-btn-bg) !important;
  color:var(--otoprep-qs-btn-text) !important;
  border:2px solid var(--otoprep-qs-btn-border) !important;
  font-weight:900 !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_finish{
  background:var(--otoprep-qs-finish-bg) !important;
  color:var(--otoprep-qs-finish-text) !important;
  border:2px solid var(--otoprep-qs-finish-border) !important;
  font-weight:900 !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_previous.action-button,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_next.action-button,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_finish.action-button{
  width:44px;
  height:44px;
  border-radius:12px;
  border:2px solid var(--otoprep-qs-btn-border);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--otoprep-qs-btn-bg);
  color:var(--otoprep-qs-btn-text);
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_finish.action-button{
  border-color:var(--otoprep-qs-finish-border);
  background:var(--otoprep-qs-finish-bg);
  color:var(--otoprep-qs-finish-text);
}

/* Question navigation grid button colors (numbered buttons) */
body.otoprep-app.otoprep-view-quiz [id^="ays-quiz-questions-nav-wrap-"] a.ays_questions_nav_question{
  background:var(--otoprep-qs-qnav-bg) !important;
  color:var(--otoprep-qs-qnav-text) !important;
  border:1px solid var(--otoprep-qs-qnav-border) !important;
}

body.otoprep-app.otoprep-view-quiz [id^="ays-quiz-questions-nav-wrap-"] .ays-quiz-questions-nav-item-active a.ays_questions_nav_question{
  background:var(--otoprep-qs-qnav-active-bg) !important;
  color:var(--otoprep-qs-qnav-active-text) !important;
  border:1px solid var(--otoprep-qs-qnav-active-border) !important;
}

body.otoprep-app.otoprep-view-quiz [id^="ays-quiz-questions-nav-wrap-"] .ays-quiz-questions-nav-item-answered a.ays_questions_nav_question{
  background:var(--otoprep-qs-qnav-answered-bg) !important;
  color:var(--otoprep-qs-qnav-answered-text) !important;
  border:1px solid var(--otoprep-qs-qnav-answered-border) !important;
}

body.otoprep-app.otoprep-view-quiz [id^="ays-quiz-questions-nav-wrap-"] a.ays_questions_nav_question.ays_quiz_correct_answer{
  background:var(--otoprep-qs-qnav-correct-bg) !important;
  color:var(--otoprep-qs-qnav-correct-text) !important;
}

body.otoprep-app.otoprep-view-quiz [id^="ays-quiz-questions-nav-wrap-"] a.ays_questions_nav_question.ays_quiz_wrong_answer{
  background:var(--otoprep-qs-qnav-wrong-bg) !important;
  color:var(--otoprep-qs-qnav-wrong-text) !important;
}

@media (max-width: 900px){
  body.otoprep-app .otoprep-col-6{grid-column:span 12;}
}
/* Milestone 2 additions */
body.otoprep-app .otoprep-topbar__right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-exam-switch{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-exam-current{
  font-size:13px;
  padding:6px 10px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:999px;
  background:rgba(255,255,255,.85);
}

body.otoprep-app .otoprep-chip{
  display:inline-flex;
  align-items:center;
  font-size:13px;
  padding:6px 10px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:999px;
  text-decoration:none;
  background:rgba(255,255,255,.85);
}

body.otoprep-app .otoprep-chip.is-active{
  font-weight:700;
}

body.otoprep-app .otoprep-exam-grid{
  display:grid;
  grid-template-columns: repeat( auto-fit, minmax( 220px, 1fr ) );
  gap:12px;
}

body.otoprep-app .otoprep-exam-card{
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:rgba(255,255,255,.85);
  padding:12px;
}

body.otoprep-app .otoprep-exam-card__title{
  font-weight:800;
  margin-bottom:10px;
}

body.otoprep-app .otoprep-divider{
  height:1px;
  background:rgba(0,0,0,.08);
  margin:12px 0;
}


body.otoprep-app .otoprep-levels{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

body.otoprep-app .otoprep-level{
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:rgba(255,255,255,.85);
  padding:10px 12px;
}

body.otoprep-app .otoprep-level__name{
  font-weight:800;
}

body.otoprep-app .otoprep-level__meta{
  font-size:13px;
  opacity:.85;
  margin-top:4px;
}

/* Segmented control */
.otoprep-seg{
  display:inline-flex;
  gap:6px;
  padding:4px;
  border:1px solid rgba(16,117,188,.18);
  border-radius:999px;
  background:rgba(16,117,188,.06);
}
.otoprep-seg__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  min-height:40px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  color:var(--otoprep-blue);
  border:1px solid transparent;
}
.otoprep-seg__btn.is-active{
  color:#fff;
  background:var(--otoprep-blue);
  border-color:var(--otoprep-blue);
  box-shadow:0 10px 22px rgba(16,117,188,.18);
}

/* Simple grids */
.otoprep-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
@media (min-width: 720px){
  .otoprep-grid{grid-template-columns:repeat(2, 1fr);} 
}

.otoprep-grid__item{
  background:#fff;
  border:1px solid var(--otoprep-border);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 24px rgba(16,117,188,.08);
}

.otoprep-chiprow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
}

body.otoprep-app .otoprep-chiprow--quick-mixed{
  justify-content:flex-start;
  gap:12px;
}

body.otoprep-app .otoprep-quick-mixed-btn{
  min-width:82px;
  min-height:54px;
  padding:0 18px;
  border-radius:18px;
  font-size:22px;
  line-height:1;
  letter-spacing:-.02em;
  box-shadow:0 12px 24px rgba(16,117,188,.18);
}

body.otoprep-app .otoprep-quick-mixed-btn:hover,
body.otoprep-app .otoprep-quick-mixed-btn:focus{
  transform:translateY(-1px);
}

body.otoprep-app .otoprep-command-centre{
  margin:12px 0 0;
}

body.otoprep-app .otoprep-command-centre > summary{
  align-items:flex-start;
}

body.otoprep-app .otoprep-command-centre__summary{
  display:flex;
  flex-direction:column;
  gap:4px;
}

body.otoprep-app .otoprep-command-centre__body{
  padding:14px;
}

body.otoprep-app .otoprep-command-centre .otoprep-feature-section{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}

body.otoprep-app .otoprep-command-centre .otoprep-feature-section__head{
  display:none;
}

body.otoprep-app .otoprep-command-centre .otoprep-feature-grid{
  margin:0;
}

.otoprep-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}

.otoprep-btn--ghost{
  background:rgba(16,117,188,.08);
  border-color:rgba(16,117,188,.18);
  color:var(--otoprep-blue);
}
.otoprep-btn--ghost:hover{
  background:rgba(16,117,188,.12);
}

.otoprep-notice{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(231,105,75,.35);
  background:rgba(231,105,75,.08);
  margin:12px 0;
}

/* Forms */
.otoprep-form{
  display:grid;
  gap:12px;
}
.otoprep-form__row{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
@media (min-width: 720px){
  .otoprep-form__row{grid-template-columns:1fr 1fr;}
}

.otoprep-form__field label{
  display:block;
  font-weight:800;
  margin-bottom:6px;
}

.otoprep-form__field input[type="number"],
.otoprep-form__field select{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--otoprep-border);
  background:#fff;
  font-size:14px;
}

.otoprep-form__help{
  margin:6px 0 0;
  color:var(--otoprep-muted);
  font-size:13px;
}

.otoprep-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.otoprep-check{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  border:1px solid var(--otoprep-border);
  border-radius:14px;
  background:#fff;
}

.otoprep-check__main{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.otoprep-check__title{font-weight:900;}
.otoprep-check__meta{font-size:13px;color:var(--otoprep-muted);}

.otoprep-check input[type="checkbox"]{
  width:20px;
  height:20px;
}
/* --------------------------------------------------------------------- */
/* Review tab helpers */
/* --------------------------------------------------------------------- */

.otoprep-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.otoprep-btn--sm {
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1;
}

.otoprep-meta {
  margin: 0 0 10px;
  opacity: 0.85;
}

.otoprep-notice {
  border-left: 4px solid rgba(0,0,0,.12);
}

/* --------------------------------------------------------------------- */
/* Quiz marks (Flagged / Unsure) */
/* --------------------------------------------------------------------- */

/* The mark toolbar appears at the top-right of each question in /app.
 * We enhance it with labels + a moved Report button in milestone 1.
 */
body.otoprep-app .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar {
  display:flex;
  justify-content:center;
  gap:14px;
  align-items:flex-start;
  flex-wrap:wrap;
  width:100%;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box{
  display:block;
  width:100%;
  margin:0 0 14px;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box,
body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  position:static !important;
  top:auto !important;
  right:auto !important;
  z-index:auto !important;
  width:100%;
  margin:0 !important;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

/* When timed mode is active (timer present) but the toolbar has not yet been
 * docked into the top bar, nudge it up so it sits under the timer and does
 * not cover question text.
 */
body.otoprep-app.otoprep-view-quiz.otoprep-has-timer .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  top:14px !important;
  right:14px !important;
}

body.otoprep-app .otoprep-mark-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  flex:0 0 62px;
  max-width:62px;
}

body.otoprep-app .otoprep-mark-item--flag{order:1;}
body.otoprep-app .otoprep-mark-item--report{order:2;}
body.otoprep-app .otoprep-mark-item--unsure{order:3;}
body.otoprep-app .otoprep-mark-item--review{order:4;}

body.otoprep-app .otoprep-mark-item--review .otoprep-mark-item__label{
  white-space:normal;
}

body.otoprep-app .otoprep-mark-item__icon{
  width:44px;
  height:44px;
  border:1px solid rgba(16,117,188,.14);
  background:#fff;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(16,117,188,.10);
  position:relative;
  flex-shrink:0;
}

body.otoprep-app .otoprep-mark-item__label{
  width:100%;
  min-height:26px;
  font-size:11px;
  line-height:1.15;
  text-align:center;
  color:var(--otoprep-muted);
  font-weight:800;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  white-space:normal;
}

body.otoprep-app .otoprep-mark-item--flag.is-on .otoprep-mark-item__icon{
  background:rgba(16,117,188,.10);
  border-color:rgba(16,117,188,.28);
}

body.otoprep-app .otoprep-mark-item--unsure.is-on .otoprep-mark-item__icon{
  background:rgba(0,0,0,.85);
  border-color:rgba(0,0,0,.85);
}

body.otoprep-app .otoprep-mark-item--review.is-on .otoprep-mark-item__icon{
  background:rgba(231,105,75,.12);
  border-color:rgba(231,105,75,.28);
}

/* Flag icon visual */
body.otoprep-app .otoprep-mark-item--flag .ays-navbar-bookmark{
  width:20px;
  height:20px;
  display:block;
  opacity:1;
}

body.otoprep-app .otoprep-mark-item--review .otoprep-mark-item__icon::before{
  content:'';
  width:18px;
  height:18px;
  display:block;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

body.otoprep-app .otoprep-mark-item--review .ays-question-review-later-toggle{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:0;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
}

body.otoprep-app .otoprep-mark-item--review .otoprep-mark-item__icon::before{
  background-image:url('../images/review-later-outline.svg');
}

body.otoprep-app .otoprep-mark-item--review.is-on .otoprep-mark-item__icon::before{
  background-image:url('../images/review-later-filled.svg');
}

/* Unsure */
body.otoprep-app .otoprep-mark-item--unsure .otoprep-unsure-btn{
  width:100%;
  height:100%;
  border:0;
  background:transparent;
  padding:0;
  border-radius:999px;
  font-weight:900;
  font-size:18px;
  line-height:1;
  color:rgba(0,0,0,.75);
  cursor:pointer;
}

body.otoprep-app .otoprep-mark-item--unsure.is-on .otoprep-unsure-btn{
  color:#fff;
}

/* Report */
body.otoprep-app .otoprep-mark-item--report .ays-quiz-open-report-window{
  width:18px;
  height:18px;
  display:block;
}

body.otoprep-app .ays_questions_nav_question.otoprep-unsure {
  position: relative;
}

body.otoprep-app .ays_questions_nav_question.otoprep-unsure::after {
  content: '?';
  position: absolute;
  top: -6px;
  right: -6px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: rgba(0,0,0,.85);
  color: #fff;
  font-size: 11px;
  line-height: 16px;
  text-align: center;
}

/* -------------------------------------------------------------------------
 * Progress / Analytics (Milestone 5)
 * ---------------------------------------------------------------------- */

body.otoprep-app .otoprep-h3{
  margin:0 0 6px;
  font-size:18px;
  font-weight:950;
  line-height:1.2;
}

body.otoprep-app .otoprep-kpi{
  display:flex;
  flex-direction:column;
  gap:6px;
}

body.otoprep-app .otoprep-kpi__label{
  font-size:13px;
  color:var(--otoprep-muted);
  font-weight:850;
  letter-spacing:.01em;
}

body.otoprep-app .otoprep-kpi__value{
  font-size:34px;
  line-height:1;
  font-weight:950;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-kpi__sub{
  font-size:13px;
  color:var(--otoprep-muted);
  line-height:1.4;
}

body.otoprep-app .otoprep-queue{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}

body.otoprep-app .otoprep-queue__item{
  flex:1 1 0;
  min-width:120px;
  text-decoration:none;
  background:rgba(16,117,188,.06);
  border:1px solid rgba(16,117,188,.14);
  border-radius:14px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

body.otoprep-app .otoprep-queue__num{
  font-size:22px;
  font-weight:950;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-queue__label{
  font-size:13px;
  font-weight:900;
  color:var(--otoprep-blue);
}

body.otoprep-app .otoprep-tableWrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:14px;
}

body.otoprep-app .otoprep-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid var(--otoprep-border);
  border-radius:14px;
  overflow:hidden;
}

body.otoprep-app .otoprep-table th,
body.otoprep-app .otoprep-table td{
  padding:10px 12px;
  text-align:left;
  border-bottom:1px solid var(--otoprep-border);
  font-size:13px;
  vertical-align:top;
}

body.otoprep-app .otoprep-table th{
  color:var(--otoprep-muted);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:11px;
}

body.otoprep-app .otoprep-table tr:last-child td{
  border-bottom:none;
}

body.otoprep-app .otoprep-spark{
  height:72px;
  display:flex;
  align-items:flex-end;
  gap:4px;
  margin-top:10px;
}

body.otoprep-app .otoprep-spark__bar{
  flex:1 1 0;
  max-width:14px;
  border-radius:10px;
  background:rgba(16,117,188,.65);
  border:1px solid rgba(16,117,188,.25);
  min-height:6px;
}

body.otoprep-app .otoprep-spark__bar.is-empty{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.06);
}

/* Mock papers list */
.otoprep-mocks{
  display:grid;
  gap:12px;
  margin-top:14px;
}
.otoprep-mock{
  background:#fff;
  border:1px solid var(--otoprep-border);
  border-radius:16px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.otoprep-mock__meta{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.otoprep-mock__title{
  font-weight:900;
  font-size:15px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:46vw;
}
.otoprep-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:var(--otoprep-blue);
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.18);
  white-space:nowrap;
}
.otoprep-badge--muted{
  color:var(--otoprep-muted);
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.10);
}

@media (max-width: 520px){
  .otoprep-mock{
    align-items:flex-start;
    flex-direction:column;
  }
  .otoprep-mock__title{
    max-width:100%;
  }
  .otoprep-mock .otoprep-actions{
    width:100%;
  }
  .otoprep-mock .otoprep-btn{
    width:100%;
  }
}


/* ---------------------------------------------------------------------
   Results view + redirect overlay
   --------------------------------------------------------------------- */

body.otoprep-app .otoprep-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

body.otoprep-app .otoprep-result-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-results-hero{
  overflow:hidden;
}

body.otoprep-app .otoprep-kpis{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

@media (min-width: 820px){
  body.otoprep-app .otoprep-kpis{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

body.otoprep-app .otoprep-kpis .otoprep-kpi{
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(16,117,188,.14);
  background:linear-gradient(180deg, rgba(16,117,188,.08) 0%, rgba(255,255,255,.96) 100%);
}

body.otoprep-app .otoprep-subtle{
  color: rgba(0,0,0,0.6);
  font-size: 13px;
  line-height: 1.4;
  margin-top: 4px;
}

/* Results redirect overlay (shows briefly after submit to avoid ugly native result flashes). */
body.otoprep-app .otoprep-redirect-overlay{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.85);
  z-index: 99999;
  padding: 24px;
}

body.otoprep-app.otoprep-redirecting .otoprep-redirect-overlay{
  display: flex;
}

body.otoprep-app .otoprep-redirect-overlay__inner{
  display:flex;
  align-items:center;
  gap:12px;
  padding: 14px 16px;
  background:#fff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  font-weight: 600;
}

body.otoprep-app .otoprep-spinner{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  animation: otoprepSpin 1s linear infinite;
  flex: 0 0 auto;
}

@keyframes otoprepSpin{
  to { transform: rotate(360deg); }
}


/* ---------------------------------------------------------------------
   M18 UI polish (Practice + Builder)
   --------------------------------------------------------------------- */

/* Consistent vertical rhythm in non-quiz views */
body.otoprep-app:not(.otoprep-view-quiz) .otoprep-main > * + *{
  margin-top:12px;
}

/* Card typography */
body.otoprep-app .otoprep-card h2{
  margin:0 0 6px;
  font-weight:950;
  letter-spacing:-0.01em;
}
body.otoprep-app .otoprep-card h3{
  margin:0 0 6px;
}

/* Practice mode explainer */
body.otoprep-app .otoprep-modehelp{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--otoprep-border);
  background:#fff;
  box-shadow:0 10px 24px rgba(16,117,188,.06);
}
body.otoprep-app .otoprep-modehelp__title{
  font-weight:950;
  font-size:14px;
}
body.otoprep-app .otoprep-modehelp__list{
  margin:8px 0 0;
  padding-left:18px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.45;
}
body.otoprep-app .otoprep-modehelp--tutor{
  border-color:rgba(16,117,188,.18);
  background:rgba(16,117,188,.04);
}
body.otoprep-app .otoprep-modehelp--exam{
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.02);
}
body.otoprep-app .otoprep-modehelp--timed{
  border-color:rgba(231,105,75,.22);
  background:rgba(231,105,75,.04);
}

/* Alerts (builder errors, etc.) */
body.otoprep-app .otoprep-alert{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-left-width:4px;
  margin:12px 0;
}
body.otoprep-app .otoprep-alert ul{
  margin:0;
  padding-left:18px;
}
body.otoprep-app .otoprep-alert--error{
  border-color:rgba(231,105,75,.35);
  background:rgba(231,105,75,.06);
  border-left-color:rgba(231,105,75,.65);
}

/* Builder actions row */
body.otoprep-app .otoprep-form__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}

/* Builder: topic list */
body.otoprep-app .otoprep-topichead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
body.otoprep-app .otoprep-topichead__label{
  margin:0;
}

body.otoprep-app .otoprep-topichead__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

body.otoprep-app .otoprep-topiclist{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
@media (min-width: 720px){
  body.otoprep-app .otoprep-topiclist{
    grid-template-columns:repeat(2, 1fr);
  }
}

body.otoprep-app .otoprep-topic{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  border:1px solid var(--otoprep-border);
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
body.otoprep-app .otoprep-topic:hover{
  border-color:rgba(16,117,188,.22);
  box-shadow:0 8px 18px rgba(16,117,188,.06);
}
body.otoprep-app .otoprep-topic input[type="checkbox"]{
  width:20px;
  height:20px;
  flex:0 0 auto;
  accent-color:var(--otoprep-blue);
}
body.otoprep-app .otoprep-topic__title{
  font-weight:900;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.otoprep-app .otoprep-topic__meta{
  font-size:12px;
  font-weight:900;
  color:var(--otoprep-muted);
  padding:5px 9px;
  border-radius:999px;
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.10);
  white-space:nowrap;
}
body.otoprep-app .otoprep-topic.is-on{
  background:rgba(16,117,188,.05);
  border-color:rgba(16,117,188,.28);
}
body.otoprep-app .otoprep-topic.is-on .otoprep-topic__meta{
  background:rgba(16,117,188,.08);
  border-color:rgba(16,117,188,.18);
  color:var(--otoprep-blue);
}

/* Disabled button styles (builder submit) */
body.otoprep-app .otoprep-btn:disabled,
body.otoprep-app button.otoprep-btn[disabled]{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

/* AI Coach overlay (scoped to /app) */
body.otoprep-app .otoprep-ai-overlay{
  position:fixed;
  inset:0;
  z-index:999999;
  background:rgba(0,0,0,.35);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:14px;
}
body.otoprep-app .otoprep-ai-sheet{
  width:100%;
  max-width:560px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
  overflow:hidden;
  max-height:82vh;
  display:flex;
  flex-direction:column;
}
body.otoprep-app .otoprep-ai-sheet__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
body.otoprep-app .otoprep-ai-sheet__title{
  font-weight:900;
  font-size:14px;
}
body.otoprep-app .otoprep-ai-sheet__close{
  border:0;
  background:transparent;
  font-size:22px;
  line-height:1;
  padding:4px 8px;
  cursor:pointer;
  color:var(--otoprep-ink);
}
body.otoprep-app .otoprep-ai-sheet__body{
  padding:14px;
  overflow:auto;
}
body.otoprep-app .otoprep-ai-sheet__loading{
  font-weight:900;
  color:var(--otoprep-muted);
}
body.otoprep-app .otoprep-ai-sheet__error{
  color:#b32d2e;
  font-weight:900;
}
body.otoprep-app .otoprep-ai-sheet__body p{margin:0 0 10px;}
body.otoprep-app .otoprep-ai-sheet__body ul{margin:0 0 10px 18px; padding:0;}
body.otoprep-app .otoprep-ai-sheet__body li{margin:0 0 6px;}

/* AI Live Coach overlay (Realtime) */
body.otoprep-app .otoprep-live-controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
body.otoprep-app .otoprep-live-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:900;
  font-size:12px;
}
body.otoprep-app .otoprep-live-select{
  padding:8px 10px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:12px;
  font-size:13px;
  min-height:40px;
  background:#fff;
}
body.otoprep-app .otoprep-live-action{
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-weight:900;
  font-size:13px;
}
body.otoprep-app .otoprep-live-action--primary{
  background:var(--otoprep-blue);
  border-color:var(--otoprep-blue);
  color:#fff;
}
body.otoprep-app .otoprep-live-action--danger{
  background:#b32d2e;
  border-color:#b32d2e;
  color:#fff;
}
body.otoprep-app .otoprep-live-action:disabled{
  opacity:.55;
  cursor:not-allowed;
}
body.otoprep-app .otoprep-live-status{
  margin:8px 0 10px;
  font-size:12px;
  font-weight:900;
  color:var(--otoprep-muted);
}
body.otoprep-app .otoprep-live-log{
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:10px;
  background:rgba(0,0,0,.02);
  max-height:42vh;
  overflow:auto;
}
body.otoprep-app .otoprep-live-line{
  font-size:13px;
  line-height:1.45;
  margin:0 0 8px;
  padding:8px 10px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
}
body.otoprep-app .otoprep-live-line--user{
  background:rgba(27,77,255,.06);
  border-color:rgba(27,77,255,.12);
}
body.otoprep-app .otoprep-live-line--assistant{
  background:rgba(231,105,75,.08);
  border-color:rgba(231,105,75,.16);
}
body.otoprep-app .otoprep-live-line--system{
  background:rgba(0,0,0,.03);
}

/* =========================
   Voice Live Coach (Full-screen)
   ========================= */

body.otoprep-app.otoprep-view-voice .otoprep-tabs{
  display:none;
}

body.otoprep-app.otoprep-view-voice .otoprep-shell{
  max-width:1400px;
  padding-top:12px;
  padding-bottom:18px;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice{
  position:sticky;
  top:0;
  z-index:1000;
  /* Keep the same “app hero” styling as the main topbar so Voice mode feels cohesive */
  background:linear-gradient(180deg, rgba(16,117,188,.06), rgba(255,255,255,1));
  border:1px solid #e6eef5;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(16,117,188,.10);
  backdrop-filter:blur(10px);
  margin-bottom:10px;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice{
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:10px;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__right{
  justify-self:end;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}

body.otoprep-app .otoprep-topbar__row--voice .otoprep-quizbar__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  row-gap:6px;
}

@media (max-width: 720px){
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice{
    grid-template-columns: 1fr;
    justify-items:stretch;
  }
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__right{
    justify-self:start;
    align-items:flex-start;
  }
  body.otoprep-app .otoprep-topbar__row--voice .otoprep-quizbar__meta{
    justify-content:flex-start;
  }
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-live-action--danger{
    width:100%;
  }
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__progress,
body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer,
body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.18);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-blue);
  font-weight:950;
  font-size:13px;
  line-height:1;
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer.is-hidden,
body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits.is-hidden{display:none;}

body.otoprep-app .otoprep-voice__layout{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap:12px;
  align-items:start;
}

@media (max-width: 980px){
  body.otoprep-app .otoprep-voice__layout{
    grid-template-columns: 1fr;
  }

  /* Keep voice controls reachable on mobile */
  body.otoprep-app .otoprep-voice__panel .otoprep-voice__controls{
    position: sticky;
    bottom: 0;
    background: #fff;
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(0,0,0,.08);
    z-index: 2;
  }
}

body.otoprep-app .otoprep-voice__stimulus{
  min-height: 56vh;
}

body.otoprep-app .otoprep-voice__qhead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

body.otoprep-app .otoprep-voice__cardmeta{
  margin: -4px 0 10px;
  font-size: 13px;
  opacity: .92;
}

/* Contextual callout shown for Simulation/Viva completion guidance. */
body.otoprep-app .otoprep-voice__callout{
  margin: 0 0 12px;
}

body.otoprep-app .otoprep-voice__howto{
  margin: 10px 0 12px 0;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255,255,255,.65);
}
body.otoprep-app .otoprep-voice__howto > summary{
  cursor: pointer;
  font-weight: 900;
}
body.otoprep-app .otoprep-voice__howtoList{
  margin: 10px 0 0 18px;
  padding: 0;
}
body.otoprep-app .otoprep-voice__howtoList li{
  margin: 6px 0;
  line-height: 1.45;
}

body.otoprep-app .otoprep-voice__qtitle{
  font-weight:900;
}

body.otoprep-app .otoprep-voice__qtext{
  font-size:16px;
  line-height:1.45;
}

/* Optional "New information" reveal card (e.g. labs / scan report / histology). */
body.otoprep-app .otoprep-voice__reveal{
  margin-top:12px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  padding:10px 12px;
  background:rgba(0,0,0,.03);
}

body.otoprep-app .otoprep-voice__revealSummary{
  cursor:pointer;
  font-weight:900;
}

body.otoprep-app .otoprep-voice__revealBody{
  margin-top:8px;
  font-size:14px;
  line-height:1.45;
}

body.otoprep-app .otoprep-voice__qimg{
  margin-top:12px;
}

body.otoprep-app .otoprep-voice__qimg img,
body.otoprep-app .otoprep-voice__qimg video{
  max-width:100%;
  width:100%;
  height:auto;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
  object-fit: contain;
  max-height: 42vh;
}

@media (max-width: 980px){
  body.otoprep-app .otoprep-voice__qimg img,
  body.otoprep-app .otoprep-voice__qimg video{
    max-height: 36vh;
  }
}

/* Image Atlas (Viva prompts) */
body.otoprep-app .otoprep-voice__thumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

body.otoprep-app .otoprep-voice__thumb{
  position:relative;
  padding:0;
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:rgba(0,0,0,.02);
  overflow:hidden;
  cursor:pointer;
}

body.otoprep-app .otoprep-voice__thumb img{
  width:86px;
  height:64px;
  object-fit:cover;
  display:block;
}

body.otoprep-app .otoprep-voice__thumbLabel{
  position:absolute;
  left:6px;
  top:6px;
  min-width:20px;
  padding:2px 6px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  line-height:1.1;
  background:rgba(0,0,0,.60);
  color:#fff;
}

body.otoprep-app .otoprep-voice__thumb.is-active{
  outline:3px solid rgba(0,0,0,.35);
  outline-offset:2px;
}

/* Image modal (image atlas prompts in Viva) */
body.otoprep-app.otoprep-voice--modal-open{
  overflow: hidden;
}

body.otoprep-app .otoprep-voice__modal{
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

body.otoprep-app .otoprep-voice__modalBackdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
}

body.otoprep-app .otoprep-voice__modalCard{
  position: relative;
  width: min(980px, 100%);
  max-height: 90vh;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 80px rgba(0,0,0,.35);
}

body.otoprep-app .otoprep-voice__modalHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

body.otoprep-app .otoprep-voice__modalTitle{
  font-weight: 900;
}

body.otoprep-app .otoprep-voice__modalClose{
  appearance: none;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
  border-radius: 12px;
  width: 40px;
  height: 40px;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

body.otoprep-app .otoprep-voice__modalBody{
  padding: 14px;
  overflow: auto;
  max-height: calc(90vh - 56px);
}

body.otoprep-app .otoprep-voice__modalMain img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  background: rgba(0,0,0,.02);
}

.otoprep-voice__modalMain video{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  background: rgba(0,0,0,.02);
}

body.otoprep-app .otoprep-voice__modalCaption{
  margin-top: 10px;
  color: rgba(0,0,0,.80);
  font-size: 14px;
  line-height: 1.35;
}

body.otoprep-app .otoprep-voice__modalThumbs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

body.otoprep-app .otoprep-voice__modalThumb{
  position: relative;
  padding: 0;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  background: rgba(0,0,0,.02);
  overflow: hidden;
  cursor: pointer;
}

body.otoprep-app .otoprep-voice__modalThumb img{
  width: 96px;
  height: 72px;
  object-fit: cover;
  display: block;
}

body.otoprep-app .otoprep-voice__modalThumbLabel{
  position: absolute;
  left: 6px;
  top: 6px;
  min-width: 20px;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
  background: rgba(0,0,0,.60);
  color: #fff;
}

body.otoprep-app .otoprep-voice__modalThumb.is-active{
  outline: 3px solid rgba(0,0,0,.35);
  outline-offset: 2px;
}

@media (max-width: 640px){
  body.otoprep-app .otoprep-voice__thumb img{
    width:74px;
    height:56px;
  }
}

body.otoprep-app .otoprep-voice__choices{
  margin-top:12px;
}

body.otoprep-app .otoprep-voice__choice{
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:rgba(0,0,0,.02);
  margin:0 0 8px;
  font-size:14px;
}

body.otoprep-app .otoprep-voice__panel{
  position:sticky;
  top:72px;
  max-height: calc(100vh - 92px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

body.otoprep-app .otoprep-voice__sessionmeta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 10px;
}

body.otoprep-app .otoprep-voice__timer{
  font-size:12px;
  font-weight:900;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-voice__timer.is-hidden{display:none;}

body.otoprep-app .otoprep-voice__credits{
  font-size:12px;
  font-weight:900;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.03);
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-voice__buy{
  font-size:12px;
  font-weight:900;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.7);
  color:var(--otoprep-muted);
  text-decoration:none;
}

body.otoprep-app .otoprep-voice__buy:hover{
  background:rgba(0,0,0,.05);
}

@media (max-width: 980px){
  body.otoprep-app .otoprep-voice__panel{
    position:static;
    max-height:none;
  }
}

body.otoprep-app .otoprep-voice__status{
  font-size:12px;
  font-weight:900;
  color:var(--otoprep-muted);
  margin:0 0 10px;
}

body.otoprep-app .otoprep-voice__log{
  flex:1;
  max-height:none;
}

body.otoprep-app .otoprep-voice__feedback{
  margin-top:10px;
  border-top:1px solid rgba(0,0,0,.08);
  padding-top:10px;
  overflow:auto;
  max-height: 36vh;
}

body.otoprep-app .otoprep-voice__feedback p{margin:0 0 10px;}
body.otoprep-app .otoprep-voice__feedback ul{margin:0 0 10px 18px; padding:0;}
body.otoprep-app .otoprep-voice__feedback li{margin:0 0 6px;}

body.otoprep-app .otoprep-voice__feedback-main,
body.otoprep-app .otoprep-voice__mainFeedback{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  background:rgba(0,0,0,.02);
  overflow:auto;
  max-height: 46vh;
}

body.otoprep-app .otoprep-voice__feedback-main p,
body.otoprep-app .otoprep-voice__mainFeedback p{margin:0 0 10px;}
body.otoprep-app .otoprep-voice__feedback-main ul,
body.otoprep-app .otoprep-voice__mainFeedback ul{margin:0 0 10px 18px; padding:0;}
body.otoprep-app .otoprep-voice__feedback-main li,
body.otoprep-app .otoprep-voice__mainFeedback li{margin:0 0 6px;}

/* =========================
   Voice mode UX refinements
   ========================= */

/* Make the transcript feel more like a chat and improve mobile readability */
body.otoprep-app .otoprep-live-line{
  max-width: 88%;
}

body.otoprep-app .otoprep-live-line--user{
  margin-left: auto;
  border-radius:14px 14px 6px 14px;
}

body.otoprep-app .otoprep-live-line--assistant{
  margin-right: auto;
  border-radius:14px 14px 14px 6px;
}

body.otoprep-app .otoprep-live-line--system{
  max-width: 100%;
  text-align: center;
}

/* Pre-start mode picker */
body.otoprep-app .otoprep-voice__modepick{
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(16,117,188,.14);
  border-radius: 16px;
  background: rgba(16,117,188,.04);
}

body.otoprep-app .otoprep-voice__modepickRow{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

body.otoprep-app .otoprep-voice__modepickLabel{
  font-weight: 900;
}

body.otoprep-app .otoprep-voice__modepickHelp{
  margin-top: 8px;
  font-size: 12px;
  opacity: .80;
}

/* Sticky controls should respect iOS safe-area */
body.otoprep-app .otoprep-voice__controls{
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
}

/* =========================
   Viva modules library (Practice)
   ========================= */

body.otoprep-app .otoprep-vmod__toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin: 12px 0 6px;
}

body.otoprep-app .otoprep-vmod__search{
  flex: 1 1 260px;
  min-width: 240px;
}

body.otoprep-app .otoprep-vmod__toolbarRight{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-vmod__select{
  flex: 0 1 240px;
  min-width: 190px;
}

@media (max-width: 520px){
  body.otoprep-app .otoprep-vmod__select{
    flex: 1 1 100%;
    min-width: 0;
  }
}

body.otoprep-app .otoprep-vmod__expander{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-vmod__acc{
  margin-top: 8px;
}

body.otoprep-app .otoprep-acc{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  margin: 0 0 10px;
}

body.otoprep-app .otoprep-acc > summary{
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 900;
}

body.otoprep-app .otoprep-acc > summary::-webkit-details-marker{display:none;}

body.otoprep-app .otoprep-acc[open] > summary{
  border-bottom: 1px solid rgba(0,0,0,.06);
}

body.otoprep-app .otoprep-acc__title{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-acc__meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-acc__desc{
  padding: 10px 14px 0;
  font-size: 12px;
  opacity: .85;
}

/* Nested accordion inside a course (topic grouping). */
body.otoprep-app .otoprep-acc--sub{
  margin: 10px 12px 0;
  border-radius: 14px;
  background: rgba(0,0,0,.015);
}

body.otoprep-app .otoprep-acc--sub > summary{
  padding: 10px 12px;
  font-weight: 900;
}

body.otoprep-app .otoprep-acc--sub[open] > summary{
  border-bottom: 1px solid rgba(0,0,0,.06);
}

body.otoprep-app .otoprep-acc--sub .otoprep-vmod__row{
  background: #fff;
}

/* Highlight the "enroll to unlock" group a touch. */
body.otoprep-app details[data-otoprep-vmod-explore]{
  border: 1px dashed rgba(0,0,0,.18);
  background: rgba(0,0,0,.015);
}

body.otoprep-app .otoprep-vmod__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 10px 14px;
  border-top: 1px solid rgba(0,0,0,.06);
}

body.otoprep-app .otoprep-vmod__rowTitle{
  font-weight: 900;
}

body.otoprep-app .otoprep-vmod__rowMeta{
  font-size: 12px;
  opacity: .75;
}

body.otoprep-app .otoprep-vmod__rowActions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

@media (max-width: 720px){
  body.otoprep-app .otoprep-vmod__row{
    flex-direction: column;
    align-items: flex-start;
  }
  body.otoprep-app .otoprep-vmod__rowActions{
    width: 100%;
  }
}


/* =========================
   OtoPrep Auth UI (/app)
   ========================= */

body.otoprep-app.otoprep-view-auth .otoprep-tabs{
  display:none;
}

body.otoprep-app.otoprep-view-auth .otoprep-shell{
  padding-bottom: 24px;
}

body.otoprep-app .otoprep-auth{
  max-width: 420px;
  margin: 0 auto;
}

body.otoprep-app .otoprep-field{
  margin: 12px 0;
}

body.otoprep-app .otoprep-label{
  display:block;
  font-weight: 800;
  font-size: 13px;
  margin-bottom: 6px;
  color: var(--otoprep-text);
}

body.otoprep-app .otoprep-input{
  width: 100%;
  box-sizing: border-box;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  font-size: 16px;
}

body.otoprep-app .otoprep-input:focus{
  outline: none;
  border-color: rgba(16,117,188,.55);
  box-shadow: 0 0 0 3px rgba(16,117,188,.12);
}

body.otoprep-app .otoprep-btn--block{
  width: 100%;
  justify-content: center;
}

body.otoprep-app .otoprep-auth-links{
  margin-top: 12px;
  display:flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
}

body.otoprep-app .otoprep-auth-links a{
  color: var(--otoprep-blue);
  text-decoration: none;
  font-weight: 700;
}

body.otoprep-app .otoprep-auth-links a:hover{
  text-decoration: underline;
}

/* --------------------------------------------------------------------- */
/* Account portal helpers */
/* --------------------------------------------------------------------- */

body.otoprep-app .otoprep-portal-hero{
  border: 1px solid rgba(16,117,188,.18);
  background: linear-gradient(180deg, rgba(16,117,188,.06), rgba(255,255,255,1));
}

body.otoprep-app .otoprep-kv{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

@media (min-width: 560px){
  body.otoprep-app .otoprep-kv{
    grid-template-columns: repeat(2, 1fr);
  }
}

body.otoprep-app .otoprep-kv__item{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(16,117,188,.04);
}

body.otoprep-app .otoprep-kv__k{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--otoprep-muted);
  margin-bottom: 6px;
}

body.otoprep-app .otoprep-kv__v{
  font-weight: 900;
  word-break: break-word;
}

body.otoprep-app .otoprep-alert{
  border-radius: 12px;
  padding: 10px 12px;
  margin: 10px 0 14px;
  font-size: 14px;
}

body.otoprep-app .otoprep-alert--error{
  background: rgba(231,105,75,.10);
  border: 1px solid rgba(231,105,75,.25);
  color: var(--otoprep-orange);
}

body.otoprep-app .otoprep-alert--notice{
  background: rgba(16,117,188,.08);
  border: 1px solid rgba(16,117,188,.20);
  color: var(--otoprep-blue);
}

body.otoprep-app .otoprep-auth-divider{
  margin: 16px 0;
  display:flex;
  align-items:center;
  gap: 12px;
  color: rgba(0,0,0,.45);
  font-weight: 700;
  font-size: 13px;
}

body.otoprep-app .otoprep-auth-divider:before,
body.otoprep-app .otoprep-auth-divider:after{
  content:'';
  flex: 1;
  height: 1px;
  background: rgba(0,0,0,.12);
}

body.otoprep-app .otoprep-auth-divider span{
  display:inline-block;
  padding: 0 6px;
}

body.otoprep-app .otoprep-auth-google{
  display:flex;
  justify-content:center;
}

/* ------------------------------------------------------------
 * Onboarding survey (scoped to /app)
 * ------------------------------------------------------------ */
body.otoprep-app .otoprep-onboard{
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

body.otoprep-app .otoprep-required{
  margin-left: 4px;
  color: #d63638;
  font-weight: 900;
}

body.otoprep-app .otoprep-onboard-field{
  margin-top: 14px;
}

body.otoprep-app .otoprep-onboard-field[data-field-type="multiselect"] .otoprep-checklist{
  display:flex;
  flex-direction:column;
  gap: 10px;
  margin-top: 6px;
}

body.otoprep-app .otoprep-check{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.92);
}

body.otoprep-app .otoprep-check input[type="checkbox"]{
  margin-top: 3px;
}

body.otoprep-app .otoprep-field--error .otoprep-label{
  color: #d63638;
}

body.otoprep-app .otoprep-field--error .otoprep-input{
  border-color: rgba(214,54,56,.9);
  box-shadow: 0 0 0 2px rgba(214,54,56,.15);
}

body.otoprep-app .otoprep-hint{
  margin-top: 6px;
  font-size: 13px;
  opacity: .85;
}

/* ------------------------------------------------------------
 * First-use walkthrough tour (scoped to /app)
 * ------------------------------------------------------------ */
body.otoprep-app .otoprep-tour{
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0,0,0,.45);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding: 18px;
}

body.otoprep-app .otoprep-tour__sheet{
  width: 100%;
  max-width: 560px;
  background: #fff;
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}

body.otoprep-app .otoprep-tour__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

body.otoprep-app .otoprep-tour__title{
  font-weight: 900;
  font-size: 18px;
}

body.otoprep-app .otoprep-tour__close{
  border: 0;
  background: transparent;
  cursor:pointer;
  font-size: 24px;
  line-height: 1;
  padding: 0 8px;
}

body.otoprep-app .otoprep-tour__body{
  padding: 16px;
}

body.otoprep-app .otoprep-tour__step-title{
  font-weight: 900;
  font-size: 16px;
  margin-bottom: 8px;
}

body.otoprep-app .otoprep-tour__step-body{
  font-size: 15px;
  opacity: .9;
}

body.otoprep-app .otoprep-tour__dots{
  display:flex;
  gap: 8px;
  margin-top: 14px;
}

body.otoprep-app .otoprep-tour__dot{
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: rgba(0,0,0,.18);
}

body.otoprep-app .otoprep-tour__dot.is-active{
  background: rgba(0,0,0,.55);
}

body.otoprep-app .otoprep-tour__foot{
  display:flex;
  gap: 10px;
  justify-content:flex-end;
  padding: 14px 16px;
  border-top: 1px solid rgba(0,0,0,.06);
}

body.otoprep-app .otoprep-tour__skip{
  margin-right:auto;
}

body.otoprep-app .otoprep-tab.is-tour-highlight{
  position: relative;
}

body.otoprep-app .otoprep-tab.is-tour-highlight::after{
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 18px;
  border: 2px solid rgba(16,117,188,.7);
  box-shadow: 0 0 0 6px rgba(16,117,188,.18), 0 10px 30px rgba(0,0,0,.25);
  animation: otoprep-tour-pulse 1.6s ease-in-out infinite;
  pointer-events: none;
}

/* Generic highlight for tours (used on Voice pages for buttons/panels). */
body.otoprep-app .otoprep-tour-highlight{
  position: relative;
}

body.otoprep-app .otoprep-tour-highlight::after{
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 14px;
  border: 2px solid rgba(16,117,188,.7);
  box-shadow: 0 0 0 6px rgba(16,117,188,.18), 0 10px 30px rgba(0,0,0,.25);
  animation: otoprep-tour-pulse 1.6s ease-in-out infinite;
  pointer-events: none;
}

/* ------------------------------------------------------------
 * Small in-session nudges (Voice)
 * ------------------------------------------------------------ */
body.otoprep-app .otoprep-nudge{
  position: fixed;
  z-index: 99998;
  max-width: 320px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 14px;
  box-shadow: 0 14px 40px rgba(0,0,0,.22);
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.35;
}

body.otoprep-app .otoprep-nudge__row{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}

body.otoprep-app .otoprep-nudge__msg{
  flex: 1;
}

body.otoprep-app .otoprep-nudge__btn{
  border: 1px solid rgba(0,0,0,.18);
  background: rgba(0,0,0,.02);
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 900;
  cursor: pointer;
}

body.otoprep-app .otoprep-nudge__btn:hover{
  background: rgba(0,0,0,.05);
}

body.otoprep-app .otoprep-nudge-highlight{
  position: relative;
}

body.otoprep-app .otoprep-nudge-highlight::after{
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 14px;
  border: 2px solid rgba(16,117,188,.70);
  box-shadow: 0 0 0 6px rgba(16,117,188,.18), 0 10px 30px rgba(0,0,0,.25);
  animation: otoprep-tour-pulse 1.6s ease-in-out infinite;
  pointer-events: none;
}

@keyframes otoprep-tour-pulse{
  0%{ transform: scale(1); opacity: .95; }
  50%{ transform: scale(1.01); opacity: 1; }
  100%{ transform: scale(1); opacity: .95; }
}

/* ------------------------------------------------------------
   Subscription confirmation (PMPro)
   ------------------------------------------------------------ */
body.otoprep-app .otoprep-subconfirm{
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0,0,0,.45);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 18px 18px 22px;
}

body.otoprep-app .otoprep-subconfirm__sheet{
  width: 100%;
  max-width: 620px;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}

body.otoprep-app .otoprep-subconfirm__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

body.otoprep-app .otoprep-subconfirm__title{
  font-weight: 900;
  font-size: 18px;
}

body.otoprep-app .otoprep-subconfirm__close{
  border: 0;
  background: transparent;
  cursor:pointer;
  font-size: 24px;
  line-height: 1;
  padding: 0 8px;
}

body.otoprep-app .otoprep-subconfirm__body{
  padding: 16px;
}

body.otoprep-app .otoprep-subconfirm__levels{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}

body.otoprep-app .otoprep-subconfirm__level{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  cursor: pointer;
  background: rgba(255,255,255,.7);
}

body.otoprep-app .otoprep-subconfirm__level input{
  margin-top: 3px;
}

body.otoprep-app .otoprep-subconfirm__level-name{
  font-weight: 800;
  display:block;
}

body.otoprep-app .otoprep-subconfirm__level-meta{
  display:block;
  font-size: 13px;
  opacity: .85;
  margin-top: 2px;
}

body.otoprep-app .otoprep-subconfirm__foot{
  display:flex;
  gap: 10px;
  justify-content:flex-end;
  padding: 14px 16px;
  border-top: 1px solid rgba(0,0,0,.06);
}

body.otoprep-app .otoprep-subconfirm__status{
  font-size: 13px;
  opacity: .9;
}

body.otoprep-app .otoprep-subconfirm__status.is-error{
  color: #b42318;
  opacity: 1;
}

/* ------------------------------------------------------------
   Progress → Rank trends
   ------------------------------------------------------------ */
body.otoprep-app .otoprep-ranktrends{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 12px;
}

@media (min-width: 720px){
  body.otoprep-app .otoprep-ranktrends{
    grid-template-columns: repeat(3, 1fr);
  }
}

body.otoprep-app .otoprep-ranktrends__item{
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  background: rgba(255,255,255,.55);
}

body.otoprep-app .otoprep-ranktrends__title{
  font-weight: 600;
  margin: 0;
}

/* ------------------------------------------------------------
   Checkout (PMPro + Woo embedded inside /app/checkout)
   ------------------------------------------------------------ */
body.otoprep-app.otoprep-view-checkout .otoprep-checkout-card{
  padding: 14px;
}

body.otoprep-app.otoprep-view-checkout .otoprep-checkout__meta{
  margin: 0 0 10px;
  color: var(--otoprep-text-muted);
  font-size: 13px;
}

body.otoprep-app.otoprep-view-checkout .otoprep-checkout__back{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--otoprep-text-muted);
  text-decoration: none;
  font-weight: 600;
}
body.otoprep-app.otoprep-view-checkout .otoprep-checkout__back:hover{
  color: var(--otoprep-text);
}

/* Form controls */
body.otoprep-app.otoprep-view-checkout input[type="text"],
body.otoprep-app.otoprep-view-checkout input[type="email"],
body.otoprep-app.otoprep-view-checkout input[type="password"],
body.otoprep-app.otoprep-view-checkout input[type="tel"],
body.otoprep-app.otoprep-view-checkout input[type="number"],
body.otoprep-app.otoprep-view-checkout select,
body.otoprep-app.otoprep-view-checkout textarea{
  border: 1px solid var(--otoprep-border);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  background: #fff;
}

/* Primary buttons (Woo + PMPro) */
body.otoprep-app.otoprep-view-checkout .woocommerce button.button,
body.otoprep-app.otoprep-view-checkout .woocommerce a.button,
body.otoprep-app.otoprep-view-checkout .woocommerce input.button,
body.otoprep-app.otoprep-view-checkout .pmpro_btn,
body.otoprep-app.otoprep-view-checkout .pmpro_btn-submit,
body.otoprep-app.otoprep-view-checkout .pmpro_btn-primary,
body.otoprep-app.otoprep-view-checkout button#place_order{
  background: var(--otoprep-blue);
  color: #fff;
  border: 1px solid rgba(0,0,0,.02);
  border-radius: 14px;
  padding: 12px 16px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 16px rgba(16,117,188,.18);
}
body.otoprep-app.otoprep-view-checkout .woocommerce button.button:hover,
body.otoprep-app.otoprep-view-checkout .woocommerce a.button:hover,
body.otoprep-app.otoprep-view-checkout .pmpro_btn:hover,
body.otoprep-app.otoprep-view-checkout button#place_order:hover{
  filter: brightness(0.98);
}

/* Secondary / outline buttons */
body.otoprep-app.otoprep-view-checkout .woocommerce .button.alt,
body.otoprep-app.otoprep-view-checkout .woocommerce button.button.alt{
  background: var(--otoprep-blue);
}

/* Cards/panels inside embedded checkouts */
body.otoprep-app.otoprep-view-checkout .woocommerce .woocommerce-checkout-review-order,
body.otoprep-app.otoprep-view-checkout .woocommerce .woocommerce-checkout-payment,
body.otoprep-app.otoprep-view-checkout .pmpro_checkout-fields{
  border: 1px solid var(--otoprep-border);
  border-radius: 16px;
  padding: 12px;
  background: rgba(255,255,255,.65);
}

/* Make third-party headings feel like the app */
body.otoprep-app.otoprep-view-checkout .woocommerce h3,
body.otoprep-app.otoprep-view-checkout .woocommerce h2,
body.otoprep-app.otoprep-view-checkout #pmpro_checkout h3,
body.otoprep-app.otoprep-view-checkout #pmpro_checkout h2{
  font-family: inherit;
  letter-spacing: -0.2px;
}

/* Collapsible details blocks (e.g. Progress -> Voice sessions) */
body.otoprep-app .otoprep-details{
  border: 1px solid var(--otoprep-border);
  border-radius: 12px;
  padding: 8px 10px;
  background: rgba(255,255,255,.6);
}
body.otoprep-app .otoprep-details > summary{
  cursor: pointer;
  font-weight: 800;
}
body.otoprep-app .otoprep-pre{
  white-space: pre-wrap;
  word-break: break-word;
  margin: 10px 0 0 0;
  font-size: 13px;
  line-height: 1.45;
}
body.otoprep-app .otoprep-feedback{
  font-size: 14px;
  line-height: 1.5;
}


/* ------------------------------------------------------------
 * Voice Live Coach sticky panel (embedded contexts)
 * Ensures the Timer/Credits + Extend controls stay visible while the
 * conversation log scrolls, even when the body does not have the
 * `otoprep-app` class (e.g., shortcode embeds).
 * ------------------------------------------------------------ */
.otoprep-voice .otoprep-voice__panel{
  position: sticky;
  top: 12px;
  max-height: calc(100vh - 24px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.otoprep-voice .otoprep-voice__log{
  flex: 1;
  max-height: none;
  overflow: auto;
}

/* Keep the session meta (Timer + Credits) pinned at the top of the panel */
.otoprep-voice .otoprep-voice__sessionmeta{
  position: sticky;
  top: 0;
  z-index: 3;
  background: #fff;
}

/* Keep controls reachable (Extend button) */
.otoprep-voice .otoprep-voice__controls{
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: #fff;
}

/* ------------------------------------------------------------
 * Mobile / PWA deepening (Milestone 10)
 * Install banner + reduced motion support for app shell.
 * ------------------------------------------------------------ */
body.otoprep-app .otoprep-install-banner{
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 120;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .22s ease, transform .22s ease;
}

body.otoprep-app .otoprep-install-banner[hidden]{
  display: none !important;
}

body.otoprep-app .otoprep-install-banner.is-visible{
  opacity: 1;
  transform: translateY(0);
}

body.otoprep-app .otoprep-install-banner__content{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--otoprep-border);
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 40px rgba(19,32,42,.14);
  backdrop-filter: blur(12px);
}

body.otoprep-app .otoprep-install-banner__text{
  min-width: 0;
  flex: 1 1 auto;
}

body.otoprep-app .otoprep-install-banner__title{
  font-size: 16px;
  line-height: 1.2;
  font-weight: 900;
  margin: 0 0 4px;
}

body.otoprep-app .otoprep-install-banner__body{
  font-size: 14px;
  line-height: 1.45;
  color: var(--otoprep-muted);
}

body.otoprep-app .otoprep-install-banner__actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

body.otoprep-app .otoprep-install-banner__button{
  appearance: none;
  border: 1px solid var(--otoprep-border);
  border-radius: 999px;
  min-height: 44px;
  padding: 0 16px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  background: #fff;
  color: var(--otoprep-ink);
}

body.otoprep-app .otoprep-install-banner__button--primary{
  background: var(--otoprep-blue);
  border-color: var(--otoprep-blue);
  color: #fff;
}

body.otoprep-app .otoprep-install-banner__button--secondary{
  background: rgba(255,255,255,.92);
}

body.otoprep-app .otoprep-install-banner.is-ios .otoprep-install-banner__button--primary{
  background: #fff;
  border-color: var(--otoprep-border);
  color: var(--otoprep-ink);
}

@media (min-width: 783px){
  body.otoprep-app .otoprep-install-banner{
    left: auto;
    right: 24px;
    width: min(460px, calc(100vw - 48px));
  }
}

@media (max-width: 782px){
  body.otoprep-app .otoprep-install-banner__content{
    flex-direction: column;
    align-items: stretch;
  }

  body.otoprep-app .otoprep-install-banner__actions{
    justify-content: stretch;
  }

  body.otoprep-app .otoprep-install-banner__button{
    flex: 1 1 0;
  }
}

body.otoprep-app.otoprep-reduced-motion .otoprep-install-banner,
body.otoprep-app.otoprep-reduced-motion .otoprep-install-banner *{
  transition: none !important;
  animation: none !important;
}

/* ------------------------------------------------------------
 * OtoPrep app-shell UX optimisation
 * Native cards for draft resume, adaptive practice, and saved study sets.
 * ------------------------------------------------------------ */
body.otoprep-app .otoprep-feature-section__head{
  margin-bottom: 14px;
}

body.otoprep-app details.otoprep-feature-section--collapsible{
  padding:0;
  overflow:hidden;
}

body.otoprep-app .otoprep-feature-section--collapsible > summary{
  list-style:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px;
  cursor:pointer;
}

body.otoprep-app .otoprep-feature-section--collapsible > summary::-webkit-details-marker{
  display:none;
}

body.otoprep-app .otoprep-feature-section__summarytext{
  display:grid;
  gap:6px;
  min-width:0;
}

body.otoprep-app .otoprep-feature-section__summarytitle{
  margin:0;
}

body.otoprep-app .otoprep-feature-section__summaryintro{
  display:block;
  max-width:54ch;
}

body.otoprep-app .otoprep-feature-section__summarytoggle{
  position:relative;
  flex:0 0 auto;
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(16,117,188,.08);
  box-shadow:0 6px 16px rgba(16,117,188,.08);
}

body.otoprep-app .otoprep-feature-section__summarytoggle::before,
body.otoprep-app .otoprep-feature-section__summarytoggle::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:10px;
  height:2px;
  border-radius:999px;
  background:var(--otoprep-blue);
  transform-origin:center;
}

body.otoprep-app .otoprep-feature-section__summarytoggle::before{
  transform:translate(-6px,-50%) rotate(45deg);
}

body.otoprep-app .otoprep-feature-section__summarytoggle::after{
  transform:translate(0,-50%) rotate(-45deg);
}

body.otoprep-app .otoprep-feature-section--collapsible[open] > summary{
  border-bottom:1px solid rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-feature-section--collapsible[open] .otoprep-feature-section__summarytoggle::before{
  transform:translate(-6px,-50%) rotate(-45deg);
}

body.otoprep-app .otoprep-feature-section--collapsible[open] .otoprep-feature-section__summarytoggle::after{
  transform:translate(0,-50%) rotate(45deg);
}

body.otoprep-app .otoprep-feature-section--collapsible .otoprep-feature-grid{
  padding:18px;
}

body.otoprep-app .otoprep-feature-grid,
body.otoprep-app .otoprep-feature-collections{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

body.otoprep-app .otoprep-feature-card,
body.otoprep-app .otoprep-feature-collection{
  position: relative;
  border: 1px solid var(--otoprep-border);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,248,252,.96));
  padding: 18px;
  box-shadow: 0 10px 24px rgba(16, 28, 45, .06);
}

body.otoprep-app .otoprep-feature-card__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(16,117,188,.10);
  color: var(--otoprep-blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}

body.otoprep-app .otoprep-feature-card__title,
body.otoprep-app .otoprep-feature-collection__title{
  margin: 12px 0 6px;
  font-size: 20px;
  line-height: 1.2;
}

body.otoprep-app .otoprep-feature-card__body,
body.otoprep-app .otoprep-feature-collection__intro{
  margin: 0;
  color: var(--otoprep-muted);
  line-height: 1.55;
}

body.otoprep-app .otoprep-feature-card__meta,
body.otoprep-app .otoprep-feature-quizrow__sub{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  color: var(--otoprep-muted);
  font-size: 13px;
  line-height: 1.45;
}

body.otoprep-app .otoprep-feature-card__meta--reason{
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(16,117,188,.06);
}

body.otoprep-app .otoprep-feature-stats{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

body.otoprep-app .otoprep-feature-stat{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid rgba(16,117,188,.10);
  border-radius: 999px;
  background: rgba(16,117,188,.04);
  font-size: 13px;
  font-weight: 700;
}

body.otoprep-app .otoprep-feature-stat strong{
  font-size: 15px;
  color: var(--otoprep-ink);
}

body.otoprep-app .otoprep-feature-collection__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

body.otoprep-app .otoprep-feature-collection__count{
  flex: 0 0 auto;
  min-width: 52px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: rgba(16,117,188,.08);
  color: var(--otoprep-blue);
  font-size: 22px;
  font-weight: 900;
}

body.otoprep-app .otoprep-feature-collection__empty{
  padding: 14px;
  border-radius: 16px;
  background: rgba(16, 28, 45, .04);
  color: var(--otoprep-muted);
}

body.otoprep-app .otoprep-feature-quizlist{
  display: grid;
  gap: 12px;
}

body.otoprep-app .otoprep-feature-quizrow{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(16, 28, 45, .06);
}

body.otoprep-app .otoprep-feature-quizrow__meta{
  min-width: 0;
  flex: 1 1 auto;
}

body.otoprep-app .otoprep-feature-quizrow__title{
  font-size: 15px;
  font-weight: 800;
  color: var(--otoprep-ink);
}

body.otoprep-app .otoprep-actions--stack-sm{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

body.otoprep-app .otoprep-qreview-explanation--tutor{
  margin-top: 12px;
}

body.otoprep-app .otoprep-qreview-explanation--tutor .ays-qm-tutor-card{
  border-radius: 18px;
  box-shadow: none;
}

body.otoprep-app .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-header{
  margin-bottom: 4px;
}

body.otoprep-app .otoprep-qreview-explanation--tutor .ays-qm-save-to-review{
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
}

body.otoprep-app details.otoprep-qreview{
  border:1px solid rgba(16,117,188,.14);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(16,117,188,.08);
}

body.otoprep-app details.otoprep-qreview > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  background:linear-gradient(180deg, rgba(16,117,188,.08) 0%, rgba(16,117,188,.03) 100%);
}

body.otoprep-app details.otoprep-qreview > summary::-webkit-details-marker{
  display:none;
}

body.otoprep-app details.otoprep-qreview[open] > summary{
  border-bottom:1px solid rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-qreview-body{
  padding:18px;
  background:#fff;
}

body.otoprep-app .otoprep-qreview-question{
  font-size:16px;
  line-height:1.6;
}

body.otoprep-app .otoprep-qreview-answers{
  display:grid;
  gap:10px;
}

body.otoprep-app .otoprep-qreview-answers > div{
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(16,117,188,.10);
  background:rgba(16,117,188,.04);
}

body.otoprep-app .otoprep-qreview-explanation{
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(16,117,188,.12);
  background:rgba(16,117,188,.05);
}

@media (max-width: 782px){
  body.otoprep-app .otoprep-feature-grid,
  body.otoprep-app .otoprep-feature-collections{
    grid-template-columns: 1fr;
  }

  body.otoprep-app .otoprep-feature-collection__head,
  body.otoprep-app .otoprep-feature-quizrow{
    flex-direction: column;
    align-items: stretch;
  }

  body.otoprep-app .otoprep-feature-collection__count{
    align-self: flex-start;
  }

  body.otoprep-app .otoprep-actions--stack-sm,
  body.otoprep-app .otoprep-feature-card .otoprep-actions{
    justify-content: stretch;
  }

  body.otoprep-app .otoprep-actions--stack-sm .otoprep-btn,
  body.otoprep-app .otoprep-feature-card .otoprep-actions .otoprep-btn{
    flex: 1 1 auto;
    text-align: center;
  }

  body.otoprep-app .otoprep-title-row,
  body.otoprep-app .otoprep-result-actions{
    flex-direction:column;
    align-items:stretch;
  }

  body.otoprep-app .otoprep-result-actions .otoprep-btn{
    width:100%;
  }

  body.otoprep-app .otoprep-command-centre__body{
    padding:12px;
  }

  body.otoprep-app .otoprep-quick-mixed-btn{
    flex:1 1 calc(50% - 6px);
    min-width:0;
  }
}


/* --------------------------------------------------------------------- */
/* Result review polish + toolbar placement follow-up (21.7.17.5.71) */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-result .otoprep-shell{
  max-width:1240px;
}

body.otoprep-app.otoprep-view-result .otoprep-card--review{
  padding:18px;
}

body.otoprep-app .otoprep-results-review__title{
  font-size:30px;
  line-height:1.08;
  letter-spacing:-0.03em;
}

body.otoprep-app .otoprep-results-review__intro{
  margin:0 0 6px;
}

body.otoprep-app .otoprep-results-review__hint{
  margin:0 0 14px;
  color:var(--otoprep-muted);
  font-size:14px;
  font-weight:700;
}

body.otoprep-app .otoprep-qreview-summary__left,
body.otoprep-app .otoprep-qreview-summary__right{
  display:flex;
  align-items:center;
  gap:10px;
}

body.otoprep-app .otoprep-qreview-summary__left{
  min-width:0;
  flex:1 1 auto;
}

body.otoprep-app .otoprep-qreview-summary__index{
  font-size:17px;
  font-weight:950;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-qreview-summary__status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:900;
  border:1px solid rgba(16,117,188,.12);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-blue);
}

body.otoprep-app .otoprep-qreview-summary__status--correct{
  background:rgba(48,163,95,.12);
  border-color:rgba(48,163,95,.22);
  color:#237347;
}

body.otoprep-app .otoprep-qreview-summary__status--missed{
  background:rgba(185,77,98,.10);
  border-color:rgba(185,77,98,.18);
  color:#B94D62;
}

body.otoprep-app .otoprep-qreview-summary__status--unknown{
  background:rgba(95,109,122,.10);
  border-color:rgba(95,109,122,.16);
  color:#4d5e6a;
}

body.otoprep-app .otoprep-qreview-summary__hint{
  font-size:12px;
  line-height:1;
  font-weight:800;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-qreview-summary__hint--open{
  display:none;
}

body.otoprep-app details.otoprep-qreview[open] .otoprep-qreview-summary__hint--open{
  display:inline;
}

body.otoprep-app details.otoprep-qreview[open] .otoprep-qreview-summary__hint--closed{
  display:none;
}

body.otoprep-app .otoprep-qreview-summary__chevron{
  width:11px;
  height:11px;
  border-right:2px solid var(--otoprep-blue);
  border-bottom:2px solid var(--otoprep-blue);
  transform:rotate(45deg);
  transition:transform .18s ease;
  flex:0 0 auto;
}

body.otoprep-app details.otoprep-qreview[open] .otoprep-qreview-summary__chevron{
  transform:rotate(225deg);
}

body.otoprep-app .otoprep-qreview-body,
body.otoprep-app .otoprep-qreview-question,
body.otoprep-app .otoprep-qreview-answers,
body.otoprep-app .otoprep-qreview-explanation{
  max-width:none;
}

body.otoprep-app .otoprep-qreview-question,
body.otoprep-app .otoprep-qreview-answers > div,
body.otoprep-app .otoprep-qreview-explanation,
body.otoprep-app .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-section-content,
body.otoprep-app .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-legacy{
  overflow-wrap:anywhere;
}

body.otoprep-app .otoprep-qreview-question img,
body.otoprep-app .otoprep-qreview-answers img,
body.otoprep-app .otoprep-qreview-explanation img,
body.otoprep-app .otoprep-qreview-explanation--tutor img{
  max-width:100%;
  height:auto;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box{
  justify-content:center;
  margin:8px 0 18px;
  padding-top:4px;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box,
body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  justify-content:center;
}

body.otoprep-app.otoprep-view-quiz.otoprep-has-timer .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  top:auto !important;
  right:auto !important;
}

body.otoprep-app .ays-quiz-question-state-box.otoprep-mark-toolbar-ready > .ays-question-review-later-toggle{
  display:none !important;
}

@media (max-width: 782px){
  body.otoprep-app.otoprep-view-result .otoprep-shell{
    padding:10px 10px 90px;
  }

  body.otoprep-app.otoprep-view-result .otoprep-card--review{
    padding:12px;
  }

  body.otoprep-app.otoprep-view-result details.otoprep-qreview > summary{
    padding:14px 12px;
  }

  body.otoprep-app.otoprep-view-result .otoprep-qreview-body{
    padding:14px 12px;
  }

  body.otoprep-app.otoprep-view-result .otoprep-qreview-answers > div,
  body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation{
    padding:12px 13px;
  }

  body.otoprep-app .otoprep-qreview-summary__right{
    gap:8px;
  }

  body.otoprep-app .otoprep-qreview-summary__hint{
    font-size:11px;
  }

  body.otoprep-app .otoprep-results-review__title{
    font-size:24px;
  }
}


/* --------------------------------------------------------------------- */
/* Follow-up polish (21.7.17.5.71)                                       */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-result .otoprep-shell{
  max-width:1360px;
  padding:12px 10px 90px;
}

body.otoprep-app.otoprep-view-result .otoprep-card--review{
  padding:14px;
}

body.otoprep-app .otoprep-results-review__hint{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(16,117,188,.06);
}

body.otoprep-app .otoprep-results-review__hint::before{
  content:'↕';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(16,117,188,.14);
  color:var(--otoprep-blue);
  font-weight:900;
  flex:0 0 auto;
}

body.otoprep-app details.otoprep-qreview > summary{
  cursor:pointer;
  transition:background .16s ease;
}

body.otoprep-app details.otoprep-qreview > summary:hover{
  background:linear-gradient(180deg, rgba(16,117,188,.11) 0%, rgba(16,117,188,.05) 100%);
}

body.otoprep-app details.otoprep-qreview > summary:focus-visible{
  outline:2px solid rgba(16,117,188,.45);
  outline-offset:2px;
}

body.otoprep-app .otoprep-qreview-summary__right{
  flex:0 0 auto;
}

body.otoprep-app .otoprep-qreview-summary__hint{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.14);
  background:#fff;
  color:var(--otoprep-blue);
}

body.otoprep-app .otoprep-qreview-body{
  padding:16px 14px;
}

body.otoprep-app .otoprep-qreview-answers > div,
body.otoprep-app .otoprep-qreview-explanation{
  padding:13px 14px;
}

body.otoprep-app .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-header,
body.otoprep-app .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-body,
body.otoprep-app .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-footer{
  padding-left:14px;
  padding-right:14px;
}

body.otoprep-app.otoprep-view-quiz .ays-question-counter{
  margin:0 0 10px;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box{
  margin:10px 0 20px;
  clear:both;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  row-gap:10px;
}

body.otoprep-app.otoprep-view-quiz.otoprep-mode-exam .ays_check_answer,
body.otoprep-app.otoprep-view-quiz.otoprep-mode-timed .ays_check_answer,
body.otoprep-app.otoprep-view-quiz.otoprep-mode-exam .right_answer_text,
body.otoprep-app.otoprep-view-quiz.otoprep-mode-timed .right_answer_text,
body.otoprep-app.otoprep-view-quiz.otoprep-mode-exam .wrong_answer_text,
body.otoprep-app.otoprep-view-quiz.otoprep-mode-timed .wrong_answer_text,
body.otoprep-app.otoprep-view-quiz.otoprep-mode-exam .ays_questtion_explanation,
body.otoprep-app.otoprep-view-quiz.otoprep-mode-timed .ays_questtion_explanation{
  display:none !important;
}

@media (max-width: 782px){
  body.otoprep-app.otoprep-view-result .otoprep-shell{
    padding:8px 6px 90px;
  }

  body.otoprep-app.otoprep-view-result .otoprep-card--review{
    padding:10px;
  }

  body.otoprep-app .otoprep-results-review__hint{
    padding:10px 11px;
    gap:8px;
  }

  body.otoprep-app.otoprep-view-result details.otoprep-qreview > summary{
    padding:12px 10px;
  }

  body.otoprep-app.otoprep-view-result .otoprep-qreview-body{
    padding:12px 10px;
  }

  body.otoprep-app.otoprep-view-result .otoprep-qreview-answers > div,
  body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation{
    padding:11px 10px;
  }

  body.otoprep-app .otoprep-qreview-summary__hint{
    min-height:24px;
    padding:0 8px;
  }
}


/* --------------------------------------------------------------------- */
/* 21.7.17.5.72 follow-up polish                                         */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box{
  margin:16px 0 30px !important;
  padding-top:10px !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  margin-top:12px !important;
  margin-bottom:6px !important;
  gap:18px !important;
  row-gap:12px !important;
}

body.otoprep-app .otoprep-mark-item{
  gap:7px !important;
  flex:0 0 68px !important;
  max-width:68px !important;
}

body.otoprep-app .otoprep-mark-item__icon{
  width:48px !important;
  height:48px !important;
  overflow:hidden;
}

body.otoprep-app .otoprep-mark-item--flag .ays-navbar-bookmark{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  opacity:0.01;
}

body.otoprep-app .otoprep-mark-item--flag .otoprep-mark-item__icon::before,
body.otoprep-app .otoprep-mark-item--review .otoprep-mark-item__icon::before{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:block;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

body.otoprep-app .otoprep-mark-item--flag .otoprep-mark-item__icon::before{
  width:24px;
  height:24px;
  background-image:url('../images/bookmark-empty.svg');
}

body.otoprep-app .otoprep-mark-item--flag.is-on .otoprep-mark-item__icon::before{
  background-image:url('../images/bookmark-filled.svg');
}

body.otoprep-app .otoprep-mark-item--review .otoprep-mark-item__icon::before{
  width:25px;
  height:25px;
  background-image:url('../images/review-later-outline.svg');
}

body.otoprep-app .otoprep-mark-item--review.is-on .otoprep-mark-item__icon::before{
  background-image:url('../images/review-later-filled.svg');
}

body.otoprep-app .otoprep-mark-item--review .ays-question-review-later-toggle{
  opacity:0.01 !important;
}

body.otoprep-app .otoprep-card--review details.otoprep-qreview{
  display:block !important;
  border:1px solid rgba(16,117,188,.18) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(16,117,188,.08) !important;
}

body.otoprep-app .otoprep-card--review details.otoprep-qreview > summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:15px 16px !important;
  background:linear-gradient(180deg, rgba(16,117,188,.12) 0%, rgba(16,117,188,.06) 100%) !important;
  cursor:pointer !important;
}

body.otoprep-app .otoprep-card--review details.otoprep-qreview[open] > summary{
  border-bottom:1px solid rgba(16,117,188,.10) !important;
}

body.otoprep-app .otoprep-qreview-summary__left,
body.otoprep-app .otoprep-qreview-summary__right{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

body.otoprep-app .otoprep-qreview-summary__right{
  margin-left:auto;
}

body.otoprep-app .otoprep-qreview-summary__hint{
  display:none !important;
}

body.otoprep-app .otoprep-qreview-summary__chevron{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:30px !important;
  height:30px !important;
  border:1px solid rgba(16,117,188,.18) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--otoprep-blue) !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1 !important;
  transition:transform .18s ease;
}

body.otoprep-app details.otoprep-qreview[open] .otoprep-qreview-summary__chevron{
  transform:rotate(180deg);
}

body.otoprep-app .otoprep-qreview-stamp{
  display:inline-flex !important;
  flex-direction:column !important;
  gap:2px !important;
  line-height:1.15 !important;
  max-width:min(100%, 440px) !important;
}

body.otoprep-app .otoprep-qreview-stamp__line{
  display:block;
}

@media (max-width: 782px){
  body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box{
    margin:14px 0 26px !important;
  }

  body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
    gap:16px !important;
    row-gap:12px !important;
  }

  body.otoprep-app .otoprep-mark-item{
    flex:0 0 64px !important;
    max-width:64px !important;
  }

  body.otoprep-app .otoprep-mark-item__icon{
    width:46px !important;
    height:46px !important;
  }
}


/* --------------------------------------------------------------------- */
/* 21.7.17.5.73 explanation width + watermark readability                */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-result .otoprep-card--watermarked .otoprep-watermark{
  z-index:0 !important;
  mix-blend-mode:normal !important;
}

body.otoprep-app.otoprep-view-result .otoprep-card--watermarked .otoprep-watermark__content{
  position:relative;
  z-index:1 !important;
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-stamp{
  z-index:0 !important;
  mix-blend-mode:normal !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:.01em;
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-body > *:not(.otoprep-qreview-stamp){
  position:relative;
  z-index:1 !important;
}

body.otoprep-app.otoprep-view-result .otoprep-results-review__title,
body.otoprep-app.otoprep-view-result .otoprep-qreview-question,
body.otoprep-app.otoprep-view-result .otoprep-qreview-answers > div,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-section-content,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-legacy{
  color:#16212B;
}

body.otoprep-app.otoprep-view-result .otoprep-results-review__intro{
  color:#536575;
}

body.otoprep-app.otoprep-view-result .otoprep-results-review__hint{
  color:#4E6576;
  background:rgba(16,117,188,.045);
  border-color:rgba(16,117,188,.10);
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor{
  margin-top:14px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card,
body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation .ays-qm-tutor-card{
  width:100%;
  max-width:none;
  margin:0;
  box-sizing:border-box;
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card{
  border-radius:18px;
  box-shadow:0 10px 24px rgba(15, 23, 42, 0.05);
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-header,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-body,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-footer,
body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation .ays-qm-tutor-card-header,
body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation .ays-qm-tutor-card-body,
body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation .ays-qm-tutor-card-footer{
  padding-left:18px;
  padding-right:18px;
}

body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation{
  width:100%;
  max-width:none;
  margin:14px 0 0;
}

body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation .ays-qm-tutor-card{
  border-radius:18px;
}

@media (max-width: 782px){
  body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-header,
  body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-body,
  body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card-footer,
  body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation .ays-qm-tutor-card-header,
  body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation .ays-qm-tutor-card-body,
  body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation .ays-qm-tutor-card-footer{
    padding-left:14px;
    padding-right:14px;
  }
}

/* --------------------------------------------------------------------- */
/* 21.7.17.5.74 shared review UI + visible inline watermarks             */
/* --------------------------------------------------------------------- */

body.otoprep-app .otoprep-quiz-card--watermarked,
body.otoprep-app .otoprep-card--review{
  --otoprep-inline-wm-image:none;
  --otoprep-inline-wm-size:240px 150px;
  --otoprep-inline-wm-position:0 0;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step[data-question-id] > .ays-abs-fs,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step.ays-scenario-child-step > .ays-abs-fs,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step.ays-scenario-step > .ays-abs-fs{
  display:flex;
  flex-direction:column;
  gap:14px;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question{
  margin:0 0 2px;
  padding:20px 20px 18px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:24px;
  background-color:rgba(239,246,252,.9);
  background-image:var(--otoprep-inline-wm-image);
  background-repeat:repeat;
  background-size:var(--otoprep-inline-wm-size);
  background-position:var(--otoprep-inline-wm-position);
  box-shadow:0 10px 26px rgba(16,117,188,.08);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question p:last-child,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text p:last-child,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text p:last-child,
body.otoprep-app.otoprep-view-result .otoprep-qreview-answers > div p:last-child,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation p:last-child{
  margin-bottom:0;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers{
  display:grid;
  gap:12px;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field{
  margin:0;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation,
body.otoprep-app.otoprep-view-result .otoprep-qreview-answers > div,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card,
body.otoprep-app.otoprep-view-result details.otoprep-qreview,
body.otoprep-app.otoprep-view-result .otoprep-qreview-body{
  background-image:var(--otoprep-inline-wm-image);
  background-repeat:repeat;
  background-size:var(--otoprep-inline-wm-size);
  background-position:var(--otoprep-inline-wm-position);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation{
  margin-top:0;
  padding:18px 18px 16px;
  border-radius:22px;
  border:1px solid rgba(16,117,188,.12);
  background-color:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text{
  background-color:rgba(239,246,252,.9);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text{
  background-color:rgba(255,246,246,.92);
  border-color:rgba(185,77,98,.16);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card{
  background-color:rgba(255,255,255,.94);
  background-image:var(--otoprep-inline-wm-image);
  background-repeat:repeat;
  background-size:var(--otoprep-inline-wm-size);
  background-position:var(--otoprep-inline-wm-position);
}

body.otoprep-app.otoprep-view-result details.otoprep-qreview{
  background-color:rgba(233,243,251,.86);
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-body{
  background-color:rgba(255,255,255,.96);
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-answers > div{
  background-color:rgba(239,246,252,.9);
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation{
  background-color:rgba(255,255,255,.94);
}

@media (max-width: 782px){
  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question,
  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text,
  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text,
  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation{
    padding:16px 14px;
    border-radius:20px;
  }
}


/* --------------------------------------------------------------------- */
/* 21.7.17.5.75 watermark visibility tune                                */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card,
body.otoprep-app.otoprep-view-result .otoprep-qreview-answers > div,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation,
body.otoprep-app.otoprep-view-result .otoprep-qreview-explanation--tutor .ays-qm-tutor-card,
body.otoprep-app.otoprep-view-result .otoprep-qreview-body,
body.otoprep-app.otoprep-view-result details.otoprep-qreview,
body.otoprep-app.otoprep-view-quiz .ays-review-before-submit-page,
body.otoprep-app.otoprep-view-quiz .ays-review-before-submit-card,
body.otoprep-app.otoprep-view-quiz .ays-review-before-submit-map-item{
  background-blend-mode:multiply;
}

body.otoprep-app.otoprep-view-result details.otoprep-qreview > summary{
  background-image:linear-gradient(180deg, rgba(16,117,188,.12) 0%, rgba(16,117,188,.06) 100%), var(--otoprep-inline-wm-image) !important;
  background-repeat:no-repeat, repeat !important;
  background-size:auto, var(--otoprep-inline-wm-size) !important;
  background-position:0 0, var(--otoprep-inline-wm-position) !important;
  background-blend-mode:normal, multiply !important;
}


/* --------------------------------------------------------------------- */
/* 21.8.5 exam-player polish pass                                        */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz{
  --otoprep-player-surface:#ffffff;
  --otoprep-player-surface-soft:#f8fafc;
  --otoprep-player-border:rgba(19,32,42,.08);
  --otoprep-player-border-strong:rgba(16,117,188,.18);
  --otoprep-player-shadow:0 16px 34px rgba(15,23,42,.08);
  --otoprep-player-shadow-soft:0 8px 20px rgba(15,23,42,.05);
  --otoprep-player-chip-bg:rgba(19,32,42,.04);
  --otoprep-question-font-size:18px;
  --otoprep-answer-font-size:16px;
  --otoprep-answer-radius:20px;
}

body.otoprep-app.otoprep-view-quiz.otoprep-textsize-lg{
  --otoprep-question-font-size:20px;
  --otoprep-answer-font-size:17px;
}

body.otoprep-app.otoprep-view-quiz.otoprep-textsize-xl{
  --otoprep-question-font-size:22px;
  --otoprep-answer-font-size:19px;
}

body.otoprep-app.otoprep-view-quiz .otoprep-shell{
  max-width:960px;
  padding-top:8px;
}

body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz{
  margin-bottom:12px;
  padding:calc(10px + env(safe-area-inset-top)) 12px 10px;
  border-radius:20px;
  border:1px solid var(--otoprep-player-border);
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  backdrop-filter:blur(14px);
}

body.otoprep-app.otoprep-view-quiz .otoprep-topbar__row--quiz{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__left,
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__right{
  display:flex;
  align-items:center;
  min-width:0;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__right{
  justify-content:flex-end;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__mid{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__eyebrow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  min-width:0;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__back{
  min-height:40px;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid var(--otoprep-player-border);
  background:#fff;
  color:var(--otoprep-ink);
  font-weight:900;
  box-shadow:none;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__mode{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.18);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-blue);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
}

body.otoprep-app.otoprep-view-quiz.otoprep-mode-exam .otoprep-quizbar__mode{
  border-color:rgba(19,32,42,.10);
  background:rgba(19,32,42,.05);
  color:var(--otoprep-ink);
}

body.otoprep-app.otoprep-view-quiz.otoprep-mode-timed .otoprep-quizbar__mode{
  border-color:rgba(231,105,75,.28);
  background:rgba(231,105,75,.12);
  color:var(--otoprep-orange);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__sub{
  font-size:12px;
  line-height:1.3;
  color:var(--otoprep-muted);
  white-space:normal;
  overflow:visible;
  text-overflow:initial;
  margin:0;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__title{
  font-size:16px;
  line-height:1.25;
  font-weight:950;
  color:var(--otoprep-ink);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__bar{
  margin-top:0;
  height:5px;
  border-radius:999px;
  background:rgba(16,117,188,.10);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__barfill{
  border-radius:999px;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__progress,
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__timer,
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__ai,
body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__textsize{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:14px;
  border:1px solid var(--otoprep-player-border);
  background:#fff;
  color:var(--otoprep-ink);
  font-weight:900;
  font-size:13px;
  line-height:1;
  box-shadow:none;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__progress{
  letter-spacing:.01em;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__timer{
  min-width:78px;
}

body.otoprep-app.otoprep-view-quiz.otoprep-mode-timed .otoprep-quizbar__timer{
  border-color:rgba(231,105,75,.24);
  background:rgba(231,105,75,.08);
  color:var(--otoprep-orange);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__ai{
  border-color:rgba(16,117,188,.18);
  background:rgba(16,117,188,.06);
  color:var(--otoprep-blue);
  cursor:pointer;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__textsize{
  min-width:44px;
  padding-inline:10px;
  cursor:pointer;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__marks{
  display:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-wrap{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}

body.otoprep-app.otoprep-view-quiz .otoprep-card.otoprep-quiz-card{
  padding:22px 20px 24px;
  border-radius:26px;
  border:1px solid var(--otoprep-player-border);
  background:rgba(255,255,255,.98);
  box-shadow:var(--otoprep-player-shadow);
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step[data-question-id] > .ays-abs-fs,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step.ays-scenario-step > .ays-abs-fs,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step.ays-scenario-child-step > .ays-abs-fs{
  gap:18px;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box{
  margin:0;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box,
body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  justify-content:flex-start;
  gap:8px;
  margin:0 !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-mark-item{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  max-width:none;
  min-height:40px;
  padding:4px 12px 4px 6px;
  border:1px solid var(--otoprep-player-border);
  border-radius:999px;
  background:#fff;
  box-shadow:var(--otoprep-player-shadow-soft);
}

body.otoprep-app.otoprep-view-quiz .otoprep-mark-item__icon{
  width:30px;
  height:30px;
  border-radius:999px;
  border:0;
  background:rgba(19,32,42,.06);
  box-shadow:none;
}

body.otoprep-app.otoprep-view-quiz .otoprep-mark-item__label{
  width:auto;
  min-height:0;
  font-size:12px;
  line-height:1;
  color:var(--otoprep-ink);
  font-weight:800;
  align-items:center;
  white-space:nowrap;
}

body.otoprep-app.otoprep-view-quiz .otoprep-mark-item--flag.is-on,
body.otoprep-app.otoprep-view-quiz .otoprep-mark-item--review.is-on,
body.otoprep-app.otoprep-view-quiz .otoprep-mark-item--unsure.is-on{
  border-color:rgba(16,117,188,.18);
  background:rgba(16,117,188,.06);
}

body.otoprep-app.otoprep-view-quiz .otoprep-mark-item--unsure.is-on{
  border-color:rgba(19,32,42,.18);
  background:rgba(19,32,42,.06);
}

body.otoprep-app.otoprep-view-quiz .otoprep-mark-item--flag.is-on .otoprep-mark-item__icon,
body.otoprep-app.otoprep-view-quiz .otoprep-mark-item--review.is-on .otoprep-mark-item__icon,
body.otoprep-app.otoprep-view-quiz .otoprep-mark-item--unsure.is-on .otoprep-mark-item__icon{
  background:rgba(255,255,255,.92);
}

body.otoprep-app.otoprep-view-quiz .otoprep-question-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 2px;
}

body.otoprep-app.otoprep-view-quiz .otoprep-question-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid var(--otoprep-player-border);
  background:var(--otoprep-player-chip-bg);
  color:var(--otoprep-muted);
  font-size:12px;
  line-height:1;
  font-weight:850;
}

body.otoprep-app.otoprep-view-quiz .otoprep-question-chip--index,
body.otoprep-app.otoprep-view-quiz .otoprep-question-chip--mode{
  border-color:rgba(16,117,188,.18);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-quiz.otoprep-mode-exam .otoprep-question-chip--mode{
  border-color:rgba(19,32,42,.10);
  background:rgba(19,32,42,.05);
  color:var(--otoprep-ink);
}

body.otoprep-app.otoprep-view-quiz.otoprep-mode-timed .otoprep-question-chip--mode{
  border-color:rgba(231,105,75,.28);
  background:rgba(231,105,75,.10);
  color:var(--otoprep-orange);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:var(--otoprep-question-font-size) !important;
  line-height:1.68 !important;
  font-weight:700;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question p,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question li,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question td,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question blockquote{
  font-size:1em !important;
  line-height:1.68 !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_quiz_question strong{
  font-weight:800;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers{
  display:grid;
  gap:12px;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field{
  position:relative;
  margin:0;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > input[type="radio"],
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > input[type="checkbox"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field .answer-icon{
  display:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label{
  display:flex !important;
  align-items:flex-start;
  gap:14px;
  width:100%;
  min-height:56px;
  margin:0 !important;
  padding:16px 18px !important;
  border:1px solid var(--otoprep-player-border) !important;
  border-radius:var(--otoprep-answer-radius) !important;
  background:var(--otoprep-player-surface) !important;
  box-shadow:var(--otoprep-player-shadow-soft) !important;
  color:var(--otoprep-ink) !important;
  font-size:var(--otoprep-answer-font-size) !important;
  font-weight:650;
  line-height:1.55 !important;
  text-align:left !important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label::before,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label::after{
  content:none !important;
  display:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-answer__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:999px;
  border:1px solid rgba(19,32,42,.10);
  background:var(--otoprep-player-surface-soft);
  color:var(--otoprep-ink);
  font-size:13px;
  line-height:1;
  font-weight:900;
  margin-top:1px;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field:hover > label.otoprep-answer__label{
  border-color:rgba(16,117,188,.22) !important;
  box-shadow:0 12px 24px rgba(16,117,188,.08) !important;
  transform:translateY(-1px);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field.is-selected > label.otoprep-answer__label,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > input[type="radio"]:checked + label.otoprep-answer__label,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > input[type="checkbox"]:checked + label.otoprep-answer__label{
  border-color:rgba(16,117,188,.36) !important;
  background:rgba(16,117,188,.06) !important;
  box-shadow:0 0 0 3px rgba(16,117,188,.10), 0 14px 28px rgba(16,117,188,.10) !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field.is-selected > label.otoprep-answer__label .otoprep-answer__badge,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > input[type="radio"]:checked + label.otoprep-answer__label .otoprep-answer__badge,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > input[type="checkbox"]:checked + label.otoprep-answer__label .otoprep-answer__badge{
  border-color:rgba(16,117,188,.24);
  background:#fff;
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > input[type="radio"]:focus-visible + label.otoprep-answer__label,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > input[type="checkbox"]:focus-visible + label.otoprep-answer__label{
  box-shadow:0 0 0 4px rgba(16,117,188,.16), var(--otoprep-player-shadow-soft) !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field.is-correct > label.otoprep-answer__label,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label.answered.correct{
  border-color:rgba(22,163,74,.28) !important;
  background:rgba(22,163,74,.08) !important;
  color:#14532d !important;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field.is-wrong > label.otoprep-answer__label,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label.answered.wrong{
  border-color:rgba(220,38,38,.24) !important;
  background:rgba(220,38,38,.06) !important;
  color:#7f1d1d !important;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field.is-correct > label.otoprep-answer__label .otoprep-answer__badge,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label.answered.correct .otoprep-answer__badge{
  border-color:rgba(22,163,74,.24);
  background:#fff;
  color:#166534;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field.is-wrong > label.otoprep-answer__label .otoprep-answer__badge,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label.answered.wrong .otoprep-answer__badge{
  border-color:rgba(220,38,38,.20);
  background:#fff;
  color:#991b1b;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.ays_answer_image{
  display:block;
  margin:10px 0 0 50px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-answer-image{
  display:block;
  max-width:100%;
  border-radius:16px;
}

body.otoprep-app.otoprep-view-quiz [id^="ays-quiz-questions-nav-wrap-"] a.ays_questions_nav_question{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  min-height:40px;
  border-radius:12px !important;
  font-weight:850;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation{
  margin-top:2px;
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid var(--otoprep-player-border);
  background:#fff;
  box-shadow:none;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text{
  border-color:rgba(22,163,74,.18);
  background:rgba(22,163,74,.05);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text{
  border-color:rgba(220,38,38,.16);
  background:rgba(220,38,38,.04);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation{
  background:rgba(248,250,252,.95);
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-container .ays_buttons_div{
  position:sticky;
  bottom:calc(10px + env(safe-area-inset-bottom));
  gap:10px;
  padding:10px;
  border-radius:18px;
  border:1px solid var(--otoprep-player-border);
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 32px rgba(15,23,42,.08);
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-container .ays_buttons_div i.ays_arrow,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .ays_buttons_div i.action-button{
  display:none !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.action-button,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.action-button,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_next,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_finish{
  min-height:48px;
  border-radius:14px !important;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_previous{
  flex:0 1 auto;
  min-width:112px;
  background:#fff !important;
  color:var(--otoprep-ink) !important;
  border:1px solid var(--otoprep-player-border) !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_next:not(.ays_finish),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_next:not(.ays_finish){
  flex:1 1 220px;
  background:var(--otoprep-qs-btn-bg) !important;
  color:var(--otoprep-qs-btn-text) !important;
  border:1px solid var(--otoprep-qs-btn-border) !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_finish{
  flex:1 1 220px;
  background:var(--otoprep-qs-finish-bg) !important;
  color:var(--otoprep-qs-finish-text) !important;
  border:1px solid var(--otoprep-qs-finish-border) !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_clear_answer,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_early_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_clear_answer,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_early_finish{
  flex:0 1 auto;
  min-width:auto;
  padding-inline:14px;
  background:transparent !important;
  color:var(--otoprep-muted) !important;
  border:1px solid var(--otoprep-player-border) !important;
}

@media (max-width: 860px){
  body.otoprep-app.otoprep-view-quiz .otoprep-topbar__row--quiz{
    grid-template-columns:auto minmax(0,1fr);
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__right{
    grid-column:1 / -1;
    justify-content:space-between;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__meta{
    width:100%;
    justify-content:flex-start;
  }
}

@media (max-width: 640px){
  body.otoprep-app.otoprep-view-quiz .otoprep-card.otoprep-quiz-card{
    padding:16px 14px 20px;
    border-radius:22px;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__title{
    font-size:15px;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__sub{
    font-size:11px;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__progress,
  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__timer,
  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__ai,
  body.otoprep-app.otoprep-view-quiz .otoprep-quizbar__textsize{
    min-height:36px;
    padding:7px 10px;
    border-radius:12px;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-question-meta{
    gap:6px;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-question-chip{
    min-height:28px;
    padding:6px 10px;
    font-size:11px;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label{
    min-height:52px;
    padding:14px 14px !important;
    gap:12px;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-answer__badge{
    width:30px;
    height:30px;
    flex-basis:30px;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.ays_answer_image{
    margin-left:42px !important;
  }

  body.otoprep-app.otoprep-view-quiz .ays-quiz-container .ays_buttons_div{
    padding:8px;
  }

  body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_previous,
  body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_previous{
    min-width:96px;
  }
}

/* --------------------------------------------------------------------- */
/* 21.8.6 exam-player follow-up fixes                                    */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz{
  background:linear-gradient(180deg, rgba(229,242,250,.97) 0%, rgba(244,249,253,.96) 100%) !important;
  border:1px solid rgba(16,117,188,.16) !important;
  box-shadow:0 14px 30px rgba(16,117,188,.10) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}

body.otoprep-app.otoprep-view-quiz [id^="ays-quiz-questions-nav-wrap-"]{
  margin:0 0 18px !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box{
  display:block !important;
  clear:both !important;
  width:100% !important;
  margin:18px 0 14px !important;
  padding:0 !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  justify-content:stretch !important;
  align-items:start !important;
  width:100% !important;
  gap:12px !important;
  row-gap:12px !important;
  margin:14px 0 0 !important;
  padding-top:2px !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item__icon{
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(16,117,188,.12) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item__label{
  width:100% !important;
  min-height:0 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  text-align:center !important;
  color:var(--otoprep-ink) !important;
  font-weight:800 !important;
  white-space:normal !important;
  align-items:flex-start !important;
  justify-content:center !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item--flag.is-on .otoprep-mark-item__icon,
body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item--review.is-on .otoprep-mark-item__icon{
  background:rgba(16,117,188,.10) !important;
  border-color:rgba(16,117,188,.28) !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item--unsure.is-on .otoprep-mark-item__icon{
  background:rgba(19,32,42,.88) !important;
  border-color:rgba(19,32,42,.88) !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-some-items-icons-wrap{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:0 0 14px !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-full-screen-wrap{
  flex:0 0 auto !important;
  padding:0 !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-full-screen-container{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  border:1px solid rgba(16,117,188,.14) !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-full-screen-container svg,
body.otoprep-app.otoprep-view-quiz .ays-quiz-full-screen-container img{
  width:18px !important;
  height:18px !important;
}

body.otoprep-app.otoprep-view-quiz .ays-qm-draft-toolbar{
  display:flex !important;
  flex:1 1 260px !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
}

body.otoprep-app.otoprep-view-quiz .ays-qm-draft-save-exit{
  width:100% !important;
  min-height:46px !important;
  padding:0 18px !important;
  border-radius:14px !important;
  border:1px solid rgba(16,117,188,.24) !important;
  background:rgba(16,117,188,.08) !important;
  color:var(--otoprep-blue) !important;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .ays-qm-draft-save-exit:hover,
body.otoprep-app.otoprep-view-quiz .ays-qm-draft-save-exit:focus{
  background:rgba(16,117,188,.12) !important;
  border-color:rgba(16,117,188,.34) !important;
  color:var(--otoprep-blue) !important;
}

body.otoprep-app.otoprep-view-quiz .ays-qm-draft-status{
  text-align:center !important;
  color:var(--otoprep-muted) !important;
  font-size:13px !important;
  font-weight:700 !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation{
  margin-top:14px !important;
  padding:12px !important;
  border-radius:22px !important;
  border:1px solid rgba(16,117,188,.14) !important;
  background:rgba(233,243,251,.86) !important;
  box-shadow:0 10px 24px rgba(16,117,188,.08) !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card{
  border:1px solid rgba(16,117,188,.12) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-header,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-body,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-footer{
  padding-left:18px !important;
  padding-right:18px !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-header{
  padding-top:16px !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-body{
  padding-top:12px !important;
  padding-bottom:18px !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-footer{
  padding-bottom:18px !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-kicker{
  color:#4E6576 !important;
  letter-spacing:.06em !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-section-takeaway{
  border:1px solid rgba(16,117,188,.10) !important;
  background:rgba(16,117,188,.07) !important;
}

@media (max-width: 782px){
  body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box{
    margin:16px 0 12px !important;
  }

  body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
    gap:10px !important;
    row-gap:12px !important;
  }

  body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item__icon{
    width:42px !important;
    height:42px !important;
  }

  body.otoprep-app.otoprep-view-quiz .ays-qm-draft-toolbar{
    flex-direction:column !important;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation{
    padding:10px !important;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-header,
  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-body,
  body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card-footer{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}



/* --------------------------------------------------------------------- */
/* 21.8.7 save/submit follow-up tweaks                                   */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz .ays-quiz-some-items-icons-wrap{
  padding-top:8px !important;
}

body.otoprep-app.otoprep-view-quiz .ays-qm-draft-save-exit{
  border:2px solid rgba(16,117,188,.30) !important;
  background:rgba(233,243,251,.76) !important;
}

body.otoprep-app.otoprep-view-quiz .ays-qm-draft-save-exit:hover,
body.otoprep-app.otoprep-view-quiz .ays-qm-draft-save-exit:focus{
  border-color:rgba(16,117,188,.38) !important;
  background:rgba(233,243,251,.92) !important;
}

/* --------------------------------------------------------------------- */
/* 21.8.8 centered meta chips + tutor watermark parity                   */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz .otoprep-question-meta{
  justify-content:center !important;
  text-align:center !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays_questtion_explanation .ays-qm-tutor-card{
  background-color:rgba(255,255,255,.94) !important;
  background-image:var(--otoprep-inline-wm-image) !important;
  background-repeat:repeat !important;
  background-size:var(--otoprep-inline-wm-size) !important;
  background-position:var(--otoprep-inline-wm-position) !important;
  background-blend-mode:multiply !important;
}


/* 21.8.10 question crowd stats / answer distribution                    */
body.otoprep-app .otoprep-crowd-stats-slot:empty{
  display:none;
}
body.otoprep-app .otoprep-crowd-stats{
  margin-top:18px;
  padding:16px 16px 14px;
  border:1px solid rgba(16,117,188,.14);
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(16,117,188,.05) 0%, rgba(16,117,188,.02) 100%),
    #fff;
  box-shadow:0 10px 24px rgba(16,117,188,.06);
}
body.otoprep-app .otoprep-crowd-stats__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
body.otoprep-app .otoprep-crowd-stats__title{
  margin:0;
  font-size:15px;
  line-height:1.2;
  font-weight:900;
  color:#16212B;
}
body.otoprep-app .otoprep-crowd-stats__meta{
  margin:4px 0 0;
  font-size:13px;
  line-height:1.45;
  color:#5C6D7C;
}
body.otoprep-app .otoprep-crowd-stats__grid{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
body.otoprep-app .otoprep-crowd-stats__chart-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
}
body.otoprep-app .otoprep-crowd-stats__chart{
  position:relative;
  width:88px;
  height:88px;
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(16,117,188,.08);
}
body.otoprep-app .otoprep-crowd-stats__chart::after{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(16,117,188,.08);
}
body.otoprep-app .otoprep-crowd-stats__chart-inner{
  position:absolute;
  inset:18px;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#16212B;
}
body.otoprep-app .otoprep-crowd-stats__chart-inner strong{
  display:block;
  font-size:20px;
  line-height:1;
  font-weight:900;
}
body.otoprep-app .otoprep-crowd-stats__chart-inner span{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.1;
  font-weight:700;
  color:#5C6D7C;
  text-transform:uppercase;
  letter-spacing:.02em;
}
body.otoprep-app .otoprep-crowd-stats__legend{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:9px;
}
body.otoprep-app .otoprep-crowd-stats__legend-item{
  display:grid;
  grid-template-columns:12px 26px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  font-size:13px;
  line-height:1.4;
  color:#16212B;
}
body.otoprep-app .otoprep-crowd-stats__legend-swatch{
  width:12px;
  height:12px;
  border-radius:999px;
  box-shadow:0 0 0 1px rgba(16,117,188,.08);
}
body.otoprep-app .otoprep-crowd-stats__legend-choice{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  min-height:26px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(255,255,255,.9);
  font-size:12px;
  font-weight:900;
  color:#16212B;
}
body.otoprep-app .otoprep-crowd-stats__legend-text{
  min-width:0;
  font-weight:700;
  color:#16212B;
}
body.otoprep-app .otoprep-crowd-stats__legend-pct{
  font-weight:900;
  color:#1075BC;
  white-space:nowrap;
}
body.otoprep-app .otoprep-crowd-stats__legend-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:3px 9px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
body.otoprep-app .otoprep-crowd-stats__legend-pill--correct{
  border:1px solid rgba(48,163,95,.22);
  background:rgba(48,163,95,.12);
  color:#237347;
}
body.otoprep-app .otoprep-crowd-stats__legend-pill--you{
  border:1px solid rgba(16,117,188,.18);
  background:rgba(16,117,188,.10);
  color:#1075BC;
}
body.otoprep-app .otoprep-crowd-stats__foot{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(16,117,188,.10);
  font-size:12px;
  line-height:1.5;
  color:#5C6D7C;
}
body.otoprep-app.otoprep-view-quiz .ays-qm-tutor-card .otoprep-crowd-stats{
  margin-top:20px;
}
body.otoprep-app .otoprep-qreview-body .otoprep-crowd-stats{
  position:relative;
  z-index:1;
}
@media (max-width: 767px){
  body.otoprep-app .otoprep-crowd-stats{
    padding:15px 14px 13px;
  }
  body.otoprep-app .otoprep-crowd-stats__grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  body.otoprep-app .otoprep-crowd-stats__chart-wrap{
    justify-content:flex-start;
  }
  body.otoprep-app .otoprep-crowd-stats__legend-item{
    grid-template-columns:12px 26px minmax(0,1fr) auto;
    gap:8px;
  }
}


/* --------------------------------------------------------------------- */
/* 21.8.17 sticky quiz header solid-surface pass                         */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz{
  --otoprep-player-topbar-bg-start:#edf6fc;
  --otoprep-player-topbar-bg-end:#f5f9fd;
  --otoprep-player-topbar-bg-solid:#f5f9fd;
}

body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz{
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg, var(--otoprep-player-topbar-bg-start) 0%, var(--otoprep-player-topbar-bg-end) 100%) !important;
  background-color:var(--otoprep-player-topbar-bg-solid) !important;
  background-clip:padding-box;
  border-color:rgba(16,117,188,.16) !important;
  box-shadow:0 14px 30px rgba(16,117,188,.10), inset 0 1px 0 rgba(255,255,255,.92) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg, var(--otoprep-player-topbar-bg-start) 0%, var(--otoprep-player-topbar-bg-end) 100%);
}

body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz > *{
  position:relative;
  z-index:1;
}

@media (max-width: 640px){
  body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz{
    background:var(--otoprep-player-topbar-bg-solid) !important;
    box-shadow:0 12px 24px rgba(16,117,188,.10), inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz::before{
    background:var(--otoprep-player-topbar-bg-solid);
  }
}


/* --------------------------------------------------------------------- */
/* 21.8.18 quiz sticky header stacking + solid-surface correction        */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz{
  z-index:1205 !important;
  position:sticky;
  top:0;
  isolation:isolate;
  background:#f5f9fd !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-topbar--quiz::before{
  background:#f5f9fd !important;
}

/* AYS quiz themes can put the active step on z-index:998; keep the quiz
   header above that layer so the question never paints through it. */
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step:first-of-type,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step:last-of-type,
body.otoprep-app.otoprep-view-quiz .ays-quiz-container .step.ays-custom-step{
  z-index:auto !important;
}


/* --------------------------------------------------------------------- */
/* 21.8.19 quiz action icon visibility + empty feedback cleanup          */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz{
  --otoprep-player-action-icon-blue:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231075BC' d='M14.71 6.71a1 1 0 0 1 0 1.41L10.83 12l3.88 3.88a1 1 0 1 1-1.41 1.41l-4.59-4.59a1 1 0 0 1 0-1.41l4.59-4.59a1 1 0 0 1 1.41 0Z'/%3E%3C/svg%3E");
  --otoprep-player-action-icon-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M9.29 6.71a1 1 0 0 1 1.41 0l4.59 4.59a1 1 0 0 1 0 1.41l-4.59 4.59a1 1 0 1 1-1.41-1.41L13.17 12 9.29 8.12a1 1 0 0 1 0-1.41Z'/%3E%3C/svg%3E");
  --otoprep-player-finish-icon-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M5 2a1 1 0 0 1 1 1v17a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Z'/%3E%3Cpath fill='%23ffffff' d='M7 4h10a1 1 0 0 1 .8 1.6L16 8l1.8 2.4A1 1 0 0 1 17 12H7V4Z'/%3E%3Cpath fill='%230b1720' fill-opacity='.18' d='M12 4h5a1 1 0 0 1 .8 1.6L16 8l1.8 2.4A1 1 0 0 1 17 12h-5V8l2-4Z'/%3E%3Cpath fill='%230b1720' fill-opacity='.18' d='M7 8h5v4H7z'/%3E%3C/svg%3E");
  --otoprep-player-finish-icon-accent:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e7694b' d='M5 2a1 1 0 0 1 1 1v17a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Z'/%3E%3Cpath fill='%23e7694b' d='M7 4h10a1 1 0 0 1 .8 1.6L16 8l1.8 2.4A1 1 0 0 1 17 12H7V4Z'/%3E%3Cpath fill='%23ffffff' fill-opacity='.9' d='M12 4h5a1 1 0 0 1 .8 1.6L16 8l1.8 2.4A1 1 0 0 1 17 12h-5V8l2-4Z'/%3E%3Cpath fill='%23ffffff' fill-opacity='.9' d='M7 8h5v4H7z'/%3E%3C/svg%3E");
  --otoprep-player-eraser-icon-muted:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%235c6d7c' d='m15.81 4.94 3.25 3.25a2 2 0 0 1 0 2.82l-6.58 6.58A2 2 0 0 1 11.07 18H6.93a2 2 0 0 1-1.41-.59l-1.58-1.58a2 2 0 0 1 0-2.82l7.04-7.07a2 2 0 0 1 2.83 0Zm.88 4.13-2.63-2.62L6 14.51 7.42 15.93h3.65l5.62-5.61Z'/%3E%3C/svg%3E");
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_previous{
  color:var(--otoprep-blue) !important;
  border-color:rgba(16,117,188,.24) !important;
  background-color:#fff !important;
  background-image:var(--otoprep-player-action-icon-blue) !important;
  background-repeat:no-repeat !important;
  background-position:16px center !important;
  background-size:18px 18px !important;
  padding-left:44px !important;
  box-shadow:0 10px 22px rgba(16,117,188,.06) !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_next:not(.ays_finish),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_next:not(.ays_finish){
  background-image:var(--otoprep-player-action-icon-white) !important;
  background-repeat:no-repeat !important;
  background-position:calc(100% - 16px) center !important;
  background-size:18px 18px !important;
  padding-right:44px !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_finish{
  background-image:var(--otoprep-player-finish-icon-white) !important;
  background-repeat:no-repeat !important;
  background-position:calc(100% - 16px) center !important;
  background-size:18px 18px !important;
  padding-right:44px !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_early_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_early_finish{
  background-image:var(--otoprep-player-finish-icon-accent) !important;
  background-repeat:no-repeat !important;
  background-position:16px center !important;
  background-size:18px 18px !important;
  padding-left:44px !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_clear_answer,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_clear_answer{
  background-image:var(--otoprep-player-eraser-icon-muted) !important;
  background-repeat:no-repeat !important;
  background-position:16px center !important;
  background-size:18px 18px !important;
  padding-left:44px !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_previous.action-button:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_next.action-button:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_finish.action-button:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_early_finish.action-button:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_clear_answer.action-button:not(.ays_display_none){
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 48px;
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
  margin:0 !important;
  padding:0 !important;
  border-radius:14px !important;
  box-shadow:0 10px 22px rgba(15,23,42,.06) !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px;
  overflow:hidden;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_previous.action-button:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_clear_answer.action-button:not(.ays_display_none){
  border:1px solid rgba(16,117,188,.18) !important;
  background:#fff !important;
  color:var(--otoprep-blue) !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_next.action-button:not(.ays_finish):not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_next.ays_next_arrow.action-button:not(.ays_finish):not(.ays_display_none){
  border:1px solid var(--otoprep-qs-btn-border) !important;
  background:var(--otoprep-qs-btn-bg) !important;
  color:var(--otoprep-qs-btn-text) !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_finish.action-button:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_early_finish.action-button:not(.ays_display_none){
  border:1px solid var(--otoprep-qs-finish-border) !important;
  background:var(--otoprep-qs-finish-bg) !important;
  color:var(--otoprep-qs-finish-text) !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_previous.action-button:not(.ays_display_none)::before,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_next.action-button:not(.ays_display_none)::before,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_finish.action-button:not(.ays_display_none)::before,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_early_finish.action-button:not(.ays_display_none)::before,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_clear_answer.action-button:not(.ays_display_none)::before{
  content:"";
  display:block;
  width:18px;
  height:18px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_previous.action-button:not(.ays_display_none)::before{
  background-image:var(--otoprep-player-action-icon-blue);
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_next.action-button:not(.ays_finish):not(.ays_display_none)::before{
  background-image:var(--otoprep-player-action-icon-white);
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_finish.action-button:not(.ays_display_none)::before,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_early_finish.action-button:not(.ays_display_none)::before{
  background-image:var(--otoprep-player-finish-icon-white);
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_clear_answer.action-button:not(.ays_display_none)::before{
  background-image:var(--otoprep-player-eraser-icon-muted);
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div .action-button:disabled,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div .action-button[disabled]{
  opacity:.65;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_previous.action-button[disabled]:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_next.action-button[disabled]:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_finish.action-button[disabled]:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_early_finish.action-button[disabled]:not(.ays_display_none),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_clear_answer.action-button[disabled]:not(.ays_display_none){
  color:rgba(19,32,42,.34) !important;
  background:rgba(243,246,249,.96) !important;
  border-color:rgba(19,32,42,.12) !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_next.action-button[disabled]:not(.ays_finish):not(.ays_display_none)::before,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_finish.action-button[disabled]:not(.ays_display_none)::before,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_early_finish.action-button[disabled]:not(.ays_display_none)::before{
  background-image:var(--otoprep-player-action-icon-blue);
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text{
  position:relative;
  overflow:hidden;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text > :last-child,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text > :last-child{
  margin-bottom:0 !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text:not(:empty){
  border-color:rgba(185,77,98,.18) !important;
  background:linear-gradient(180deg, rgba(255,246,246,.96) 0%, rgba(255,249,250,.96) 100%) !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text:not(:empty){
  border-color:rgba(16,117,188,.18) !important;
  background:linear-gradient(180deg, rgba(239,246,252,.96) 0%, rgba(247,251,254,.96) 100%) !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .wrong_answer_text:empty,
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .right_answer_text:empty{
  display:none !important;
}

/* --------------------------------------------------------------------- */
/* 21.8.21 app-wrapper button-only quiz navigation                       */
/* --------------------------------------------------------------------- */

body.otoprep-app.otoprep-view-quiz .ays-quiz-container .ays_buttons_div{
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:stretch;
  justify-content:flex-start;
  gap:8px;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_previous.action-button,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_next.action-button,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_finish.action-button,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_early_finish.action-button,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_clear_answer.action-button,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div i.ays_arrow.action-button{
  display:none !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_next,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_early_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_clear_answer,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_next,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_early_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_clear_answer{
  width:100%;
  min-width:0 !important;
  flex:0 0 auto !important;
  background-image:none !important;
  padding-left:16px !important;
  padding-right:16px !important;
  text-align:center !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_previous,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_previous{
  order:20;
  background:#fff !important;
  color:var(--otoprep-ink) !important;
  border:1px solid rgba(16,117,188,.18) !important;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_next:not(.ays_finish),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_next:not(.ays_finish),
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_finish{
  order:30;
  box-shadow:none !important;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_clear_answer,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_clear_answer{
  order:40;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_early_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_early_finish{
  order:50;
}

body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_clear_answer,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_clear_answer,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div input.ays_early_finish,
body.otoprep-app.otoprep-view-quiz .ays_buttons_div button.ays_early_finish{
  background:#fff !important;
  color:var(--otoprep-muted) !important;
  border:1px solid rgba(16,117,188,.14) !important;
  box-shadow:none !important;
}


/* --------------------------------------------------------------------- */
/* 21.8.29 progress dashboard milestone 1-5                              */
/* --------------------------------------------------------------------- */

.otoprep-progress-hero{
  position:relative;
  overflow:hidden;
}

.otoprep-progress-hero__eyebrow{
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.otoprep-progress-herochips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.otoprep-progress-herochip{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.12);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-ink);
  font-size:12px;
  font-weight:700;
}

.otoprep-progress-herochart{
  position:relative;
  overflow:hidden;
}

.otoprep-progress-charthead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}

.otoprep-progress-charthead__eyebrow{
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--otoprep-muted);
  font-size:12px;
  font-weight:700;
}

.otoprep-progress-charthead__title{
  margin:6px 0 0;
  font-size:clamp(30px,4.4vw,44px);
  line-height:1.05;
  letter-spacing:-.03em;
  color:var(--otoprep-ink);
}

.otoprep-progress-charthead__meta{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.12);
  color:var(--otoprep-ink);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.otoprep-progress-hero--status{
  overflow:visible;
}

.otoprep-progress-rankcards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-rankcard{
  padding:16px 18px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.97) 100%);
  box-shadow:0 10px 24px rgba(16,117,188,.06);
}

.otoprep-progress-rankcard.is-available{
  border-color:rgba(16,117,188,.20);
  background:linear-gradient(180deg, rgba(239,246,252,.99) 0%, rgba(247,251,254,.97) 100%);
}

.otoprep-progress-rankcard__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.otoprep-progress-rankcard__title{
  color:var(--otoprep-muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}

.otoprep-progress-rankcard__value{
  font-size:24px;
  line-height:1.16;
  font-weight:800;
  color:var(--otoprep-ink);
  text-align:right;
}

.otoprep-progress-rankcard__sub{
  margin-top:10px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.55;
}

.otoprep-progress-benchmeter{
  margin-top:12px;
  height:10px;
  border-radius:999px;
  background:rgba(16,117,188,.10);
  overflow:hidden;
}

.otoprep-progress-benchmeter__fill{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#1075bc;
}

.otoprep-progress-rankcard.is-locked .otoprep-progress-benchmeter__fill{
  background:rgba(16,117,188,.18);
}

.otoprep-progress-empty{
  margin-top:14px;
  padding:18px;
  border:1px dashed rgba(16,117,188,.18);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(250,252,254,.99) 0%, rgba(247,250,253,.97) 100%);
}

.otoprep-progress-empty--quiet{
  background:linear-gradient(180deg, rgba(250,252,254,.99) 0%, rgba(247,250,253,.97) 100%);
}

.otoprep-progress-empty--warmup{
  border-color:rgba(16,117,188,.22);
  background:linear-gradient(180deg, rgba(239,246,252,.99) 0%, rgba(247,251,254,.97) 100%);
}

.otoprep-progress-empty--calm{
  border-color:rgba(83,139,105,.20);
  background:linear-gradient(180deg, rgba(246,252,248,.99) 0%, rgba(249,253,250,.97) 100%);
}

.otoprep-progress-empty__title{
  margin:0;
  font-size:18px;
  line-height:1.3;
  color:var(--otoprep-ink);
}

.otoprep-progress-empty__body{
  margin:8px 0 0;
  color:var(--otoprep-muted);
  font-size:14px;
  line-height:1.6;
}

.otoprep-progress-empty__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.otoprep-progress-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.otoprep-progress-metric,
.otoprep-progress-supportitem,
.otoprep-progress-planitem,
.otoprep-progress-risk{
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,250,253,.96) 100%);
  box-shadow:0 10px 24px rgba(16,117,188,.06);
}

.otoprep-progress-metric{
  padding:18px;
}

.otoprep-progress-metric--strong{
  border-color:rgba(16,117,188,.22);
  background:linear-gradient(180deg, rgba(239,246,252,.98) 0%, rgba(247,251,254,.96) 100%);
}

.otoprep-progress-metric--steady,
.otoprep-progress-metric--building,
.otoprep-progress-metric--restarting,
.otoprep-progress-metric--slipping,
.otoprep-progress-metric--cold,
.otoprep-progress-metric--low,
.otoprep-progress-metric--starting,
.otoprep-progress-metric--calibrating,
.otoprep-progress-metric--coverage,
.otoprep-progress-metric--status{
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,250,252,.96) 100%);
}

.otoprep-progress-metric__value{
  margin-top:8px;
  font-size:28px;
  line-height:1.12;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-metric__sub,
.otoprep-progress-supportitem__sub{
  margin-top:8px;
  color:var(--otoprep-muted);
  font-size:14px;
  line-height:1.55;
}

.otoprep-progress-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.otoprep-progress-meta__item{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(16,117,188,.08);
  color:var(--otoprep-ink);
  font-size:12px;
  font-weight:700;
}


.otoprep-home-snapshot__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}

.otoprep-home-snapshot__head .otoprep-muted{
  margin:4px 0 0;
}

.otoprep-home-snapshot__head .otoprep-progress-meta{
  margin-top:0;
  justify-content:flex-end;
}

.otoprep-home-snapshot__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.otoprep-home-snapshot__item{
  min-height:100%;
}

.otoprep-home-snapshot__foot{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(16,117,188,.12);
}

.otoprep-home-snapshot__note{
  margin:0;
  max-width:48ch;
}

.otoprep-home-snapshot__sparkrow{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:16px;
  padding:12px 14px;
  border:1px solid rgba(16,117,188,.10);
  border-radius:16px;
  background:rgba(247,250,253,.88);
}

.otoprep-home-snapshot__sparkmeta{
  display:grid;
  gap:4px;
  min-width:0;
}

.otoprep-home-snapshot__sparklabel{
  color:var(--otoprep-muted);
  font-size:13px;
  font-weight:700;
}

.otoprep-home-snapshot__sparksub{
  color:var(--otoprep-muted);
  font-size:12px;
  line-height:1.45;
}

.otoprep-home-snapshot__spark{
  flex:1 1 220px;
  max-width:260px;
  margin-top:0;
}

.otoprep-home-snapshot__spark .otoprep-spark__bar.is-latest{
  background:#1075bc;
  border-color:rgba(16,117,188,.35);
}

.otoprep-progress-risklist{
  display:grid;
  gap:12px;
}

.otoprep-progress-risk{
  padding:16px 18px;
  display:grid;
  gap:12px;
}

.otoprep-progress-risk--warning{
  border-color:rgba(185,77,98,.22);
  background:linear-gradient(180deg, rgba(255,246,246,.98) 0%, rgba(255,249,250,.96) 100%);
}

.otoprep-progress-risk__title,
.otoprep-progress-planitem__title{
  margin:0;
  font-size:16px;
  line-height:1.35;
  color:var(--otoprep-ink);
}

.otoprep-progress-plangrid{
  display:grid;
  gap:12px;
}

.otoprep-progress-planitem{
  display:flex;
  gap:14px;
  padding:16px 18px;
}

.otoprep-progress-planitem__step{
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(16,117,188,.1);
  color:var(--otoprep-ink);
  font-weight:800;
}

.otoprep-progress-planitem__body{
  flex:1 1 auto;
  min-width:0;
}

.otoprep-progress-supportgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.otoprep-progress-supportitem{
  padding:16px 18px;
}

.otoprep-progress-supportitem--full{
  grid-column:1 / -1;
}

.otoprep-progress-supportitem__label{
  color:var(--otoprep-muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}

.otoprep-progress-supportitem__value{
  margin-top:8px;
  font-size:24px;
  line-height:1.18;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-focusgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.otoprep-progress-focuscard{
  border:1px solid rgba(16,117,188,.14);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.97) 100%);
  box-shadow:0 12px 28px rgba(16,117,188,.06);
  padding:18px;
}

.otoprep-progress-focuscard--high{
  border-color:rgba(16,117,188,.24);
  background:linear-gradient(180deg, rgba(239,246,252,.99) 0%, rgba(247,251,254,.97) 100%);
}

.otoprep-progress-focuscard--mid{
  border-color:rgba(16,117,188,.18);
}

.otoprep-progress-focuscard__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.otoprep-progress-focuscard__title{
  margin:0;
  font-size:18px;
  line-height:1.3;
  color:var(--otoprep-ink);
}

.otoprep-progress-focuscard__summary{
  margin:8px 0 0;
  color:var(--otoprep-muted);
  font-size:14px;
  line-height:1.55;
}

.otoprep-progress-focuscard__score{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(16,117,188,.1);
  color:var(--otoprep-ink);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.otoprep-progress-focusstats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.otoprep-progress-focusstat{
  padding:12px 13px;
  border-radius:16px;
  background:rgba(16,117,188,.05);
}

.otoprep-progress-focusstat__label{
  color:var(--otoprep-muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
}

.otoprep-progress-focusstat__value{
  margin-top:6px;
  font-size:20px;
  line-height:1.2;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-focusstat__sub{
  margin-top:6px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.45;
}

.otoprep-progress-focusdetail{
  margin-top:16px;
  border-top:1px solid rgba(16,117,188,.12);
  padding-top:12px;
}

.otoprep-progress-focusdetail summary{
  cursor:pointer;
  color:var(--otoprep-ink);
  font-weight:700;
}

@media (max-width: 960px){
  .otoprep-progress-overview,
  .otoprep-progress-focusgrid,
  .otoprep-home-snapshot__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .otoprep-home-snapshot__foot{
    flex-direction:column;
  }
}

@media (max-width: 640px){
  .otoprep-progress-overview,
  .otoprep-progress-supportgrid,
  .otoprep-progress-focusgrid,
  .otoprep-progress-focusstats,
  .otoprep-home-snapshot__grid{
    grid-template-columns:minmax(0,1fr);
  }

  .otoprep-progress-planitem,
  .otoprep-progress-focuscard__head,
  .otoprep-home-snapshot__head,
  .otoprep-home-snapshot__foot{
    flex-direction:column;
  }

  .otoprep-progress-planitem__step{
    flex:0 0 auto;
  }

  .otoprep-progress-herochips,
  .otoprep-progress-empty__actions{
    gap:8px;
  }

  .otoprep-home-snapshot__head .otoprep-progress-meta{
    justify-content:flex-start;
  }

  .otoprep-progress-empty__actions .otoprep-btn{
    width:100%;
    justify-content:center;
  }
}


.otoprep-progress-debtgrid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-debtcard,
.otoprep-progress-debtcatcard,
.otoprep-progress-debtempty{
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.97) 100%);
  box-shadow:0 10px 24px rgba(16,117,188,.06);
}

.otoprep-progress-debtcard{
  padding:16px 18px;
}

.otoprep-progress-debtcard--due{
  border-color:rgba(16,117,188,.20);
  background:linear-gradient(180deg, rgba(239,246,252,.99) 0%, rgba(247,251,254,.97) 100%);
}

.otoprep-progress-debtcard--overdue{
  border-color:rgba(185,77,98,.22);
  background:linear-gradient(180deg, rgba(255,247,248,.99) 0%, rgba(255,250,251,.97) 100%);
}

.otoprep-progress-debtcard--recent,
.otoprep-progress-debtcard--flagged,
.otoprep-progress-debtcard--unsure{
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(248,250,252,.97) 100%);
}

.otoprep-progress-debtcard__label,
.otoprep-progress-debtcats__intro{
  color:var(--otoprep-muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}

.otoprep-progress-debtcard__value{
  margin-top:8px;
  font-size:30px;
  line-height:1.1;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-debtcard__sub,
.otoprep-progress-debtcatcard__summary{
  margin-top:8px;
  color:var(--otoprep-muted);
  font-size:14px;
  line-height:1.55;
}

.otoprep-progress-debtempty{
  margin-top:14px;
  padding:18px;
}

.otoprep-progress-debtcats{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(16,117,188,.12);
}

.otoprep-progress-debtcatgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-debtcatcard{
  padding:16px 18px;
}

.otoprep-progress-debtcatcard__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.otoprep-progress-debtcatcard__title{
  margin:0;
  font-size:18px;
  line-height:1.3;
  color:var(--otoprep-ink);
}

.otoprep-progress-debtcatcard__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(16,117,188,.1);
  color:var(--otoprep-ink);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

@media (max-width: 1200px){
  .otoprep-progress-debtgrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 960px){
  .otoprep-progress-debtgrid,
  .otoprep-progress-debtcatgrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .otoprep-progress-debtgrid,
  .otoprep-progress-debtcatgrid{
    grid-template-columns:minmax(0,1fr);
  }

  .otoprep-progress-debtcatcard__head{
    flex-direction:column;
  }
}


.otoprep-progress-trendsummary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-benchsummary,
.otoprep-progress-deltagrid{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-benchsummary{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.otoprep-progress-deltagrid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.otoprep-progress-trendmetric,
.otoprep-progress-chartcard,
.otoprep-progress-trendcard,
.otoprep-progress-mover,
.otoprep-progress-modeitem,
.otoprep-progress-pacedetail__item{
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.97) 100%);
  box-shadow:0 10px 24px rgba(16,117,188,.06);
}

.otoprep-progress-trendmetric{
  padding:16px 18px;
}

.otoprep-progress-benchsummary__item,
.otoprep-progress-deltacard{
  min-height:100%;
}

.otoprep-progress-benchsummary__item--calm,
.otoprep-progress-deltacard--calm,
.otoprep-progress-rankcard--calm{
  border-color:rgba(16,117,188,.20);
  background:linear-gradient(180deg, rgba(239,246,252,.99) 0%, rgba(247,251,254,.97) 100%);
}

.otoprep-progress-benchsummary__item--warm,
.otoprep-progress-deltacard--warm,
.otoprep-progress-rankcard--warm{
  border-color:rgba(240,179,46,.24);
  background:linear-gradient(180deg, rgba(255,250,240,.99) 0%, rgba(255,253,247,.97) 100%);
}

.otoprep-progress-benchsummary__item--positive,
.otoprep-progress-deltacard--positive{
  border-color:rgba(83,139,105,.22);
  background:linear-gradient(180deg, rgba(246,252,248,.99) 0%, rgba(249,253,250,.97) 100%);
}

.otoprep-progress-benchsummary__item--negative,
.otoprep-progress-deltacard--negative{
  border-color:rgba(185,77,98,.18);
  background:linear-gradient(180deg, rgba(255,247,248,.99) 0%, rgba(255,250,251,.97) 100%);
}

.otoprep-progress-benchsummary__item--mixed,
.otoprep-progress-deltacard--mixed{
  border-color:rgba(112,122,144,.20);
  background:linear-gradient(180deg, rgba(250,252,254,.99) 0%, rgba(247,250,253,.97) 100%);
}

.otoprep-progress-benchsummary__item--quiet,
.otoprep-progress-deltacard--quiet,
.otoprep-progress-rankcard--quiet{
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.97) 100%);
}

.otoprep-progress-trendmetric__label,
.otoprep-progress-trendcard__title,
.otoprep-progress-modeitem__label,
.otoprep-progress-pacedetail__title,
.otoprep-progress-mover__eyebrow{
  color:var(--otoprep-muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}

.otoprep-progress-trendmetric__value,
.otoprep-progress-modeitem__value,
.otoprep-progress-mover__value{
  margin-top:8px;
  font-size:26px;
  line-height:1.16;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-trendmetric__sub,
.otoprep-progress-modeitem__sub,
.otoprep-progress-mover__sub,
.otoprep-progress-pacedetail__sub,
.otoprep-progress-chartlegend,
.otoprep-progress-trendaxis{
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.5;
}

.otoprep-progress-chartcard{
  margin-top:14px;
  padding:18px;
}

.otoprep-progress-chartlegend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
}

.otoprep-progress-chartlegend__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.otoprep-progress-chartlegend__swatch{
  display:inline-block;
  width:16px;
  height:10px;
  border-radius:999px;
  background:rgba(16,117,188,.18);
}

.otoprep-progress-chartlegend__swatch--bar{
  background:rgba(16,117,188,.20);
}

.otoprep-progress-chartlegend__swatch--accuracy{
  background:#1075bc;
}

.otoprep-progress-chartlegend__swatch--readiness{
  background:#6d7c90;
}

.otoprep-progress-chartwrap{
  margin-top:14px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.otoprep-progress-chart{
  display:block;
  width:100%;
  min-width:560px;
  height:auto;
}

.otoprep-progress-chart__grid{
  stroke:rgba(16,117,188,.10);
  stroke-width:1;
  stroke-dasharray:4 6;
}

.otoprep-progress-chart__axis{
  stroke:rgba(16,117,188,.18);
  stroke-width:1;
}

.otoprep-progress-chart__bar{
  fill:rgba(16,117,188,.18);
  rx:8;
  ry:8;
}

.otoprep-progress-chart__bar.is-empty{
  fill:rgba(16,117,188,.08);
}

.otoprep-progress-chart__line{
  fill:none;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.otoprep-progress-chart__line--accuracy{
  stroke:#1075bc;
}

.otoprep-progress-chart__line--readiness{
  stroke:#6d7c90;
}

.otoprep-progress-trendaxis{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
}

.otoprep-progress-trendgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-trendcard{
  padding:18px;
}

.otoprep-progress-analyticsgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-intelcard{
  min-width:0;
}

.otoprep-progress-intelheadline,
.otoprep-progress-intelsignal__head,
.otoprep-progress-modebar__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.otoprep-progress-intelheadline{
  margin-top:12px;
}

.otoprep-progress-intelvalue,
.otoprep-progress-intelsignal__value{
  font-size:28px;
  line-height:1.12;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-intelbadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(16,117,188,.10);
  color:var(--otoprep-ink);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.otoprep-progress-intelbadge--quiet,
.otoprep-progress-intelbadge--calibrating{
  background:rgba(16,117,188,.08);
}

.otoprep-progress-intelbadge--stable{
  background:rgba(83,139,105,.16);
}

.otoprep-progress-intelbadge--mixed{
  background:rgba(240,179,46,.18);
}

.otoprep-progress-intelbadge--swingy{
  background:rgba(185,77,98,.12);
}

.otoprep-progress-minichartwrap{
  margin-top:14px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.otoprep-progress-minichart{
  display:block;
  width:100%;
  min-width:320px;
  height:auto;
}

.otoprep-progress-minichart__grid{
  stroke:rgba(16,117,188,.10);
  stroke-width:1;
  stroke-dasharray:4 6;
}

.otoprep-progress-minichart__axis{
  stroke:rgba(16,117,188,.16);
  stroke-width:1;
}

.otoprep-progress-minichart__line{
  fill:none;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.otoprep-progress-minichart__line--coverage{
  stroke:#1075bc;
}

.otoprep-progress-intelsignal{
  margin-top:14px;
  padding:14px 16px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(239,246,252,.92) 0%, rgba(247,251,254,.94) 100%);
}

.otoprep-progress-intelsignal__label,
.otoprep-progress-modebar__label{
  color:var(--otoprep-muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}

.otoprep-progress-modebars{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-modebar{
  padding:14px 16px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.97) 100%);
}

.otoprep-progress-modebar__share{
  font-size:16px;
  line-height:1.2;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-modebar__sub{
  margin-top:8px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.55;
}

.otoprep-progress-benchmeter__fill--mode{
  opacity:.85;
}

.otoprep-progress-consistency .otoprep-spark__bar.is-latest{
  background:#1075bc;
  border-color:rgba(16,117,188,.35);
}

.otoprep-progress-trendcard__title{
  margin:0;
  color:var(--otoprep-ink);
  font-size:18px;
  line-height:1.3;
}

.otoprep-progress-movergrid,
.otoprep-progress-modegrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.otoprep-progress-mover{
  padding:14px 16px;
}

.otoprep-progress-mover--positive{
  background:linear-gradient(180deg, rgba(239,246,252,.99) 0%, rgba(247,251,254,.97) 100%);
  border-color:rgba(16,117,188,.20);
}

.otoprep-progress-mover--negative{
  background:linear-gradient(180deg, rgba(255,247,248,.99) 0%, rgba(255,250,251,.97) 100%);
  border-color:rgba(185,77,98,.18);
}

.otoprep-progress-mover__title,
.otoprep-progress-pacedetail__value,
.otoprep-progress-paceline__value{
  margin-top:8px;
  font-size:20px;
  line-height:1.2;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-paceline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.otoprep-progress-paceline__value{
  margin-top:0;
}

.otoprep-progress-pacedetail__value{
  margin-top:0;
  white-space:nowrap;
}

.otoprep-progress-paceline__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  color:var(--otoprep-ink);
  background:rgba(16,117,188,.08);
}

.otoprep-progress-paceline__badge--slow{
  background:rgba(185,77,98,.12);
}

.otoprep-progress-paceline__badge--deliberate{
  background:rgba(240,179,46,.18);
}

.otoprep-progress-paceline__badge--steady{
  background:rgba(16,117,188,.10);
}

.otoprep-progress-paceline__badge--fast{
  background:rgba(83,139,105,.16);
}

.otoprep-progress-paceline__badge--unknown{
  background:rgba(16,117,188,.08);
}

.otoprep-progress-pacedetail{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-pacedetail__item{
  padding:14px 16px;
}

.otoprep-progress-pacedetail__row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.otoprep-progress-modeitem{
  padding:14px 16px;
}

@media (max-width: 1200px){
  .otoprep-progress-trendsummary{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .otoprep-progress-analyticsgrid,
  .otoprep-progress-rankcards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 960px){
  .otoprep-progress-trendsummary,
  .otoprep-progress-trendgrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .otoprep-progress-rankcards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .otoprep-progress-analyticsgrid,
  .otoprep-progress-trendsummary,
  .otoprep-progress-trendgrid,
  .otoprep-progress-movergrid,
  .otoprep-progress-modegrid,
  .otoprep-progress-rankcards{
    grid-template-columns:minmax(0,1fr);
  }

  .otoprep-progress-charthead,
  .otoprep-progress-rankcard__head,
  .otoprep-progress-intelheadline,
  .otoprep-progress-intelsignal__head,
  .otoprep-progress-modebar__head,
  .otoprep-progress-charthead__meta{
    align-items:flex-start;
  }

  .otoprep-progress-charthead,
  .otoprep-progress-rankcard__head,
  .otoprep-progress-intelheadline,
  .otoprep-progress-intelsignal__head,
  .otoprep-progress-modebar__head{
    flex-direction:column;
  }

  .otoprep-progress-pacedetail__row{
    flex-direction:column;
  }

  .otoprep-progress-chart{
    min-width:480px;
  }
}


/* 21.8.36 progress analytics tabs compact copy + theme-style polish */
.otoprep-progress-analyticsdeck{
  position:relative;
}

body.otoprep-app .otoprep-progress-switcher{
  position:sticky;
  top:78px;
  z-index:24;
  padding:12px 14px;
  background:rgba(255,255,255,.94);
  border-color:var(--otoprep-border);
  box-shadow:0 10px 24px rgba(16,117,188,.10);
  backdrop-filter:blur(10px);
}

body.otoprep-app .otoprep-progress-switcher__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

body.otoprep-app .otoprep-progress-switcher__title{
  margin:0;
  color:var(--otoprep-muted);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
}

body.otoprep-app .otoprep-progress-switcher__tabs{
  display:flex;
  align-items:center;
  gap:6px;
  width:100%;
  max-width:100%;
  margin-top:8px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px;
  padding-bottom:4px;
  -webkit-overflow-scrolling:touch;
}

body.otoprep-app .otoprep-progress-switcher__tabs::-webkit-scrollbar{
  height:6px;
}

body.otoprep-app .otoprep-progress-switcher__tabs::-webkit-scrollbar-thumb{
  background:rgba(16,117,188,.18);
  border-radius:999px;
}

body.otoprep-app button.otoprep-progress-switcher__tab{
  -webkit-appearance:none;
  appearance:none;
  flex:0 0 auto;
  min-height:40px;
  padding:10px 14px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:var(--otoprep-blue);
  font-family:inherit;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:none;
  -webkit-tap-highlight-color:transparent;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease;
}

body.otoprep-app button.otoprep-progress-switcher__tab:hover{
  background:rgba(16,117,188,.08);
}

body.otoprep-app button.otoprep-progress-switcher__tab:focus,
body.otoprep-app button.otoprep-progress-switcher__tab:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(16,117,188,.16);
}

body.otoprep-app button.otoprep-progress-switcher__tab.is-active,
body.otoprep-app button.otoprep-progress-switcher__tab[aria-selected="true"]{
  color:#fff;
  background:var(--otoprep-blue);
  border-color:var(--otoprep-blue);
  box-shadow:0 10px 22px rgba(16,117,188,.18);
}

.otoprep-progress-panels{
  position:relative;
}

.otoprep-progress-panels.is-enhanced .otoprep-progress-panel{
  display:none;
}

.otoprep-progress-panels.is-enhanced .otoprep-progress-panel.is-active{
  display:block;
}

.otoprep-progress-panel[hidden]{
  display:none !important;
}

.otoprep-progress-centilebands{
  min-height:126px;
}

.otoprep-progress-intelbadge--starting{
  background:rgba(16,117,188,.08);
}

.otoprep-progress-intelbadge--building{
  background:rgba(240,179,46,.18);
}

.otoprep-progress-intelbadge--steady{
  background:rgba(16,117,188,.12);
}

.otoprep-progress-intelbadge--strong{
  background:rgba(83,139,105,.16);
}

body.otoprep-app .otoprep-oralProgressHero{
  overflow:visible;
}

body.otoprep-app .otoprep-oralProgress-next .otoprep-progress-metric__value{
  font-size:22px;
  line-height:1.24;
}

body.otoprep-app .otoprep-oralProgress-list{
  display:grid;
  gap:12px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
}

body.otoprep-app .otoprep-oralProgress-listItem{
  padding-top:12px;
  border-top:1px solid rgba(16,117,188,.12);
}

body.otoprep-app .otoprep-oralProgress-listItem:first-child{
  padding-top:0;
  border-top:none;
}

body.otoprep-app .otoprep-oralProgress-listItem__title{
  color:var(--otoprep-ink);
  font-size:16px;
  line-height:1.35;
  font-weight:800;
}

body.otoprep-app .otoprep-oralProgress-listItem__meta,
body.otoprep-app .otoprep-oralProgress-moduleRow__meta{
  margin-top:6px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.55;
}

body.otoprep-app .otoprep-oralProgress-cadence .otoprep-spark{
  margin-top:14px;
}

body.otoprep-app .otoprep-oralProgress-cadence .otoprep-spark__bar.is-latest{
  background:#1075bc;
  border-color:rgba(16,117,188,.35);
}

body.otoprep-app .otoprep-oralProgress-moduleRows{
  display:grid;
  gap:12px;
  margin-top:14px;
}

body.otoprep-app .otoprep-oralProgress-moduleRow{
  padding:16px 18px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.97) 100%);
  box-shadow:0 10px 24px rgba(16,117,188,.06);
}

body.otoprep-app .otoprep-oralProgress-moduleRow__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

body.otoprep-app .otoprep-oralProgress-moduleRow__title{
  margin:0;
  color:var(--otoprep-ink);
  font-size:18px;
  line-height:1.3;
}

body.otoprep-app .otoprep-oralProgress-moduleRow__badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

body.otoprep-app .otoprep-oralProgress-moduleRow__stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
  gap:10px;
  margin-top:14px;
}

body.otoprep-app .otoprep-oralProgress-moduleRow__stat{
  padding:12px 14px;
  border:1px solid rgba(16,117,188,.10);
  border-radius:14px;
  background:rgba(247,250,253,.88);
}

body.otoprep-app .otoprep-oralProgress-moduleRow__label{
  color:var(--otoprep-muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
}

body.otoprep-app .otoprep-oralProgress-moduleRow__value{
  margin-top:6px;
  color:var(--otoprep-ink);
  font-size:18px;
  line-height:1.2;
  font-weight:800;
}

@media (max-width: 960px){
  body.otoprep-app .otoprep-oralProgress-moduleRow__head{
    flex-direction:column;
  }

  body.otoprep-app .otoprep-oralProgress-moduleRow__badges{
    justify-content:flex-start;
  }

  body.otoprep-app .otoprep-oralProgress-moduleRow__stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  body.otoprep-app .otoprep-oralProgress-moduleRow__stats{
    grid-template-columns:minmax(0,1fr);
  }
}


.otoprep-progress-centilebands .otoprep-progress-histogram__bar,
.otoprep-progress-centilebands__bar{
  height:76px !important;
  min-height:76px;
}

.otoprep-progress-centilebands__bar.is-user{
  box-shadow:0 12px 26px rgba(16,117,188,.18);
  transform:translateY(-4px);
}

/* 21.8.34 advanced progress intelligence */
.otoprep-progress-chartlegend__swatch--adjusted{
  background:#1075bc;
}

.otoprep-progress-chart__line--adjusted{
  stroke:#1075bc;
}

.otoprep-progress-histogram{
  padding:18px;
}

.otoprep-progress-histogram__bars{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:10px;
  align-items:end;
  margin-top:18px;
  min-height:170px;
}

.otoprep-progress-histogram__col{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  min-width:0;
}

.otoprep-progress-histogram__bar{
  width:100%;
  min-height:10px;
  border-radius:12px 12px 6px 6px;
  background:rgba(16,117,188,.18);
  border:1px solid rgba(16,117,188,.14);
  box-shadow:0 8px 18px rgba(16,117,188,.06);
}

.otoprep-progress-histogram__bar.is-user{
  background:#1075bc;
  border-color:#1075bc;
}

.otoprep-progress-histogram__bar.is-empty{
  background:rgba(16,117,188,.08);
}

.otoprep-progress-histogram__label{
  color:var(--otoprep-muted);
  font-size:12px;
  line-height:1.3;
  text-align:center;
}

.otoprep-progress-ranktrendgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-ranktrendcard__value{
  font-size:24px;
  line-height:1.15;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-ranktrendbars .otoprep-spark__bar.is-latest{
  background:#1075bc;
}

.otoprep-progress-timeintel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.otoprep-progress-timeintel__item{
  border:1px solid rgba(16,117,188,.10);
  border-radius:16px;
  padding:14px;
  background:rgba(247,250,253,.92);
}

.otoprep-progress-timeintel__label{
  color:var(--otoprep-muted);
  font-size:12px;
  font-weight:700;
}

.otoprep-progress-timeintel__value{
  margin-top:6px;
  color:var(--otoprep-ink);
  font-size:22px;
  line-height:1.15;
  font-weight:800;
}

.otoprep-progress-timeintel__sub{
  margin-top:6px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.45;
}

.otoprep-progress-blueprintgrid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-blueprintrow{
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.97) 100%);
  box-shadow:0 10px 24px rgba(16,117,188,.06);
}

.otoprep-progress-blueprintrow__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.otoprep-progress-blueprintrow__title{
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  color:var(--otoprep-ink);
}

.otoprep-progress-blueprintrow__priority{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(16,117,188,.10);
  color:var(--otoprep-ink);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.otoprep-progress-blueprintrow__metrics{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
  margin-top:14px;
}

.otoprep-progress-blueprintrow__metric{
  border:1px solid rgba(16,117,188,.08);
  border-radius:14px;
  padding:12px;
  background:rgba(247,250,253,.88);
}

.otoprep-progress-blueprintrow__metriclabel{
  color:var(--otoprep-muted);
  font-size:12px;
  font-weight:700;
}

.otoprep-progress-blueprintrow__metricvalue{
  margin-top:6px;
  color:var(--otoprep-ink);
  font-size:18px;
  line-height:1.2;
  font-weight:800;
}

.otoprep-progress-blueprintrow__heat{
  margin-top:14px;
  height:10px;
  border-radius:999px;
  background:rgba(16,117,188,.08);
  overflow:hidden;
}

.otoprep-progress-blueprintrow__heatfill{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#1075bc;
}

.otoprep-progress-blueprintrow__foot{
  margin-top:10px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.45;
}


.otoprep-progress-blueprintrow__badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.otoprep-progress-blueprintrow__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.14);
  color:var(--otoprep-ink);
  font-size:12px;
  font-weight:700;
  line-height:1.2;
}

.otoprep-progress-blueprintrow__metricsub{
  margin-top:6px;
  color:var(--otoprep-muted);
  font-size:12px;
  line-height:1.4;
}

.otoprep-progress-blueprintrow__note + .otoprep-progress-blueprintrow__note{
  margin-top:8px;
}

.otoprep-progress-blueprintrow__note--trial{
  color:var(--otoprep-ink);
}

.otoprep-progress-blueprinttrial{
  margin-top:14px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  padding:16px;
  background:linear-gradient(180deg, rgba(247,250,253,.98) 0%, rgba(255,255,255,.98) 100%);
}

.otoprep-progress-blueprinttrial__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.otoprep-progress-blueprinttrial__title{
  color:var(--otoprep-ink);
  font-size:16px;
  line-height:1.3;
  font-weight:800;
}

.otoprep-progress-blueprinttrial__body{
  margin-top:6px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.5;
}

.otoprep-progress-blueprinttrial__cta{
  flex-shrink:0;
}

.otoprep-progress-blueprinttrial__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin-top:14px;
}

.otoprep-progress-blueprinttrial__item{
  border:1px solid rgba(16,117,188,.08);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.88);
}

.otoprep-progress-blueprinttrial__itemtitle{
  color:var(--otoprep-ink);
  font-size:14px;
  line-height:1.35;
  font-weight:800;
}

.otoprep-progress-blueprinttrial__itemsub{
  margin-top:6px;
  color:var(--otoprep-muted);
  font-size:12px;
  line-height:1.45;
}

@media (max-width: 980px){
  .otoprep-progress-ranktrendgrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .otoprep-progress-blueprintrow__metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .otoprep-progress-histogram__bars{
    gap:6px;
    min-height:140px;
  }

  .otoprep-progress-ranktrendgrid{
    grid-template-columns:1fr;
  }

  .otoprep-progress-timeintel{
    grid-template-columns:1fr;
  }

  .otoprep-progress-blueprintrow__metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 980px){
  body.otoprep-app .otoprep-progress-switcher{
    top:74px;
  }
}

@media (max-width: 640px){
  body.otoprep-app .otoprep-progress-switcher{
    top:70px;
    padding:10px 12px;
  }

  body.otoprep-app button.otoprep-progress-switcher__tab{
    min-height:38px;
    padding:8px 12px;
    font-size:13px;
  }

  .otoprep-progress-centilebands{
    min-height:112px;
  }

  .otoprep-progress-centilebands .otoprep-progress-histogram__bar,
  .otoprep-progress-centilebands__bar{
    height:64px !important;
    min-height:64px;
  }
}

/* 21.8.38 trial-aware progress conversion hero */
.otoprep-progress-trialbanner,
.otoprep-progress-trialstrip,
.otoprep-progress-trackhero{
  position:relative;
  overflow:hidden;
}

.otoprep-progress-trialbanner{
  border-color:rgba(16,117,188,.16);
  background:linear-gradient(180deg, rgba(239,246,252,.98) 0%, rgba(247,251,254,.96) 100%);
}

.otoprep-progress-trialbanner__head,
.otoprep-progress-trialstrip__head,
.otoprep-progress-trackhero__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.otoprep-progress-trialbanner__eyebrow,
.otoprep-progress-trialstrip__eyebrow{
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.otoprep-progress-trialbanner__summary,
.otoprep-progress-trialstrip__summary,
.otoprep-progress-trackhero__summary{
  margin-top:10px;
}

.otoprep-progress-trackhero__chart{
  margin-top:16px;
}

.otoprep-progress-activitychart--hero .otoprep-progress-chartlegend{
  margin-top:0;
}

.otoprep-progress-activitychart--hero .otoprep-progress-chartcard{
  margin-top:10px;
  border-color:rgba(16,117,188,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,249,253,.96));
}

.otoprep-progress-trialbanner__cta,
.otoprep-progress-trialstrip__cta{
  flex:0 0 auto;
}

.otoprep-progress-stackbar{
  display:flex;
  align-items:stretch;
  height:14px;
  margin-top:14px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.08);
}

.otoprep-progress-stackbar__seg{
  display:block;
  height:100%;
}

.otoprep-progress-stackbar__seg--used{
  background:#1075bc;
}

.otoprep-progress-stackbar__seg--remaining{
  background:rgba(16,117,188,.40);
}

.otoprep-progress-stackbar__seg--locked{
  background:rgba(16,117,188,.14);
}

.otoprep-progress-stacklegend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-top:12px;
  color:var(--otoprep-muted);
  font-size:13px;
  font-weight:700;
}

.otoprep-progress-stacklegend__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.otoprep-progress-stacklegend__swatch{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  box-shadow:0 0 0 1px rgba(16,117,188,.12);
}

.otoprep-progress-stacklegend__swatch--used{
  background:#1075bc;
}

.otoprep-progress-stacklegend__swatch--remaining{
  background:rgba(16,117,188,.40);
}

.otoprep-progress-stacklegend__swatch--locked{
  background:rgba(16,117,188,.14);
}

.otoprep-progress-trialstats,
.otoprep-progress-trackhero__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.otoprep-progress-trialstat,
.otoprep-progress-trackhero__item,
.otoprep-progress-unlock,
.otoprep-progress-trackweak{
  border:1px solid rgba(16,117,188,.10);
  border-radius:18px;
  padding:16px 18px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.96) 100%);
  box-shadow:0 10px 24px rgba(16,117,188,.05);
}

.otoprep-progress-trialstat__label,
.otoprep-progress-unlock__label{
  color:var(--otoprep-muted);
  font-size:12px;
  font-weight:700;
}

.otoprep-progress-trialstat__value,
.otoprep-progress-unlock__value{
  margin-top:8px;
  color:var(--otoprep-ink);
  font-size:24px;
  line-height:1.15;
  font-weight:800;
}

.otoprep-progress-trialstat__sub,
.otoprep-progress-unlock__sub,
.otoprep-progress-trackhero__footnote,
.otoprep-progress-trackweak__sub{
  margin-top:6px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.45;
}

.otoprep-progress-trialstrip__nexthead,
.otoprep-progress-trackhero__foot{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(16,117,188,.10);
}

.otoprep-progress-trialstrip__nexttitle,
.otoprep-progress-trackhero__footlabel{
  color:var(--otoprep-ink);
  font-size:14px;
  font-weight:800;
}

.otoprep-progress-trialstrip__nextnote{
  margin-top:4px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.45;
}

.otoprep-progress-unlockgrid,
.otoprep-progress-trackweakgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.otoprep-progress-unlock.is-done{
  border-color:rgba(16,117,188,.18);
  background:linear-gradient(180deg, rgba(239,246,252,.99) 0%, rgba(247,251,254,.96) 100%);
}

.otoprep-progress-unlock__top,
.otoprep-progress-trackweak__row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.otoprep-progress-unlock__status,
.otoprep-progress-trackweak__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(16,117,188,.08);
  color:var(--otoprep-ink);
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.otoprep-progress-unlock .otoprep-progress-benchmeter{
  margin-top:12px;
}

.otoprep-progress-benchmeter__fill--unlock{
  background:rgba(16,117,188,.38);
}

.otoprep-progress-benchmeter__fill--unlockdone{
  background:#1075bc;
}

.otoprep-progress-trackweak__title{
  color:var(--otoprep-ink);
  font-size:16px;
  line-height:1.3;
  font-weight:800;
}

@media (max-width: 1200px){
  .otoprep-progress-trialstats,
  .otoprep-progress-trackhero__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 980px){
  body.otoprep-app .otoprep-feature-section--collapsible > summary{
    padding:18px;
  }

  .otoprep-progress-trialbanner__head,
  .otoprep-progress-trialstrip__head,
  .otoprep-progress-trackhero__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .otoprep-progress-unlockgrid,
  .otoprep-progress-trackweakgrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  body.otoprep-app .otoprep-feature-section--collapsible > summary{
    padding:16px;
  }

  body.otoprep-app .otoprep-feature-section--collapsible .otoprep-feature-grid{
    padding:16px;
  }

  .otoprep-progress-stackbar{
    height:12px;
  }

  .otoprep-progress-trialstats,
  .otoprep-progress-unlockgrid,
  .otoprep-progress-trackhero__grid,
  .otoprep-progress-trackweakgrid{
    grid-template-columns:minmax(0,1fr);
  }

  .otoprep-progress-trialbanner__cta,
  .otoprep-progress-trialstrip__cta{
    width:100%;
    justify-content:center;
  }
}


@media (max-width: 1200px){
  .otoprep-progress-deltagrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 960px){
  .otoprep-progress-benchsummary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .otoprep-home-snapshot__sparkrow{
    flex-direction:column;
    align-items:stretch;
  }

  .otoprep-home-snapshot__spark{
    max-width:none;
    width:100%;
  }

  .otoprep-progress-benchsummary,
  .otoprep-progress-deltagrid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Lightweight structured question feedback popovers */
body.otoprep-app .otoprep-feedback-slot{
  position:relative;
  margin-top:14px;
  width:100%;
}

body.otoprep-app .otoprep-feedback-slot--toolbar{
  margin-top:16px;
}

body.otoprep-app .otoprep-feedback-slot--prepend{
  margin-top:0;
  margin-bottom:12px;
}

body.otoprep-app .ays-quiz-question-state-box > .otoprep-feedback-slot--toolbar{
  width:100%;
}

body.otoprep-app .otoprep-feedback-popover{
  position:relative;
  width:min(100%, 560px);
  background:#fff;
  border:1px solid rgba(16,117,188,.14);
  border-radius:16px;
  box-shadow:0 14px 34px rgba(16,117,188,.12);
  padding:14px;
  color:var(--otoprep-ink);
  opacity:0;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.otoprep-app .otoprep-feedback-popover.is-visible{
  opacity:1;
  transform:translateY(0);
}

body.otoprep-app .otoprep-feedback-popover.is-complete{
  border-color:rgba(16,117,188,.18);
  box-shadow:0 10px 24px rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-feedback__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

body.otoprep-app .otoprep-feedback__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(16,117,188,.09);
  color:var(--otoprep-blue);
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
}

body.otoprep-app .otoprep-feedback-popover--report .otoprep-feedback__eyebrow{
  background:rgba(231,105,75,.12);
  color:var(--otoprep-orange);
}

body.otoprep-app .otoprep-feedback__close{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:999px;
  background:#fff;
  color:var(--otoprep-muted);
  font-size:22px;
  line-height:1;
  cursor:pointer;
  transition:border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.otoprep-app .otoprep-feedback__close:hover,
body.otoprep-app .otoprep-feedback__close:focus-visible{
  color:var(--otoprep-blue);
  border-color:rgba(16,117,188,.24);
  box-shadow:0 0 0 3px rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-feedback__question{
  margin:0 0 12px;
  color:var(--otoprep-ink);
  font-size:16px;
  line-height:1.35;
  font-weight:800;
}

body.otoprep-app .otoprep-feedback__question--thanks{
  margin-bottom:0;
  color:var(--otoprep-blue);
}

body.otoprep-app .otoprep-feedback__choices,
body.otoprep-app .otoprep-feedback__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.otoprep-app .otoprep-feedback__chip{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border:1px solid var(--otoprep-border);
  border-radius:999px;
  background:#fff;
  color:var(--otoprep-ink);
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  cursor:pointer;
  text-align:center;
  transition:border-color .18s ease, box-shadow .18s ease, color .18s ease, background-color .18s ease, transform .18s ease;
}

body.otoprep-app .otoprep-feedback__chip:hover,
body.otoprep-app .otoprep-feedback__chip:focus-visible{
  border-color:rgba(16,117,188,.30);
  color:var(--otoprep-blue);
  box-shadow:0 0 0 3px rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-feedback__chip.is-selected,
body.otoprep-app .otoprep-feedback__chip[aria-pressed="true"]{
  border-color:rgba(16,117,188,.34);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-blue);
}

body.otoprep-app .otoprep-feedback-popover--report .otoprep-feedback__chip.is-selected,
body.otoprep-app .otoprep-feedback-popover--report .otoprep-feedback__chip[aria-pressed="true"]{
  border-color:rgba(231,105,75,.28);
  background:rgba(231,105,75,.10);
  color:var(--otoprep-orange);
}

body.otoprep-app .otoprep-feedback__followup{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-feedback__mini-label{
  margin:0 0 8px;
  color:var(--otoprep-muted);
  font-size:12px;
  line-height:1.4;
  font-weight:700;
}

body.otoprep-app .otoprep-feedback__note{
  display:block;
  margin-top:12px;
}

body.otoprep-app .otoprep-feedback__textarea{
  display:block;
  width:100%;
  min-height:84px;
  margin:0;
  padding:11px 12px;
  border:1px solid var(--otoprep-border);
  border-radius:14px;
  background:#fff;
  color:var(--otoprep-ink);
  font-size:14px;
  line-height:1.45;
  resize:vertical;
}

body.otoprep-app .otoprep-feedback__textarea:focus{
  outline:none;
  border-color:rgba(16,117,188,.30);
  box-shadow:0 0 0 3px rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-feedback__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:12px;
}

body.otoprep-app .otoprep-feedback__submit{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border:1px solid var(--otoprep-blue);
  border-radius:999px;
  background:var(--otoprep-blue);
  color:#fff;
  font-size:14px;
  line-height:1.2;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

body.otoprep-app .otoprep-feedback-popover--report .otoprep-feedback__submit{
  border-color:var(--otoprep-orange);
  background:var(--otoprep-orange);
}

body.otoprep-app .otoprep-feedback__submit:hover,
body.otoprep-app .otoprep-feedback__submit:focus-visible{
  box-shadow:0 10px 22px rgba(16,117,188,.18);
  transform:translateY(-1px);
}

body.otoprep-app .otoprep-feedback-popover--report .otoprep-feedback__submit:hover,
body.otoprep-app .otoprep-feedback-popover--report .otoprep-feedback__submit:focus-visible{
  box-shadow:0 10px 22px rgba(231,105,75,.20);
}

body.otoprep-app .otoprep-feedback__submit:disabled{
  cursor:wait;
  opacity:.75;
  transform:none;
  box-shadow:none;
}

body.otoprep-app .otoprep-feedback__status{
  flex:1 1 180px;
  min-height:20px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.4;
}

body.otoprep-app .otoprep-feedback__status.is-error{
  color:var(--otoprep-orange);
}

body.otoprep-app .otoprep-feedback__status.is-success{
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-result .otoprep-qreview-body > .otoprep-feedback-slot .otoprep-feedback-popover,
body.otoprep-app.otoprep-view-quiz .ays_questtion_explanation > .otoprep-feedback-slot .otoprep-feedback-popover,
body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box > .otoprep-feedback-slot--toolbar .otoprep-feedback-popover{
  max-width:100%;
}

body.otoprep-app.otoprep-view-quiz .ays-quiz-question-state-box > .otoprep-feedback-slot--toolbar .otoprep-feedback-popover{
  margin-left:0;
}

body.otoprep-app .otoprep-feedback-popover :focus-visible{
  outline:none;
}

body.otoprep-app.otoprep-reduced-motion .otoprep-feedback-popover,
body.otoprep-app.otoprep-reduced-motion .otoprep-feedback__close,
body.otoprep-app.otoprep-reduced-motion .otoprep-feedback__chip,
body.otoprep-app.otoprep-reduced-motion .otoprep-feedback__submit{
  transition:none;
}

@media (prefers-reduced-motion: reduce){
  body.otoprep-app .otoprep-feedback-popover,
  body.otoprep-app .otoprep-feedback__close,
  body.otoprep-app .otoprep-feedback__chip,
  body.otoprep-app .otoprep-feedback__submit{
    transition:none;
  }
}

@media (max-width: 782px){
  body.otoprep-app .otoprep-feedback-slot{
    margin-top:12px;
  }

  body.otoprep-app .otoprep-feedback-popover{
    width:100%;
    padding:14px 12px 12px;
    border-radius:18px;
  }

  body.otoprep-app .otoprep-feedback__choices,
  body.otoprep-app .otoprep-feedback__tags{
    gap:8px;
  }

  body.otoprep-app .otoprep-feedback__choice,
  body.otoprep-app .otoprep-feedback__chip--tag{
    flex:1 1 calc(50% - 4px);
  }

  body.otoprep-app .otoprep-feedback__submit{
    width:100%;
  }

  body.otoprep-app .otoprep-feedback__actions{
    align-items:stretch;
  }

  body.otoprep-app .otoprep-feedback__status{
    flex:1 1 100%;
  }
}

/* Embedded OtoPrep question rating + below-explanation feedback surfaces */
body.otoprep-app .otoprep-feedback-footer{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  width:100%;
  margin-top:14px;
}

body.otoprep-app .otoprep-feedback-footer[hidden]{
  display:none !important;
}

body.otoprep-app .otoprep-feedback-footer > .otoprep-feedback-slot{
  margin:0;
}

body.otoprep-app .otoprep-feedback-footer > .otoprep-feedback-slot .otoprep-feedback-popover{
  max-width:100%;
}

body.otoprep-app .otoprep-inline-rating{
  width:min(100%, 560px);
  background:#fff;
  border:1px solid rgba(16,117,188,.14);
  border-radius:16px;
  box-shadow:0 10px 24px rgba(16,117,188,.08);
  padding:14px;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-inline-rating.is-saved{
  border-color:rgba(16,117,188,.18);
  box-shadow:0 8px 18px rgba(16,117,188,.08);
}

body.otoprep-app .otoprep-inline-rating__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px 12px;
}

body.otoprep-app .otoprep-inline-rating__label{
  font-size:15px;
  line-height:1.3;
  font-weight:800;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-inline-rating__hint{
  flex:1 1 220px;
  font-size:13px;
  line-height:1.45;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-inline-rating__stars{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

body.otoprep-app .otoprep-inline-rating__star{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:48px;
  padding:0;
  border:1px solid var(--otoprep-border);
  border-radius:14px;
  background:rgba(16,117,188,.03);
  color:#B8C3D0;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, color .18s ease, background-color .18s ease, transform .18s ease;
}

body.otoprep-app .otoprep-inline-rating__star:hover,
body.otoprep-app .otoprep-inline-rating__star:focus-visible{
  border-color:rgba(231,105,75,.28);
  box-shadow:0 0 0 3px rgba(231,105,75,.10);
  color:var(--otoprep-orange);
}

body.otoprep-app .otoprep-inline-rating__star.is-filled{
  color:var(--otoprep-orange);
}

body.otoprep-app .otoprep-inline-rating__star.is-selected{
  border-color:rgba(231,105,75,.28);
  background:rgba(231,105,75,.08);
  box-shadow:0 0 0 3px rgba(231,105,75,.08);
}

body.otoprep-app .otoprep-inline-rating__followup{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-inline-rating__saved{
  margin-top:10px;
  color:var(--otoprep-blue);
  font-size:13px;
  line-height:1.4;
  font-weight:700;
}

body.otoprep-app .otoprep-inline-rating__dismiss{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border:1px solid var(--otoprep-border);
  border-radius:999px;
  background:#fff;
  color:var(--otoprep-ink);
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, color .18s ease, background-color .18s ease;
}

body.otoprep-app .otoprep-inline-rating__dismiss:hover,
body.otoprep-app .otoprep-inline-rating__dismiss:focus-visible{
  border-color:rgba(16,117,188,.24);
  box-shadow:0 0 0 3px rgba(16,117,188,.10);
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-reduced-motion .otoprep-inline-rating__star,
body.otoprep-app.otoprep-reduced-motion .otoprep-inline-rating__dismiss{
  transition:none;
}

@media (prefers-reduced-motion: reduce){
  body.otoprep-app .otoprep-inline-rating__star,
  body.otoprep-app .otoprep-inline-rating__dismiss{
    transition:none;
  }
}

@media (max-width: 782px){
  body.otoprep-app .otoprep-feedback-footer{
    margin-top:12px;
  }

  body.otoprep-app .otoprep-inline-rating{
    width:100%;
    padding:14px 12px 12px;
    border-radius:18px;
  }

  body.otoprep-app .otoprep-inline-rating__star{
    flex:1 1 calc(20% - 7px);
    min-width:0;
  }

  body.otoprep-app .otoprep-inline-rating__dismiss{
    width:100%;
  }
}


/* =========================
   Oral workspace toggle + session cards
   ========================= */
body.otoprep-app .otoprep-voiceSessions{
  display:grid;
  gap:12px;
  margin-top:12px;
}

body.otoprep-app .otoprep-voiceSession{
  border:1px solid var(--otoprep-border);
  border-radius:18px;
  padding:16px;
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 28px rgba(16,117,188,.06);
}

body.otoprep-app .otoprep-voiceSession__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-voiceSession__title{
  font-size:16px;
  font-weight:900;
  line-height:1.2;
}

body.otoprep-app .otoprep-voiceSession__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.otoprep-app .otoprep-voiceSession__chip{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(16,117,188,.06);
  color:var(--otoprep-blue);
  font-size:12px;
  font-weight:900;
  line-height:1;
}

body.otoprep-app .otoprep-voiceSession__summary{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}

body.otoprep-app .otoprep-voiceSession__panel{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.68);
}

body.otoprep-app .otoprep-voiceSession__panelTitle{
  font-weight:900;
  margin-bottom:8px;
}

body.otoprep-app .otoprep-voiceSession__preview{
  font-size:14px;
  line-height:1.55;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-voiceSession__actions{
  margin-top:14px;
}

body.otoprep-app .otoprep-voiceSessionReview__body{
  display:grid;
  gap:12px;
}

body.otoprep-app .otoprep-voiceSessionReview__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.otoprep-app .otoprep-voiceSessionReview__summary{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.82);
}

body.otoprep-app .otoprep-voiceSessionReview__summary p{
  color:var(--otoprep-muted);
  line-height:1.6;
}

body.otoprep-app .otoprep-voiceSessionReview__actions{
  margin-top:2px;
}

body.otoprep-app .otoprep-voiceSessionReview details,
body.otoprep-app details.otoprep-qreview.otoprep-voiceSessionReview{
  margin:0;
}

body.otoprep-app .otoprep-voiceSessionReview .otoprep-qreview-summary__index{
  max-width:100%;
}

body.otoprep-app .otoprep-voiceSessionDetail__sections{
  display:grid;
  gap:12px;
  margin-top:12px;
}

body.otoprep-app .otoprep-voiceSessionDetail__transcript{
  margin:0;
  padding:12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:rgba(255,255,255,.7);
}

body.otoprep-app .otoprep-voiceSessionDetail__feedback{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.7);
}

body.otoprep-app .otoprep-topbar__sub--surface{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(16,117,188,.12);
}

body.otoprep-app .otoprep-topbar__surface{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-topbar__surfaceLabel{
  font-size:12px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-topbar__surfaceSeg{
  flex:0 0 auto;
}

body.otoprep-app .otoprep-topbar__surfaceHint{
  flex:1 1 240px;
  min-width:220px;
  font-size:13px;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-topbar__surfaceDetails{
  display:block;
}

body.otoprep-app .otoprep-topbar__surfaceSummary{
  display:none;
}

body.otoprep-app .otoprep-topbar__surfacePanel{
  display:block;
}

body.otoprep-app .otoprep-topbar__surfaceSummary::-webkit-details-marker{
  display:none;
}

@media (max-width: 980px){
  body.otoprep-app .otoprep-voiceSession__summary{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  body.otoprep-app .otoprep-topbar__sub--surface{
    position:relative;
    display:flex;
    justify-content:flex-end;
    align-items:flex-start;
    margin-top:4px;
    padding-top:0;
    border-top:0;
    min-height:0;
  }

  body.otoprep-app .otoprep-topbar__surfaceDetails{
    position:relative;
    width:auto;
    max-width:100%;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
    margin-left:auto;
  }

  body.otoprep-app .otoprep-topbar__surfaceSummary{
    list-style:none;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:6px 10px;
    border:1px solid rgba(16,117,188,.14);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    box-shadow:0 8px 18px rgba(16,117,188,.06);
    min-height:0;
    white-space:nowrap;
  }

  body.otoprep-app .otoprep-topbar__surfaceSummaryLabel{
    display:none;
  }

  body.otoprep-app .otoprep-topbar__surfaceSummaryValue{
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-size:12px;
    font-weight:900;
    color:var(--otoprep-blue);
    line-height:1.1;
  }

  body.otoprep-app .otoprep-topbar__surfaceSummary::after{
    content:'▾';
    flex:0 0 auto;
    color:var(--otoprep-muted);
    font-size:12px;
    line-height:1;
  }

  body.otoprep-app .otoprep-topbar__surfaceDetails[open] .otoprep-topbar__surfaceSummary::after{
    content:'▴';
  }

  body.otoprep-app .otoprep-topbar__surfacePanel{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    width:min(92vw, 320px);
    padding:12px;
    border:1px solid rgba(16,117,188,.12);
    border-radius:16px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 40px rgba(16,117,188,.14);
    z-index:30;
  }

  body.otoprep-app .otoprep-topbar__surfaceDetails[open] .otoprep-topbar__surfacePanel{
    display:block;
  }

  body.otoprep-app .otoprep-topbar__surface{
    align-items:stretch;
    gap:10px;
  }

  body.otoprep-app .otoprep-topbar__surfaceLabel,
  body.otoprep-app .otoprep-topbar__surfaceHint{
    flex:1 1 100%;
    min-width:0;
  }

  body.otoprep-app .otoprep-topbar__surfaceSeg{
    width:100%;
    display:flex;
  }

  body.otoprep-app .otoprep-topbar__surfaceSeg .otoprep-seg__btn{
    flex:1 1 0;
  }

  body.otoprep-app .otoprep-topbar__surfaceHint{
    margin-top:-2px;
    font-size:12px;
    line-height:1.4;
  }
}


body.otoprep-app .otoprep-oralProgress-deepgrid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:14px;
  margin-top:14px;
}

body.otoprep-app .otoprep-oralProgress-recommendation,
body.otoprep-app .otoprep-oralProgress-snapshot,
body.otoprep-app .otoprep-oralProgress-coachingCard{
  padding:18px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,250,253,.97) 100%);
  box-shadow:0 10px 24px rgba(16,117,188,.06);
}

body.otoprep-app .otoprep-oralProgress-recommendation__eyebrow,
body.otoprep-app .otoprep-oralProgress-coachingCard__label{
  color:var(--otoprep-muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

body.otoprep-app .otoprep-oralProgress-recommendation__title,
body.otoprep-app .otoprep-oralProgress-coachingCard__title{
  margin:10px 0 0;
  color:var(--otoprep-ink);
  font-size:20px;
  line-height:1.28;
}

body.otoprep-app .otoprep-oralProgress-recommendation__summary,
body.otoprep-app .otoprep-oralProgress-coachingCard__summary{
  margin:10px 0 0;
  color:var(--otoprep-ink);
  font-size:14px;
  line-height:1.6;
}

body.otoprep-app .otoprep-oralProgress-recommendation__chips,
body.otoprep-app .otoprep-oralProgress-moduleRow__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

body.otoprep-app .otoprep-oralProgress-recommendation__reasons{
  margin:14px 0 0;
  padding-left:18px;
  color:var(--otoprep-ink);
  font-size:14px;
  line-height:1.65;
}

body.otoprep-app .otoprep-oralProgress-recommendation__note{
  margin-top:12px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.6;
}

body.otoprep-app .otoprep-oralProgress-snapshot__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

body.otoprep-app .otoprep-oralProgress-snapshot__item{
  padding:12px 14px;
  border:1px solid rgba(16,117,188,.10);
  border-radius:14px;
  background:rgba(247,250,253,.88);
}

body.otoprep-app .otoprep-oralProgress-coachingGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

body.otoprep-app .otoprep-oralProgress-moduleRow__insight{
  margin:12px 0 0;
  color:var(--otoprep-ink);
  font-size:14px;
  line-height:1.6;
}

@media (max-width: 960px){
  body.otoprep-app .otoprep-oralProgress-deepgrid,
  body.otoprep-app .otoprep-oralProgress-coachingGrid,
  body.otoprep-app .otoprep-oralProgress-snapshot__grid{
    grid-template-columns:minmax(0,1fr);
  }
}


/* ------------------------------------------------------------
 * Voice Live Coach mobile-first assessment refactor (21.9.9)
 * Keeps the voice/oral/viva surface inside the OtoPrep wrapper.
 * ------------------------------------------------------------ */
body.otoprep-app.otoprep-view-voice.otoprep-voice--sheet-open{
  overflow:hidden;
}

body.otoprep-app.otoprep-view-voice .otoprep-shell{
  max-width:1400px;
  overflow-x:clip;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice,
body.otoprep-app.otoprep-view-voice .otoprep-voice__layout,
body.otoprep-app.otoprep-view-voice .otoprep-voice__stimulus,
body.otoprep-app.otoprep-view-voice .otoprep-voice__panel,
body.otoprep-app.otoprep-view-voice .otoprep-voice__panelTop,
body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPanel,
body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackRail,
body.otoprep-app.otoprep-view-voice .otoprep-voice__stageFrame,
body.otoprep-app.otoprep-view-voice .otoprep-voice__prompt{
  min-width:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice{
  top:max(0px, env(safe-area-inset-top));
  padding:12px 14px;
  box-shadow:0 14px 40px rgba(16,117,188,.12);
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice{
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__left--voice,
body.otoprep-app.otoprep-view-voice .otoprep-quizbar__mid--voice,
body.otoprep-app.otoprep-view-voice .otoprep-quizbar__right--voice{
  min-width:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__left--voice{
  display:flex;
  align-items:center;
  gap:10px;
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(255,255,255,.88);
  text-decoration:none;
  font-weight:900;
}

body.otoprep-app.otoprep-view-voice .otoprep-brand--quiz{
  min-width:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-brand--quiz .otoprep-brand__logo{
  width:34px;
  height:34px;
  border-radius:11px;
}

body.otoprep-app.otoprep-view-voice .otoprep-brand--quiz .otoprep-brand__wordmark{
  font-size:14px;
  line-height:1.1;
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__eyebrow--voice{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:4px;
  font-size:12px;
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__mode--voice{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(16,117,188,.07);
  color:var(--otoprep-blue);
  font-weight:900;
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
  font-size:20px;
  line-height:1.15;
  letter-spacing:-.02em;
  white-space:normal;
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__meta{
  gap:8px;
}

body.otoprep-app.otoprep-view-voice .otoprep-quizbar__progress,
body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer,
body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
  min-height:36px;
  padding:0 11px;
  font-size:12px;
  font-weight:900;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__sub--voice{
  position:relative;
  margin-top:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurface{
  position:relative;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurface > summary::-webkit-details-marker{
  display:none;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
  list-style:none;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:44px;
  min-width:116px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(255,255,255,.92);
  cursor:pointer;
  font-weight:900;
  box-shadow:0 8px 24px rgba(16,117,188,.10);
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryLabel{
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryValue{
  color:var(--otoprep-blue);
  font-size:12px;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurfacePanel{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(340px, calc(100vw - 32px));
  z-index:20;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__surface--voice{
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 44px rgba(18,32,42,.16);
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceLabel{
  font-weight:900;
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceHint{
  margin-top:4px;
  color:var(--otoprep-muted);
  font-size:12px;
  line-height:1.45;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSetting{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:12px;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSetting > span{
  font-size:12px;
  font-weight:900;
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceActions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceActions .otoprep-live-action{
  width:100%;
  min-height:44px;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceActions .otoprep-live-action--danger{
  background:rgba(179,45,46,.08);
  border-color:rgba(179,45,46,.18);
  color:#8d2627;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__layout{
  grid-template-columns:minmax(0, 1.12fr) minmax(340px, .88fr);
  gap:16px;
  align-items:start;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stimulus,
body.otoprep-app.otoprep-view-voice .otoprep-voice__panel{
  padding:18px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 34px rgba(18,32,42,.08);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stimulus{
  min-height:calc(100vh - 148px);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__qhead{
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__qheadMain{
  flex:1 1 auto;
  min-width:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__qtitle{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  font-size:15px;
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__qhint{
  margin-top:6px;
  font-size:13px;
  line-height:1.45;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__statepill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.16);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-blue);
  font-weight:900;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="live"] .otoprep-voice__statepill{
  background:rgba(16,117,188,.12);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__statepill{
  background:rgba(16,117,188,.05);
  border-color:rgba(16,117,188,.24);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageFrame{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(16,117,188,.10);
  background:linear-gradient(180deg, rgba(244,249,255,.98), rgba(255,255,255,.98));
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenter{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(16,117,188,.12);
  background:linear-gradient(135deg, rgba(16,117,188,.08), rgba(255,255,255,.98));
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterCopy{
  min-width:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterLabel{
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterText{
  margin-top:6px;
  font-size:13px;
  line-height:1.45;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterBadge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.18);
  background:rgba(255,255,255,.9);
  color:var(--otoprep-blue);
  font-size:12px;
  font-weight:900;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__brief{
  margin:0;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(16,117,188,.12);
  background:rgba(255,255,255,.92);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__briefEyebrow{
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__briefText{
  margin:6px 0 0;
  font-size:14px;
  line-height:1.55;
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__prepTools{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(0, .8fr);
  gap:12px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modepick,
body.otoprep-app.otoprep-view-voice .otoprep-voice__lengthpickWrap{
  margin:0;
  padding:14px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:18px;
  background:rgba(255,255,255,.92);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modepickRow{
  align-items:flex-start;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modepickLabel,
body.otoprep-app.otoprep-view-voice .otoprep-timed-setup__title{
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__prompt{
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(16,117,188,.12);
  background:#fff;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__qtext{
  font-size:18px;
  line-height:1.6;
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__reveal{
  margin-top:14px;
  border:1px solid rgba(16,117,188,.14);
  border-radius:16px;
  padding:12px 14px;
  background:rgba(240,247,255,.75);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummary{
  display:none;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(16,117,188,.12);
  background:rgba(255,255,255,.92);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummaryLabel{
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummaryText{
  margin-top:6px;
  font-size:13px;
  line-height:1.45;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummaryBtn{
  flex:0 0 auto;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaInlineHost:empty,
body.otoprep-app.otoprep-view-voice .otoprep-voice__howtoHost:empty{
  display:none;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__choices{
  margin-top:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityRow,
body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreview{
  display:none;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__panel{
  position:sticky;
  top:calc(74px + env(safe-area-inset-top));
  max-height:calc(100vh - 98px - env(safe-area-inset-top));
  display:flex;
  flex-direction:column;
  gap:14px;
  overflow:hidden;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__panelTop,
body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPanel,
body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackRail{
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(16,117,188,.10);
  background:rgba(248,251,255,.94);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__panelTop{
  display:grid;
  gap:12px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sessionmeta{
  position:static;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  background:transparent;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__timer,
body.otoprep-app.otoprep-view-voice .otoprep-voice__credits,
body.otoprep-app.otoprep-view-voice .otoprep-voice__buy{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.14);
  background:#fff;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__statusWrap{
  display:grid;
  gap:4px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__statusLabel,
body.otoprep-app.otoprep-view-voice .otoprep-voice__panelTitle{
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__status{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__panelSectionHead{
  margin-bottom:10px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__panelMeta{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptHost{
  min-width:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-live-log.otoprep-voice__log{
  min-height:280px;
  max-height:min(45vh, 520px);
  padding:4px 2px 2px;
  overflow:auto;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackRail{
  display:flex;
  flex-direction:column;
  min-height:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedback{
  margin-top:0;
  padding-top:0;
  border-top:0;
  max-height:min(30vh, 340px);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedback-actions{
  display:flex;
  gap:10px;
  margin-top:10px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__controlsHost{
  min-width:0;
}

@media (min-width: 981px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__panel{
    min-height:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__panelTop,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controlsHost{
    flex:0 0 auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPanel{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptHost{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackRail{
    flex:0 1 auto;
    min-height:0;
    overflow:hidden;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-live-log.otoprep-voice__log{
    min-height:160px;
    max-height:none;
    flex:1 1 auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedback{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    max-height:min(24vh, 300px);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controlsHost{
    margin-top:auto;
    position:sticky;
    bottom:0;
    z-index:2;
    padding-top:6px;
    background:linear-gradient(180deg, rgba(248,251,255,0) 0%, rgba(248,251,255,.98) 28%, rgba(248,251,255,.98) 100%);
  }
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dock{
  display:none;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__controls{
  position:static;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action{
  width:100%;
  min-height:46px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__controls [data-otoprep-voice-feedback]{
  grid-column:1 / -1;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__action--primarytarget{
  box-shadow:0 12px 26px rgba(16,117,188,.22);
  transform:translateY(-1px);
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line{
  max-width:90%;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px 13px;
  border-radius:16px;
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line__role{
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--otoprep-muted);
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line__text{
  font-size:14px;
  line-height:1.5;
  color:#11202a;
  white-space:pre-wrap;
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line.is-partial{
  opacity:.82;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedback-main{
  margin-top:0;
  border:1px solid rgba(16,117,188,.16);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(240,247,255,.96), rgba(255,255,255,.98));
  box-shadow:0 16px 32px rgba(16,117,188,.10);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__stageFrame{
  border-color:rgba(16,117,188,.16);
  box-shadow:inset 0 0 0 1px rgba(16,117,188,.04);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__brief,
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__feedback-main{
  border-color:rgba(16,117,188,.18);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="prep"] [data-otoprep-voice-repeat],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="prep"] [data-otoprep-voice-next],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="prep"] [data-otoprep-voice-extend],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="prep"] [data-otoprep-voice-end-panel],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="prep"] [data-otoprep-voice-feedback]{
  display:none !important;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="live"] [data-otoprep-voice-start],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="live"] [data-otoprep-voice-feedback]{
  display:none !important;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] [data-otoprep-voice-start],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] [data-otoprep-voice-repeat],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] [data-otoprep-voice-next],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] [data-otoprep-voice-extend],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] [data-otoprep-voice-end-panel],
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] [data-otoprep-voice-images]{
  display:none !important;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheets{
  display:none;
}

@media (min-width: 981px){
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurfacePanel{
    position:static;
    width:auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surface--voice{
    display:flex;
    align-items:flex-end;
    gap:10px;
    padding:0;
    border:0;
    box-shadow:none;
    background:transparent;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceLabel,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceHint{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSetting{
    margin-top:0;
    min-width:170px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceActions{
    margin-top:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummary,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityRow,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreview{
    display:none !important;
  }
}

@media (max-width: 980px){
  body.otoprep-app.otoprep-view-voice .otoprep-shell{
    padding-top:10px;
    padding-bottom:calc(var(--otoprep-voice-dock-offset, 134px) + 18px + env(safe-area-inset-bottom));
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice{
    padding:10px 12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice{
    grid-template-columns:minmax(0, 1fr) auto;
    grid-template-areas:
      "left right"
      "mid right";
    align-items:start;
    gap:8px 10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__left--voice{grid-area:left;}
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__mid--voice{grid-area:mid;}
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__right--voice{
    grid-area:right;
    align-items:flex-end;
    justify-self:end;
    gap:8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-brand--quiz .otoprep-brand__wordmark{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
    font-size:17px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__eyebrow--voice .otoprep-quizbar__sub{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__progress,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
    min-height:34px;
    padding:0 10px;
    font-size:11px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryLabel{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryValue{
    font-size:13px;
    font-weight:900;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary::after{
    content:'▾';
    flex:0 0 auto;
    color:var(--otoprep-muted);
    font-size:12px;
    line-height:1;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurface[open] .otoprep-topbar__surfaceSummary::after{
    content:'▴';
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurfacePanel{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurface[open] .otoprep-topbar__voiceSurfacePanel{
    display:block;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__layout{
    grid-template-columns:1fr;
    gap:14px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stimulus,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__panel{
    padding:14px;
    border-radius:18px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stimulus{
    min-height:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__qhead{
    flex-direction:column;
    gap:10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stageFrame{
    padding:14px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenter{
    flex-direction:column;
    align-items:flex-start;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__briefText,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__qtext{
    font-size:16px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__prepTools{
    grid-template-columns:1fr;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummary{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityRow,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreview{
    display:block;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityRow{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewAction{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    width:100%;
    padding:0 12px;
    border-radius:999px;
    border:1px solid rgba(16,117,188,.14);
    background:rgba(16,117,188,.06);
    color:var(--otoprep-blue);
    font-weight:900;
    cursor:pointer;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip:disabled{
    opacity:.45;
    cursor:not-allowed;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreview{
    padding:14px;
    border-radius:18px;
    border:1px solid rgba(16,117,188,.12);
    background:#fff;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewLabel{
    font-size:12px;
    font-weight:900;
    letter-spacing:.02em;
    text-transform:uppercase;
    color:var(--otoprep-blue);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewMeta{
    margin-top:4px;
    font-size:12px;
    line-height:1.45;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewBody{
    display:grid;
    gap:8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewEmpty{
    font-size:13px;
    line-height:1.45;
    color:var(--otoprep-muted);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewBody .otoprep-live-line{
    max-width:100%;
    margin:0;
    border-radius:16px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaInlineHost,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__howtoHost,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPanel{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__panel{
    position:static;
    max-height:none;
    gap:12px;
    overflow:visible;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackRail{
    margin-bottom:4px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedback{
    max-height:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock{
    position:fixed;
    left:max(12px, env(safe-area-inset-left));
    right:max(12px, env(safe-area-inset-right));
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:1040;
    display:block;
    pointer-events:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockInner{
    width:100%;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock .otoprep-voice__controls{
    pointer-events:auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls{
    position:static;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    padding:12px;
    border:1px solid rgba(16,117,188,.14);
    border-radius:20px;
    background:rgba(255,255,255,.97);
    box-shadow:0 18px 42px rgba(18,32,42,.18);
    backdrop-filter:blur(12px);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action{
    min-height:48px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls [data-otoprep-voice-images],
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls [data-otoprep-voice-end-panel]{
    display:none !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-voice__action--primarytarget,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls [data-otoprep-voice-feedback]{
    grid-column:1 / -1;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheets{
    position:fixed;
    inset:0;
    z-index:1090;
    display:block;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheets.is-open{
    opacity:1;
    pointer-events:auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBackdrop{
    position:absolute;
    inset:0;
    border:0;
    background:rgba(18,32,42,.28);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheet{
    position:absolute;
    left:12px;
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
    max-height:min(72vh, 560px);
    border-radius:22px;
    border:1px solid rgba(16,117,188,.14);
    background:rgba(255,255,255,.99);
    box-shadow:0 24px 60px rgba(18,32,42,.20);
    transform:translateY(26px);
    opacity:0;
    transition:transform .22s ease, opacity .22s ease;
    overflow:hidden;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheet.is-active{
    transform:translateY(0);
    opacity:1;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetHandle{
    width:48px;
    height:5px;
    margin:10px auto 0;
    border-radius:999px;
    background:rgba(16,117,188,.18);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px 10px;
    border-bottom:1px solid rgba(16,117,188,.10);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetTitle{
    font-size:16px;
    font-weight:900;
    color:#11202a;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetMeta{
    margin-top:4px;
    font-size:12px;
    line-height:1.45;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetClose{
    flex:0 0 auto;
    width:40px;
    height:40px;
    border-radius:14px;
    border:1px solid rgba(16,117,188,.12);
    background:rgba(16,117,188,.04);
    color:#11202a;
    font-size:24px;
    line-height:1;
    cursor:pointer;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBody{
    min-height:0;
    padding:14px 16px 16px;
    overflow:auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBody .otoprep-live-log.otoprep-voice__log{
    max-height:none;
    min-height:0;
    padding:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBody .otoprep-voice__howto{
    margin:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBody .otoprep-voice__qimg img,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBody .otoprep-voice__qimg video{
    max-height:48vh;
  }
}

@media (max-width: 520px){
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__back{
    padding:0 10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityRow{
    grid-template-columns:1fr;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewHead{
    flex-direction:column;
  }
}


/* ------------------------------------------------------------
 * Voice Live Coach milestone 2: mobile-first hierarchy polish (21.9.11)
 * Compresses the header, keeps the stage first, and anchors the dock
 * to the OtoPrep shell instead of the full viewport.
 * ------------------------------------------------------------ */
body.otoprep-app.otoprep-view-voice{
  --otoprep-voice-dock-left:12px;
  --otoprep-voice-dock-right:12px;
  --otoprep-voice-dock-offset:134px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChipCopy{
  display:grid;
  gap:3px;
  min-width:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChipMeta{
  font-size:12px;
  line-height:1.35;
  font-weight:700;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockFrame{
  width:100%;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockMeta{
  display:none;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockLabel{
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockHint{
  margin:0;
  font-size:12px;
  line-height:1.35;
  text-align:right;
  color:#11202a;
}

@media (max-width: 980px){
  body.otoprep-app.otoprep-view-voice .otoprep-shell{
    padding-top:10px;
    padding-bottom:calc(var(--otoprep-voice-dock-offset, 134px) + 18px + env(safe-area-inset-bottom));
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice{
    margin-bottom:8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__mid--voice{
    display:grid;
    gap:2px;
    padding-right:6px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
    display:-webkit-box;
    max-width:100%;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice[data-otoprep-voice-state="live"] .otoprep-quizbar__eyebrow--voice,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice[data-otoprep-voice-state="review"] .otoprep-quizbar__eyebrow--voice{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice[data-otoprep-voice-state="live"] .otoprep-quizbar__title,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice[data-otoprep-voice-state="review"] .otoprep-quizbar__title{
    font-size:14px;
    -webkit-line-clamp:1;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__meta{
    max-width:min(238px, 58vw);
    justify-content:flex-end;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__sub--voice{
    display:flex;
    justify-content:flex-end;
    width:100%;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    min-width:84px;
    padding:10px 11px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stageFrame{
    gap:12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenter{
    order:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__brief{
    order:1;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__prompt{
    order:2;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummary{
    order:3;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaInlineHost{
    order:4;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__choices{
    order:5;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityRow{
    order:6;
    align-items:stretch;
    margin-top:2px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreview{
    order:7;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__prepTools{
    order:8;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__howtoHost{
    order:9;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedback-main{
    order:10;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip{
    align-items:flex-start;
    justify-content:flex-start;
    min-height:72px;
    padding:12px 13px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 24px rgba(16,117,188,.08);
    text-align:left;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip[aria-expanded="true"]{
    background:rgba(16,117,188,.10);
    border-color:rgba(16,117,188,.22);
    box-shadow:0 14px 28px rgba(16,117,188,.14);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChipLabel{
    font-size:13px;
    line-height:1.25;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreview{
    padding:13px 14px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__panelTop{
    gap:10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sessionmeta{
    width:100%;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sessionmeta .otoprep-voice__timer,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__sessionmeta .otoprep-voice__credits{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sessionmeta .otoprep-voice__buy{
    width:100%;
    justify-content:center;
    min-height:44px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__statusWrap{
    padding:12px 14px;
    border-radius:16px;
    border:1px solid rgba(16,117,188,.10);
    background:rgba(248,251,255,.96);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock{
    left:max(var(--otoprep-voice-dock-left, 12px), env(safe-area-inset-left));
    right:max(var(--otoprep-voice-dock-right, 12px), env(safe-area-inset-right));
    bottom:calc(12px + env(safe-area-inset-bottom));
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockMeta{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:0 8px 6px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock .otoprep-voice__controls{
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,.985), rgba(244,249,255,.98));
    box-shadow:0 22px 52px rgba(18,32,42,.22);
  }
}

@media (max-width: 520px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityRow{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip{
    min-height:64px;
    padding:10px 8px;
    border-radius:16px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChipCopy{
    gap:2px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChipMeta{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewHead{
    flex-direction:column;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockMeta{
    flex-direction:column;
    align-items:flex-start;
    padding:0 4px 6px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockHint{
    text-align:left;
  }
}


/* ------------------------------------------------------------
 * Voice Live Coach milestone 3: sheet interaction model
 * Adds richer sheet summaries, a safer mobile end-session guard,
 * and accessibility polish for the in-wrapper utility surfaces.
 * ------------------------------------------------------------ */
body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceActionNote{
  font-size:12px;
  line-height:1.45;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetSummary{
  margin-bottom:14px;
  padding:12px 13px;
  border-radius:16px;
  border:1px solid rgba(16,117,188,.12);
  background:linear-gradient(180deg, rgba(244,249,255,.96), rgba(255,255,255,.98));
  box-shadow:0 10px 24px rgba(16,117,188,.08);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetSummaryLabel{
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetSummaryText{
  margin-top:6px;
  font-size:13px;
  line-height:1.5;
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetSummary--danger{
  border-color:rgba(179,45,46,.18);
  background:linear-gradient(180deg, rgba(255,245,245,.98), rgba(255,255,255,.99));
  box-shadow:0 12px 28px rgba(179,45,46,.10);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetSummary--danger .otoprep-voice__sheetSummaryLabel{
  color:#8d2627;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetActions{
  display:grid;
  gap:10px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetActions .otoprep-btn,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetActions .otoprep-live-action{
  width:100%;
  min-height:46px;
  justify-content:center;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheet--end .otoprep-voice__sheetBody{
  padding-top:12px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBody > .otoprep-live-log.otoprep-voice__log,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBody > .otoprep-voice__qimg,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBody > .otoprep-voice__thumbs,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetBody > .otoprep-voice__howto{
  margin-top:14px;
}

@media (max-width: 980px){
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceActions .otoprep-live-action--danger{
    background:rgba(179,45,46,.06);
    box-shadow:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetMeta{
    max-width:28ch;
  }
}

@media (max-width: 520px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetSummary{
    padding:11px 12px;
    border-radius:15px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetSummaryText{
    font-size:12.5px;
  }
}

/* ------------------------------------------------------------
 * Voice Live Coach milestone 4: stage polish + review distinction
 * Refines the stage for future avatar/video use, clarifies transcript
 * roles, improves focus states, and makes review mode feel distinct.
 * ------------------------------------------------------------ */
body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenter{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(180px, 220px);
  align-items:stretch;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterAside{
  display:grid;
  align-content:space-between;
  gap:10px;
  min-width:0;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewport{
  position:relative;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:10px;
  min-height:122px;
  padding:18px 14px 14px;
  border-radius:16px;
  border:1px solid rgba(16,117,188,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(234,244,255,.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  overflow:hidden;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewport::before{
  content:"";
  position:absolute;
  inset:auto auto -18px -18px;
  width:76px;
  height:76px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(16,117,188,.14), rgba(16,117,188,0));
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewport::after{
  content:"";
  position:absolute;
  inset:12px 12px auto auto;
  width:54px;
  height:54px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(16,117,188,.10), rgba(16,117,188,0));
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportLabel{
  position:absolute;
  top:10px;
  left:10px;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(255,255,255,.92);
  color:var(--otoprep-blue);
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportFigure{
  position:relative;
  width:60px;
  height:60px;
  border-radius:50%;
  border:1px solid rgba(16,117,188,.16);
  background:radial-gradient(circle at 50% 34%, rgba(16,117,188,.18), rgba(16,117,188,.06) 58%, rgba(255,255,255,.92) 59%);
  box-shadow:0 14px 30px rgba(16,117,188,.14);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportFigure::before{
  content:"";
  position:absolute;
  top:15px;
  left:50%;
  width:18px;
  height:18px;
  margin-left:-9px;
  border-radius:50%;
  background:rgba(16,117,188,.18);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportFigure::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:10px;
  width:34px;
  height:18px;
  margin-left:-17px;
  border-radius:20px 20px 10px 10px;
  background:rgba(16,117,188,.14);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportWave{
  display:flex;
  align-items:flex-end;
  gap:4px;
  height:28px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportWave span{
  width:6px;
  border-radius:999px;
  background:rgba(16,117,188,.46);
  transform-origin:50% 100%;
  animation:otoprepVoiceWave 1.6s ease-in-out infinite;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportWave span:nth-child(1){height:14px; animation-delay:-.36s;}
body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportWave span:nth-child(2){height:24px; animation-delay:-.18s;}
body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportWave span:nth-child(3){height:18px; animation-delay:-.28s;}
body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportWave span:nth-child(4){height:22px; animation-delay:-.10s;}

@keyframes otoprepVoiceWave{
  0%, 100%{transform:scaleY(.62); opacity:.44;}
  50%{transform:scaleY(1); opacity:.92;}
}

body.otoprep-app.otoprep-view-voice .otoprep-voice:not([data-otoprep-voice-state="live"]) .otoprep-voice__stageViewportWave span{
  animation:none;
  opacity:.62;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterBadge{
  justify-self:end;
  gap:8px;
  box-shadow:0 10px 22px rgba(16,117,188,.10);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterBadge::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor;
  opacity:.62;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="prep"] .otoprep-voice__stagePresenterBadge{
  background:rgba(255,255,255,.96);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="live"] .otoprep-voice__stagePresenterBadge{
  background:rgba(225,241,255,.96);
  box-shadow:0 12px 24px rgba(16,117,188,.16);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__stagePresenterBadge{
  background:rgba(240,247,255,.98);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__reviewBanner{
  padding:14px 15px;
  border-radius:18px;
  border:1px solid rgba(16,117,188,.18);
  background:linear-gradient(180deg, rgba(240,247,255,.98), rgba(255,255,255,.99));
  box-shadow:0 14px 30px rgba(16,117,188,.12);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__reviewBannerLabel{
  font-size:12px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__reviewBannerText{
  margin-top:6px;
  font-size:14px;
  line-height:1.52;
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line{
  position:relative;
  gap:8px;
  border-radius:18px;
  box-shadow:0 8px 18px rgba(18,32,42,.04);
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line--assistant{
  margin-right:auto;
  border-radius:18px 18px 18px 8px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,250,255,.96));
  border-color:rgba(16,117,188,.14);
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line--user{
  margin-left:auto;
  border-radius:18px 18px 8px 18px;
  background:linear-gradient(180deg, rgba(16,117,188,.08), rgba(255,255,255,.98));
  border-color:rgba(16,117,188,.18);
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line--system{
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  background:rgba(244,249,255,.88);
  border-style:dashed;
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line__role{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.12);
  background:rgba(16,117,188,.05);
  color:#0a5584;
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line--user .otoprep-live-line__role{
  background:rgba(16,117,188,.08);
  border-color:rgba(16,117,188,.18);
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line--assistant .otoprep-live-line__role{
  background:rgba(240,247,255,.96);
  border-color:rgba(16,117,188,.12);
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line--system .otoprep-live-line__role{
  background:rgba(18,32,42,.04);
  border-color:rgba(18,32,42,.08);
  color:var(--otoprep-muted);
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line__text{
  overflow-wrap:anywhere;
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line.is-partial{
  border-style:dashed;
  box-shadow:none;
}

body.otoprep-app.otoprep-view-voice .otoprep-live-line--preview{
  box-shadow:none;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary,
body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSetting .otoprep-live-select,
body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummaryBtn,
body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip,
body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewAction,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetClose,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetActions .otoprep-btn,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetActions .otoprep-live-action,
body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action,
body.otoprep-app.otoprep-view-voice .otoprep-voice__modepick .otoprep-seg__btn{
  transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease, background .18s ease;
}

body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary:focus-visible,
body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSetting .otoprep-live-select:focus-visible,
body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummaryBtn:focus-visible,
body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip:focus-visible,
body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewAction:focus-visible,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetClose:focus-visible,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetActions .otoprep-btn:focus-visible,
body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetActions .otoprep-live-action:focus-visible,
body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action:focus-visible,
body.otoprep-app.otoprep-view-voice .otoprep-voice__modepick .otoprep-seg__btn:focus-visible{
  outline:3px solid rgba(16,117,188,.22);
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(16,117,188,.10);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__stimulus,
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__panel{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,250,255,.98));
  border-color:rgba(16,117,188,.16);
  box-shadow:0 18px 40px rgba(16,117,188,.10);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__feedbackRail,
body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__statusWrap{
  border-color:rgba(16,117,188,.16);
  background:linear-gradient(180deg, rgba(240,247,255,.98), rgba(255,255,255,.99));
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__transcriptPanel{
  border-color:rgba(16,117,188,.12);
  background:rgba(255,255,255,.98);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__howtoHost{
  display:none;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__feedback-main{
  box-shadow:0 20px 42px rgba(16,117,188,.14);
}

@media (max-width: 980px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenter{
    grid-template-columns:1fr;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterAside{
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:end;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewport{
    min-height:112px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__reviewBanner{
    order:2;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__feedback-main{
    order:3;
    margin-top:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__prompt{
    order:4;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__mediaSummary{
    order:5;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__utilityRow{
    order:6;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__transcriptPreview{
    order:7;
  }
}

@media (max-width: 520px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterAside{
    grid-template-columns:1fr;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterBadge{
    justify-self:start;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__reviewBanner{
    padding:13px 14px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__reviewBannerText{
    font-size:13px;
  }
}

@media (prefers-reduced-motion: reduce){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportWave span,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheet,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__sheets,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewAction,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__action--primarytarget{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}


/* ------------------------------------------------------------
 * Voice Live Coach 21.9.15: mobile stability + compact chrome
 * Fixes mobile jitter, reduces copy noise, keeps the top bar to
 * one row, and replaces the floating multi-row dock with a solid
 * single-row action bar that can be hidden or shown.
 * ------------------------------------------------------------ */
body.otoprep-app.otoprep-view-voice{
  --otoprep-voice-dock-left:12px;
  --otoprep-voice-dock-right:12px;
  --otoprep-voice-dock-offset:88px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockToggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(16,117,188,.14);
  background:#fff;
  color:var(--otoprep-blue);
  font-weight:900;
  cursor:pointer;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockToggleText{
  white-space:nowrap;
}

@media (max-width: 980px){
  body.otoprep-app.otoprep-view-voice .otoprep-shell{
    padding-bottom:calc(var(--otoprep-voice-dock-offset, 88px) + env(safe-area-inset-bottom));
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice{
    padding:8px 10px;
    margin-bottom:8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:52px;
    grid-template-columns:none;
    grid-template-areas:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__left--voice,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__mid--voice,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__right--voice{
    grid-area:auto;
    min-width:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__left--voice{
    flex:0 0 auto;
    gap:8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-brand--quiz,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__eyebrow--voice{
    display:none !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__mid--voice{
    flex:1 1 auto;
    display:block;
    min-width:0;
    padding-right:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
    display:block;
    font-size:14px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    -webkit-line-clamp:1;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__right--voice{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-self:auto;
    gap:5px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:nowrap;
    gap:5px;
    max-width:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__progress,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
    flex:0 0 auto;
    min-height:30px;
    padding:0 7px;
    font-size:10.5px;
    line-height:1;
    white-space:nowrap;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__back{
    min-height:38px;
    padding:0 9px;
    border-radius:14px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__sub--voice{
    flex:0 0 auto;
    width:auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    min-width:52px;
    min-height:30px;
    padding:0 8px;
    gap:5px;
    border-radius:999px;
    box-shadow:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryLabel{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryValue{
    font-size:10.5px;
    line-height:1;
    white-space:nowrap;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary::after{
    font-size:10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurfacePanel{
    top:calc(100% + 8px);
    width:min(320px, calc(100vw - 24px));
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenter{
    grid-template-columns:minmax(0, 1fr) 116px;
    align-items:start;
    gap:10px;
    padding:12px 13px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterAside{
    grid-template-columns:1fr;
    align-content:start;
    gap:8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenterText{
    font-size:13px;
    line-height:1.4;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewport{
    min-height:86px;
    padding:14px 10px 10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportFigure{
    width:48px;
    height:48px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewportWave{
    height:22px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__briefText,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__qtext{
    font-size:15px;
    line-height:1.5;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackRail{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice[data-otoprep-voice-state="review"] .otoprep-voice__feedbackRail{
    display:flex;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreview{
    padding:12px 13px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewBody{
    max-height:min(32vh, 220px);
    overflow:auto;
    padding-right:2px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewBody .otoprep-live-line{
    box-shadow:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock{
    position:fixed;
    left:max(var(--otoprep-voice-dock-left, 12px), env(safe-area-inset-left));
    right:max(var(--otoprep-voice-dock-right, 12px), env(safe-area-inset-right));
    bottom:0;
    z-index:1040;
    display:block;
    pointer-events:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockFrame{
    width:100%;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockTab{
    display:flex;
    justify-content:flex-end;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockToggle--tab{
    border-bottom:0;
    border-radius:14px 14px 0 0;
    box-shadow:0 -6px 18px rgba(18,32,42,.10);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockBar{
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));
    border:1px solid rgba(16,117,188,.14);
    border-bottom:0;
    border-radius:18px 18px 0 0;
    background:#fff;
    box-shadow:0 -10px 28px rgba(18,32,42,.16);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockInner{
    flex:1 1 auto;
    min-width:0;
    width:auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockToggle--close{
    flex:0 0 auto;
    width:40px;
    min-width:40px;
    min-height:40px;
    padding:0;
    border-radius:12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock[data-otoprep-voice-dock-open="0"] .otoprep-voice__dockBar{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock[data-otoprep-voice-dock-open="1"] .otoprep-voice__dockTab{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock[data-otoprep-voice-dock-open="0"]{
    pointer-events:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock[data-otoprep-voice-dock-open="0"] .otoprep-voice__dockTab{
    pointer-events:auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock[data-otoprep-voice-dock-open="1"] .otoprep-voice__dockBar{
    pointer-events:auto;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockMeta{
    display:none !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    padding:0;
    overflow-x:auto;
    overflow-y:hidden;
    border:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    scrollbar-width:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls::-webkit-scrollbar{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action{
    flex:0 0 auto;
    min-width:max-content;
    min-height:44px;
    padding:0 14px;
    white-space:nowrap;
    box-shadow:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-voice__action--primarytarget,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls [data-otoprep-voice-feedback]{
    grid-column:auto;
    transform:none;
    box-shadow:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls [data-otoprep-voice-images],
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls [data-otoprep-voice-end-panel]{
    display:none !important;
  }
}

@media (max-width: 520px){
  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice{
    padding:8px 9px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__back{
    min-height:36px;
    padding:0 8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
    font-size:13px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__progress,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    min-height:28px;
    padding:0 6px;
    font-size:10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    min-width:34px;
    width:34px;
    padding:0;
    justify-content:center;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryValue{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary::before{
    content:'⋯';
    color:var(--otoprep-blue);
    font-size:18px;
    line-height:1;
    font-weight:900;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary::after{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stagePresenter{
    grid-template-columns:minmax(0, 1fr) 96px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stageViewport{
    min-height:78px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockBar{
    gap:6px;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom));
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action{
    padding:0 12px;
    font-size:14px;
  }
}

/* =========================================================
   21.9.16 oral quick access + mobile header/dock refinements
   ========================================================= */
body.otoprep-app .otoprep-pill__label--long{
  display:inline;
}

body.otoprep-app .otoprep-pill__label--short{
  display:none;
}

body.otoprep-app .otoprep-oralContinue{
  display:grid;
  gap:14px;
}

body.otoprep-app .otoprep-oralContinue__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

body.otoprep-app .otoprep-oralContinue__copy{
  min-width:0;
}

body.otoprep-app .otoprep-oralContinue__copy .otoprep-h3{
  margin:0 0 4px;
}

body.otoprep-app .otoprep-oralContinue__copy p{
  margin:0;
}

body.otoprep-app .otoprep-oralContinue__headAction{
  flex:0 0 auto;
}

body.otoprep-app .otoprep-oralContinue__courses{
  display:grid;
  gap:12px;
}

body.otoprep-app .otoprep-oralContinue__course{
  display:grid;
  gap:10px;
  padding:12px 14px;
  border:1px solid rgba(16,117,188,.12);
  border-radius:16px;
  background:rgba(248,251,255,.94);
}

body.otoprep-app .otoprep-oralContinue__courseHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

body.otoprep-app .otoprep-oralContinue__courseCopy{
  min-width:0;
}

body.otoprep-app .otoprep-oralContinue__courseTitle{
  font-size:15px;
  font-weight:900;
  line-height:1.3;
}

body.otoprep-app .otoprep-oralContinue__courseDesc{
  margin-top:4px;
  font-size:13px;
  line-height:1.5;
}

body.otoprep-app .otoprep-oralContinue__courseBody{
  display:grid;
  gap:0;
}

body.otoprep-app .otoprep-oralContinue__moduleRow{
  border-top-color:rgba(16,117,188,.10);
  padding-left:0;
  padding-right:0;
  background:transparent;
}

body.otoprep-app .otoprep-oralContinue__moduleRow:first-child{
  border-top:0;
  padding-top:0;
}

body.otoprep-app .otoprep-oralContinue__more{
  padding-top:10px;
  font-size:12px;
}

body.otoprep-app .otoprep-oralContinue--compact .otoprep-oralContinue__course{
  padding:10px 12px;
}

body.otoprep-app .otoprep-oralContinue--compact .otoprep-oralContinue__courseTitle{
  font-size:14px;
}

body.otoprep-app .otoprep-oralContinue--compact .otoprep-oralContinue__headAction{
  display:none;
}

@media (max-width: 980px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar{
    padding:calc(8px + env(safe-area-inset-top)) 10px 8px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__row{
    gap:8px;
    align-items:center;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand{
    min-width:0;
    font-size:17px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand__logo{
    width:32px;
    height:32px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right{
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-end;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    padding-bottom:2px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right::-webkit-scrollbar{
    display:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-switch,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-trialbar{
    flex-wrap:nowrap;
    white-space:nowrap;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-pill,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-chip,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-current{
    flex:0 0 auto;
    min-height:34px;
    padding:0 10px;
    font-size:12px;
    white-space:nowrap;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-pill__label--long{
    display:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-pill__label--short{
    display:inline;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__sub--surface{
    margin-top:6px;
    padding-top:0;
    border-top:0;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    min-height:34px;
    padding:0 10px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryValue{
    font-size:12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice{
    padding:calc(8px + env(safe-area-inset-top)) 10px 8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto !important;
    grid-template-areas:"left mid right" !important;
    align-items:center;
    gap:10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__left--voice{
    grid-area:left;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-brand--quiz{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__mid--voice{
    grid-area:mid;
    min-width:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice .otoprep-quizbar__eyebrow--voice{
    display:none !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
    font-size:18px;
    line-height:1.18;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__right,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__right--voice{
    grid-area:right;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    min-width:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__meta,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__meta[data-otoprep-voice-topmeta]{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center;
    gap:6px;
    min-width:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__sub--voice{
    flex:0 0 auto;
    margin-top:0;
    padding-top:0;
    border-top:0;
    min-width:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__progress,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
    flex:0 0 auto;
    min-height:38px;
    min-width:46px;
    padding:0 10px;
    font-size:14px;
    line-height:1;
    white-space:nowrap;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
    min-width:auto;
    padding:0 12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    flex:0 0 auto;
    min-height:38px;
    width:38px;
    min-width:38px;
    padding:0;
    justify-content:center;
    gap:0;
    border-radius:999px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryLabel,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryValue{
    display:none !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary::before{
    content:'⋯';
    color:var(--otoprep-blue);
    font-size:20px;
    line-height:1;
    font-weight:900;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary::after{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummary{
    grid-template-columns:1fr;
    gap:10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaSummaryBtn{
    justify-self:start;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__mediaInlineHost{
    display:grid;
    gap:10px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewActions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewAction{
    flex:1 1 auto;
    min-width:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewToggle{
    flex:0 0 auto;
    min-width:88px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreview[data-otoprep-voice-transcript-collapsed="1"] .otoprep-voice__transcriptPreviewBody{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dock{
    bottom:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockBar{
    gap:8px;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom));
    background:#fff;
    box-shadow:0 -10px 24px rgba(18,32,42,.14);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockInner{
    width:100%;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockToggle--close{
    width:40px;
    min-width:40px;
    min-height:40px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(0, 1fr);
    gap:8px;
    width:100%;
    overflow:visible;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action{
    width:100%;
    min-width:0;
    min-height:44px;
    padding:0 10px;
    font-size:14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action[disabled]{
    display:none !important;
  }
}

@media (max-width: 720px){
  body.otoprep-app .otoprep-oralContinue__head{
    flex-direction:column;
    align-items:flex-start;
  }

  body.otoprep-app .otoprep-oralContinue__courseHead{
    flex-direction:column;
    align-items:flex-start;
  }

  body.otoprep-app .otoprep-oralContinue__courseHead .otoprep-pill{
    align-self:flex-start;
  }

  body.otoprep-app .otoprep-oralContinue__moduleRow .otoprep-vmod__rowActions{
    width:auto;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar{
    padding:calc(7px + env(safe-area-inset-top)) 9px 7px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand{
    font-size:16px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__back{
    min-height:40px;
    padding:0 12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
    font-size:16px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__progress,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
    min-height:36px;
    min-width:42px;
    padding:0 9px;
    font-size:13px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    min-height:36px;
    min-width:36px;
    width:36px;
  }
}


/* =========================================================
   21.9.17 mobile header + oral access hardening
   ========================================================= */
@media (max-width: 980px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    grid-template-areas:"row surface";
    align-items:center;
    gap:8px;
    padding:calc(7px + env(safe-area-inset-top)) 10px 7px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__row{
    grid-area:row;
    min-width:0;
    gap:8px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand{
    flex:0 1 auto;
    min-width:0;
    max-width:32vw;
    gap:8px;
    font-size:15px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right{
    flex:1 1 auto;
    min-width:0;
    gap:6px;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    justify-content:flex-end;
    scrollbar-width:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right::-webkit-scrollbar{
    display:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-pill,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-chip,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-current{
    flex:0 0 auto;
    min-height:32px;
    padding:0 9px;
    font-size:12px;
    white-space:nowrap;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__sub--surface{
    grid-area:surface;
    align-self:center;
    justify-self:end;
    margin-top:0;
    padding-top:0;
    border-top:0;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    min-height:32px;
    padding:0 10px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryLabel{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__right,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__right--voice,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__meta,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice .otoprep-quizbar__meta[data-otoprep-voice-topmeta]{
    flex-shrink:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__mid--voice{
    min-width:0;
    overflow:hidden;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
    font-size:17px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__progress,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
    min-height:40px;
    min-width:50px;
    padding:0 10px;
    font-size:14px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
    min-width:62px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    min-height:40px;
    width:40px;
    min-width:40px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls::-webkit-scrollbar{
    display:none;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action{
    flex:0 0 auto;
    width:auto;
    min-width:96px;
    min-height:44px;
    padding:0 14px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action--primary,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-voice__action--primarytarget{
    min-width:118px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action[disabled]{
    display:inline-flex !important;
    opacity:.46;
    pointer-events:none;
  }
}

@media (max-width: 720px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar{
    grid-template-columns:minmax(0, 1fr) auto;
    gap:6px;
    padding:calc(6px + env(safe-area-inset-top)) 9px 6px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand{
    max-width:24vw;
    font-size:14px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    min-height:30px;
    padding:0 9px;
    font-size:12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
    font-size:16px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__progress,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__timer,
  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
    min-height:38px;
    min-width:48px;
    padding:0 9px;
    font-size:13px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__credits{
    min-width:58px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    min-height:38px;
    width:38px;
    min-width:38px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action{
    min-width:92px;
    padding:0 12px;
    font-size:14px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action--primary,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-voice__action--primarytarget{
    min-width:108px;
  }
}

/* =========================================================
   21.9.18 oral simulation UX refinements
   ========================================================= */
body.otoprep-app.otoprep-view-voice.otoprep-voice--feedback-loading{
  overflow:hidden;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheet{
  isolation:isolate;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetHead{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(10px);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__sheetClose{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:2;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockExit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(16,117,188,.14);
  border-radius:12px;
  background:#fff;
  color:#11202a;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoader{
  position:fixed;
  inset:0;
  z-index:1110;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(10,24,35,.42);
  backdrop-filter:blur(6px);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoader.is-active{
  opacity:1;
  pointer-events:auto;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderCard{
  width:min(420px, 100%);
  padding:24px 22px;
  border-radius:24px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(16,117,188,.12);
  box-shadow:0 28px 68px rgba(18,32,42,.24);
  text-align:center;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderEyebrow{
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--otoprep-blue);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderSpinner{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:14px auto 10px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderSpinner span{
  width:12px;
  height:12px;
  border-radius:999px;
  background:var(--otoprep-blue);
  animation:otoprep-voice-feedback-loader 1.05s ease-in-out infinite;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderSpinner span:nth-child(2){
  animation-delay:.14s;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderSpinner span:nth-child(3){
  animation-delay:.28s;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderTitle{
  font-size:22px;
  line-height:1.2;
  font-weight:900;
  color:#11202a;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderText{
  margin:10px 0 0;
  font-size:14px;
  line-height:1.5;
  color:#51626f;
}

@keyframes otoprep-voice-feedback-loader{
  0%, 80%, 100%{
    transform:translateY(0);
    opacity:.38;
  }
  40%{
    transform:translateY(-4px);
    opacity:1;
  }
}

@media (max-width: 980px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip{
    align-items:center;
    justify-content:center;
    min-height:68px;
    padding:12px 10px;
    text-align:center;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChipCopy{
    width:100%;
    justify-items:center;
    text-align:center;
    gap:4px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChipLabel{
    font-size:14px;
    line-height:1.2;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChipMeta{
    text-align:center;
    font-size:11.5px;
    line-height:1.3;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewHead{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:start;
    gap:12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewCopy{
    min-width:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewActions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    width:min(240px, 100%);
    flex-wrap:nowrap;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewAction,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewToggle{
    width:100%;
    min-width:0;
    justify-content:center;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockTab{
    align-items:flex-end;
    justify-content:flex-end;
    gap:8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockExit--tab,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockToggle--tab{
    border-bottom:0;
    border-radius:14px 14px 0 0;
    box-shadow:0 -6px 18px rgba(18,32,42,.10);
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockExit{
    flex:0 0 auto;
    min-width:74px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockInner{
    min-width:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls{
    scroll-padding-inline:12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-voice__action--primarytarget{
    scroll-margin-inline:12px;
  }
}

@media (max-width: 520px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__utilityChip{
    min-height:62px;
    padding:10px 8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewHead{
    grid-template-columns:1fr;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewActions{
    width:100%;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockExit--tab,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockExit{
    min-width:68px;
    padding:0 12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderCard{
    padding:22px 18px;
    border-radius:22px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderTitle{
    font-size:20px;
  }
}

@media (prefers-reduced-motion: reduce){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoader,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderSpinner span{
    transition:none;
    animation:none;
  }
}


/* =========================================================
   21.9.19 oral transcript return-path refinements
   ========================================================= */
body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewToggle{
  min-width:146px;
}

@media (max-width: 980px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewHead{
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:start;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewActions{
    width:auto;
    justify-content:flex-end;
  }
}

@media (max-width: 520px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewActions{
    width:100%;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreviewToggle{
    width:100%;
    min-width:0;
  }
}

/* =========================================================
   21.9.20 oral session polish: stable dock + feedback loader
   ========================================================= */
body.otoprep-app.otoprep-view-voice .otoprep-voice__dockExit--tab{
  display:none !important;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockBar{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  column-gap:8px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockToggle--close{
  grid-column:1;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockInner{
  grid-column:2;
  min-width:0;
  overflow:hidden;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__dockExit{
  grid-column:3;
  justify-self:end;
  min-width:78px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__controls{
  width:100%;
  padding-inline:2px;
  scroll-padding-inline:14px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action{
  min-width:96px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action--primary,
body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-voice__action--primarytarget,
body.otoprep-app.otoprep-view-voice .otoprep-voice__controls [data-otoprep-voice-feedback]{
  min-width:118px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoader{
  z-index:12050;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__feedbackLoaderCard{
  transform:translateZ(0);
}

@media (max-width: 980px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockBar{
    grid-template-columns:40px minmax(0, 1fr) auto;
    column-gap:8px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockExit{
    min-width:80px;
  }
}

@media (max-width: 520px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockBar{
    column-gap:6px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__dockExit{
    min-width:72px;
    padding:0 12px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action{
    min-width:90px;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-live-action--primary,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls .otoprep-voice__action--primarytarget,
  body.otoprep-app.otoprep-view-voice .otoprep-voice__controls [data-otoprep-voice-feedback]{
    min-width:108px;
  }
}


/* =========================================================
   21.9.21 mobile parity + robust feedback overlay
   ========================================================= */
:root{
  --otoprep-feedback-vw:100vw;
  --otoprep-feedback-vh:100vh;
  --otoprep-feedback-top:0px;
  --otoprep-feedback-left:0px;
}

@supports (height: 100dvh){
  :root{
    --otoprep-feedback-vh:100dvh;
  }
}

body.otoprep-app .otoprep-voice__dockExit{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:1px solid rgba(16,117,188,.18) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,249,255,.98)) !important;
  color:var(--otoprep-blue) !important;
  -webkit-text-fill-color:var(--otoprep-blue) !important;
  box-shadow:0 10px 24px rgba(16,117,188,.10) !important;
  text-shadow:none !important;
  font:inherit;
  font-weight:900 !important;
  letter-spacing:0;
  touch-action:manipulation;
}

body.otoprep-app .otoprep-voice__dockExit:hover,
body.otoprep-app .otoprep-voice__dockExit:focus-visible,
body.otoprep-app .otoprep-voice__dockExit:active{
  border-color:rgba(16,117,188,.30) !important;
  background:linear-gradient(180deg, rgba(240,248,255,1), rgba(232,244,255,1)) !important;
  color:var(--otoprep-blue) !important;
  -webkit-text-fill-color:var(--otoprep-blue) !important;
}

body.otoprep-app .otoprep-voice__dockExit:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(16,117,188,.16), 0 10px 24px rgba(16,117,188,.12) !important;
}

body.otoprep-app .otoprep-voice__feedbackLoader[hidden]{
  display:none !important;
}

body.otoprep-app .otoprep-voice__feedbackLoader{
  position:fixed !important;
  top:var(--otoprep-feedback-top, 0px) !important;
  left:var(--otoprep-feedback-left, 0px) !important;
  width:var(--otoprep-feedback-vw, 100vw) !important;
  min-height:var(--otoprep-feedback-vh, 100vh) !important;
  height:var(--otoprep-feedback-vh, 100vh) !important;
  display:none;
  align-items:center;
  justify-content:center;
  padding:max(24px, calc(18px + env(safe-area-inset-top))) max(18px, calc(16px + env(safe-area-inset-right))) max(24px, calc(18px + env(safe-area-inset-bottom))) max(18px, calc(16px + env(safe-area-inset-left)));
  background:rgba(10,24,35,.46);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  z-index:2147483000 !important;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  isolation:isolate;
  overscroll-behavior:contain;
}

body.otoprep-app .otoprep-voice__feedbackLoader.is-active{
  display:flex !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

body.otoprep-app.otoprep-voice--feedback-loading{
  overflow:hidden;
}

body.otoprep-app.otoprep-voice--feedback-loading .otoprep-topbar--voice,
body.otoprep-app.otoprep-voice--feedback-loading .otoprep-voice__dock{
  pointer-events:none;
}

body.otoprep-app .otoprep-voice__feedbackLoaderCard{
  width:min(460px, 100%);
  max-width:460px;
  padding:26px 22px 22px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,251,255,.98));
  border:1px solid rgba(16,117,188,.14);
  box-shadow:0 34px 90px rgba(10,24,35,.28);
  text-align:center;
}

body.otoprep-app .otoprep-voice__feedbackLoaderSpinner{
  position:relative;
  width:88px;
  height:88px;
  margin:16px auto 12px;
  display:grid;
  place-items:center;
  gap:7px;
}

body.otoprep-app .otoprep-voice__feedbackLoaderSpinner::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  border:2px solid rgba(16,117,188,.12);
  border-top-color:var(--otoprep-blue);
  animation:otoprep-voice-feedback-ring 1s linear infinite;
}

body.otoprep-app .otoprep-voice__feedbackLoaderSpinner span{
  position:relative;
  z-index:1;
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--otoprep-blue);
  animation:otoprep-voice-feedback-loader 1.05s ease-in-out infinite;
}

body.otoprep-app .otoprep-voice__feedbackLoaderTitle{
  font-size:24px;
}

body.otoprep-app .otoprep-voice__feedbackLoaderSteps{
  margin:18px 0 0;
  display:grid;
  gap:10px;
  text-align:left;
}

body.otoprep-app .otoprep-voice__feedbackLoaderStep{
  display:grid;
  grid-template-columns:12px minmax(0, 1fr);
  align-items:center;
  gap:10px;
  font-size:13px;
  line-height:1.4;
  color:#6a7b88;
  opacity:.95;
}

body.otoprep-app .otoprep-voice__feedbackLoaderStepDot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(16,117,188,.18);
  box-shadow:0 0 0 4px rgba(16,117,188,.06);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.otoprep-app .otoprep-voice__feedbackLoaderStep.is-current{
  color:#11202a;
  font-weight:800;
}

body.otoprep-app .otoprep-voice__feedbackLoaderStep.is-current .otoprep-voice__feedbackLoaderStepDot{
  background:var(--otoprep-blue);
  box-shadow:0 0 0 6px rgba(16,117,188,.12);
  transform:scale(1.06);
}

body.otoprep-app .otoprep-voice__feedbackLoaderStep.is-done{
  color:#3f6f93;
}

body.otoprep-app .otoprep-voice__feedbackLoaderStep.is-done .otoprep-voice__feedbackLoaderStepDot{
  background:#67b6ea;
  box-shadow:0 0 0 4px rgba(16,117,188,.08);
}

@keyframes otoprep-voice-feedback-ring{
  to{
    transform:rotate(360deg);
  }
}

@media (max-width: 520px){
  body.otoprep-app .otoprep-voice__feedbackLoaderCard{
    padding:24px 18px 20px;
    border-radius:24px;
  }

  body.otoprep-app .otoprep-voice__feedbackLoaderSpinner{
    width:80px;
    height:80px;
  }

  body.otoprep-app .otoprep-voice__feedbackLoaderTitle{
    font-size:21px;
  }
}

/* Oral question review surfaces */
.otoprep-voice__questionReviewHost,
.otoprep-voice__sessionReviewHost {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 16px;
}

.otoprep-voiceReviewSection {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.otoprep-voiceReviewSection__head {
  padding: 16px 18px;
  border: 1px solid rgba(16,117,188,.14);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(16,117,188,.10) 0%, rgba(16,117,188,.04) 100%);
}

.otoprep-voiceReviewSection__title {
  font-size: 18px;
  font-weight: 900;
  color: #16212B;
}

.otoprep-voiceReviewSection__copy {
  margin-top: 6px;
}

.otoprep-voiceReviewSection__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.otoprep-voiceReviewCard {
  border: 1px solid rgba(16,117,188,.18);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(16,117,188,.08);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.otoprep-voiceReviewCard__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.otoprep-voiceReviewCard__eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #1075BC;
}

.otoprep-voiceReviewCard__title {
  font-size: 18px;
  font-weight: 900;
  color: #16212B;
}

.otoprep-voiceReviewCard__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  border: 1px solid rgba(16,117,188,.12);
  background: rgba(16,117,188,.08);
  color: #1075BC;
  white-space: nowrap;
}

.otoprep-voiceReviewCard__copy {
  margin: 0;
}

.otoprep-voiceReviewCard__prompt {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.otoprep-voiceReviewCard__promptText {
  color: #16212B;
  line-height: 1.6;
}

.otoprep-voiceReviewCard__promptText p:last-child,
.otoprep-voiceReviewCard__promptText > *:last-child {
  margin-bottom: 0;
}

.otoprep-voiceReviewCard__miniLabel {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #1075BC;
  margin-bottom: 6px;
}

.otoprep-voiceReviewCard__choices {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.otoprep-voiceReviewCard__choice {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(16,117,188,.06);
  color: #16212B;
}

.otoprep-voiceReviewCard__reveal,
.otoprep-voiceReviewCard__note {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(22,33,43,.04);
}

.otoprep-voiceReviewCard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.otoprep-voiceReviewCard__feedbackFooter {
  margin-top: 2px;
}

@media (max-width: 782px) {
  .otoprep-voiceReviewCard__head {
    flex-direction: column;
  }

  .otoprep-voiceReviewCard__pill {
    align-self: flex-start;
  }
}



/* =========================================================
   21.9.28 QC hardening for PMPro grant dedupe
   ========================================================= */
html body.otoprep-app{
  min-height:100dvh;
}

body.otoprep-app{
  min-height:100dvh;
  overflow-x:hidden;
  overscroll-behavior-y:none;
}

body.otoprep-app .otoprep-shell{
  min-height:100dvh;
  box-sizing:border-box;
  padding-bottom:calc(96px + env(safe-area-inset-bottom));
}

body.otoprep-app .otoprep-tabs{
  padding-bottom:max(8px, env(safe-area-inset-bottom));
  box-shadow:0 -10px 28px rgba(19,32,42,.10);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transform:translateZ(0);
}

body.otoprep-app .otoprep-tabs__inner{
  align-items:stretch;
}

body.otoprep-app .otoprep-acc > summary,
body.otoprep-app .otoprep-acc--sub > summary{
  list-style:none;
}

body.otoprep-app .otoprep-acc > summary::marker,
body.otoprep-app .otoprep-acc--sub > summary::marker,
body.otoprep-app details.otoprep-qreview > summary::marker,
body.otoprep-app .otoprep-topbar__surfaceDetails > summary::marker,
body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurface > summary::marker{
  content:'';
  display:none;
}

body.otoprep-app .otoprep-acc > summary::-webkit-details-marker,
body.otoprep-app .otoprep-acc--sub > summary::-webkit-details-marker,
body.otoprep-app details.otoprep-qreview > summary::-webkit-details-marker,
body.otoprep-app .otoprep-topbar__surfaceDetails > summary::-webkit-details-marker,
body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurface > summary::-webkit-details-marker{
  display:none;
}

body.otoprep-app .otoprep-acc > summary,
body.otoprep-app .otoprep-acc--sub > summary{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
}

body.otoprep-app .otoprep-acc__title{
  min-width:0;
  flex:1 1 auto;
}

body.otoprep-app .otoprep-acc > summary > .otoprep-pill,
body.otoprep-app .otoprep-acc--sub > summary > .otoprep-pill{
  flex:0 0 auto;
  justify-self:end;
}

body.otoprep-app .otoprep-vmod__rowMain{
  flex:1 1 auto;
  min-width:0;
  display:grid;
  gap:4px;
}

body.otoprep-app .otoprep-vmod__rowTitle{
  line-height:1.28;
}

body.otoprep-app .otoprep-vmod__rowActions{
  flex:0 0 auto;
  justify-content:flex-end;
}

@media (max-width: 980px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    grid-template-areas:"main surface";
    align-items:start;
    gap:10px 12px;
    padding:calc(10px + env(safe-area-inset-top)) 12px 12px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__row{
    grid-area:main;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    min-width:0;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand{
    flex:0 1 auto;
    min-width:0;
    max-width:40vw;
    gap:8px;
    font-size:16px;
    line-height:1.18;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right{
    flex:1 1 100%;
    width:100%;
    min-width:0;
    justify-content:flex-start;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    overflow:visible;
    padding-bottom:0;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-switch,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-trialbar{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    white-space:normal;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-pill,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-chip,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-current{
    flex:0 0 auto;
    min-height:38px;
    padding:0 12px;
    font-size:13px;
    white-space:nowrap;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__sub--surface{
    grid-area:surface;
    align-self:start;
    justify-self:end;
    margin-top:0;
    padding-top:0;
    border-top:0;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    min-height:38px;
    padding:0 14px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryLabel{
    display:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryValue{
    font-size:13px;
    font-weight:900;
  }

  body.otoprep-app .otoprep-vmod__row{
    align-items:flex-start;
  }
}

@media (max-width: 720px){
  body.otoprep-app .otoprep-shell{
    padding-left:12px;
    padding-right:12px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar{
    gap:8px 10px;
    padding:calc(9px + env(safe-area-inset-top)) 10px 10px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand{
    max-width:36vw;
    font-size:15px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right{
    gap:7px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-pill,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-chip,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-current,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    min-height:36px;
    font-size:12px;
  }

  body.otoprep-app .otoprep-vmod__row{
    padding:12px 12px;
  }

  body.otoprep-app .otoprep-vmod__rowActions{
    width:100%;
    justify-content:flex-start;
  }
}

/* =========================================================
   21.9.29 mobile oral header + course library tidy-up
   ========================================================= */
body.otoprep-app a.otoprep-pill{
  text-decoration:none;
}

body.otoprep-app [data-otoprep-vmod-course] > summary,
body.otoprep-app [data-otoprep-vmod-topicgroup] > summary,
body.otoprep-app [data-otoprep-vmod-standalone] > summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px 12px;
  flex-wrap:wrap;
  position:relative;
  padding-right:40px;
  text-align:left;
  list-style:none !important;
}

body.otoprep-app [data-otoprep-vmod-course] > summary::marker,
body.otoprep-app [data-otoprep-vmod-topicgroup] > summary::marker,
body.otoprep-app [data-otoprep-vmod-standalone] > summary::marker{
  content:none !important;
  display:none !important;
}

body.otoprep-app [data-otoprep-vmod-course] > summary::-webkit-details-marker,
body.otoprep-app [data-otoprep-vmod-topicgroup] > summary::-webkit-details-marker,
body.otoprep-app [data-otoprep-vmod-standalone] > summary::-webkit-details-marker{
  display:none !important;
}

body.otoprep-app [data-otoprep-vmod-course] > summary::after,
body.otoprep-app [data-otoprep-vmod-topicgroup] > summary::after,
body.otoprep-app [data-otoprep-vmod-standalone] > summary::after{
  content:'▾';
  position:absolute;
  top:16px;
  right:14px;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1;
  transition:transform .2s ease;
}

body.otoprep-app [data-otoprep-vmod-course][open] > summary::after,
body.otoprep-app [data-otoprep-vmod-topicgroup][open] > summary::after,
body.otoprep-app [data-otoprep-vmod-standalone][open] > summary::after{
  transform:rotate(180deg);
}

body.otoprep-app [data-otoprep-vmod-course] .otoprep-acc__title,
body.otoprep-app [data-otoprep-vmod-topicgroup] .otoprep-acc__title,
body.otoprep-app [data-otoprep-vmod-standalone] .otoprep-acc__title{
  display:block;
  flex:1 1 220px;
  min-width:0;
  line-height:1.3;
  text-align:left;
  overflow-wrap:anywhere;
}

body.otoprep-app [data-otoprep-vmod-course] > summary > .otoprep-pill,
body.otoprep-app [data-otoprep-vmod-topicgroup] > summary > .otoprep-pill,
body.otoprep-app [data-otoprep-vmod-standalone] > summary > .otoprep-pill{
  flex:0 0 auto;
  margin-left:auto;
  justify-self:auto;
}

@media (max-width:980px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar{
    gap:8px 10px;
    padding:calc(8px + env(safe-area-inset-top)) 10px 10px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__row{
    gap:8px;
    align-items:flex-start;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand{
    max-width:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand__logo{
    width:30px;
    height:30px;
    border-radius:10px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right{
    align-items:center;
    gap:6px 8px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-switch,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-current{
    flex:1 1 220px;
    min-width:0;
    max-width:100%;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-switch{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-switch::-webkit-scrollbar,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-trialbar::-webkit-scrollbar{
    display:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-switch .otoprep-chip{
    flex:0 0 auto;
    min-height:34px;
    padding:0 11px;
    font-size:12px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-current,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-pill,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-trialbar > .otoprep-pill{
    min-height:34px;
    padding:0 11px;
    font-size:12px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-trialbar{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
    overflow-x:auto;
    max-width:100%;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    min-height:36px;
    padding:6px 12px;
    gap:6px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryLabel{
    display:inline-block;
    font-size:10px;
    line-height:1;
    font-weight:900;
    color:var(--otoprep-muted);
    white-space:nowrap;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryValue{
    font-size:13px;
    line-height:1.1;
  }

  body.otoprep-app [data-otoprep-vmod-course] > summary,
  body.otoprep-app [data-otoprep-vmod-topicgroup] > summary,
  body.otoprep-app [data-otoprep-vmod-standalone] > summary{
    gap:8px;
    padding:14px 44px 12px 14px;
  }

  body.otoprep-app [data-otoprep-vmod-course] .otoprep-acc__title,
  body.otoprep-app [data-otoprep-vmod-standalone] .otoprep-acc__title{
    flex-basis:100%;
    font-size:18px;
    line-height:1.28;
  }

  body.otoprep-app [data-otoprep-vmod-topicgroup] .otoprep-acc__title{
    flex-basis:100%;
    font-size:15px;
    line-height:1.3;
  }

  body.otoprep-app [data-otoprep-vmod-course] > summary > .otoprep-pill,
  body.otoprep-app [data-otoprep-vmod-topicgroup] > summary > .otoprep-pill,
  body.otoprep-app [data-otoprep-vmod-standalone] > summary > .otoprep-pill{
    margin-left:0;
  }

  body.otoprep-app [data-otoprep-vmod-course] .otoprep-acc__desc,
  body.otoprep-app [data-otoprep-vmod-standalone] .otoprep-acc__desc{
    padding:0 14px 8px;
    line-height:1.5;
  }

  body.otoprep-app .otoprep-vmod__row{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    align-items:flex-start;
    gap:10px;
    padding:12px 14px;
  }

  body.otoprep-app .otoprep-vmod__rowMain{
    gap:5px;
  }

  body.otoprep-app .otoprep-vmod__rowTitle{
    font-size:15px;
    line-height:1.32;
    text-align:left;
    overflow-wrap:anywhere;
  }

  body.otoprep-app .otoprep-vmod__rowMeta{
    text-align:left;
    line-height:1.45;
  }

  body.otoprep-app .otoprep-vmod__rowActions{
    width:100%;
    justify-content:flex-start;
    gap:8px;
  }

  body.otoprep-app .otoprep-vmod__rowActions .otoprep-btn{
    min-height:36px;
    padding:0 12px;
  }
}

@media (max-width:720px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-switch,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-current{
    flex-basis:100%;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    padding:6px 10px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryLabel{
    font-size:9px;
  }

  body.otoprep-app [data-otoprep-vmod-course] .otoprep-acc__title,
  body.otoprep-app [data-otoprep-vmod-standalone] .otoprep-acc__title{
    font-size:17px;
  }
}


/* =========================================================
   21.9.31 mock review recovery + submission resilience
   ========================================================= */

/* Hide native/theme markers so Safari/iOS does not show stray square glyphs. */
body.otoprep-app .otoprep-topbar__surfaceSummary,
body.otoprep-app [data-otoprep-vmod-course] > summary,
body.otoprep-app [data-otoprep-vmod-topicgroup] > summary,
body.otoprep-app [data-otoprep-vmod-standalone] > summary{
  list-style:none !important;
  list-style-image:none !important;
  -webkit-appearance:none;
  appearance:none;
  background-image:none !important;
}

body.otoprep-app .otoprep-topbar__surfaceSummary::before,
body.otoprep-app [data-otoprep-vmod-course] > summary::before,
body.otoprep-app [data-otoprep-vmod-topicgroup] > summary::before,
body.otoprep-app [data-otoprep-vmod-standalone] > summary::before{
  content:none !important;
  display:none !important;
}

body.otoprep-app .otoprep-topbar__surfaceSummary::marker,
body.otoprep-app [data-otoprep-vmod-course] > summary::marker,
body.otoprep-app [data-otoprep-vmod-topicgroup] > summary::marker,
body.otoprep-app [data-otoprep-vmod-standalone] > summary::marker{
  content:none !important;
  color:transparent !important;
  display:none !important;
}

body.otoprep-app .otoprep-topbar__surfaceSummary::-webkit-details-marker,
body.otoprep-app [data-otoprep-vmod-course] > summary::-webkit-details-marker,
body.otoprep-app [data-otoprep-vmod-topicgroup] > summary::-webkit-details-marker,
body.otoprep-app [data-otoprep-vmod-standalone] > summary::-webkit-details-marker{
  display:none !important;
  opacity:0 !important;
}

@media (max-width: 980px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto;
    grid-template-areas:
      "brand surface"
      "meta meta";
    align-items:center;
    gap:10px 12px;
    padding:calc(10px + env(safe-area-inset-top)) 12px 12px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__row{
    display:contents;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand{
    grid-area:brand;
    min-width:0;
    max-width:none;
    font-size:15px;
    line-height:1.15;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-brand__logo{
    width:32px;
    height:32px;
    border-radius:10px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right{
    grid-area:meta;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    width:100%;
    min-width:0;
    overflow:visible;
    padding:0;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-switch,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-current{
    order:1;
    flex:1 1 100%;
    min-width:0;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-switch{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-switch::-webkit-scrollbar,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-trialbar::-webkit-scrollbar{
    display:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-current{
    justify-content:flex-start;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-trialbar{
    order:2;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:nowrap;
    overflow-x:auto;
    max-width:100%;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-pill{
    order:2;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-pill,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-trialbar > .otoprep-pill,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-current,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-exam-switch .otoprep-chip{
    min-height:36px;
    padding:0 12px;
    font-size:12px;
    white-space:nowrap;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-pill .otoprep-pill__label--long,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-trialbar > .otoprep-pill .otoprep-pill__label--long{
    display:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-pill .otoprep-pill__label--short,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__right > .otoprep-trialbar > .otoprep-pill .otoprep-pill__label--short{
    display:inline;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__sub--surface{
    grid-area:surface;
    align-self:center;
    justify-self:end;
    margin:0;
    padding:0;
    border:0;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceDetails{
    display:block;
    position:relative;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    display:block !important;
    position:relative;
    min-height:36px;
    padding:9px 34px 9px 14px;
    border:1px solid rgba(16,117,188,.14);
    border-radius:999px;
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 18px rgba(16,117,188,.06);
    white-space:nowrap;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryLabel{
    display:inline-block !important;
    margin-right:8px;
    font-size:11px;
    line-height:1;
    font-weight:800;
    color:var(--otoprep-muted);
    vertical-align:middle;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryValue{
    display:inline-block !important;
    font-size:15px;
    line-height:1;
    font-weight:900;
    color:var(--otoprep-blue);
    vertical-align:middle;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary::after{
    content:'▾';
    position:absolute;
    top:50%;
    right:13px;
    transform:translateY(-50%);
    color:var(--otoprep-muted);
    font-size:12px;
    line-height:1;
    transition:transform .18s ease;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceDetails[open] .otoprep-topbar__surfaceSummary::after{
    transform:translateY(-50%) rotate(180deg);
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfacePanel{
    top:calc(100% + 8px);
    right:0;
    width:min(92vw, 320px);
  }

  body.otoprep-app [data-otoprep-vmod-course],
  body.otoprep-app [data-otoprep-vmod-standalone]{
    margin:0 0 12px;
    border-radius:20px;
    overflow:hidden;
  }

  body.otoprep-app [data-otoprep-vmod-topicgroup]{
    margin:10px 0 0;
    border-radius:16px;
    background:rgba(16,117,188,.03);
    border-color:rgba(16,117,188,.10);
  }

  body.otoprep-app [data-otoprep-vmod-course] > summary,
  body.otoprep-app [data-otoprep-vmod-topicgroup] > summary,
  body.otoprep-app [data-otoprep-vmod-standalone] > summary{
    display:block !important;
    position:relative;
    padding:16px 52px 16px 18px;
    text-align:left;
    min-height:0;
  }

  body.otoprep-app [data-otoprep-vmod-course] > summary::after,
  body.otoprep-app [data-otoprep-vmod-topicgroup] > summary::after,
  body.otoprep-app [data-otoprep-vmod-standalone] > summary::after{
    content:'▾';
    position:absolute;
    top:16px;
    right:16px;
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(16,117,188,.08);
    color:var(--otoprep-blue);
    font-size:12px;
    line-height:1;
    font-weight:900;
    transition:transform .18s ease, background-color .18s ease;
  }

  body.otoprep-app [data-otoprep-vmod-course][open] > summary::after,
  body.otoprep-app [data-otoprep-vmod-topicgroup][open] > summary::after,
  body.otoprep-app [data-otoprep-vmod-standalone][open] > summary::after{
    transform:rotate(180deg);
    background:rgba(16,117,188,.14);
  }

  body.otoprep-app [data-otoprep-vmod-course] .otoprep-acc__title,
  body.otoprep-app [data-otoprep-vmod-standalone] .otoprep-acc__title{
    display:block;
    margin:0;
    font-size:17px;
    line-height:1.25;
    font-weight:900;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  body.otoprep-app [data-otoprep-vmod-topicgroup] .otoprep-acc__title{
    display:block;
    margin:0;
    font-size:15px;
    line-height:1.28;
    font-weight:850;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  body.otoprep-app [data-otoprep-vmod-course] > summary > .otoprep-pill,
  body.otoprep-app [data-otoprep-vmod-topicgroup] > summary > .otoprep-pill,
  body.otoprep-app [data-otoprep-vmod-standalone] > summary > .otoprep-pill{
    display:inline-flex;
    margin:12px 0 0;
    min-height:34px;
    padding:0 14px;
    font-size:13px;
  }

  body.otoprep-app [data-otoprep-vmod-course] .otoprep-acc__desc,
  body.otoprep-app [data-otoprep-vmod-standalone] .otoprep-acc__desc{
    padding:0 18px 12px;
    font-size:13px;
    line-height:1.5;
  }

  body.otoprep-app [data-otoprep-vmod-course] .otoprep-acc__body,
  body.otoprep-app [data-otoprep-vmod-standalone] .otoprep-acc__body{
    padding:0 12px 12px;
  }

  body.otoprep-app [data-otoprep-vmod-topicgroup] .otoprep-acc__body{
    padding:0 0 4px;
  }

  body.otoprep-app .otoprep-vmod__row{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:10px;
    align-items:flex-start;
    padding:14px 16px;
  }

  body.otoprep-app .otoprep-vmod__rowMain{
    gap:6px;
  }

  body.otoprep-app .otoprep-vmod__rowTitle{
    font-size:16px;
    line-height:1.32;
    font-weight:850;
    text-align:left;
  }

  body.otoprep-app .otoprep-vmod__rowMeta{
    font-size:13px;
    line-height:1.45;
    text-align:left;
  }

  body.otoprep-app .otoprep-vmod__rowActions{
    width:100%;
    justify-content:flex-start;
    gap:8px;
  }

  body.otoprep-app .otoprep-vmod__rowActions .otoprep-btn{
    min-height:38px;
    padding:0 14px;
    border-radius:14px;
  }
}

@media (max-width: 640px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar{
    gap:9px 10px;
    padding:calc(9px + env(safe-area-inset-top)) 10px 10px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    padding:8px 32px 8px 12px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryLabel{
    font-size:10px;
    margin-right:6px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummaryValue{
    font-size:14px;
  }

  body.otoprep-app .otoprep-vmod__rowActions .otoprep-btn{
    flex:1 1 calc(50% - 4px);
    justify-content:center;
    min-width:0;
  }

  body.otoprep-app .otoprep-vmod__rowActions .otoprep-btn:nth-child(3){
    flex-basis:100%;
  }
}

/* 21.9.54: mobile-first /app Progress action dashboard + certificates */
body.otoprep-app .otoprep-progress-sectionhead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-progress-statgrid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:12px;
}

body.otoprep-app .otoprep-progress-statcard{
  border:1px solid rgba(16,117,188,.12);
  background:#f8fbfe;
  border-radius:18px;
  padding:14px;
  box-shadow:0 8px 20px rgba(19,32,42,.04);
}

body.otoprep-app .otoprep-progress-statcard__label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-progress-statcard__value{
  margin-top:6px;
  font-size:24px;
  line-height:1.05;
  font-weight:900;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-progress-statcard__sub{
  margin-top:6px;
  font-size:13px;
  line-height:1.35;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-progress-actionlist,
body.otoprep-app .otoprep-progress-historylist,
body.otoprep-app .otoprep-progress-certificate-options{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:12px;
}

body.otoprep-app .otoprep-progress-actioncard{
  display:flex;
  gap:12px;
  border:1px solid rgba(16,117,188,.13);
  background:#ffffff;
  border-radius:18px;
  padding:14px;
}

body.otoprep-app .otoprep-progress-actioncard--warning{
  border-color:rgba(231,105,75,.28);
  background:#fffaf7;
}

body.otoprep-app .otoprep-progress-actioncard__icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(16,117,188,.10);
  color:var(--otoprep-blue);
  font-weight:900;
}

body.otoprep-app .otoprep-progress-actioncard--warning .otoprep-progress-actioncard__icon{
  background:rgba(231,105,75,.12);
  color:var(--otoprep-orange);
}

body.otoprep-app .otoprep-progress-actioncard__body{min-width:0;}
body.otoprep-app .otoprep-progress-actioncard__eyebrow{
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-progress-actioncard__title,
body.otoprep-app .otoprep-progress-historyitem__title{
  margin:3px 0 0;
  font-size:16px;
  line-height:1.25;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-progress-certificate{
  display:flex;
  align-items:flex-start;
  gap:14px;
  border-color:rgba(16,117,188,.18);
  background:linear-gradient(135deg,#ffffff 0%,#f6fbff 100%);
}

body.otoprep-app .otoprep-progress-certificate__icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(16,117,188,.10);
  color:var(--otoprep-blue);
  font-weight:900;
  font-size:20px;
}

body.otoprep-app .otoprep-progress-certificate__body{min-width:0; flex:1 1 auto;}
body.otoprep-app .otoprep-progress-certificate__actions{margin-top:12px; gap:8px; flex-wrap:wrap;}

body.otoprep-app .otoprep-progress-certificate-summary{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}

body.otoprep-app .otoprep-progress-certificate-summary > div,
body.otoprep-app .otoprep-progress-certificate-option{
  border:1px solid var(--otoprep-border);
  background:#ffffff;
  border-radius:16px;
  padding:13px;
}

body.otoprep-app .otoprep-progress-certificate-summary strong{
  display:block;
  font-size:12px;
  color:var(--otoprep-muted);
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}

body.otoprep-app .otoprep-progress-certificate-summary span{
  display:block;
  font-weight:800;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-progress-historyitem{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto 30px;
  align-items:center;
  gap:10px;
  border:1px solid var(--otoprep-border);
  border-radius:18px;
  padding:12px;
  background:#ffffff;
}

body.otoprep-app .otoprep-progress-historyitem__icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(16,117,188,.10);
  color:var(--otoprep-blue);
  font-weight:900;
}

body.otoprep-app .otoprep-progress-historyitem__main{min-width:0;}
body.otoprep-app .otoprep-progress-historyitem__title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.otoprep-app .otoprep-progress-historyitem__meta{
  margin-top:4px;
  font-size:13px;
  color:var(--otoprep-muted);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.otoprep-app .otoprep-progress-historyitem__score{
  text-align:right;
  font-size:18px;
  line-height:1.1;
  font-weight:900;
  color:var(--otoprep-blue);
}

body.otoprep-app .otoprep-progress-historyitem__score span{
  display:block;
  margin-top:3px;
  font-size:11px;
  font-weight:700;
  color:var(--otoprep-muted);
}

body.otoprep-app .otoprep-progress-historyitem__review{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--otoprep-muted);
  text-decoration:none;
  font-size:30px;
  line-height:1;
}

@media (max-width: 480px){
  body.otoprep-app .otoprep-progress-historyitem{
    grid-template-columns:34px minmax(0,1fr) 30px;
  }
  body.otoprep-app .otoprep-progress-historyitem__score{
    grid-column:2 / 3;
    text-align:left;
    font-size:15px;
  }
  body.otoprep-app .otoprep-progress-historyitem__review{
    grid-column:3 / 4;
    grid-row:1 / 3;
  }
}

@media (min-width: 720px){
  body.otoprep-app .otoprep-progress-statgrid,
  body.otoprep-app .otoprep-progress-certificate-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.otoprep-app .otoprep-progress-certificate-options{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* 21.9.55 Account certificates + Home refresh */
body.otoprep-app .otoprep-home-undertrack-actions{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
  margin-top:12px;
}
body.otoprep-app .otoprep-home-undertrack-actions__copy{max-width:520px;}
body.otoprep-app .otoprep-home-quickstart{margin-top:12px;}
body.otoprep-app .otoprep-home-quickgrid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:14px;
}
body.otoprep-app .otoprep-home-quickcard{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:112px;
  padding:15px;
  border-radius:18px;
  border:1px solid var(--otoprep-border);
  background:#fff;
  color:var(--otoprep-ink);
  text-decoration:none;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  overflow:hidden;
}
body.otoprep-app .otoprep-home-quickcard:after{
  content:'›';
  position:absolute;
  top:12px;
  right:14px;
  font-size:28px;
  line-height:1;
  color:var(--otoprep-muted);
}
body.otoprep-app .otoprep-home-quickcard:hover,
body.otoprep-app .otoprep-home-quickcard:focus{
  transform:translateY(-1px);
  box-shadow:0 16px 32px rgba(15,23,42,.10);
}
body.otoprep-app .otoprep-home-quickcard__eyebrow{
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:4px 9px;
  background:rgba(16,117,188,.10);
  color:var(--otoprep-blue);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
body.otoprep-app .otoprep-home-quickcard strong{
  padding-right:20px;
  font-size:17px;
  line-height:1.2;
}
body.otoprep-app .otoprep-home-quickcard > span:last-child{
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.35;
}
body.otoprep-app .otoprep-home-quickcard--primary{
  border-color:rgba(16,117,188,.32);
  background:linear-gradient(135deg, rgba(16,117,188,.10), #fff 54%);
}
body.otoprep-app .otoprep-home-quickcard--oral{
  border-color:rgba(124,58,237,.28);
  background:linear-gradient(135deg, rgba(124,58,237,.11), #fff 58%);
}
body.otoprep-app .otoprep-home-quickcard--oral .otoprep-home-quickcard__eyebrow{
  background:rgba(124,58,237,.12);
  color:#6d28d9;
}

body.otoprep-app .otoprep-account-cert-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(16,117,188,.18);
  background:linear-gradient(135deg, #ffffff 0%, #f6fbff 100%);
  margin-top:12px;
}
body.otoprep-app .otoprep-account-cert-card__shine{
  position:absolute;
  width:170px;
  height:170px;
  right:-58px;
  top:-72px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(16,117,188,.20), rgba(16,117,188,0) 68%);
  pointer-events:none;
}
body.otoprep-app .otoprep-account-cert-card__head{
  position:relative;
  display:flex;
  gap:14px;
  align-items:flex-start;
}
body.otoprep-app .otoprep-account-cert-card__brand{
  flex:0 0 58px;
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid rgba(16,117,188,.18);
  box-shadow:0 10px 22px rgba(15,23,42,.08);
  overflow:hidden;
}
body.otoprep-app .otoprep-account-cert-card__brand img{
  max-width:48px;
  max-height:48px;
  object-fit:contain;
}
body.otoprep-app .otoprep-account-cert-card__brand span{
  color:var(--otoprep-blue);
  font-size:22px;
  font-weight:900;
}
body.otoprep-app .otoprep-account-cert-card__preview{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}
body.otoprep-app .otoprep-account-cert-card__preview > div{
  border:1px solid rgba(16,117,188,.12);
  border-radius:15px;
  background:rgba(255,255,255,.86);
  padding:11px 12px;
}
body.otoprep-app .otoprep-account-cert-card__preview span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--otoprep-muted);
  font-weight:900;
  margin-bottom:4px;
}
body.otoprep-app .otoprep-account-cert-card__preview strong{
  display:block;
  color:var(--otoprep-ink);
  line-height:1.25;
}
body.otoprep-app .otoprep-account-cert-topics{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
body.otoprep-app .otoprep-account-cert-topics span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  border-radius:999px;
  padding:4px 10px;
  background:#fff;
  border:1px solid rgba(16,117,188,.16);
  color:var(--otoprep-blue);
  font-size:12px;
  font-weight:800;
}
body.otoprep-app .otoprep-account-cert-centre-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
}
body.otoprep-app .otoprep-account-cert-exams .otoprep-seg{
  flex-wrap:wrap;
}
body.otoprep-app .otoprep-account-cert-exams .otoprep-seg a{
  text-decoration:none;
  border-radius:999px;
  padding:8px 12px;
  color:var(--otoprep-muted);
  font-weight:800;
}
body.otoprep-app .otoprep-account-cert-exams .otoprep-seg a.is-active{
  background:#fff;
  color:var(--otoprep-blue);
  box-shadow:0 4px 12px rgba(15,23,42,.08);
}
body.otoprep-app .otoprep-account-cert-hero{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  background:linear-gradient(135deg, #f8fbff, #fff);
}
body.otoprep-app .otoprep-account-cert-hero__paper{
  position:relative;
  border:1px solid rgba(16,117,188,.28);
  border-radius:22px;
  background:#fff;
  padding:20px;
  min-height:360px;
  box-shadow:0 18px 38px rgba(15,23,42,.10);
}
body.otoprep-app .otoprep-account-cert-hero__paper:before{
  content:'';
  position:absolute;
  inset:10px;
  border:1px solid rgba(16,117,188,.18);
  border-radius:17px;
  pointer-events:none;
}
body.otoprep-app .otoprep-account-cert-hero__brandrow{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
}
body.otoprep-app .otoprep-account-cert-hero__brandrow img{
  width:48px;
  height:48px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
}
body.otoprep-app .otoprep-account-cert-hero__brandrow strong,
body.otoprep-app .otoprep-account-cert-hero__brandrow span{
  display:block;
}
body.otoprep-app .otoprep-account-cert-hero__brandrow span{
  color:var(--otoprep-muted);
  font-size:12px;
}
body.otoprep-app .otoprep-account-cert-hero__title{
  position:relative;
  margin-top:34px;
  font-size:28px;
  line-height:1.1;
  font-weight:900;
  color:var(--otoprep-ink);
  text-align:center;
}
body.otoprep-app .otoprep-account-cert-hero__paper p{
  position:relative;
  text-align:center;
  color:var(--otoprep-muted);
  margin:18px 0 0;
}
body.otoprep-app .otoprep-account-cert-hero__paper h2,
body.otoprep-app .otoprep-account-cert-hero__paper h3{
  position:relative;
  text-align:center;
  margin:12px 0 0;
  color:var(--otoprep-ink);
}
body.otoprep-app .otoprep-account-cert-hero__paper h2{
  font-size:26px;
  border-bottom:1px solid rgba(16,117,188,.24);
  padding-bottom:10px;
}
body.otoprep-app .otoprep-account-cert-hero__paper h3{font-size:20px;}
body.otoprep-app .otoprep-account-cert-hero__meta{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:28px;
}
body.otoprep-app .otoprep-account-cert-hero__meta span{
  border-radius:12px;
  background:rgba(16,117,188,.07);
  padding:9px 10px;
  color:var(--otoprep-muted);
  font-size:12px;
}
body.otoprep-app .otoprep-account-cert-hero__meta strong{color:var(--otoprep-ink);}
body.otoprep-app .otoprep-account-cert-hero__side{min-width:0;}
body.otoprep-app .otoprep-account-cert-downloads{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:14px;
}
body.otoprep-app .otoprep-account-cert-downloads article{
  border:1px solid var(--otoprep-border);
  border-radius:18px;
  background:#fff;
  padding:14px;
}
body.otoprep-app .otoprep-account-cert-topics-card,
body.otoprep-app .otoprep-account-cert-report-preview{margin-top:12px;}
body.otoprep-app .otoprep-account-cert-topicgrid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}
body.otoprep-app .otoprep-account-cert-topicgrid article{
  border:1px solid var(--otoprep-border);
  border-radius:16px;
  background:#fff;
  padding:12px;
}
body.otoprep-app .otoprep-account-cert-topicgrid strong,
body.otoprep-app .otoprep-account-cert-topicgrid span{
  display:block;
}
body.otoprep-app .otoprep-account-cert-topicgrid span{
  color:var(--otoprep-muted);
  font-size:12px;
  margin-top:4px;
}

@media (min-width: 640px){
  body.otoprep-app .otoprep-home-quickgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.otoprep-app .otoprep-account-cert-card__preview{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.otoprep-app .otoprep-account-cert-hero__meta{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.otoprep-app .otoprep-account-cert-downloads{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.otoprep-app .otoprep-account-cert-topicgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width: 900px){
  body.otoprep-app .otoprep-account-cert-hero{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);}
}
@media (max-width: 480px){
  body.otoprep-app .otoprep-account-cert-card__head{flex-direction:column;}
  body.otoprep-app .otoprep-account-cert-hero__paper{padding:16px;}
  body.otoprep-app .otoprep-account-cert-hero__title{font-size:23px;}
  body.otoprep-app .otoprep-account-cert-hero__paper h2{font-size:22px;}
}

/* Home chart-only on-track card (carried forward) */
body.otoprep-app .otoprep-progress-trackhero--compact{
  padding-bottom:16px;
}
body.otoprep-app .otoprep-progress-trackhero--compact .otoprep-progress-trackhero__chart{
  margin-top:12px;
}
body.otoprep-app .otoprep-progress-activitychart--home .otoprep-progress-chartlegend{
  margin-top:0;
}
body.otoprep-app .otoprep-progress-activitychart--home .otoprep-progress-chartcard{
  margin-top:10px;
  border-color:rgba(16,117,188,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,249,253,.96));
}

/* 21.9.57 Phase 1 conversion wrapper update */
body.otoprep-app .otoprep-conversion-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.85fr);
  gap:18px;
  align-items:stretch;
  overflow:hidden;
}

body.otoprep-app .otoprep-conversion-hero__eyebrow{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:var(--otoprep-blue);
}

body.otoprep-app .otoprep-conversion-hero__title{
  margin:8px 0 0;
  font-size:clamp(24px, 4vw, 38px);
  line-height:1.05;
  letter-spacing:-.04em;
}

body.otoprep-app .otoprep-conversion-hero__body{
  margin:12px 0 0;
  color:var(--otoprep-muted);
  font-size:15px;
  line-height:1.55;
  max-width:720px;
}

body.otoprep-app .otoprep-conversion-hero__actions{
  margin-top:18px;
}

body.otoprep-app .otoprep-conversion-hero__note{
  margin:14px 0 0;
}

body.otoprep-app .otoprep-conversion-hero__panel{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(16,117,188,.09), rgba(16,117,188,.03));
  border:1px solid rgba(16,117,188,.14);
}

body.otoprep-app .otoprep-conversion-stat{
  display:grid;
  gap:4px;
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-conversion-stat strong{
  font-size:14px;
  font-weight:950;
}

body.otoprep-app .otoprep-conversion-stat span{
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.4;
}

body.otoprep-app .otoprep-conversion-section{
  margin-top:14px;
}

body.otoprep-app .otoprep-conversion-section__note{
  margin:14px 0 0;
}

body.otoprep-app .otoprep-exam-grid--conversion{
  margin-top:14px;
}

body.otoprep-app .otoprep-exam-card--conversion{
  display:flex;
  flex-direction:column;
  gap:10px;
  border-color:rgba(16,117,188,.14);
  box-shadow:0 8px 20px rgba(16,117,188,.06);
}

body.otoprep-app .otoprep-exam-card--conversion .otoprep-actions{
  margin-top:auto;
}

body.otoprep-app .otoprep-exam-card__summary{
  margin:0;
  line-height:1.45;
}

body.otoprep-app .otoprep-exam-card__chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

body.otoprep-app .otoprep-mini-chip{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.14);
  color:var(--otoprep-blue);
  font-size:12px;
  font-weight:850;
}

body.otoprep-app .otoprep-plan-section{
  margin-top:14px;
}

body.otoprep-app .otoprep-plan-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
  margin-top:14px;
}

body.otoprep-app .otoprep-plan-group{
  margin-top:16px;
}

body.otoprep-app .otoprep-plan-group__title{
  font-weight:900;
  margin-bottom:8px;
}

body.otoprep-app .otoprep-plan-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:100%;
  padding:14px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(16,117,188,.16);
  box-shadow:0 10px 24px rgba(16,117,188,.07);
}

body.otoprep-app .otoprep-plan-card.is-featured{
  border-color:rgba(231,105,75,.36);
  box-shadow:0 14px 30px rgba(231,105,75,.12);
}

body.otoprep-app .otoprep-plan-card__badge{
  align-self:flex-start;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(231,105,75,.12);
  border:1px solid rgba(231,105,75,.25);
  color:var(--otoprep-orange);
  font-size:12px;
  font-weight:950;
}

body.otoprep-app .otoprep-plan-card__title{
  margin:0;
  font-size:17px;
  line-height:1.2;
  font-weight:950;
}

body.otoprep-app .otoprep-plan-card__price{
  font-size:18px;
  font-weight:950;
  color:var(--otoprep-blue);
}

body.otoprep-app .otoprep-plan-card__meta{
  margin:0;
  color:var(--otoprep-muted);
  font-size:13px;
  line-height:1.45;
}

body.otoprep-app .otoprep-plan-card__benefits{
  margin:0 0 2px;
  padding:0;
  list-style:none;
  display:grid;
  gap:7px;
  color:var(--otoprep-ink);
  font-size:13px;
  line-height:1.35;
}

body.otoprep-app .otoprep-plan-card__benefits li{
  position:relative;
  padding-left:18px;
}

body.otoprep-app .otoprep-plan-card__benefits li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--otoprep-blue);
  font-weight:950;
}

body.otoprep-app .otoprep-plan-card .otoprep-btn{
  margin-top:auto;
}

body.otoprep-app .otoprep-lock-card--trial{
  border-color:rgba(231,105,75,.24);
  background:linear-gradient(180deg, rgba(231,105,75,.06), #fff 46%);
}

body.otoprep-app .otoprep-lock-card__eyebrow{
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(231,105,75,.12);
  border:1px solid rgba(231,105,75,.24);
  color:var(--otoprep-orange);
  font-size:12px;
  font-weight:950;
}

body.otoprep-app .otoprep-lock-card__title{
  margin:10px 0 0;
  font-size:24px;
  line-height:1.12;
}

body.otoprep-app .otoprep-lock-card__copy{
  margin:10px 0 0;
  line-height:1.5;
}

body.otoprep-app .otoprep-lock-card__bullets{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
}

body.otoprep-app .otoprep-lock-card__bullets li{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.14);
  color:var(--otoprep-blue);
  font-size:12px;
  font-weight:850;
}

@media (max-width: 760px){
  body.otoprep-app .otoprep-conversion-hero{
    grid-template-columns:1fr;
  }

  body.otoprep-app .otoprep-conversion-hero__title{
    font-size:28px;
  }

  body.otoprep-app .otoprep-plan-grid{
    grid-template-columns:1fr;
  }
}


/* 22.1.2 Phase 2 trial-to-paid funnel update */
body.otoprep-app .otoprep-home-trial,
body.otoprep-app .otoprep-result-upsell,
body.otoprep-app .otoprep-trial-moment{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.8fr);
  gap:20px;
  align-items:stretch;
  overflow:hidden;
}
body.otoprep-app .otoprep-home-trial{
  position:relative;
  border-color:rgba(37,99,235,.24);
}
body.otoprep-app .otoprep-home-trial__copy,
body.otoprep-app .otoprep-result-upsell__copy{
  min-width:0;
}
body.otoprep-app .otoprep-home-trial__eyebrow,
body.otoprep-app .otoprep-result-upsell__eyebrow,
body.otoprep-app .otoprep-trial-home__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#1d4ed8;
}
body.otoprep-app .otoprep-home-trial__title,
body.otoprep-app .otoprep-result-upsell__title{
  margin:0;
  font-size:clamp(22px,3vw,32px);
  line-height:1.08;
  letter-spacing:-.03em;
}
body.otoprep-app .otoprep-home-trial__body,
body.otoprep-app .otoprep-result-upsell__body{
  margin:10px 0 0;
  max-width:760px;
}
body.otoprep-app .otoprep-home-trial__chips,
body.otoprep-app .otoprep-result-upsell__stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
body.otoprep-app .otoprep-result-upsell__stats span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 10px;
  border:1px solid rgba(148,163,184,.34);
  border-radius:999px;
  background:rgba(248,250,252,.84);
  color:#475569;
  font-size:13px;
}
body.otoprep-app .otoprep-home-trial__actions,
body.otoprep-app .otoprep-result-upsell__actions,
body.otoprep-app .otoprep-trial-moment__actions{
  margin-top:18px;
}
body.otoprep-app .otoprep-home-trial__meter,
body.otoprep-app .otoprep-result-upsell__side,
body.otoprep-app .otoprep-trial-moment__meter{
  border:1px solid rgba(148,163,184,.28);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.9));
  padding:16px;
  min-width:0;
}
body.otoprep-app .otoprep-home-trial__meterhead,
body.otoprep-app .otoprep-result-upsell__meterhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  color:#0f172a;
}
body.otoprep-app .otoprep-home-trial__meterhead span,
body.otoprep-app .otoprep-result-upsell__meterhead span{
  color:#64748b;
  font-size:13px;
  font-weight:700;
}
body.otoprep-app .otoprep-home-trial__bar{
  height:12px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(226,232,240,.92);
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.24);
}
body.otoprep-app .otoprep-home-trial__bar span{
  display:block;
  height:100%;
  min-width:4px;
  border-radius:inherit;
  background:linear-gradient(90deg,#2563eb,#14b8a6);
}
body.otoprep-app .otoprep-home-trial__numbers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
body.otoprep-app .otoprep-home-trial__numbers span{
  display:block;
  border:1px solid rgba(148,163,184,.22);
  border-radius:14px;
  padding:10px;
  background:#fff;
  color:#64748b;
  font-size:12px;
}
body.otoprep-app .otoprep-home-trial__numbers strong{
  display:block;
  color:#0f172a;
  font-size:20px;
  line-height:1.1;
}
body.otoprep-app .otoprep-home-quickcard--upgrade{
  border-color:rgba(37,99,235,.38);
  background:linear-gradient(180deg,rgba(239,246,255,.92),rgba(255,255,255,.96));
}
body.otoprep-app .otoprep-home-quickcard--upgrade .otoprep-home-quickcard__eyebrow{
  color:#1d4ed8;
}
body.otoprep-app .otoprep-result-upsell{
  border-color:rgba(20,184,166,.28);
}
body.otoprep-app .otoprep-trial-moment__content{
  display:contents;
}
body.otoprep-app .otoprep-trial-path__grid{
  margin-top:14px;
}
@media (max-width: 780px){
  body.otoprep-app .otoprep-home-trial,
  body.otoprep-app .otoprep-result-upsell,
  body.otoprep-app .otoprep-trial-moment{
    grid-template-columns:1fr;
  }
  body.otoprep-app .otoprep-home-trial__numbers{
    grid-template-columns:1fr;
  }
  body.otoprep-app .otoprep-home-trial__actions .otoprep-btn,
  body.otoprep-app .otoprep-result-upsell__actions .otoprep-btn,
  body.otoprep-app .otoprep-trial-moment__actions .otoprep-btn{
    width:100%;
    justify-content:center;
  }
}

/* -------------------------------------------------------------
 * OtoPrep /app Phase 2: trial-to-paid funnel surfaces
 * ------------------------------------------------------------- */
body.otoprep-app .otoprep-trial-home{
  overflow:hidden;
  border-color:rgba(16,117,188,.18);
  background:linear-gradient(135deg, rgba(16,117,188,.08), rgba(231,105,75,.07) 54%, #fff 100%);
}

body.otoprep-app .otoprep-trial-home__hero{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(260px, .75fr);
  gap:18px;
  align-items:stretch;
}

body.otoprep-app .otoprep-trial-home__copy{
  min-width:0;
}

body.otoprep-app .otoprep-trial-home__eyebrow,
body.otoprep-app .otoprep-result-upsell__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(231,105,75,.12);
  border:1px solid rgba(231,105,75,.24);
  color:var(--otoprep-orange);
  font-size:12px;
  font-weight:950;
  letter-spacing:.01em;
}

body.otoprep-app .otoprep-trial-home h2{
  margin:10px 0 8px;
  font-size:clamp(25px, 4vw, 38px);
  line-height:1.05;
  letter-spacing:-.03em;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-trial-home__actions,
body.otoprep-app .otoprep-trial-moment__actions,
body.otoprep-app .otoprep-result-upsell__actions{
  margin-top:16px;
}

body.otoprep-app .otoprep-trial-home__metercard{
  display:flex;
  align-items:center;
  min-width:0;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(16,117,188,.14);
  box-shadow:0 16px 36px rgba(16,117,188,.10);
}

body.otoprep-app .otoprep-trial-meter{
  width:100%;
}

body.otoprep-app .otoprep-trial-meter__top,
body.otoprep-app .otoprep-result-upsell__meterhead{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  color:var(--otoprep-ink);
  font-size:13px;
}

body.otoprep-app .otoprep-trial-meter__top span,
body.otoprep-app .otoprep-result-upsell__meterhead span{
  color:var(--otoprep-muted);
  font-weight:750;
}

body.otoprep-app .otoprep-trial-meter__top strong{
  text-align:right;
  font-size:13px;
  line-height:1.25;
}

body.otoprep-app .otoprep-trial-meter__track,
body.otoprep-app .otoprep-home-trial__bar{
  position:relative;
  height:12px;
  margin-top:11px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(16,117,188,.11);
  border:1px solid rgba(16,117,188,.12);
}

body.otoprep-app .otoprep-trial-meter__fill,
body.otoprep-app .otoprep-home-trial__bar span{
  display:block;
  height:100%;
  min-width:4px;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--otoprep-blue), var(--otoprep-orange));
}

body.otoprep-app .otoprep-trial-meter__meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
  color:var(--otoprep-muted);
  font-size:12px;
  font-weight:750;
}

body.otoprep-app .otoprep-trial-meter--compact .otoprep-trial-meter__top{
  display:block;
}

body.otoprep-app .otoprep-trial-meter--compact .otoprep-trial-meter__top strong{
  display:block;
  margin-top:3px;
  text-align:left;
}

body.otoprep-app .otoprep-trial-dashboard,
body.otoprep-app .otoprep-trial-path{
  border-color:rgba(16,117,188,.14);
}

body.otoprep-app .otoprep-trial-kpis{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

body.otoprep-app .otoprep-trial-path__grid{
  margin-top:14px;
}

body.otoprep-app .otoprep-home-quickcard--upgrade{
  border-color:rgba(231,105,75,.30);
  background:linear-gradient(180deg, rgba(231,105,75,.09), #fff 72%);
}

body.otoprep-app .otoprep-home-quickcard--upgrade .otoprep-home-quickcard__eyebrow{
  color:var(--otoprep-orange);
}

body.otoprep-app .otoprep-trial-moment,
body.otoprep-app .otoprep-result-upsell{
  border-color:rgba(231,105,75,.25);
  background:linear-gradient(135deg, rgba(231,105,75,.08), #fff 48%, rgba(16,117,188,.05));
}

body.otoprep-app .otoprep-trial-moment__content,
body.otoprep-app .otoprep-result-upsell{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(260px, .75fr);
  gap:16px;
  align-items:center;
}

body.otoprep-app .otoprep-trial-moment__score{
  margin-top:8px;
  font-weight:800;
}

body.otoprep-app .otoprep-trial-moment__meter,
body.otoprep-app .otoprep-result-upsell__side{
  min-width:0;
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(16,117,188,.13);
}

body.otoprep-app .otoprep-result-upsell__copy{
  min-width:0;
}

body.otoprep-app .otoprep-result-upsell__title{
  margin:10px 0 0;
  font-size:24px;
  line-height:1.12;
}

body.otoprep-app .otoprep-result-upsell__body{
  margin-top:8px;
}

body.otoprep-app .otoprep-result-upsell__stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

body.otoprep-app .otoprep-result-upsell__stats span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(16,117,188,.08);
  border:1px solid rgba(16,117,188,.13);
  color:var(--otoprep-blue);
  font-size:12px;
  font-weight:850;
}

body.otoprep-app .otoprep-result-upsell__meterhead{
  margin-bottom:0;
}

@media (max-width: 900px){
  body.otoprep-app .otoprep-trial-home__hero,
  body.otoprep-app .otoprep-trial-moment__content,
  body.otoprep-app .otoprep-result-upsell{
    grid-template-columns:1fr;
  }

  body.otoprep-app .otoprep-trial-kpis{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px){
  body.otoprep-app .otoprep-trial-home,
  body.otoprep-app .otoprep-trial-dashboard,
  body.otoprep-app .otoprep-trial-path,
  body.otoprep-app .otoprep-trial-moment,
  body.otoprep-app .otoprep-result-upsell{
    border-radius:18px;
  }

  body.otoprep-app .otoprep-trial-home__metercard,
  body.otoprep-app .otoprep-trial-moment__meter,
  body.otoprep-app .otoprep-result-upsell__side{
    padding:12px;
  }

  body.otoprep-app .otoprep-trial-kpis{
    grid-template-columns:1fr;
  }

  body.otoprep-app .otoprep-trial-meter__top,
  body.otoprep-app .otoprep-trial-meter__meta,
  body.otoprep-app .otoprep-result-upsell__meterhead{
    display:block;
  }

  body.otoprep-app .otoprep-trial-meter__top strong,
  body.otoprep-app .otoprep-result-upsell__meterhead span{
    display:block;
    margin-top:3px;
    text-align:left;
  }
}

/* 22.1.3 Phase 3 mobile shell polish: compact topbar, tap targets, focus states */
body.otoprep-app{
  --otoprep-focus-ring:rgba(16,117,188,.42);
}

body.otoprep-app .otoprep-topbar--app-shell{
  display:grid;
  gap:8px;
}

body.otoprep-app .otoprep-topbar--app-shell .otoprep-topbar__row--primary{
  align-items:center;
  min-width:0;
}

body.otoprep-app .otoprep-topbar--app-shell .otoprep-brand{
  min-height:44px;
  min-width:0;
  padding:0 6px 0 0;
  border-radius:14px;
  text-decoration:none;
  color:var(--otoprep-ink);
}

body.otoprep-app .otoprep-topbar--app-shell .otoprep-brand__text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.otoprep-app .otoprep-topbar--app-shell .otoprep-topbar__right{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-topbar__examSlot,
body.otoprep-app .otoprep-topbar__statusSlot{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

body.otoprep-app .otoprep-topbar__examSlot{
  flex:1 1 220px;
}

body.otoprep-app .otoprep-topbar__statusSlot{
  flex:0 1 auto;
}

body.otoprep-app .otoprep-pill,
body.otoprep-app .otoprep-chip,
body.otoprep-app .otoprep-btn,
body.otoprep-app .otoprep-seg__btn,
body.otoprep-app .otoprep-tab,
body.otoprep-app .otoprep-exam-current,
body.otoprep-app .otoprep-topbar__surfaceSummary,
body.otoprep-app .otoprep-live-action,
body.otoprep-app .otoprep-live-select{
  min-height:44px;
}

body.otoprep-app .otoprep-pill,
body.otoprep-app .otoprep-chip,
body.otoprep-app .otoprep-btn,
body.otoprep-app .otoprep-seg__btn,
body.otoprep-app .otoprep-exam-current,
body.otoprep-app .otoprep-topbar__surfaceSummary{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(16,117,188,.12);
}

body.otoprep-app :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--otoprep-focus-ring);
  outline-offset:3px;
  border-radius:12px;
}

body.otoprep-app .otoprep-exam-menu{
  position:relative;
  display:inline-block;
  max-width:100%;
}

body.otoprep-app .otoprep-exam-menu__summary,
body.otoprep-app .otoprep-exam-current--single{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:1px;
  min-width:170px;
  max-width:min(320px, 42vw);
  padding:7px 34px 7px 12px;
  line-height:1.12;
  list-style:none;
  cursor:pointer;
}

body.otoprep-app .otoprep-exam-current--single{
  cursor:default;
  padding-right:12px;
}

body.otoprep-app .otoprep-exam-menu__summary::-webkit-details-marker{
  display:none;
}

body.otoprep-app .otoprep-exam-menu__summary::after{
  content:'▾';
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  color:var(--otoprep-muted);
  font-size:13px;
  transition:transform .16s ease;
}

body.otoprep-app .otoprep-exam-menu[open] .otoprep-exam-menu__summary::after{
  transform:translateY(-50%) rotate(180deg);
}

body.otoprep-app .otoprep-exam-menu__label{
  display:block;
  color:var(--otoprep-muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

body.otoprep-app .otoprep-exam-menu__value{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--otoprep-ink);
  font-size:13px;
  font-weight:950;
}

body.otoprep-app .otoprep-exam-menu__panel{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:120;
  min-width:260px;
  max-width:min(92vw, 380px);
  padding:8px;
  border:1px solid rgba(16,117,188,.16);
  border-radius:16px;
  background:#fff;
  box-shadow:0 22px 48px rgba(15,23,42,.18);
}

body.otoprep-app .otoprep-exam-menu[open] .otoprep-exam-menu__panel{
  display:grid;
  gap:6px;
}

body.otoprep-app .otoprep-exam-menu__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding:9px 11px;
  border-radius:12px;
  text-decoration:none;
  color:var(--otoprep-ink);
  font-size:13px;
  font-weight:850;
}

body.otoprep-app .otoprep-exam-menu__item:hover,
body.otoprep-app .otoprep-exam-menu__item:focus-visible{
  background:rgba(16,117,188,.08);
}

body.otoprep-app .otoprep-exam-menu__item.is-active{
  background:rgba(16,117,188,.10);
  color:var(--otoprep-blue);
}

body.otoprep-app .otoprep-exam-menu__activeText{
  flex:0 0 auto;
  color:var(--otoprep-muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

body.otoprep-app .otoprep-topbar--app-shell .otoprep-trialbar{
  align-items:center;
  gap:8px;
}

body.otoprep-app .otoprep-topbar--app-shell .otoprep-pill--upgrade{
  box-shadow:0 8px 18px rgba(231,105,75,.10);
}

@media (max-width: 860px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell{
    padding:calc(8px + env(safe-area-inset-top)) 10px 10px;
    border-radius:16px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__row--primary{
    display:grid;
    grid-template-columns:minmax(0, auto) minmax(0, 1fr);
    grid-template-areas:
      "brand exam"
      "status status";
    gap:8px 10px;
    align-items:center;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand{
    grid-area:brand;
    max-width:42vw;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand__logo{
    width:32px;
    height:32px;
    flex:0 0 32px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__right{
    display:contents;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__examSlot{
    grid-area:exam;
    justify-self:end;
    width:100%;
    justify-content:flex-end;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__statusSlot{
    grid-area:status;
    width:100%;
    justify-content:stretch;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__statusSlot:empty{
    display:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__statusSlot > .otoprep-pill,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__statusSlot > .otoprep-trialbar{
    width:100%;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-trialbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-trialbar > .otoprep-pill{
    width:100%;
    padding-left:10px;
    padding-right:10px;
    white-space:normal;
    text-align:center;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-menu,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-current--single{
    width:min(100%, 240px);
    max-width:100%;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-menu__summary,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-current--single{
    min-width:0;
    width:100%;
    max-width:100%;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-menu__panel{
    right:0;
    left:auto;
    min-width:min(320px, calc(100vw - 28px));
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__sub--surface{
    margin-top:0;
    padding-top:8px;
    border-top:1px solid rgba(16,117,188,.10);
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar__surfaceSummary{
    width:100%;
    justify-content:space-between;
    min-height:44px;
  }
}

@media (max-width: 520px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand__text{
    max-width:26vw;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-menu__label,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-current--single .otoprep-exam-menu__label{
    display:none;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-exam-menu__value{
    font-size:12px;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-trialbar{
    grid-template-columns:1fr;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-upgrade__sep,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-upgrade__meta--short{
    display:none;
  }
}


/* 22.1.4 Phase 4: progressive onboarding and value-moment retention nudges */
body.otoprep-app .otoprep-onboard--starter{
  max-width:760px;
  margin:0 auto;
  padding:clamp(22px, 4vw, 34px);
}

body.otoprep-app .otoprep-onboard__eyebrow,
body.otoprep-app .otoprep-retention-card__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 8px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(16,117,188,.10);
  color:#0b5f9d;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}

body.otoprep-app .otoprep-onboard--starter h1{
  margin-bottom:8px;
}

body.otoprep-app .otoprep-onboard__lead{
  max-width:620px;
  margin:0 auto 14px;
  color:#516070;
  font-size:15px;
  line-height:1.55;
}

body.otoprep-app .otoprep-onboard__path{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:16px 0 22px;
}

body.otoprep-app .otoprep-onboard__path span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(16,117,188,.16);
  border-radius:999px;
  background:#f7fbff;
  color:#25384d;
  font-size:13px;
  font-weight:700;
}

body.otoprep-app .otoprep-onboard--starter .otoprep-onboard__grid{
  margin-top:8px;
}

body.otoprep-app .otoprep-onboard__fineprint{
  margin:12px 0 0;
  color:#64748b;
  font-size:13px;
  line-height:1.45;
  text-align:center;
}

body.otoprep-app .otoprep-retention-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:18px 0;
  padding:20px;
  border:1px solid rgba(16,117,188,.20);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(247,251,255,.98), rgba(255,255,255,.98));
  box-shadow:0 16px 40px rgba(15,43,74,.08);
}

body.otoprep-app .otoprep-retention-card__copy h2,
body.otoprep-app .otoprep-retention-card__copy h3{
  margin:0 0 8px;
  color:#142235;
  font-size:clamp(20px, 2.4vw, 26px);
  line-height:1.15;
}

body.otoprep-app .otoprep-retention-card__copy p{
  margin:0;
  max-width:620px;
  color:#516070;
  font-size:15px;
  line-height:1.55;
}

body.otoprep-app .otoprep-retention-card__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  min-width:min(100%, 260px);
}

body.otoprep-app .otoprep-retention-card__actions .otoprep-btn{
  min-height:44px;
}

body.otoprep-app .otoprep-retention-card [data-otoprep-install-trigger]{
  border-style:dashed;
}

body.otoprep-app .otoprep-install-banner--manual .otoprep-install-banner__title::after{
  content:' · after your result';
  color:#64748b;
  font-size:12px;
  font-weight:700;
}

@media (max-width: 760px){
  body.otoprep-app .otoprep-onboard--starter{
    padding:20px 16px;
  }

  body.otoprep-app .otoprep-onboard__path{
    justify-content:flex-start;
  }

  body.otoprep-app .otoprep-onboard__path span{
    flex:1 1 calc(50% - 8px);
    justify-content:center;
    text-align:center;
  }

  body.otoprep-app .otoprep-retention-card{
    grid-template-columns:1fr;
    padding:18px;
  }

  body.otoprep-app .otoprep-retention-card__actions{
    justify-content:stretch;
    min-width:0;
  }

  body.otoprep-app .otoprep-retention-card__actions .otoprep-btn{
    flex:1 1 100%;
    justify-content:center;
  }
}

@media (max-width: 460px){
  body.otoprep-app .otoprep-onboard__path span{
    flex-basis:100%;
  }
}

/* Speaking Practice UX refresh */
body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:10px;
  width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCard{
  align-items:flex-start;
  justify-content:flex-start;
  min-height:112px;
  padding:14px;
  border-radius:16px;
  text-align:left;
  white-space:normal;
  line-height:1.35;
  gap:7px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCardTitle{
  display:block;
  font-size:15px;
  font-weight:900;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCardTag{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  border:1px solid currentColor;
  opacity:.82;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCardDesc{
  display:block;
  font-size:12px;
  font-weight:700;
  opacity:.82;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCard.is-active .otoprep-voice__modeCardDesc,
body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCard.is-active .otoprep-voice__modeCardTag{
  opacity:.92;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__typeFallback{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(16,117,188,.16);
  border-radius:16px;
  background:rgba(16,117,188,.04);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__typeFallback > summary{
  cursor:pointer;
  font-weight:900;
  min-height:32px;
  display:flex;
  align-items:center;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__typeFallback.is-suggested{
  box-shadow:0 14px 34px rgba(16,117,188,.16);
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__typeForm{
  margin-top:10px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__typeLabel{
  display:block;
  margin-bottom:6px;
  font-size:12px;
  font-weight:900;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__typeInput{
  width:100%;
  min-height:88px;
  resize:vertical;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.18);
  padding:10px 12px;
  font:inherit;
  line-height:1.45;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__typeActions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__typeHint{
  font-size:12px;
  opacity:.72;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__transcriptPreview[data-otoprep-voice-transcript-collapsed="1"] .otoprep-voice__transcriptPreviewMeta{
  opacity:.72;
}

@media (max-width: 720px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCards{
    grid-template-columns:1fr;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCard{
    min-height:0;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__typeActions{
    align-items:stretch;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__typeActions .otoprep-btn{
    width:100%;
    justify-content:center;
  }
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCardTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCardPill{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  border:1px solid currentColor;
  opacity:.82;
  white-space:nowrap;
}

body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCard.is-active .otoprep-voice__modeCardPill{
  opacity:.92;
}

@media (max-width: 420px){
  body.otoprep-app.otoprep-view-voice .otoprep-voice__modeCardTop{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* =========================================================
   22.1.10 /app header fit + oral simulation desktop controls
   ========================================================= */

/* Main /app wrapper: keep the header as a compact information row instead of
   stacking brand, exam/status, and Quiz/Oral controls into a tall card. */
body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  grid-template-areas:"primary surface" !important;
  align-items:center !important;
  gap:8px 12px !important;
  padding:calc(8px + env(safe-area-inset-top)) 10px 8px !important;
  border-radius:16px !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__row--primary{
  grid-area:primary !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  min-width:0 !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand--home{
  flex:0 1 auto !important;
  min-width:0 !important;
  max-width:clamp(112px, 22vw, 220px) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand__logo{
  flex:0 0 32px !important;
  width:32px !important;
  height:32px !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand__text,
body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand__wordmark{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__right{
  display:flex !important;
  flex:1 1 auto !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  min-width:0 !important;
  width:auto !important;
  overflow:visible !important;
  padding:0 !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__examSlot,
body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__statusSlot{
  min-width:0 !important;
  width:auto !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__examSlot{
  flex:0 1 260px !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__statusSlot{
  flex:0 1 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-trialbar{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  max-width:100% !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-pill,
body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-chip,
body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-exam-current,
body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-exam-menu__summary{
  min-height:40px !important;
  white-space:nowrap !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-exam-menu,
body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-exam-current--single{
  width:100% !important;
  max-width:100% !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-exam-menu__summary,
body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-exam-current--single{
  min-width:0 !important;
  max-width:100% !important;
  padding-top:5px !important;
  padding-bottom:5px !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__sub--surface{
  grid-area:surface !important;
  align-self:center !important;
  justify-self:end !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  min-width:0 !important;
}

body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceDetails{
  position:relative !important;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
}

/* Desktop/laptop: show the actual Quiz / Oral segmented control inline. */
@media (min-width: 981px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceSummary{
    display:none !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfacePanel{
    display:block !important;
    position:static !important;
    width:auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surface{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceLabel,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceHint{
    display:none !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceSeg{
    display:inline-flex !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceSeg .otoprep-seg__btn{
    min-height:38px !important;
    padding:0 13px !important;
  }
}

/* Phone/tablet: keep the same controls available through a clear compact chip;
   the dropdown panel is hidden until opened so it cannot make the header tall. */
@media (max-width: 980px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell{
    grid-template-columns:minmax(0, 1fr) auto !important;
    grid-template-areas:"primary surface" !important;
    gap:7px 8px !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__right{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__right::-webkit-scrollbar{
    display:none !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__examSlot,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__statusSlot,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-trialbar,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-pill{
    flex:0 0 auto !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__examSlot{
    max-width:min(44vw, 250px) !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-pill,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-chip,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-exam-current,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-exam-menu__summary{
    min-height:36px !important;
    padding-top:4px !important;
    padding-bottom:4px !important;
    font-size:12px !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceSummary{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    min-height:36px !important;
    width:auto !important;
    padding:0 28px 0 11px !important;
    border:1px solid rgba(16,117,188,.14) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 8px 18px rgba(16,117,188,.06) !important;
    white-space:nowrap !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceSummaryLabel{
    display:inline !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:900 !important;
    color:var(--otoprep-muted) !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceSummaryValue{
    display:inline !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:950 !important;
    color:var(--otoprep-blue) !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceSummary::after{
    content:'▾' !important;
    position:absolute !important;
    top:50% !important;
    right:10px !important;
    transform:translateY(-50%) !important;
    display:block !important;
    color:var(--otoprep-muted) !important;
    font-size:12px !important;
    line-height:1 !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceDetails[open] .otoprep-topbar__surfaceSummary::after{
    transform:translateY(-50%) rotate(180deg) !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfacePanel{
    display:none !important;
    position:absolute !important;
    top:calc(100% + 8px) !important;
    right:0 !important;
    width:min(92vw, 320px) !important;
    padding:12px !important;
    border:1px solid rgba(16,117,188,.14) !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 18px 40px rgba(16,117,188,.16) !important;
    z-index:200 !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceDetails[open] .otoprep-topbar__surfacePanel{
    display:block !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfacePanel .otoprep-topbar__surface{
    display:grid !important;
    gap:10px !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfacePanel .otoprep-topbar__surfaceSeg{
    width:100% !important;
    display:flex !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfacePanel .otoprep-seg__btn{
    flex:1 1 0 !important;
  }
}

@media (max-width: 520px){
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell{
    padding:calc(6px + env(safe-area-inset-top)) 8px 6px !important;
    gap:6px !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand--home{
    max-width:42px !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand__text,
  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand__wordmark{
    display:none !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-brand__logo{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__examSlot{
    max-width:min(48vw, 210px) !important;
  }

  body.otoprep-app:not(.otoprep-view-voice):not(.otoprep-view-quiz) .otoprep-topbar--app-shell .otoprep-topbar__surfaceSummaryLabel{
    display:none !important;
  }
}

/* Oral/voice simulation topbar: expose the Quiz / Oral switch and keep desktop
   settings behind a More menu so the header and stage fit on laptops. */
body.otoprep-app.otoprep-view-voice .otoprep-voiceSwitch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid rgba(16,117,188,.18);
  border-radius:999px;
  background:rgba(16,117,188,.06);
  white-space:nowrap;
}

body.otoprep-app.otoprep-view-voice .otoprep-voiceSwitch__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  text-decoration:none;
  color:var(--otoprep-blue);
  font-size:12px;
  font-weight:900;
  line-height:1;
}

body.otoprep-app.otoprep-view-voice .otoprep-voiceSwitch__btn.is-active{
  background:var(--otoprep-blue);
  color:#fff;
  box-shadow:0 8px 18px rgba(16,117,188,.16);
}

@media (min-width: 981px){
  body.otoprep-app.otoprep-view-voice .otoprep-topbar--voice{
    padding:10px 12px !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__row--voice{
    grid-template-columns:auto minmax(220px, 1fr) auto !important;
    gap:12px !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__right--voice{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__meta[data-otoprep-voice-topmeta]{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:6px !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__sub--voice{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    min-height:36px !important;
    min-width:76px !important;
    padding:0 12px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryLabel{
    display:none !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummaryValue{
    display:inline !important;
    font-size:12px !important;
    font-weight:950 !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary::before{
    content:none !important;
    display:none !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary::after{
    content:'▾' !important;
    display:inline !important;
    position:static !important;
    transform:none !important;
    color:var(--otoprep-muted) !important;
    font-size:12px !important;
    line-height:1 !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurface[open] .otoprep-topbar__surfaceSummary::after{
    content:'▴' !important;
    transform:none !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurfacePanel{
    display:none !important;
    position:absolute !important;
    right:0 !important;
    top:calc(100% + 10px) !important;
    width:min(360px, calc(100vw - 32px)) !important;
    z-index:220 !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSurface[open] .otoprep-topbar__voiceSurfacePanel{
    display:block !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surface--voice{
    display:grid !important;
    gap:12px !important;
    padding:14px !important;
    border:1px solid rgba(16,117,188,.14) !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 18px 44px rgba(18,32,42,.16) !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceLabel,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceHint{
    display:block !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceSetting,
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceActions{
    margin-top:0 !important;
    min-width:0 !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-topbar__voiceActions .otoprep-live-action{
    width:100% !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__layout{
    grid-template-columns:minmax(0, 1fr) minmax(320px, 380px) !important;
    gap:14px !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-voice__stimulus{
    min-height:calc(100vh - 132px) !important;
  }
}

@media (max-width: 1160px) and (min-width: 981px){
  body.otoprep-app.otoprep-view-voice .otoprep-brand--quiz .otoprep-brand__wordmark{
    display:none !important;
  }

  body.otoprep-app.otoprep-view-voice .otoprep-quizbar__title{
    font-size:18px !important;
  }
}

@media (max-width: 780px){
  body.otoprep-app.otoprep-view-voice .otoprep-voiceSwitch{
    display:none !important;
  }
}

@media (max-width: 980px){
  body.otoprep-app.otoprep-view-voice .otoprep-topbar__surfaceSummary::before{
    content:'⋯' !important;
    display:block !important;
    color:var(--otoprep-blue) !important;
    font-size:20px !important;
    line-height:1 !important;
    font-weight:900 !important;
  }
}


/* 22.1.11 Home command-centre refresh */
body.otoprep-app .otoprep-home-today{
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  gap:18px;
  border-color:rgba(16,117,188,.22);
  background:linear-gradient(135deg, rgba(16,117,188,.10), #ffffff 54%, rgba(14,165,233,.07));
}
body.otoprep-app .otoprep-home-today__copy{
  min-width:0;
  max-width:760px;
}
body.otoprep-app .otoprep-home-today__eyebrow,
body.otoprep-app .otoprep-home-datecard__eyebrow,
body.otoprep-app .otoprep-home-focus__eyebrow,
body.otoprep-app .otoprep-home-oral__eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  padding:4px 10px;
  background:rgba(16,117,188,.10);
  color:var(--otoprep-blue);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
body.otoprep-app .otoprep-home-today__title{
  margin:10px 0 0;
  font-size:clamp(24px,3vw,34px);
  line-height:1.08;
  letter-spacing:-.03em;
}
body.otoprep-app .otoprep-home-today__body{
  margin:10px 0 0;
  max-width:680px;
  font-size:15px;
  line-height:1.5;
}
body.otoprep-app .otoprep-home-today__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
body.otoprep-app .otoprep-home-today__actions{
  flex:0 0 230px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}
body.otoprep-app .otoprep-home-today__actions .otoprep-btn{
  width:100%;
  justify-content:center;
}

body.otoprep-app .otoprep-home-datecard{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-top:12px;
  padding:14px 16px;
}
body.otoprep-app .otoprep-home-datecard__summary{
  min-width:0;
}
body.otoprep-app .otoprep-home-datecard__summary strong,
body.otoprep-app .otoprep-home-datecard__summary span{
  display:block;
}
body.otoprep-app .otoprep-home-datecard__summary strong{
  margin-top:7px;
  font-size:16px;
  line-height:1.25;
}
body.otoprep-app .otoprep-home-datecard__summary span{
  margin-top:3px;
  color:var(--otoprep-muted);
  font-size:13px;
}
body.otoprep-app .otoprep-home-datecard__edit{
  flex:0 0 auto;
  min-width:0;
  text-align:right;
}
body.otoprep-app .otoprep-home-datecard__edit > summary{
  list-style:none;
  cursor:pointer;
}
body.otoprep-app .otoprep-home-datecard__edit > summary::-webkit-details-marker{
  display:none;
}
body.otoprep-app .otoprep-home-datecard__form{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:flex-end;
  gap:8px;
  margin-top:10px;
}
body.otoprep-app .otoprep-home-datecard__form label{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:190px;
  text-align:left;
}
body.otoprep-app .otoprep-home-datecard__form label .otoprep-muted{
  font-weight:800;
  font-size:12px;
}

body.otoprep-app .otoprep-home-focus{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  border-color:rgba(16,117,188,.18);
  background:linear-gradient(135deg, #ffffff, rgba(16,117,188,.055));
}
body.otoprep-app .otoprep-home-focus__copy{
  min-width:0;
  max-width:680px;
}
body.otoprep-app .otoprep-home-focus__copy .otoprep-h3{
  margin-top:9px;
}
body.otoprep-app .otoprep-home-focus--locked{
  border-style:dashed;
  background:#fff;
}

body.otoprep-app .otoprep-home-oral{
  border-color:rgba(124,58,237,.20);
  background:linear-gradient(135deg, rgba(124,58,237,.08), #ffffff 58%);
}
body.otoprep-app .otoprep-home-oral__eyebrow{
  background:rgba(124,58,237,.12);
  color:#6d28d9;
}
body.otoprep-app .otoprep-home-oral__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}
body.otoprep-app .otoprep-home-oral__head .otoprep-h3{
  margin-top:9px;
}
body.otoprep-app .otoprep-home-oral__minutes{
  flex:0 0 140px;
  border:1px solid rgba(124,58,237,.20);
  border-radius:16px;
  padding:10px 12px;
  background:#fff;
  text-align:right;
}
body.otoprep-app .otoprep-home-oral__minutes span,
body.otoprep-app .otoprep-home-oral__minutes strong{
  display:block;
}
body.otoprep-app .otoprep-home-oral__minutes span{
  color:var(--otoprep-muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
body.otoprep-app .otoprep-home-oral__minutes strong{
  margin-top:4px;
  color:#6d28d9;
  font-size:22px;
  line-height:1;
}
body.otoprep-app .otoprep-home-oral__resume{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-top:14px;
  border:1px solid rgba(124,58,237,.18);
  border-radius:18px;
  padding:12px;
  background:#fff;
}
body.otoprep-app .otoprep-home-oral__resumeMain{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
body.otoprep-app .otoprep-home-oral__resumeKicker{
  color:#6d28d9;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
body.otoprep-app .otoprep-home-oral__resumeMain strong{
  font-size:17px;
  line-height:1.25;
}
body.otoprep-app .otoprep-home-oral__actions{
  margin-top:12px;
}
body.otoprep-app .otoprep-home-oral__locked{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-top:14px;
  border:1px dashed rgba(124,58,237,.24);
  border-radius:18px;
  padding:12px;
  background:#fff;
}
body.otoprep-app .otoprep-home-oral__empty{
  margin-top:12px;
}

body.otoprep-app .otoprep-home-glance__grid{
  margin-top:14px;
}

@media (min-width: 1040px){
  body.otoprep-app .otoprep-home-quickgrid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width: 760px){
  body.otoprep-app .otoprep-home-today,
  body.otoprep-app .otoprep-home-datecard,
  body.otoprep-app .otoprep-home-focus,
  body.otoprep-app .otoprep-home-oral__head,
  body.otoprep-app .otoprep-home-oral__resume,
  body.otoprep-app .otoprep-home-oral__locked{
    flex-direction:column;
    align-items:stretch;
  }
  body.otoprep-app .otoprep-home-today__actions,
  body.otoprep-app .otoprep-home-oral__minutes{
    flex:initial;
  }
  body.otoprep-app .otoprep-home-oral__minutes{
    text-align:left;
  }
  body.otoprep-app .otoprep-home-datecard__edit{
    width:100%;
    text-align:left;
  }
  body.otoprep-app .otoprep-home-datecard__form{
    justify-content:flex-start;
  }
  body.otoprep-app .otoprep-home-datecard__form label,
  body.otoprep-app .otoprep-home-datecard__form .otoprep-input,
  body.otoprep-app .otoprep-home-datecard__form .otoprep-btn,
  body.otoprep-app .otoprep-home-focus .otoprep-btn,
  body.otoprep-app .otoprep-home-oral__resume .otoprep-btn,
  body.otoprep-app .otoprep-home-oral__locked .otoprep-btn{
    width:100%;
  }
}

/* 22.1.12 Home Oral/Quiz mode switch */
body.otoprep-app .otoprep-home-oral-hero{
  border-color:rgba(124,58,237,.24);
  background:linear-gradient(135deg, rgba(124,58,237,.11), #ffffff 52%, rgba(139,92,246,.08));
}
body.otoprep-app .otoprep-home-oral-hero .otoprep-home-today__eyebrow{
  background:rgba(124,58,237,.12);
  color:#6d28d9;
}
body.otoprep-app .otoprep-home-oralstats{
  border-color:rgba(124,58,237,.18);
}
body.otoprep-app .otoprep-home-oralstats__grid{
  margin-top:14px;
}
body.otoprep-app .otoprep-home-oral-actions .otoprep-home-quickcard--primary{
  border-color:rgba(124,58,237,.24);
  background:linear-gradient(135deg, rgba(124,58,237,.10), #fff);
}
body.otoprep-app .otoprep-home-written-bridge{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border-style:dashed;
  background:linear-gradient(135deg, #fff, rgba(16,117,188,.045));
}
body.otoprep-app .otoprep-home-written-bridge__copy{
  min-width:0;
  max-width:720px;
}
body.otoprep-app .otoprep-home-written-bridge__copy .otoprep-h3{
  margin-top:9px;
}
body.otoprep-app .otoprep-home-written-bridge__actions{
  flex:0 0 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
body.otoprep-app .otoprep-home-written-bridge__actions .otoprep-btn{
  white-space:nowrap;
}
@media (min-width: 1040px){
  body.otoprep-app .otoprep-home-oral-actions .otoprep-home-quickgrid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media (max-width: 760px){
  body.otoprep-app .otoprep-home-written-bridge{
    flex-direction:column;
    align-items:stretch;
  }
  body.otoprep-app .otoprep-home-written-bridge__actions{
    justify-content:flex-start;
  }
  body.otoprep-app .otoprep-home-written-bridge__actions .otoprep-btn{
    width:100%;
    justify-content:center;
  }
}

/* 22.1.14 Install app journey */
body.otoprep-app [data-otoprep-hide-when-installed][hidden],
body.otoprep-app [data-otoprep-show-when-installed][hidden]{
  display:none !important;
}

body.otoprep-app.otoprep-is-standalone .otoprep-install-cta,
html.otoprep-standalone body.otoprep-app .otoprep-install-cta,
html.otoprep-standalone body.otoprep-app .otoprep-topbar__install{
  display:none !important;
}

body.otoprep-app .otoprep-pill--install{
  border-color:rgba(16,117,188,.22);
  background:rgba(16,117,188,.08);
  color:#0f5f98;
}
body.otoprep-app .otoprep-pill--install:hover{
  background:rgba(16,117,188,.13);
}
body.otoprep-app .otoprep-pill__label--short{
  display:none;
}

body.otoprep-app .otoprep-install-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-color:rgba(16,117,188,.22);
  background:linear-gradient(135deg, rgba(16,117,188,.075), #fff 52%, rgba(16,117,188,.04));
}
body.otoprep-app .otoprep-install-cta--oral{
  border-color:rgba(124,58,237,.24);
  background:linear-gradient(135deg, rgba(124,58,237,.10), #fff 52%, rgba(139,92,246,.05));
}
body.otoprep-app .otoprep-install-cta__copy{
  min-width:0;
  max-width:720px;
}
body.otoprep-app .otoprep-install-cta__eyebrow,
body.otoprep-app .otoprep-install-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(16,117,188,.12);
  color:#0f5f98;
  font-size:12px;
  font-weight:850;
  letter-spacing:.01em;
  text-transform:uppercase;
}
body.otoprep-app .otoprep-install-cta--oral .otoprep-install-cta__eyebrow{
  background:rgba(124,58,237,.13);
  color:#6d28d9;
}
body.otoprep-app .otoprep-install-cta__copy .otoprep-h3{
  margin:8px 0 6px;
}
body.otoprep-app .otoprep-install-cta__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}

body.otoprep-app .otoprep-install-page{
  display:grid;
  gap:16px;
  max-width:1180px;
  margin:0 auto;
}
body.otoprep-app .otoprep-install-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px;
  overflow:hidden;
  border-color:rgba(16,117,188,.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(16,117,188,.12), transparent 34%),
    linear-gradient(135deg, #fff, rgba(16,117,188,.055));
}
body.otoprep-app .otoprep-install-page[data-otoprep-install-surface="oral"] .otoprep-install-hero{
  border-color:rgba(124,58,237,.24);
  background:
    radial-gradient(circle at 100% 0%, rgba(124,58,237,.14), transparent 34%),
    linear-gradient(135deg, #fff, rgba(124,58,237,.055));
}
body.otoprep-app .otoprep-install-hero__icon{
  flex:0 0 auto;
  align-self:flex-start;
  width:88px;
  height:88px;
  border-radius:24px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(16,117,188,.16);
  box-shadow:0 16px 38px rgba(15,23,42,.14);
}
body.otoprep-app .otoprep-install-page[data-otoprep-install-surface="oral"] .otoprep-install-hero__icon{
  border-color:rgba(124,58,237,.18);
}
body.otoprep-app .otoprep-install-hero__icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
body.otoprep-app .otoprep-install-hero__copy{
  min-width:0;
  max-width:720px;
}
body.otoprep-app .otoprep-install-hero__title{
  margin:10px 0;
  color:#142235;
  font-size:clamp(30px, 4.8vw, 54px);
  line-height:1.02;
  letter-spacing:-.045em;
}
body.otoprep-app .otoprep-install-hero__body{
  max-width:680px;
  font-size:16px;
}
body.otoprep-app .otoprep-install-hero__badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
body.otoprep-app .otoprep-install-hero__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  min-width:min(100%, 260px);
}
body.otoprep-app .otoprep-install-status{
  display:block;
  max-width:280px;
  color:#5b6b77;
  font-size:13px;
  line-height:1.35;
  text-align:center;
}
body.otoprep-app .otoprep-install-status--success{
  color:#047857;
  font-weight:800;
}
body.otoprep-app .otoprep-install-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}
body.otoprep-app .otoprep-install-guide-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:100%;
}
body.otoprep-app .otoprep-install-guide-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:15px;
  background:rgba(16,117,188,.10);
  color:#0f5f98;
  font-size:22px;
  font-weight:900;
}
body.otoprep-app .otoprep-install-guide-card--ios .otoprep-install-guide-card__icon{
  background:rgba(124,58,237,.12);
  color:#6d28d9;
}
body.otoprep-app .otoprep-install-guide-card .otoprep-h3{
  margin:0;
}
body.otoprep-app .otoprep-install-guide-card .otoprep-btn,
body.otoprep-app .otoprep-install-guide-card .otoprep-actions{
  margin-top:auto;
}
body.otoprep-app .otoprep-install-steps{
  margin:2px 0 0;
  padding-left:20px;
  color:#334155;
  font-size:14px;
  line-height:1.5;
}
body.otoprep-app .otoprep-install-steps li + li{
  margin-top:5px;
}
body.otoprep-app .otoprep-install-offline-note,
body.otoprep-app .otoprep-install-disabled{
  border-style:dashed;
  background:linear-gradient(135deg, rgba(248,251,253,.96), #fff);
}
body.otoprep-app .otoprep-install-offline-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
body.otoprep-app .otoprep-install-offline-note .otoprep-h3{
  margin:0 0 6px;
}

body.otoprep-app .otoprep-install-banner__steps{
  margin-top:9px;
  color:#334155;
  font-size:13px;
  line-height:1.45;
}
body.otoprep-app .otoprep-install-banner__steps[hidden]{
  display:none !important;
}
body.otoprep-app .otoprep-install-banner__steps ol{
  margin:0;
  padding-left:19px;
}
body.otoprep-app .otoprep-install-banner__steps li + li{
  margin-top:3px;
}

@media (max-width: 1120px){
  body.otoprep-app .otoprep-install-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 782px){
  body.otoprep-app .otoprep-pill__label--long{
    display:none;
  }
  body.otoprep-app .otoprep-pill__label--short{
    display:inline;
  }
  body.otoprep-app .otoprep-install-cta,
  body.otoprep-app .otoprep-install-hero,
  body.otoprep-app .otoprep-install-offline-note{
    flex-direction:column;
    align-items:stretch;
  }
  body.otoprep-app .otoprep-install-cta__actions,
  body.otoprep-app .otoprep-install-hero__actions{
    justify-content:flex-start;
    width:100%;
  }
  body.otoprep-app .otoprep-install-hero__icon{
    width:72px;
    height:72px;
    border-radius:20px;
  }
  body.otoprep-app .otoprep-install-cta__actions .otoprep-btn,
  body.otoprep-app .otoprep-install-hero__actions .otoprep-btn,
  body.otoprep-app .otoprep-install-offline-note .otoprep-btn{
    width:100%;
    justify-content:center;
  }
  body.otoprep-app .otoprep-install-status{
    text-align:left;
  }
}
@media (max-width: 640px){
  body.otoprep-app .otoprep-install-grid{
    grid-template-columns:1fr;
  }
}

/* 22.1.18 First-login install walkthrough */
body.otoprep-app .otoprep-install-walkthrough[hidden]{
  display:none !important;
}
body.otoprep-app .otoprep-install-walkthrough{
  position:fixed;
  inset:0;
  z-index:220;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:calc(18px + env(safe-area-inset-top, 0px)) 18px calc(18px + env(safe-area-inset-bottom, 0px));
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
body.otoprep-app .otoprep-install-walkthrough.is-visible{
  opacity:1;
  pointer-events:auto;
}
body.otoprep-app .otoprep-install-walkthrough__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.48);
  backdrop-filter:blur(10px);
}
body.otoprep-app .otoprep-install-walkthrough__dialog{
  position:relative;
  width:min(680px, 100%);
  max-height:min(760px, calc(100vh - 36px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
  overflow:auto;
  border-radius:26px;
  border:1px solid rgba(148,163,184,.36);
  background:#fff;
  color:#142235;
  box-shadow:0 28px 80px rgba(15,23,42,.28);
  padding:24px;
  transform:translateY(10px) scale(.985);
  transition:transform .22s ease;
}
body.otoprep-app .otoprep-install-walkthrough.is-visible .otoprep-install-walkthrough__dialog{
  transform:translateY(0) scale(1);
}
body.otoprep-app .otoprep-install-walkthrough__close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.42);
  background:#fff;
  color:#334155;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
body.otoprep-app .otoprep-install-walkthrough__hero{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding-right:34px;
}
body.otoprep-app .otoprep-install-walkthrough__icon{
  flex:0 0 auto;
  width:68px;
  height:68px;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(16,117,188,.18);
  box-shadow:0 14px 30px rgba(15,23,42,.13);
}
body.otoprep-app .otoprep-install-walkthrough[data-surface="oral"] .otoprep-install-walkthrough__icon{
  border-color:rgba(124,58,237,.2);
}
body.otoprep-app .otoprep-install-walkthrough__icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body.otoprep-app .otoprep-install-walkthrough__copy{
  min-width:0;
}
body.otoprep-app .otoprep-install-walkthrough__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(16,117,188,.12);
  color:#0f5f98;
  font-size:12px;
  font-weight:850;
  letter-spacing:.01em;
  text-transform:uppercase;
}
body.otoprep-app .otoprep-install-walkthrough[data-surface="oral"] .otoprep-install-walkthrough__eyebrow{
  background:rgba(124,58,237,.13);
  color:#6d28d9;
}
body.otoprep-app .otoprep-install-walkthrough__copy h2{
  margin:9px 0 8px;
  font-size:clamp(25px, 4vw, 38px);
  line-height:1.06;
  letter-spacing:-.035em;
}
body.otoprep-app .otoprep-install-walkthrough__copy p{
  margin:0;
  font-size:15px;
  line-height:1.55;
}
body.otoprep-app .otoprep-install-walkthrough__benefits{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  margin:18px 0 14px;
}
body.otoprep-app .otoprep-install-walkthrough__benefits span{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(16,117,188,.14);
  background:rgba(16,117,188,.055);
  color:#0f5f98;
  font-size:12px;
  font-weight:850;
  line-height:1.2;
}
body.otoprep-app .otoprep-install-walkthrough[data-surface="oral"] .otoprep-install-walkthrough__benefits span{
  border-color:rgba(124,58,237,.14);
  background:rgba(124,58,237,.06);
  color:#6d28d9;
}
body.otoprep-app .otoprep-install-walkthrough__devices{
  margin:0 0 18px;
}
body.otoprep-app .otoprep-install-walkthrough__device{
  border:1px solid rgba(148,163,184,.28);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(248,251,253,.96), #fff);
  padding:14px 16px;
}
body.otoprep-app .otoprep-install-walkthrough__device strong{
  display:block;
  margin:0 0 6px;
  color:#142235;
  font-size:15px;
}
body.otoprep-app .otoprep-install-walkthrough__device p,
body.otoprep-app .otoprep-install-walkthrough__device ol{
  margin:0;
  color:#5b6b77;
  font-size:14px;
  line-height:1.5;
}
body.otoprep-app .otoprep-install-walkthrough__device p + p{
  margin-top:8px;
}
body.otoprep-app .otoprep-install-walkthrough__device ol{
  padding-left:20px;
}
body.otoprep-app .otoprep-install-walkthrough__device li + li{
  margin-top:4px;
}
body.otoprep-app .otoprep-install-walkthrough[data-device] .otoprep-install-walkthrough__device{
  display:none;
}
body.otoprep-app .otoprep-install-walkthrough[data-device="android"] .otoprep-install-walkthrough__device[data-otoprep-install-walkthrough-platform="android"],
body.otoprep-app .otoprep-install-walkthrough[data-device="ios"] .otoprep-install-walkthrough__device[data-otoprep-install-walkthrough-platform="ios"],
body.otoprep-app .otoprep-install-walkthrough[data-device="desktop"] .otoprep-install-walkthrough__device[data-otoprep-install-walkthrough-platform="desktop"]{
  display:block;
}
body.otoprep-app .otoprep-install-walkthrough__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:9px;
}
body.otoprep-app .otoprep-install-walkthrough__actions [hidden]{
  display:none !important;
}
body.otoprep-app.otoprep-reduced-motion .otoprep-install-walkthrough,
body.otoprep-app.otoprep-reduced-motion .otoprep-install-walkthrough *{
  transition:none !important;
  animation:none !important;
}
@media (max-width: 782px){
  body.otoprep-app .otoprep-install-walkthrough{
    align-items:flex-end;
    padding-left:12px;
    padding-right:12px;
  }
  body.otoprep-app .otoprep-install-walkthrough__dialog{
    width:100%;
    max-height:calc(100vh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    border-radius:24px 24px 18px 18px;
    padding:20px;
  }
  body.otoprep-app .otoprep-install-walkthrough__hero{
    flex-direction:column;
    padding-right:34px;
  }
  body.otoprep-app .otoprep-install-walkthrough__icon{
    width:60px;
    height:60px;
    border-radius:18px;
  }
  body.otoprep-app .otoprep-install-walkthrough__benefits{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  body.otoprep-app .otoprep-install-walkthrough__actions{
    flex-direction:column;
    align-items:stretch;
  }
  body.otoprep-app .otoprep-install-walkthrough__actions .otoprep-btn{
    width:100%;
    justify-content:center;
  }
}

/* Offline Practice Mode */
.otoprep-offline-card{
  position:relative;
  overflow:hidden;
}

body.otoprep-app .otoprep-offline-card--home{
  margin-top:12px;
  margin-bottom:12px;
  border-color:rgba(16,117,188,.20);
  background:linear-gradient(135deg, rgba(16,117,188,.08), #fff 58%, rgba(34,197,94,.06));
}
body.otoprep-app .otoprep-offline-card--home .otoprep-h3{
  margin-top:0;
}
body.otoprep-app .otoprep-offline-card--home .otoprep-offline-actions{
  max-width:920px;
}
body.otoprep-app .otoprep-offline-card--home.is-playing{
  margin-top:0;
  margin-bottom:0;
}
.otoprep-offline-card__head,
.otoprep-offline-question__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.otoprep-offline-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:800;
  color:#5b6b77;
}
.otoprep-offline-status[data-tone="ok"]{color:#16794b;}
.otoprep-offline-status[data-tone="bad"]{color:#b42318;}
.otoprep-offline-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.otoprep-offline-local{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.otoprep-offline-empty{
  margin:0;
}
.otoprep-offline-pack{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid rgba(16,117,188,.14);
  border-radius:16px;
  background:rgba(16,117,188,.045);
}
.otoprep-offline-pack__meta{
  display:grid;
  gap:3px;
  min-width:0;
}
.otoprep-offline-pack__meta span{
  color:#5b6b77;
  font-size:13px;
}
.otoprep-offline-pack__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.otoprep-offline-player{
  margin-top:16px;
  padding:16px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.08);
}
.otoprep-offline-question__top{
  color:#5b6b77;
  font-size:13px;
  font-weight:800;
}
.otoprep-offline-stem{
  margin:10px 0 14px;
  line-height:1.6;
}
.otoprep-offline-question__image,
.otoprep-offline-answer img{
  max-width:100%;
  height:auto;
  border-radius:12px;
  display:block;
  margin-top:8px;
}
.otoprep-offline-flags{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:10px 0 14px;
  padding:10px;
  border-radius:14px;
  background:#f7fafc;
  color:#334155;
  font-size:13px;
}
.otoprep-offline-flags label{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.otoprep-offline-answers{
  display:grid;
  gap:10px;
  margin:12px 0;
}
.otoprep-offline-answer{
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:100%;
  padding:12px;
  border:1px solid #dfe8f0;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  line-height:1.45;
}
.otoprep-offline-answer:hover,
.otoprep-offline-answer:focus-within{
  border-color:rgba(16,117,188,.55);
  box-shadow:0 0 0 3px rgba(16,117,188,.08);
}
.otoprep-offline-feedback{
  margin-top:12px;
}
.otoprep-offline-result{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid #dfe8f0;
  background:#f8fbfd;
}
.otoprep-offline-result.is-correct{
  border-color:rgba(22,121,75,.28);
  background:rgba(22,121,75,.07);
}
.otoprep-offline-result.is-wrong{
  border-color:rgba(180,35,24,.24);
  background:rgba(180,35,24,.06);
}
.otoprep-offline-explanation{
  padding:12px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  line-height:1.55;
}
.otoprep-offline-session-done{
  display:grid;
  gap:10px;
}
.otoprep-offline-card--fallback{
  padding:16px;
  border:1px solid rgba(16,117,188,.16);
  border-radius:18px;
  background:#fff;
}
@media(max-width:640px){
  .otoprep-offline-pack{
    display:grid;
  }
  .otoprep-offline-pack__actions,
  .otoprep-offline-actions{
    justify-content:stretch;
  }
  .otoprep-offline-pack__actions .otoprep-btn,
  .otoprep-offline-actions .otoprep-btn{
    width:100%;
    justify-content:center;
  }
}
.otoprep-offline-card .otoprep-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid #dfe8f0;
  background:#fff;
  color:#13202a;
  text-decoration:none;
  font-weight:850;
  cursor:pointer;
  font:inherit;
}
.otoprep-offline-card .otoprep-btn--primary{
  background:#1075BC;
  border-color:#1075BC;
  color:#fff;
}
.otoprep-offline-card .otoprep-btn--ghost{
  background:transparent;
}
.otoprep-offline-answer[aria-disabled="true"]{
  cursor:default;
  opacity:.82;
}

/* 22.2.1 Offline Practice: render downloaded questions with the same online quiz visual system. */
.otoprep-offline-card.is-playing{
  grid-column:1 / -1;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.otoprep-offline-card.is-playing > .otoprep-offline-card__head,
.otoprep-offline-card.is-playing > .otoprep-h3,
.otoprep-offline-card.is-playing > .otoprep-muted,
.otoprep-offline-card.is-playing > .otoprep-offline-actions,
.otoprep-offline-card.is-playing > .otoprep-offline-local,
.otoprep-offline-card.is-playing > .otoprep-alert{
  display:none !important;
}
.otoprep-offline-card.is-playing.otoprep-offline-card--fallback > h2,
.otoprep-offline-card.is-playing.otoprep-offline-card--fallback > p,
.otoprep-offline-card.is-playing.otoprep-offline-card--fallback > .otoprep-offline-status,
.otoprep-offline-card.is-playing.otoprep-offline-card--fallback > .otoprep-offline-local{
  display:none !important;
}
.otoprep-offline-card.is-playing .otoprep-offline-player,
.otoprep-offline-player{
  --otoprep-ink:#13202A;
  --otoprep-muted:#5b6b77;
  --otoprep-blue:#1075BC;
  --otoprep-orange:#E7694B;
  --otoprep-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif;
  --otoprep-player-surface:#ffffff;
  --otoprep-player-surface-soft:#f8fafc;
  --otoprep-player-border:rgba(19,32,42,.08);
  --otoprep-player-border-strong:rgba(16,117,188,.18);
  --otoprep-player-shadow:0 16px 34px rgba(15,23,42,.08);
  --otoprep-player-shadow-soft:0 8px 20px rgba(15,23,42,.05);
  --otoprep-player-chip-bg:rgba(19,32,42,.04);
  --otoprep-question-font-size:18px;
  --otoprep-answer-font-size:16px;
  --otoprep-answer-radius:20px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--otoprep-ink);
  font-family:var(--otoprep-font);
}
.otoprep-offline-player[hidden]{
  display:none !important;
}
.otoprep-offline-player .otoprep-topbar--quiz{
  display:block;
  margin-bottom:12px;
  padding:calc(10px + env(safe-area-inset-top, 0px)) 12px 10px;
  border-radius:20px;
  border:1px solid var(--otoprep-player-border);
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  backdrop-filter:blur(14px);
}
.otoprep-offline-player .otoprep-topbar__row--quiz{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
}
.otoprep-offline-player .otoprep-quizbar__left,
.otoprep-offline-player .otoprep-quizbar__right{
  display:flex;
  align-items:center;
  min-width:0;
}
.otoprep-offline-player .otoprep-quizbar__right{
  justify-content:flex-end;
}
.otoprep-offline-player .otoprep-quizbar__mid{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.otoprep-offline-player .otoprep-quizbar__eyebrow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  min-width:0;
}
.otoprep-offline-player .otoprep-quizbar__back{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid var(--otoprep-player-border);
  background:#fff;
  color:var(--otoprep-ink);
  font-weight:900;
  font-size:13px;
  line-height:1;
  box-shadow:none;
  cursor:pointer;
  text-decoration:none;
  font-family:inherit;
}
.otoprep-offline-player .otoprep-quizbar__mode{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(16,117,188,.18);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-blue);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
}
.otoprep-offline-player .otoprep-quizbar__sub{
  font-size:12px;
  line-height:1.3;
  color:var(--otoprep-muted);
  white-space:normal;
  overflow:visible;
  text-overflow:initial;
  margin:0;
}
.otoprep-offline-player .otoprep-quizbar__title{
  font-size:16px;
  line-height:1.25;
  font-weight:950;
  color:var(--otoprep-ink);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.otoprep-offline-player .otoprep-quizbar__bar{
  margin-top:0;
  height:5px;
  border-radius:999px;
  background:rgba(16,117,188,.10);
  overflow:hidden;
}
.otoprep-offline-player .otoprep-quizbar__barfill{
  height:100%;
  border-radius:999px;
  background:var(--otoprep-blue);
  transition:width .12s ease;
}
.otoprep-offline-player .otoprep-quizbar__meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.otoprep-offline-player .otoprep-quizbar__progress,
.otoprep-offline-player .otoprep-quizbar__timer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:14px;
  border:1px solid var(--otoprep-player-border);
  background:#fff;
  color:var(--otoprep-ink);
  font-weight:900;
  font-size:13px;
  line-height:1;
  box-shadow:none;
}
.otoprep-offline-player .otoprep-quizbar__progress{
  letter-spacing:.01em;
}
.otoprep-offline-player .otoprep-quizbar__timer{
  min-width:78px;
  border-color:rgba(16,117,188,.18);
  background:rgba(16,117,188,.06);
  color:var(--otoprep-blue);
}
.otoprep-offline-player .otoprep-quiz-wrap{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0 0 24px;
}
.otoprep-offline-player .otoprep-card.otoprep-quiz-card{
  padding:22px 20px 24px;
  border-radius:26px;
  border:1px solid var(--otoprep-player-border);
  background:rgba(255,255,255,.98);
  box-shadow:var(--otoprep-player-shadow);
  overflow:hidden;
}
.otoprep-offline-player .ays-quiz-container{
  border:none !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
}
.otoprep-offline-player .step[data-question-id]{
  justify-content:center !important;
  align-items:stretch !important;
  padding-top:0 !important;
  padding-right:0 !important;
}
.otoprep-offline-player .step[data-question-id] > .ays-abs-fs{
  display:flex;
  flex-direction:column;
  gap:18px;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.otoprep-offline-player .otoprep-question-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  margin:0 0 2px;
}
.otoprep-offline-player .otoprep-question-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid var(--otoprep-player-border);
  background:var(--otoprep-player-chip-bg);
  color:var(--otoprep-muted);
  font-size:12px;
  line-height:1;
  font-weight:850;
}
.otoprep-offline-player .otoprep-question-chip--index,
.otoprep-offline-player .otoprep-question-chip--mode{
  border-color:rgba(16,117,188,.18);
  background:rgba(16,117,188,.08);
  color:var(--otoprep-blue);
}
.otoprep-offline-player .otoprep-offline-question-title{
  margin:0;
  color:var(--otoprep-ink);
  font-size:16px;
  font-weight:900;
}
.otoprep-offline-player .ays_quiz_question,
.otoprep-offline-player .ays_quiz_question *{
  font-family:var(--otoprep-font) !important;
  color:var(--otoprep-ink) !important;
}
.otoprep-offline-player .ays_quiz_question{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:var(--otoprep-question-font-size) !important;
  line-height:1.68 !important;
  font-weight:700;
  text-align:left !important;
}
.otoprep-offline-player .ays_quiz_question p,
.otoprep-offline-player .ays_quiz_question li,
.otoprep-offline-player .ays_quiz_question td,
.otoprep-offline-player .ays_quiz_question blockquote{
  font-size:1em !important;
  line-height:1.68 !important;
  text-align:left !important;
}
.otoprep-offline-player .ays_quiz_question p:last-child{
  margin-bottom:0;
}
.otoprep-offline-player .otoprep-offline-question__image,
.otoprep-offline-player .ays-answer-image{
  display:block;
  max-width:100%;
  height:auto;
  border-radius:16px;
  margin-top:10px;
}
.otoprep-offline-player .ays-quiz-question-state-box{
  margin:0;
}
.otoprep-offline-player .ays-quiz-questions-nav-bookmark-box,
.otoprep-offline-player .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  margin:0 !important;
}
.otoprep-offline-player .otoprep-mark-item{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  max-width:none;
  min-height:40px;
  padding:4px 12px 4px 6px;
  border:1px solid var(--otoprep-player-border);
  border-radius:999px;
  background:#fff;
  box-shadow:var(--otoprep-player-shadow-soft);
  color:var(--otoprep-ink);
  cursor:pointer;
}
.otoprep-offline-player .otoprep-mark-item__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:999px;
  border:0;
  background:rgba(19,32,42,.06);
  box-shadow:none;
}
.otoprep-offline-player .otoprep-mark-item__label{
  width:auto;
  min-height:0;
  font-size:12px;
  line-height:1;
  color:var(--otoprep-ink);
  font-weight:800;
  align-items:center;
  white-space:nowrap;
}
.otoprep-offline-player .otoprep-mark-item.is-on,
.otoprep-offline-player .otoprep-mark-item--flag.is-on,
.otoprep-offline-player .otoprep-mark-item--unsure.is-on{
  border-color:rgba(16,117,188,.18);
  background:rgba(16,117,188,.06);
}
.otoprep-offline-player .otoprep-mark-item.is-on .otoprep-mark-item__icon{
  background:rgba(255,255,255,.92);
}
.otoprep-offline-player .otoprep-mark-item input[type="checkbox"]{
  width:16px;
  height:16px;
  margin:0;
  accent-color:var(--otoprep-blue);
}
.otoprep-offline-player .otoprep-mark-item select{
  min-height:30px;
  border:1px solid rgba(19,32,42,.10);
  border-radius:999px;
  background:rgba(248,250,252,.96);
  color:var(--otoprep-ink);
  font:inherit;
  font-size:12px;
  font-weight:850;
  padding:4px 24px 4px 10px;
}
.otoprep-offline-player .ays-quiz-answers{
  display:grid;
  gap:12px;
}
.otoprep-offline-player .ays-quiz-answers .ays-field{
  position:relative;
  margin:0;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.otoprep-offline-player .ays-quiz-answers .ays-field > input[type="radio"],
.otoprep-offline-player .ays-quiz-answers .ays-field > input[type="checkbox"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.otoprep-offline-player .ays-quiz-answers .ays-field > label.otoprep-answer__label{
  display:flex !important;
  align-items:flex-start;
  gap:14px;
  width:100%;
  min-height:56px;
  margin:0 !important;
  padding:16px 18px !important;
  border:1px solid var(--otoprep-player-border) !important;
  border-radius:var(--otoprep-answer-radius) !important;
  background:var(--otoprep-player-surface) !important;
  box-shadow:var(--otoprep-player-shadow-soft) !important;
  color:var(--otoprep-ink) !important;
  font-size:var(--otoprep-answer-font-size) !important;
  font-weight:650;
  line-height:1.55 !important;
  text-align:left !important;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}
.otoprep-offline-player .ays-quiz-answers .ays-field > label.otoprep-answer__label::before,
.otoprep-offline-player .ays-quiz-answers .ays-field > label.otoprep-answer__label::after{
  content:none !important;
  display:none !important;
}
.otoprep-offline-player .otoprep-answer__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:999px;
  border:1px solid rgba(19,32,42,.10);
  background:var(--otoprep-player-surface-soft);
  color:var(--otoprep-ink);
  font-size:13px;
  line-height:1;
  font-weight:900;
  margin-top:1px;
}
.otoprep-offline-player .otoprep-answer__content{
  min-width:0;
}
.otoprep-offline-player .ays-quiz-answers .ays-field:hover > label.otoprep-answer__label{
  border-color:rgba(16,117,188,.22) !important;
  box-shadow:0 12px 24px rgba(16,117,188,.08) !important;
  transform:translateY(-1px);
}
.otoprep-offline-player .ays-quiz-answers .ays-field.is-selected > label.otoprep-answer__label,
.otoprep-offline-player .ays-quiz-answers .ays-field > input[type="radio"]:checked + label.otoprep-answer__label,
.otoprep-offline-player .ays-quiz-answers .ays-field > input[type="checkbox"]:checked + label.otoprep-answer__label{
  border-color:rgba(16,117,188,.36) !important;
  background:rgba(16,117,188,.06) !important;
  box-shadow:0 0 0 3px rgba(16,117,188,.10), 0 14px 28px rgba(16,117,188,.10) !important;
}
.otoprep-offline-player .ays-quiz-answers .ays-field.is-selected > label.otoprep-answer__label .otoprep-answer__badge,
.otoprep-offline-player .ays-quiz-answers .ays-field > input[type="radio"]:checked + label.otoprep-answer__label .otoprep-answer__badge,
.otoprep-offline-player .ays-quiz-answers .ays-field > input[type="checkbox"]:checked + label.otoprep-answer__label .otoprep-answer__badge{
  border-color:rgba(16,117,188,.24);
  background:#fff;
  color:var(--otoprep-blue);
}
.otoprep-offline-player .ays-quiz-answers .ays-field > input[type="radio"]:focus-visible + label.otoprep-answer__label,
.otoprep-offline-player .ays-quiz-answers .ays-field > input[type="checkbox"]:focus-visible + label.otoprep-answer__label{
  box-shadow:0 0 0 4px rgba(16,117,188,.16), var(--otoprep-player-shadow-soft) !important;
}
.otoprep-offline-player .ays-quiz-answers .ays-field.is-correct > label.otoprep-answer__label,
.otoprep-offline-player .ays-quiz-answers .ays-field > label.otoprep-answer__label.answered.correct{
  border-color:rgba(22,163,74,.28) !important;
  background:rgba(22,163,74,.08) !important;
  color:#14532d !important;
  box-shadow:none !important;
}
.otoprep-offline-player .ays-quiz-answers .ays-field.is-wrong > label.otoprep-answer__label,
.otoprep-offline-player .ays-quiz-answers .ays-field > label.otoprep-answer__label.answered.wrong{
  border-color:rgba(220,38,38,.24) !important;
  background:rgba(220,38,38,.06) !important;
  color:#7f1d1d !important;
  box-shadow:none !important;
}
.otoprep-offline-player .ays-quiz-answers .ays-field.is-correct > label.otoprep-answer__label .otoprep-answer__badge,
.otoprep-offline-player .ays-quiz-answers .ays-field > label.otoprep-answer__label.answered.correct .otoprep-answer__badge{
  border-color:rgba(22,163,74,.24);
  background:#fff;
  color:#166534;
}
.otoprep-offline-player .ays-quiz-answers .ays-field.is-wrong > label.otoprep-answer__label .otoprep-answer__badge,
.otoprep-offline-player .ays-quiz-answers .ays-field > label.otoprep-answer__label.answered.wrong .otoprep-answer__badge{
  border-color:rgba(220,38,38,.20);
  background:#fff;
  color:#991b1b;
}
.otoprep-offline-player .otoprep-offline-feedback{
  margin-top:2px;
}
.otoprep-offline-player .right_answer_text,
.otoprep-offline-player .wrong_answer_text,
.otoprep-offline-player .ays_questtion_explanation{
  margin-top:2px;
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid var(--otoprep-player-border);
  background:#fff;
  box-shadow:none;
  color:var(--otoprep-ink);
  line-height:1.55;
}
.otoprep-offline-player .right_answer_text{
  border-color:rgba(22,163,74,.18);
  background:rgba(22,163,74,.05);
}
.otoprep-offline-player .wrong_answer_text{
  border-color:rgba(220,38,38,.16);
  background:rgba(220,38,38,.04);
}
.otoprep-offline-player .ays_questtion_explanation{
  background:rgba(248,250,252,.95);
}
.otoprep-offline-player .right_answer_text p:last-child,
.otoprep-offline-player .wrong_answer_text p:last-child,
.otoprep-offline-player .ays_questtion_explanation p:last-child{
  margin-bottom:0;
}
.otoprep-offline-player .ays_buttons_div,
.otoprep-offline-player .otoprep-offline-buttons{
  position:sticky;
  bottom:calc(10px + env(safe-area-inset-bottom, 0px));
  z-index:40;
  display:flex;
  gap:10px;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-top:14px;
  padding:10px;
  border-radius:18px;
  border:1px solid var(--otoprep-player-border);
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 32px rgba(15,23,42,.08);
  backdrop-filter:blur(8px);
}
.otoprep-offline-player .otoprep-offline-feedback .ays_buttons_div{
  position:static;
  margin-top:12px;
}
.otoprep-offline-player .ays_buttons_div button.action-button,
.otoprep-offline-player .otoprep-offline-buttons button.action-button{
  flex:1 1 140px;
  min-height:48px;
  border-radius:14px !important;
  box-shadow:none !important;
  border:1px solid var(--otoprep-player-border) !important;
  font-weight:900 !important;
  font-family:inherit;
  cursor:pointer;
}
.otoprep-offline-player .ays_buttons_div button.ays_previous,
.otoprep-offline-player .otoprep-offline-buttons button.ays_previous{
  flex:0 1 auto;
  min-width:112px;
  background:#fff !important;
  color:var(--otoprep-ink) !important;
}
.otoprep-offline-player .ays_buttons_div button.ays_next,
.otoprep-offline-player .otoprep-offline-buttons button.ays_next,
.otoprep-offline-player .otoprep-offline-action-primary{
  flex:1 1 220px;
  background:var(--otoprep-blue) !important;
  color:#fff !important;
  border-color:rgba(16,117,188,.35) !important;
}
.otoprep-offline-player .ays_buttons_div button[disabled],
.otoprep-offline-player .otoprep-offline-buttons button[disabled]{
  opacity:.65;
  cursor:not-allowed;
}
.otoprep-offline-player .otoprep-offline-session-done{
  display:grid;
  gap:10px;
}
.otoprep-offline-player .otoprep-offline-session-done h3,
.otoprep-offline-player .otoprep-offline-session-done p{
  margin:0;
}
@media (max-width: 860px){
  .otoprep-offline-player .otoprep-topbar__row--quiz{
    grid-template-columns:auto minmax(0, 1fr);
  }
  .otoprep-offline-player .otoprep-quizbar__right{
    grid-column:1 / -1;
    justify-content:space-between;
  }
  .otoprep-offline-player .otoprep-quizbar__meta{
    width:100%;
    justify-content:flex-start;
  }
}
@media (max-width: 640px){
  .otoprep-offline-player{
    --otoprep-question-font-size:17px;
    --otoprep-answer-font-size:15px;
  }
  .otoprep-offline-player .otoprep-card.otoprep-quiz-card{
    padding:16px 14px 20px;
    border-radius:22px;
  }
  .otoprep-offline-player .otoprep-quizbar__title{
    font-size:15px;
  }
  .otoprep-offline-player .otoprep-quizbar__sub{
    font-size:11px;
  }
  .otoprep-offline-player .otoprep-quizbar__progress,
  .otoprep-offline-player .otoprep-quizbar__timer{
    min-height:36px;
    padding:7px 10px;
    border-radius:12px;
  }
  .otoprep-offline-player .otoprep-question-meta{
    gap:6px;
  }
  .otoprep-offline-player .otoprep-question-chip{
    min-height:28px;
    padding:6px 10px;
    font-size:11px;
  }
  .otoprep-offline-player .ays-quiz-answers .ays-field > label.otoprep-answer__label{
    min-height:52px;
    padding:14px 14px !important;
    gap:12px;
  }
  .otoprep-offline-player .otoprep-answer__badge{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
  .otoprep-offline-player .ays_buttons_div,
  .otoprep-offline-player .otoprep-offline-buttons{
    padding:8px;
  }
  .otoprep-offline-player .ays_buttons_div button.ays_previous,
  .otoprep-offline-player .otoprep-offline-buttons button.ays_previous{
    min-width:96px;
  }
}
body:not(.otoprep-app).otoprep-offline-practice-playing .wrap{
  align-items:flex-start;
}
body:not(.otoprep-app).otoprep-offline-practice-playing .card{
  width:min(100%,960px);
}

/* 22.2.3 Header app install shortcut */
body.otoprep-app .otoprep-pill--app-icon{
  gap:7px;
}
body.otoprep-app .otoprep-pill--app-icon .otoprep-pill__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
}
body.otoprep-app .otoprep-pill--app-icon .otoprep-pill__icon svg{
  display:block;
  width:18px;
  height:18px;
}
@media(max-width:640px){
  body.otoprep-app .otoprep-pill--app-icon{
    padding-inline:10px;
  }
}

/* 22.2.3 Offline topic builder */
body.otoprep-app .otoprep-offline-builder{
  margin-top:14px;
  border:1px solid rgba(16,117,188,.16);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 24px rgba(15,23,42,.045);
  overflow:hidden;
}
body.otoprep-app .otoprep-offline-builder > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  color:#13202A;
  font-weight:900;
  cursor:pointer;
  list-style:none;
}
body.otoprep-app .otoprep-offline-builder > summary::-webkit-details-marker{
  display:none;
}
body.otoprep-app .otoprep-offline-builder > summary::after{
  content:'+';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(16,117,188,.10);
  color:#1075BC;
  font-weight:950;
}
body.otoprep-app .otoprep-offline-builder[open] > summary::after{
  content:'–';
}
body.otoprep-app .otoprep-offline-builder__body{
  padding:0 16px 16px;
}
body.otoprep-app .otoprep-offline-builder__controls{
  margin-top:0;
}
body.otoprep-app .otoprep-offline-builder input[type="number"]{
  max-width:150px;
}
body.otoprep-app .otoprep-offline-builder__summary{
  align-items:flex-start;
}
body.otoprep-app .otoprep-offline-topiclist{
  margin-top:10px;
  max-height:360px;
  overflow:auto;
  padding:2px 2px 8px;
  overscroll-behavior:contain;
}
body.otoprep-app .otoprep-offline-topic.is-on,
body.otoprep-app .otoprep-offline-topic:has(input[type="checkbox"]:checked){
  background:rgba(16,117,188,.06);
  border-color:rgba(16,117,188,.32);
  box-shadow:0 10px 22px rgba(16,117,188,.08);
}
body.otoprep-app .otoprep-offline-builder__actions{
  align-items:center;
  margin-top:12px;
}
body.otoprep-app .otoprep-offline-builder__empty{
  margin-top:10px;
}
@media(max-width:640px){
  body.otoprep-app .otoprep-offline-builder__body{
    padding:0 12px 12px;
  }
  body.otoprep-app .otoprep-offline-builder > summary{
    padding:13px 12px;
  }
  body.otoprep-app .otoprep-offline-topiclist{
    max-height:300px;
  }
}

/* 22.2.3 Offline question UI parity: full app-width player instead of squeezed home/practice card */
body.otoprep-app.otoprep-offline-practice-playing{
  overflow:hidden;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-card.is-playing .otoprep-offline-player{
  position:fixed !important;
  inset:0;
  z-index:2147483000;
  display:block;
  overflow-y:auto;
  overscroll-behavior:contain;
  margin:0 !important;
  padding:calc(10px + env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-left, 0px)) calc(24px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
  background:#f3f6f9;
  box-sizing:border-box;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-offline-question{
  width:min(100%, 1100px);
  margin:0 auto;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-topbar--quiz{
  position:sticky;
  top:0;
  z-index:60;
  margin-bottom:14px;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-quiz-wrap{
  width:100%;
  max-width:none;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-card.otoprep-quiz-card{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:640px){
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-card.is-playing .otoprep-offline-player{
    padding:calc(8px + env(safe-area-inset-top, 0px)) max(8px, env(safe-area-inset-left, 0px)) calc(18px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-right, 0px));
  }
}
.otoprep-offline-card.is-playing > .otoprep-offline-builder,
.otoprep-offline-card.is-playing > .otoprep-offline-builder__empty{
  display:none !important;
}

/* 22.2.6 Offline player/header QC fixes */
body.otoprep-app.otoprep-offline-practice-playing{
  overflow:hidden !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-tabs,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-bottom-tabs,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-topbar--app-shell{
  display:none !important;
}
body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player[data-otoprep-offline-player-floating="1"],
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-card.is-playing .otoprep-offline-player{
  position:fixed !important;
  inset:0 !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:100vw !important;
  max-width:none !important;
  min-width:0 !important;
  height:100dvh !important;
  max-height:100dvh !important;
  z-index:2147483647 !important;
  display:block !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  margin:0 !important;
  padding:calc(10px + env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-left, 0px)) calc(24px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px)) !important;
  background:#f3f6f9 !important;
  box-sizing:border-box !important;
}
body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player[data-otoprep-offline-player-floating="1"] .otoprep-offline-question,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-offline-question{
  width:min(100%, 960px) !important;
  max-width:960px !important;
  margin:0 auto !important;
  box-sizing:border-box !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-topbar--quiz{
  position:sticky !important;
  top:0 !important;
  z-index:1205 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#f5f9fd !important;
  background-image:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-color:rgba(16,117,188,.16) !important;
  box-shadow:0 14px 30px rgba(16,117,188,.10), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-topbar--quiz::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  background:#f5f9fd !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-topbar--quiz > *{
  position:relative;
  z-index:1;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-question-meta{
  justify-content:flex-start !important;
  text-align:left !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-quiz-wrap,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-card.otoprep-quiz-card,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .ays_quiz_question,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .ays-quiz-answers{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-quiz-card{
  overflow:visible !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-offline-tools{
  align-items:center !important;
  justify-content:flex-start !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-mark-item{
  flex-direction:row !important;
  width:auto !important;
  height:auto !important;
  min-height:40px !important;
  border-radius:999px !important;
  padding:6px 10px !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-mark-item__icon{
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
}
body.otoprep-app .otoprep-topbar--app-shell .otoprep-topbar__install{
  order:-2 !important;
  display:inline-flex !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  box-shadow:0 8px 18px rgba(16,117,188,.10);
}
@media(max-width:640px){
  body.otoprep-app .otoprep-topbar--app-shell .otoprep-topbar__install{
    min-width:42px !important;
    padding-inline:10px !important;
  }
  body.otoprep-app .otoprep-topbar--app-shell .otoprep-topbar__install .otoprep-pill__label--long{
    display:none !important;
  }
  body.otoprep-app .otoprep-topbar--app-shell .otoprep-topbar__install .otoprep-pill__label--short{
    display:inline !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player[data-otoprep-offline-player-floating="1"],
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-card.is-playing .otoprep-offline-player{
    padding:calc(8px + env(safe-area-inset-top, 0px)) max(8px, env(safe-area-inset-left, 0px)) calc(18px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-right, 0px)) !important;
  }
}

/* 22.2.6 Native offline player: use cached AYS shortcode markup and keep the shell full-width. */
body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player[data-otoprep-offline-player-floating="1"] .otoprep-offline-native-player,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .otoprep-offline-native-player{
  width:min(100%, 1100px) !important;
  max-width:1100px !important;
  margin:0 auto !important;
  box-sizing:border-box !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-native-closebar{
  position:sticky;
  top:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 0 12px;
  margin:0 0 4px;
  background:#f3f6f9;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-native-closebar .otoprep-quizbar__back{
  background:#fff;
  border:1px solid rgba(16,117,188,.16);
  box-shadow:0 10px 24px rgba(16,117,188,.08);
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-native-html .otoprep-quiz-wrap{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-native-html .otoprep-card.otoprep-quiz-card{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
@media(max-width:640px){
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-native-closebar{
    padding:6px 0 10px;
  }
}

/* --------------------------------------------------------------------- */
/* 22.2.7 exact native offline quiz parity                               */
/* --------------------------------------------------------------------- */
body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player.otoprep-offline-player--native-exact[data-otoprep-offline-player-floating="1"]{
  padding:0 !important;
  background:#F3F6F9 !important;
}
body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player.otoprep-offline-player--native-exact[data-otoprep-offline-player-floating="1"] .otoprep-offline-native-shell.otoprep-shell{
  max-width:960px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:8px 14px 24px !important;
  box-sizing:border-box !important;
}
body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player.otoprep-offline-player--native-exact[data-otoprep-offline-player-floating="1"] .otoprep-main{
  padding:0 !important;
  margin:0 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-topbar--quiz{
  position:sticky !important;
  top:0 !important;
  z-index:50 !important;
  margin-bottom:12px !important;
  padding:calc(10px + env(safe-area-inset-top)) 12px 10px !important;
  border-radius:20px !important;
  border:1px solid rgba(16,117,188,.16) !important;
  background:linear-gradient(180deg, rgba(229,242,250,.97) 0%, rgba(244,249,253,.96) 100%) !important;
  box-shadow:0 14px 30px rgba(16,117,188,.10) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  overflow:visible !important;
  isolation:auto !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-topbar--quiz::before{
  content:none !important;
  display:none !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-topbar--quiz > *{
  position:static !important;
  z-index:auto !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-topbar__row--quiz{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:12px !important;
  align-items:center !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__left,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__right{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__right{
  justify-content:flex-end !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__mid{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  min-width:0 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__eyebrow{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__back{
  min-height:40px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  border:1px solid var(--otoprep-player-border) !important;
  background:#fff !important;
  color:var(--otoprep-ink) !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__mode{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  border:1px solid rgba(16,117,188,.18) !important;
  background:rgba(16,117,188,.08) !important;
  color:var(--otoprep-blue) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}
body.otoprep-app.otoprep-offline-practice-playing.otoprep-mode-timed .otoprep-offline-player--native-exact .otoprep-quizbar__mode{
  border-color:rgba(231,105,75,.28) !important;
  background:rgba(231,105,75,.12) !important;
  color:var(--otoprep-orange) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__sub{
  font-size:12px !important;
  line-height:1.3 !important;
  color:var(--otoprep-muted) !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:initial !important;
  margin:0 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__title{
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  color:var(--otoprep-ink) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__bar{
  margin-top:0 !important;
  height:5px !important;
  border-radius:999px !important;
  background:rgba(16,117,188,.10) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__meta{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__progress,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__timer,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__ai,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__textsize{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:8px 12px !important;
  border-radius:14px !important;
  border:1px solid var(--otoprep-player-border) !important;
  background:#fff !important;
  color:var(--otoprep-ink) !important;
  font-weight:900 !important;
  font-size:13px !important;
  line-height:1 !important;
  box-shadow:none !important;
}
body.otoprep-app.otoprep-offline-practice-playing.otoprep-mode-timed .otoprep-offline-player--native-exact .otoprep-quizbar__timer{
  border-color:rgba(231,105,75,.24) !important;
  background:rgba(231,105,75,.08) !important;
  color:var(--otoprep-orange) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-wrap{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-card.otoprep-quiz-card{
  width:auto !important;
  max-width:none !important;
  padding:22px 20px 24px !important;
  border-radius:26px !important;
  border:1px solid var(--otoprep-player-border) !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:var(--otoprep-player-shadow) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-container .step[data-question-id] > .ays-abs-fs,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-container .step.ays-scenario-step > .ays-abs-fs,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-container .step.ays-scenario-child-step > .ays-abs-fs{
  gap:18px !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-question-meta{
  justify-content:center !important;
  text-align:center !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays_quiz_question{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--otoprep-ink) !important;
  font-size:var(--otoprep-question-font-size) !important;
  line-height:1.68 !important;
  font-weight:700 !important;
  text-align:left !important;
  overflow:visible !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays_quiz_question p,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays_quiz_question li,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays_quiz_question td,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays_quiz_question blockquote{
  font-size:1em !important;
  line-height:1.68 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays-quiz-answers{
  display:grid !important;
  gap:12px !important;
  width:100% !important;
  max-width:none !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays-quiz-answers .ays-field{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  width:100% !important;
  min-height:56px !important;
  margin:0 !important;
  padding:16px 18px !important;
  border:1px solid var(--otoprep-player-border) !important;
  border-radius:var(--otoprep-answer-radius) !important;
  background:var(--otoprep-player-surface) !important;
  box-shadow:var(--otoprep-player-shadow-soft) !important;
  color:var(--otoprep-ink) !important;
  font-size:var(--otoprep-answer-font-size) !important;
  font-weight:650 !important;
  line-height:1.55 !important;
  text-align:left !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-answer__badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:32px !important;
  height:32px !important;
  flex:0 0 32px !important;
  border-radius:999px !important;
  border:1px solid rgba(19,32,42,.10) !important;
  background:var(--otoprep-player-surface-soft) !important;
  color:var(--otoprep-ink) !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  margin-top:1px !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-question-state-box{
  display:block !important;
  clear:both !important;
  width:100% !important;
  margin:18px 0 14px !important;
  padding:0 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  justify-content:stretch !important;
  align-items:start !important;
  width:100% !important;
  gap:12px !important;
  row-gap:12px !important;
  margin:14px 0 0 !important;
  padding-top:2px !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item__icon{
  width:44px !important;
  height:44px !important;
  flex:0 0 44px !important;
  border-radius:999px !important;
  border:1px solid rgba(16,117,188,.12) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-question-state-box .ays-quiz-questions-nav-bookmark-box.otoprep-mark-toolbar .otoprep-mark-item__label{
  width:100% !important;
  min-height:0 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  text-align:center !important;
  color:var(--otoprep-ink) !important;
  font-weight:800 !important;
  white-space:normal !important;
  align-items:flex-start !important;
  justify-content:center !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays_buttons_div,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-buttons{
  position:sticky !important;
  bottom:calc(10px + env(safe-area-inset-bottom)) !important;
  gap:10px !important;
  padding:10px !important;
  border-radius:18px !important;
  border:1px solid var(--otoprep-player-border) !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 16px 32px rgba(15,23,42,.08) !important;
}
@media (max-width: 860px){
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-topbar__row--quiz{
    grid-template-columns:auto minmax(0,1fr) !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__right{
    grid-column:1 / -1 !important;
    justify-content:space-between !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__meta{
    width:100% !important;
    justify-content:flex-start !important;
  }
}
@media (max-width: 640px){
  body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player.otoprep-offline-player--native-exact[data-otoprep-offline-player-floating="1"] .otoprep-offline-native-shell.otoprep-shell{
    padding:8px 14px 20px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-card.otoprep-quiz-card{
    padding:16px 14px 20px !important;
    border-radius:22px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__title{
    font-size:15px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__sub{
    font-size:11px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__progress,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__timer,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__ai,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quizbar__textsize{
    min-height:36px !important;
    padding:7px 10px !important;
    border-radius:12px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-question-meta{
    gap:6px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-question-chip{
    min-height:28px !important;
    padding:6px 10px !important;
    font-size:11px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label{
    min-height:52px !important;
    padding:14px 14px !important;
    gap:12px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-answer__badge{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays_buttons_div,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-buttons{
    padding:8px !important;
  }
}

/* 22.2.10 offline tutor/result parity: native offline result review */
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact.otoprep-offline-player--result .otoprep-card.otoprep-quiz-card{
  padding-bottom:24px !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-native-results{
  display:block !important;
  width:100% !important;
  margin:0 auto !important;
  color:var(--otoprep-ink) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-summary{
  display:block !important;
  margin:0 0 16px !important;
  padding:18px !important;
  border:1px solid var(--otoprep-player-border) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 14px 30px rgba(15,23,42,.06) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-summary h3{
  margin:0 0 8px !important;
  font-size:22px !important;
  line-height:1.2 !important;
  color:var(--otoprep-ink) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-score{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:14px !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-score strong,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-score span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:rgba(16,117,188,.08) !important;
  color:var(--otoprep-blue) !important;
  font-weight:900 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-score small{
  color:var(--otoprep-muted) !important;
  font-weight:700 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-questions{
  display:grid !important;
  gap:16px !important;
  margin:0 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-native-result-question{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:18px !important;
  border:1px solid var(--otoprep-player-border) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 14px 30px rgba(15,23,42,.06) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-native-result-question .otoprep-offline-result-question-meta{
  display:inline-flex !important;
  align-items:center !important;
  min-height:30px !important;
  margin:0 0 12px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.05) !important;
  color:var(--otoprep-muted) !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-native-result-question .ays-quiz-answers{
  pointer-events:none !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-results-actions{
  margin-top:18px !important;
}
@media(max-width:640px){
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-summary,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-native-result-question{
    padding:14px !important;
    border-radius:20px !important;
  }
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-score{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-answers .ays-field.correct_div,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-answers .ays-field.is-correct{
  border-color:rgba(22,163,74,.28) !important;
  background:rgba(22,163,74,.06) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-answers .ays-field.wrong_div,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-answers .ays-field.is-wrong{
  border-color:rgba(220,38,38,.24) !important;
  background:rgba(220,38,38,.05) !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-answers .ays-field label.correct,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-answers .ays-field label.answered.correct{
  color:#14532d !important;
  font-weight:800 !important;
}
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-answers .ays-field label.wrong,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays-quiz-answers .ays-field label.answered.wrong{
  color:#7f1d1d !important;
  font-weight:800 !important;
}

/* 22.2.11 offline wrapper parity: keep native/offline quiz, feedback and result pages inside the app shell */
body.otoprep-app,
body.otoprep-app *,
body.otoprep-app *::before,
body.otoprep-app *::after{
  box-sizing:border-box;
}

body.otoprep-app{
  overflow-x:hidden;
}

body.otoprep-app .otoprep-shell,
body.otoprep-app .otoprep-main,
body.otoprep-app .otoprep-card,
body.otoprep-app .otoprep-quiz-wrap,
body.otoprep-app .otoprep-quiz-card,
body.otoprep-app .ays-quiz-container,
body.otoprep-app .ays-abs-fs,
body.otoprep-app .step,
body.otoprep-app .ays-quiz-answers,
body.otoprep-app .ays-field,
body.otoprep-app .otoprep-offline-player,
body.otoprep-app .otoprep-offline-native-shell,
body.otoprep-app .otoprep-offline-native-results,
body.otoprep-app .otoprep-offline-result-summary,
body.otoprep-app .otoprep-offline-result-questions,
body.otoprep-app .otoprep-offline-native-result-question,
body.otoprep-app .otoprep-qreview,
body.otoprep-app .otoprep-qreview-body{
  min-width:0 !important;
  max-width:100% !important;
}

body.otoprep-app img,
body.otoprep-app svg,
body.otoprep-app video,
body.otoprep-app iframe{
  max-width:100%;
}

body.otoprep-app img,
body.otoprep-app video{
  height:auto;
}

body.otoprep-app .otoprep-card table,
body.otoprep-app .otoprep-quiz-card table,
body.otoprep-app .otoprep-qreview-body table,
body.otoprep-app .otoprep-offline-native-results table{
  max-width:100%;
  display:block;
  overflow-x:auto;
}

body.otoprep-app .otoprep-card pre,
body.otoprep-app .otoprep-card code,
body.otoprep-app .otoprep-quiz-card pre,
body.otoprep-app .otoprep-quiz-card code,
body.otoprep-app .otoprep-offline-native-results pre,
body.otoprep-app .otoprep-offline-native-results code{
  max-width:100%;
  overflow-x:auto;
  white-space:pre-wrap;
}

/* Native Quiz Maker prints a second label for answer images. Empty image labels can sit beside
   the answer label in the old flex row and create the phantom right-hand column seen on mobile. */
body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field,
body.otoprep-app.otoprep-view-result .otoprep-qreview-answers .ays-field,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .ays-quiz-answers .ays-field,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays-quiz-answers .ays-field,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-native-results .ays-quiz-answers .ays-field{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}

body.otoprep-app.otoprep-view-quiz .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label,
body.otoprep-app.otoprep-view-result .otoprep-qreview-answers .ays-field > label.otoprep-answer__label,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player .ays-quiz-answers .ays-field > label.otoprep-answer__label,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-quiz-card .ays-quiz-answers .ays-field > label.otoprep-answer__label,
body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-native-results .ays-quiz-answers .ays-field > label.otoprep-answer__label{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

body.otoprep-app .otoprep-answer__content,
body.otoprep-app .otoprep-quiz-card .ays_quiz_question,
body.otoprep-app .otoprep-quiz-card .ays_quiz_question *,
body.otoprep-app .otoprep-qreview-question,
body.otoprep-app .otoprep-qreview-answers,
body.otoprep-app .otoprep-qreview-explanation,
body.otoprep-app .right_answer_text,
body.otoprep-app .wrong_answer_text,
body.otoprep-app .ays_questtion_explanation,
body.otoprep-app .ays-question-explanation,
body.otoprep-app .ays-questtion-explanation{
  min-width:0 !important;
  max-width:100% !important;
  overflow-wrap:anywhere;
  word-break:normal;
}

body.otoprep-app .ays-quiz-answers .ays-field > label.ays_answer_image.otoprep-empty-answer-image,
body.otoprep-app .ays-quiz-answers .ays-field > label.ays_answer_image[hidden],
body.otoprep-app .ays-quiz-answers .ays-field > label.ays_answer_image:empty{
  display:none !important;
}

body.otoprep-app .ays-quiz-answers .ays-field > label.ays_answer_image{
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:8px 0 0 50px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  line-height:0 !important;
  overflow:hidden !important;
}

body.otoprep-app .ays-quiz-answers .ays-field > label.ays_answer_image:not(:has(img)),
body.otoprep-app .ays-quiz-answers .ays-field > label.ays_answer_image:not(.otoprep-has-answer-image):has(img[src=""], img:not([src])){
  display:none !important;
}

body.otoprep-app .ays-quiz-answers .ays-field > label.ays_answer_image img,
body.otoprep-app .ays-quiz-answers .ays-field > label.ays_answer_image .ays-answer-image{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
  border-radius:16px;
}

body.otoprep-app .otoprep-offline-result-summary,
body.otoprep-app .otoprep-offline-native-result-question,
body.otoprep-app .otoprep-offline-session-done{
  overflow:hidden !important;
}

@media (max-width:640px){
  body.otoprep-app .ays-quiz-answers .ays-field > label.ays_answer_image{
    margin-left:42px !important;
  }

  body.otoprep-app .otoprep-offline-player,
  body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player.otoprep-offline-player--native-exact[data-otoprep-offline-player-floating="1"],
  body.otoprep-app.otoprep-offline-practice-playing > .otoprep-offline-player.otoprep-offline-player--native-exact[data-otoprep-offline-player-floating="1"] .otoprep-offline-native-shell.otoprep-shell{
    width:100% !important;
    max-width:100% !important;
  }

  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-topbar--quiz,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-card.otoprep-quiz-card,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-result-summary,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-native-result-question{
    max-width:100% !important;
    overflow:hidden !important;
  }

  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays_buttons_div,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-buttons{
    width:100% !important;
    max-width:100% !important;
    flex-wrap:wrap !important;
  }

  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .ays_buttons_div button,
  body.otoprep-app.otoprep-offline-practice-playing .otoprep-offline-player--native-exact .otoprep-offline-buttons button{
    min-width:0 !important;
    max-width:100% !important;
  }
}
