  :root{
    color-scheme: light;
    --ink:#1c2b2a; --paper:#faf9f6; --line:#dcd7c9; --accent:#0f6e56; --accent-dark:#085041;
    --wrong:#b3392c; --muted:#6b6a63; --card:#ffffff;

    --mint:#4ddba4; --mint-soft:rgba(77,219,164,.16);

    --sh-1:0 1px 2px rgba(28,43,42,.05), 0 1px 3px rgba(28,43,42,.05);
    --sh-2:0 2px 4px rgba(28,43,42,.05), 0 6px 16px rgba(28,43,42,.07);
    --sh-3:0 10px 30px rgba(28,43,42,.13);
    --r-sm:6px; --r-md:10px; --r-lg:14px;
  }
  *{box-sizing:border-box;}
  body{
    margin:0; font-family:Georgia,'Times New Roman',serif; background:var(--paper); color:var(--ink);
    min-height:100vh;
  }
  header{
    display:flex; justify-content:space-between; align-items:center;
    padding:14px 28px; border-bottom:2px solid var(--ink); background:var(--card);
  }
  header .brand{ font-weight:bold; font-size:18px; letter-spacing:0.5px; }
  header .meta{ font-family:Arial,sans-serif; font-size:12px; color:var(--muted); text-align:right; }
  #progress-bar{ height:4px; background:var(--accent); width:100%; }

  .profile-icon{
    width:36px; height:36px; border-radius:50%; background:var(--ink); color:#fff;
    display:flex; align-items:center; justify-content:center; font-family:Arial,sans-serif;
    font-weight:bold; font-size:14px; cursor:pointer; border:none; user-select:none;
  }
  .profile-dropdown{
    position:fixed; z-index:70; background:#fff; border:1px solid var(--ink); border-radius:8px;
    box-shadow:0 8px 24px rgba(0,0,0,0.18); min-width:220px; padding:16px; font-family:Arial,sans-serif;
  }
  .profile-dropdown .pd-name{ font-weight:bold; font-size:15px; margin-bottom:2px; }
  .profile-dropdown .pd-class{ font-size:13px; color:var(--muted); margin-bottom:14px; }
  .profile-dropdown button.signout-btn{
    width:100%; background:var(--wrong); color:#fff; border:none; padding:9px; border-radius:4px;
    font-size:14px; cursor:pointer; font-family:Arial,sans-serif;
  }

  #app{ max-width:1100px; margin:0 auto; padding:24px 20px 60px; }

  .start-screen{ text-align:center; padding:60px 20px; }
  .start-screen h1{ font-size:26px; margin-bottom:8px; }
  .start-screen p{ font-family:Arial,sans-serif; color:var(--muted); max-width:520px; margin:0 auto 28px; font-size:14px; line-height:1.6;}
  button.primary{
    font-family:Arial,sans-serif; background:var(--accent); color:#fff; border:none; padding:12px 28px;
    font-size:15px; border-radius:4px; cursor:pointer; font-weight:bold;
  }
  button.primary:hover{ background:var(--accent-dark); }

  .section-flag{
    font-family:Arial,sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:1px;
    color:var(--muted); margin-bottom:8px;
  }
  .band-flag{
    display:inline-block; font-family:Arial,sans-serif; font-size:11px; color:var(--accent-dark);
    background:#e6f2ee; padding:3px 8px; border-radius:3px; margin-bottom:10px;
  }

  .exam-bar{ margin-bottom:14px; font-family:Arial,sans-serif; }
  .exam-nav-row{ display:flex; align-items:center; gap:8px; margin-bottom:6px; }
  .exam-arrow{
    background:var(--accent); color:#fff; border:none; width:38px; height:34px; border-radius:4px;
    font-size:16px; cursor:pointer;
  }
  .exam-arrow:disabled{ background:#b8b6ab; cursor:not-allowed; }
  .exam-review-btn{
    background:#2c2c2a; color:#fff; border:none; padding:0 14px; height:34px; border-radius:4px;
    font-size:13px; cursor:pointer;
  }
  .exam-crumb{
    background:#5f5e5a; color:#fff; padding:8px 12px; font-size:12px; letter-spacing:0.5px;
    text-transform:uppercase; border-radius:3px;
  }
  #reviewPanel{ position:fixed; z-index:20; }
  .review-panel{
    z-index:20; background:#fff; border:1px solid var(--ink); border-radius:6px;
    width:280px; box-shadow:0 8px 24px rgba(0,0,0,0.18); max-height:360px; overflow-y:auto;
  }
  .review-summary{ padding:10px 14px; font-family:Arial,sans-serif; font-size:12px; color:var(--muted); border-bottom:1px solid var(--line); }
  .review-row{
    display:flex; align-items:center; gap:10px; padding:10px 14px; font-family:Arial,sans-serif; font-size:14px;
    cursor:pointer; border-bottom:1px solid var(--line);
  }
  .review-row:hover{ background:#f1efe4; }
  .review-row.current{ background:#e6f2ee; font-weight:bold; }
  .review-dot{ width:10px; height:10px; border-radius:50%; flex-shrink:0; }
  .review-dot.answered{ background:var(--accent); }
  .review-dot.unanswered{ background:#d9a441; }

  .interstitial-box{
    background:#f4f3ee; border:1px solid var(--line); border-radius:6px; padding:24px;
  }
  .interstitial-inner{
    background:#fff; border:1px solid var(--line); border-radius:4px; padding:36px 24px;
    text-align:center; font-family:Arial,sans-serif; font-size:15px; line-height:1.9; color:var(--text-primary,#1c2b2a);
  }
  .interstitial-inner p{ margin:0 0 16px; }
  .interstitial-inner p:last-child{ margin-bottom:0; }

  .split{ display:flex; gap:0; border:1px solid var(--ink); min-height:480px; background:var(--card); }
  .passage-pane{ flex:1; border-right:1px solid var(--ink); padding:22px 24px; overflow-y:auto; max-height:560px; }
  .question-pane{ flex:1; padding:22px 24px; overflow-y:auto; max-height:560px; }
  .single-pane{ border:1px solid var(--ink); background:var(--card); padding:26px 28px; }

  .passage-title{ font-weight:normal; font-size:15px; margin-bottom:2px; letter-spacing:0.5px; text-align:center; }
  .passage-headnote{ font-style:italic; line-height:1.6; margin:0 0 14px; }
  .passage-sub{ font-weight:normal; margin-bottom:14px; text-align:center; }
  .passage-text{ font-size:15.5px; line-height:1.85; }
  .passage-text .sentnum{ color:var(--accent-dark); font-weight:bold; margin-right:2px;}

  .q-number{
    display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px;
    background:var(--ink); color:#fff; font-family:Arial,sans-serif; font-weight:bold; font-size:14px;
    border-radius:4px; margin-right:10px; vertical-align:middle;
  }
  .q-text{ font-size:16px; line-height:1.6; white-space:pre-wrap; }
  .img-inline-wrap img{ max-width:100%; }
  .img-inline-wrap .imgHandles, .img-inline-wrap .imgRemoveBtn{ display:none; }
  .img-inline-wrap.selected .imgHandles{ display:block; }
  .img-inline-wrap.selected .imgRemoveBtn{ display:flex; }
  .q-block{ margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--line); }
  .q-block:last-of-type{ border-bottom:none; }
  .q-tag{ font-family:Arial,sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:1px; color:var(--muted); margin-bottom:10px;}

  .choice{
    display:flex; align-items:flex-start; gap:12px; padding:10px 8px; border-radius:4px; cursor:pointer;
    margin-bottom:6px; border:1px solid transparent;
  }
  .choice:hover{ background:#f1efe4; }
  .choice.selected{ border-color:var(--accent); background:#e6f2ee; }
  .choice.review-correct{ border-color:var(--accent); background:#dcefe4; }
  .choice.review-wrong{ border-color:var(--wrong); background:#fbe8e5; }
  .choice.review-correct .choice-letter{ background:var(--accent); color:#fff; border-color:var(--accent); }
  .choice.review-wrong .choice-letter{ background:var(--wrong); color:#fff; border-color:var(--wrong); }
  .review-badge{ display:inline-block; font-family:Arial,sans-serif; font-weight:bold; font-size:13px; padding:4px 10px; border-radius:4px; margin-bottom:14px; }
  .review-badge.correct{ background:#dcefe4; color:var(--accent-dark); }
  .review-badge.incorrect{ background:#fbe8e5; color:var(--wrong); }
  .choice-letter{
    width:26px; height:26px; border-radius:50%; border:1px solid var(--ink); flex-shrink:0;
    display:flex; align-items:center; justify-content:center; font-family:Arial,sans-serif; font-weight:bold; font-size:13px;
  }
  .choice.selected .choice-letter{ background:var(--accent); color:#fff; border-color:var(--accent); }
  .choice-text{ font-size:15px; padding-top:2px; }

  .drag-row{ display:flex; gap:24px; margin-top:18px; }
  .drag-col{ flex:1; }
  .drag-col h4{ font-family:Arial,sans-serif; font-size:11px; text-transform:uppercase; color:var(--muted); margin:0 0 8px;}

  .drag-item{
    background:#fff; border:1px solid var(--ink); padding:10px 12px; margin-bottom:8px; border-radius:4px;
    cursor:grab; font-size:14.5px; display:flex; align-items:center; gap:8px; user-select:none;
  }
  .drop-slot{
    border:1.5px dashed var(--line); border-radius:4px; min-height:44px; margin-bottom:8px;
    display:flex; align-items:center; padding:0 12px; font-size:14.5px; color:var(--muted);
    font-family:Arial,sans-serif;
  }
  .drop-slot.filled{ border-style:solid; color:var(--ink); font-family:Georgia,serif; background:#fbfaf6; }
  .drop-slot.over{ border-color:var(--accent); background:#eef7f2; }

  .classify-cols{ display:flex; gap:20px; margin-top:14px; }
  .classify-col{ flex:1; border:1px solid var(--ink); border-radius:4px; min-height:140px; padding:10px; }
  .classify-col h4{ font-family:Arial,sans-serif; font-size:12px; margin:0 0 8px; text-align:center; }
  .pool{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }

  .chip{
    background:#eef0e6; border:1px solid var(--ink); padding:7px 12px; border-radius:16px; font-size:13.5px;
    cursor:grab; font-family:Arial,sans-serif; user-select:none;
  }

  .dragfill-pool{ display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start; padding:12px; border:1px solid var(--line); background:#f4f3ee; border-radius:4px; margin:12px 0 18px; min-height:54px; }
  .dragfill-pool.over{ border-color:var(--accent); background:#eef7f2; }
  .dragfill-token{ background:#fff; border:1px solid var(--ink); padding:7px 14px; border-radius:4px; cursor:grab; font-size:14.5px; font-family:Georgia,serif; user-select:none; }
  .dragfill-token.dragging{ opacity:0.5; }
  .dragfill-text{ font-size:16px; line-height:2.6; white-space:pre-wrap; }
  .dragfill-blank{ display:inline-flex; align-items:center; justify-content:center; min-width:96px; min-height:40px; border:1.5px dashed var(--line); border-radius:4px; margin:0 4px; vertical-align:middle; padding:2px; background:#fbfaf6; }
  .dragfill-blank.filled{ border-style:solid; border-color:var(--ink); background:#fff; }
  .dragfill-blank.over{ border-color:var(--accent); background:#eef7f2; }

  .mr-wrap{ margin-top:4px; }
  .mr-pool{ display:flex; flex-direction:column; gap:10px; padding:4px; border-radius:4px; }
  .mr-pool.over{ background:#eef7f2; }
  .mr-card{
    border:1px solid var(--ink); border-radius:4px; padding:12px 16px; background:#fff;
    cursor:grab; font-size:14.5px; font-family:Georgia,serif; line-height:1.5; user-select:none;
  }
  .mr-card:hover{ background:#f4f3ee; }
  .mr-card.dragging{ opacity:0.5; }
  .mr-box-head{ font-family:Arial,sans-serif; font-size:12px; margin:16px 0 8px; text-align:center; }
  .mr-box{
    border:1px solid var(--ink); border-radius:4px; min-height:80px; padding:10px;
    display:flex; flex-direction:column; gap:10px; background:#fbfaf6;
  }
  .mr-box.over{ border-color:var(--accent); background:#eef7f2; }
  .mr-counter{ margin:8px 0 0; }

  .hottext-text{ font-size:16px; line-height:2.4; }
  .hottext-word{ cursor:pointer; }
  .hottext-word.candidate{ border:1px solid var(--accent); color:var(--accent-dark); border-radius:3px; padding:1px 4px; margin:0 1px; }
  .hottext-word.selected{ background:var(--accent); color:#fff; border-color:var(--accent); }
  .hottext-word.plain{ cursor:default; }
  .hottext-authorword{ cursor:pointer; border:1px solid var(--line); border-radius:3px; padding:2px 6px; margin:2px; display:inline-block; font-family:Georgia,serif; font-size:15px; }
  .hottext-authorword.candidate{ border-color:var(--accent); color:var(--accent-dark); background:#eef7f2; }
  .hottext-authorword.correct{ border-color:var(--accent); background:var(--accent); color:#fff; }

  .nav-row{ display:flex; justify-content:space-between; align-items:center; margin-top:18px; }
  button.next{
    font-family:Arial,sans-serif; background:var(--ink); color:#fff; border:none; padding:10px 24px;
    font-size:14px; border-radius:4px; cursor:pointer;
  }
  button.next:disabled{ background:#b8b6ab; cursor:not-allowed; }
  .hint{ font-family:Arial,sans-serif; font-size:12px; color:var(--muted); }

  .result-screen{ text-align:center; padding:50px 20px; }
  .result-screen h2{ font-size:24px; }
  .disclaimer{ font-family:Arial,sans-serif; font-size:12px; color:var(--muted); max-width:560px; margin:18px auto 0; line-height:1.6;}

  .score-row{ display:flex; gap:16px; max-width:520px; margin:24px auto; }
  .score-card{
    flex:1; background:#fff; border:1px solid var(--ink); border-radius:6px; padding:18px 12px;
    font-family:Arial,sans-serif;
  }
  .score-label{ font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:var(--muted); margin-bottom:8px;}
  .score-value{ font-size:34px; font-weight:bold; color:var(--accent-dark); }
  .score-out-of{ font-size:16px; font-weight:normal; color:var(--muted); }
  .score-explain{ font-size:11.5px; color:var(--muted); margin-top:6px; }

  .teacher-login{ max-width:360px; margin:60px auto; text-align:center; }
  .teacher-login input{
    font-family:Arial,sans-serif; width:100%; padding:10px 12px; font-size:15px; border:1px solid var(--ink);
    border-radius:4px; margin:14px 0;
  }
  .teacher-bar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; font-family:Arial,sans-serif; }
  .teacher-bar h2{ font-size:20px; margin:0; }
  .tab-row{ display:flex; gap:8px; margin-bottom:18px; font-family:Arial,sans-serif; }
  .tab-btn{
    padding:8px 16px; border:1px solid var(--ink); border-radius:4px; background:#fff; cursor:pointer; font-size:13px;
  }
  .tab-btn.active{ background:var(--ink); color:#fff; }

  .band-pill{ background:#e6f2ee; color:var(--accent-dark); padding:2px 8px; border-radius:3px; font-size:12px; }
  .del-btn{ font-family:Arial,sans-serif; font-size:12px; color:var(--wrong); background:none; border:none; cursor:pointer; text-decoration:underline; }
  .form-card{
    background:#fff; border:1px solid var(--ink); border-radius:6px; padding:18px 20px; margin-bottom:24px;
    font-family:Arial,sans-serif;
  }
  .form-card h3{ font-size:15px; margin:0 0 14px; }
  .form-row{ margin-bottom:12px; }
  .form-row label{ display:block; font-size:12px; color:var(--muted); margin-bottom:4px; }
  .form-row input, .form-row select, .form-row textarea{
    width:100%; padding:8px 10px; font-size:14px; border:1px solid var(--ink); border-radius:4px; font-family:Arial,sans-serif;
  }
  .form-row textarea{ min-height:60px; resize:vertical; }
  .choice-input-row{ display:flex; gap:8px; align-items:center; margin-bottom:6px; }
  .choice-input-row input[type=text]{ flex:1; }
  .btn-row{ display:flex; gap:10px; margin-top:14px; }
  button.secondary{
    font-family:Arial,sans-serif; background:#fff; border:1px solid var(--ink); padding:9px 18px;
    font-size:13px; border-radius:4px; cursor:pointer;
  }

  .q-image{ margin:14px 0; }
  .q-image img{ max-width:min(100%, 680px); height:auto; display:block; border:1px solid var(--line); background:#fff; padding:6px; border-radius:4px; }
  .choice-img{ max-width:min(100%, 340px); max-height:170px; height:auto; display:block; }
  .img-missing{ display:inline-block; padding:8px 12px; border:1px dashed var(--line); color:var(--muted); font-family:Arial,sans-serif; font-size:13px; border-radius:4px; }
  .q-datatable{ border-collapse:collapse; margin:12px 0; font-family:Arial,sans-serif; font-size:14px; }
  .q-datatable th, .q-datatable td{ border:1px solid var(--ink); padding:6px 12px; text-align:center; }

  .q-datatable th{ background:#fff; border-bottom-width:2px; }

  .q-figure.q-figure-table{width:fit-content;max-width:100%;min-width:0;}
  .q-figure-table .q-datatable{width:100%;max-width:100%;font-size:16px;line-height:1.35;}
  .q-figure-table .q-datatable th,.q-figure-table .q-datatable td{padding:7px 12px;white-space:normal;}
  .q-figure-table.q-figure-choice .q-datatable{margin:4px 0;}
  body:has(.exam-bar) .q-figure-table .q-datatable .mt-run{font-size:16px;}

  .numeric-entry{ max-width:520px; }
  .kp-displayrow{ display:flex; align-items:center; gap:8px; margin-bottom:10px; }
  .kp-affix{ font-family:Georgia,serif; font-size:17px; }
  .kp-display{ flex:1; min-height:52px; border:1.5px solid var(--ink); border-radius:4px; background:#fff; padding:8px 10px; font-family:Georgia,serif; font-size:19px; display:flex; align-items:center; overflow-x:auto; cursor:text; }
  .kp-display:focus{ outline:2px solid var(--ink); outline-offset:1px; }

  .mt-run{ display:inline-flex; align-items:center; vertical-align:middle; }
  .mt-run.mt-invalid, .mt-invalid{ display:inline; border-bottom:2px dashed var(--wrong,#b3392c); white-space:pre-wrap; }
  .mt-seq, .mt-bin, .mt-chain, .mt-par, .mt-pow{ display:inline-flex; align-items:center; min-height:1em; }
  .mt-n, .mt-v, .mt-op, .mt-rel, .mt-paren{ padding:0 1px; white-space:pre; }
  .mt-v{ font-style:italic; }
  .mt-op{ padding:0 3px; }
  .mt-rel{ padding:0 5px; }
  .mt-box{ display:inline-block; width:14px; height:22px; border:1px dashed var(--line); border-radius:2px; background:#fbfaf6; }
  .mt-caret{ display:inline-block; width:1.5px; height:24px; background:var(--accent); margin:0 1px; animation:mt-blink 1s steps(1) infinite; }
  @keyframes mt-blink{ 50%{ opacity:0; } }

  .rv-locked .mt-caret{ display:none; }
  .mt-frac{ display:inline-flex; flex-direction:column; align-items:center; vertical-align:middle; margin:0 2px; }
  .mt-num, .mt-den{ display:flex; justify-content:center; min-width:14px; padding:0 3px; }
  .mt-num{ border-bottom:1.5px solid var(--ink); }
  .mt-mixed{ display:inline-flex; align-items:center; gap:3px; }
  .mt-whole{ display:inline-flex; min-width:8px; }
  .mt-sup{ display:inline-flex; vertical-align:super; font-size:0.8em; position:relative; top:-0.45em; }
  .mt-sup .mt-caret{ height:16px; }
  .mt-sqrt{ display:inline-flex; align-items:center; }
  .mt-radical{ font-size:1.25em; }
  .mt-radicand{ border-top:1.5px solid var(--ink); padding:0 3px; display:inline-flex; align-items:center; }
  .mt-rootdeg{ font-size:0.75em; align-self:flex-start; margin-right:-3px; }
  .mt-abs{ display:inline-flex; align-items:center; }
  .mt-absbody{ border-left:1.5px solid var(--ink); border-right:1.5px solid var(--ink); padding:0 4px; display:inline-flex; align-items:center; }

  .q-figure{ margin:14px 0; }
  .q-figure svg{ display:block; border:0; background:#fff; }
  .q-figure-choice{ margin:2px 0; }
  .q-figure-scroll{ max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
  .q-figure-scroll:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
  .q-figure-scroll>svg{ max-width:none; flex:none; }
  .choice-has-figure .choice-text{ min-width:0; flex:1; }
  body:has(.exam-bar) .q-figure-numberline-choice foreignObject .mt-run,
  body:has(.exam-bar) .q-figure-clean-labels foreignObject .mt-run{ font-size:inherit; }
  .nl-svg:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }
  .nl-svg .pg-hit:focus-visible{ stroke:var(--ink); stroke-width:2px; }
  .q-datatable caption.q-datatable-title{ caption-side:top; font-family:Arial,sans-serif; font-variant:small-caps; letter-spacing:0.4px; font-size:14px; padding-bottom:4px; text-align:center; }
  .choice-figure-slot{ display:block; }
  .kp-toolbar{ display:flex; gap:6px; margin-bottom:6px; }
  .kp-toolbar .kp-key{ width:44px; height:34px; font-size:15px; border-radius:16px; }

  .kp-grid{ display:inline-block; border:1px solid var(--ink); border-radius:6px; padding:6px; background:#fff; }
  .kp-row{ display:flex; gap:5px; margin-bottom:5px; }
  .kp-row:last-child{ margin-bottom:0; }
  .kp-key{ min-width:46px; height:40px; font-size:16px; font-family:Arial,sans-serif; border:1px solid var(--ink); border-radius:4px; background:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
  .kp-key:hover{ background:#efefef; }
  .kp-key:active{ background:var(--ink); color:#fff; }
  .kp-key:active .kp-fracicon span, .kp-key:active .kp-mixedwhole{ border-color:#fff; }
  .kp-key[title="Fraction"], .kp-key[title="Mixed number"], .kp-key[title="Exponent"],
  .kp-key[title="Square root"], .kp-key[title="nth root"], .kp-key[title="Absolute value"]{ border-width:2px; }
  .kp-var{ font-style:italic; font-family:Georgia,serif; }
  .kp-gap{ width:46px; }

  .kp-eq .kp-row{ display:grid; grid-template-columns:repeat(8, 46px); gap:5px; }
  .kp-eq .kp-key, .kp-eq .kp-gap{ width:46px; min-width:46px; }
  .kp-rel.kp-locked, .kp-rel:disabled{ background:#efefef; color:var(--muted); cursor:default; border-color:var(--line); }
  .kp-fracicon{ display:inline-flex; flex-direction:column; gap:2px; }
  .kp-fracicon span{ width:11px; height:8px; border:1.5px solid var(--ink); border-radius:1px; display:block; }
  .kp-fracicon span:first-child{ border-bottom-width:2.5px; }
  .kp-mixedicon{ display:inline-flex; align-items:center; gap:3px; }
  .kp-mixedwhole{ width:9px; height:12px; border:1.5px solid var(--ink); border-radius:1px; display:inline-block; }
  .kp-supicon sup{ font-size:9px; }
  .kp-rooticon sup{ font-size:9px; }
  .numeric-entry-part .kp-key{ min-width:40px; height:36px; font-size:14px; }
  .numeric-entry-part .kp-display{ min-height:44px; font-size:17px; }

  .il-wrap{ font-size:16px; line-height:2.1; font-family:Georgia,serif; }
  .il-line{ margin-bottom:6px; white-space:pre-wrap; }
  .il-select{ display:inline-block; margin:0 4px; padding:5px 8px; font-family:Arial,sans-serif; font-size:14px; border:1px solid var(--ink); border-radius:4px; background:#fff; vertical-align:middle; max-width:240px; }

  .il-listbox{ position:relative; display:inline-block; vertical-align:middle; }
  .il-listbox-btn{ cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
  .il-listbox-caret{ font-size:11px; color:var(--muted); }
  .il-listbox-pop{ position:absolute; left:0; top:calc(100% + 2px); z-index:30; min-width:100%; max-height:240px; overflow-y:auto; border:1px solid var(--ink); border-radius:4px; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,0.18); }
  .il-listbox-opt{ padding:6px 10px; cursor:pointer; font-family:Arial,sans-serif; font-size:14px; white-space:nowrap; }
  .il-listbox-opt:hover{ background:#f1efe4; }
  .il-listbox-opt[aria-selected="true"]{ background:#e8f0e8; }
  .il-listbox{ max-width:100%; }
  .il-listbox-label{ min-width:0; white-space:normal; }
  .il-listbox-btn{ min-height:42px; max-width:100%; }
  .il-listbox-pop{ max-width:min(520px, calc(100vw - 40px)); }
  .il-listbox-opt{ min-height:42px; display:flex; align-items:center; line-height:1.35; font-size:17px; white-space:normal; }
  .il-listbox-opt:focus-visible{ outline:2px solid var(--ink); outline-offset:-3px; }
  .il-listbox-label .mt-run{ font-size:17px; }
  .drag-item .mt-run,.drop-slot .mt-run,.dragfill-token .mt-run,.chip .mt-run{ line-height:1.25; }

  .tg-table, .tf-table{ border-collapse:collapse; font-family:Arial,sans-serif; font-size:14px; margin:8px 0; }
  .tg-table th, .tg-table td, .tf-table th, .tf-table td{ border:1px solid var(--ink); padding:8px 14px; text-align:center; }

  .tg-table thead th, .tf-table thead th{ background:#fff; border-bottom-width:2px; }
  .tg-table tbody th{ text-align:left; font-weight:normal; font-family:Georgia,serif; font-size:15px; background:#fff; border-right-width:2px; }
  .tg-table input{ width:17px; height:17px; cursor:pointer; }
  .tf-table caption{ font-weight:bold; letter-spacing:0.06em; font-size:13px; padding-bottom:6px; }
  .tf-table .dragfill-blank{ min-width:76px; min-height:34px; }

  .pg-svg, .nl-svg{ display:block; margin:8px 0; max-width:100%; height:auto; }
  .pg-grid{ stroke:#ddd9cb; stroke-width:1; }
  .pg-axis{ stroke:var(--ink); stroke-width:1.6; }
  .pg-lab, .nl-lab{ font-family:Arial,sans-serif; font-size:10.5px; fill:var(--ink); }
  .pg-title{ font-family:Arial,sans-serif; font-size:13px; font-weight:bold; fill:var(--ink); }
  .pg-axistitle{ font-family:Arial,sans-serif; font-size:11.5px; fill:var(--ink); }
  .pg-dot{ fill:var(--ink); cursor:pointer; }
  .pg-dot.picked{ fill:var(--accent); }
  .pg-ring{ fill:none; stroke:var(--accent); stroke-width:2.5; }
  .pg-hit{ fill:transparent; cursor:pointer; }
  .nl-line{ stroke:var(--ink); stroke-width:1.8; }
  .nl-arrow{ fill:var(--ink); }
  .nl-tick{ stroke:var(--ink); stroke-width:1.4; }
  .nl-cand{ fill:#fff; stroke:var(--ink); stroke-width:1.6; cursor:pointer; }
  .nl-cand.picked{ fill:var(--accent); stroke:var(--accent); }

  .ray-palette{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:4px; }
  .ray-stylebtn{ border:1.5px solid var(--ink); border-radius:4px; background:#fff; padding:6px 8px; cursor:pointer; display:inline-flex; }
  .ray-stylebtn:hover{ background:#f1efe4; }
  .ray-stylebtn.picked{ border-color:var(--accent); background:#e6f2ee; box-shadow:0 0 0 1.5px var(--accent) inset; }
  .ray-remove{ padding:6px 14px; }
  .ray-iconline{ stroke:var(--ink); stroke-width:2; }
  .ray-iconarrow{ fill:var(--ink); }
  .ray-iconclosed{ fill:var(--ink); }
  .ray-iconopen{ fill:#fff; stroke:var(--ink); stroke-width:2; }
  .ray-hit{ fill:transparent; cursor:pointer; }
  .ray-drawn{ stroke:var(--accent); stroke-width:5; stroke-linecap:round; opacity:0.85; }
  .ray-drawnarrow{ fill:var(--accent); }
  .ray-endclosed{ fill:var(--ink); stroke:var(--ink); stroke-width:2; }
  .ray-endopen{ fill:#fff; stroke:var(--ink); stroke-width:2.4; }

  .import-modal-overlay{ position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:60; display:flex; align-items:center; justify-content:center; }
  .import-modal{ background:#fff; border-radius:6px; max-width:640px; width:92%; max-height:80vh; display:flex; flex-direction:column; box-shadow:0 8px 30px rgba(0,0,0,0.3); font-family:Arial,sans-serif; }

  .import-modal header{ padding:14px 20px; border-bottom:1px solid var(--line); font-weight:bold; font-size:15px; background:none; color:var(--ink); box-shadow:none; }
  .import-modal header::after{ display:none; }
  .import-modal .im-summary{ padding:12px 20px; font-size:14px; line-height:1.6; border-bottom:1px solid var(--line); white-space:pre-wrap; }
  .import-modal .im-detail{ padding:10px 20px; overflow-y:auto; font-size:12.5px; line-height:1.55; color:var(--muted); flex:1; }
  .import-modal footer{ padding:12px 20px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; gap:10px; }

  .hotspot-zone{ fill:rgba(0,0,0,0); stroke:var(--ink); stroke-opacity:.4; stroke-width:1; cursor:pointer; }
  .hotspot-zone-selected{ stroke-opacity:1; stroke-width:2.5; fill:rgba(0,0,0,0.08); }
  .st-wrap{ margin-top:10px; }
  .st-tray{ display:flex; gap:10px; margin-top:8px; flex-wrap:wrap; }
  .st-cand{ background:#fff; border:1px solid var(--ink); border-radius:4px; padding:6px; cursor:pointer; }
  .st-cand:hover{ background:#efefef; }
  .st-cand-selected{ border-width:2.5px; background:#efefef; }
  .match-wrap{ position:relative; margin-top:10px; }
  .match-overlay{ position:absolute; inset:0; pointer-events:none; }
  .match-cols{ display:flex; justify-content:space-between; gap:110px; }
  .match-col{ display:flex; flex-direction:column; gap:12px; flex:1; }
  .match-item{ border:1px solid var(--ink); border-radius:4px; background:#fff; padding:10px 12px; cursor:pointer; font-family:Arial,sans-serif; font-size:15px; }
  .match-item:hover{ background:#efefef; }
  .match-selected{ border-width:2.5px; background:#efefef; }

  .tei-armed{ border-width:2.5px; background:#efefef; }
  .match-connected{ border-width:2px; }
  .ss-modebar{ display:flex; gap:8px; align-items:center; margin-bottom:8px; }
  .ss-mode{ background:#fff; border:1px solid var(--ink); border-radius:4px; padding:8px 14px; font-family:Arial,sans-serif; font-size:14px; cursor:pointer; }
  .ss-mode:hover{ background:#efefef; }
  .ss-mode-active{ background:var(--ink); color:#fff; }
  .ss-stylewrap{ display:inline-flex; gap:6px; margin-left:8px; }
  .ss-style{ background:#fff; border:1px solid var(--ink); border-radius:4px; padding:4px 6px; cursor:pointer; }
  .ss-style-active{ border-width:2.5px; background:#efefef; }

  .ss-style svg, .st-cand svg{ pointer-events:none; display:block; }

  .review-blanks{ margin-top:14px; font-size:16px; line-height:2.1; }
  .review-blank-line{ margin-bottom:6px; }
  .review-blank-pair{ white-space:nowrap; }
  .review-blank{ display:inline-block; border:1.5px solid var(--accent); background:#dcefe4; border-radius:4px; padding:2px 8px; margin:0 3px; font-weight:bold; }
  .review-blank-wrong{ display:inline-block; border:1.5px solid var(--wrong); background:#fbe8e5; border-radius:4px; padding:2px 8px; margin:0 3px 0 1px; color:var(--wrong); text-decoration:line-through; }
  .review-hottext{ margin-top:14px; font-size:16px; line-height:2.2; }
  .review-chip{ border:1px solid var(--ink); border-radius:4px; padding:2px 6px; margin:0 1px; }
  .review-chip-correct{ border:1.5px solid var(--accent); background:#dcefe4; font-weight:bold; }
  .review-chip-wrong{ border:1.5px solid var(--wrong); background:#fbe8e5; color:var(--wrong); }
  .review-cell-correct{ background:#dcefe4; color:#1e7a45; font-weight:bold; font-size:17px; }
  .review-cell-wrong{ background:#fbe8e5; color:#b3392c; font-weight:bold; font-size:17px; }

  :root{
    --staff-bg:#f2f4f2; --staff-line:#e3e7e3; --ink-soft:#41504e;
    --ok:#0f6e56; --warn:#c9930a; --paused-fg:#8a6d00; --paused-bg:#ffe58a;
    --pill-draft-bg:#eceee9; --pill-draft-fg:#6b6a63;
    --pill-open-bg:#e2f1ec;  --pill-open-fg:#085041;
    --pill-closed-bg:#e9e9ef; --pill-closed-fg:#4a4a66;
    --radius:10px;
    --shadow:0 1px 2px rgba(28,43,42,.08), 0 8px 24px rgba(28,43,42,.06);
    --font-ui:'Avenir Next','Segoe UI',system-ui,Arial,sans-serif;
  }

  .skeleton-row{
    height:44px; border-radius:8px; margin:8px 0;
    background:linear-gradient(90deg, rgba(28,43,42,.06) 25%, rgba(28,43,42,.12) 50%, rgba(28,43,42,.06) 75%);
    background-size:200% 100%;
    opacity:0;
    animation: skeleton-appear 180ms linear 220ms forwards,
               skeleton-shimmer 1.2s linear 220ms infinite;
  }
  @keyframes skeleton-appear{ from{ opacity:0; } to{ opacity:1; } }
  @keyframes skeleton-shimmer{ from{ background-position:200% 0; } to{ background-position:-200% 0; } }
  @media (prefers-reduced-motion: reduce){
    .skeleton-row{ animation: skeleton-appear 1ms linear 220ms forwards; }
  }

  .toast{
    position:fixed; top:18px; right:18px; z-index:120;
    background:var(--ink); color:#fff; font-family:var(--font-ui); font-size:13px;
    padding:10px 16px; border-radius:8px; box-shadow:var(--shadow); max-width:380px;
  }
  .toast + .toast{ top:64px; }

  .modal-overlay{
    position:fixed; inset:0; z-index:110; background:rgba(28,43,42,.45);
    display:flex; align-items:center; justify-content:center; padding:20px;
  }
  .modal{
    background:#fff; border-radius:var(--radius); box-shadow:var(--shadow);
    padding:22px 24px; width:100%; max-width:440px; max-height:88vh; overflow:auto;
    font-family:var(--font-ui); font-size:13px; color:var(--ink);
  }
  .modal.modal-wide{ max-width:760px; }
  .modal h3{ margin:0 0 10px; font-size:16px; font-weight:600; }
  .modal p{ margin:0 0 12px; line-height:1.55; color:var(--ink-soft); }
  .modal-input{
    width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:6px;
    font-family:var(--font-ui); font-size:13px; margin-bottom:12px;
  }
  .modal-actions{ display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
  .modal-actions button{ min-height:32px; }
  .notify-body{ white-space:pre-wrap; line-height:1.55; color:var(--ink-soft); max-height:50vh; overflow:auto; }

  .empty-state{
    text-align:center; padding:34px 16px; color:var(--muted); font-family:var(--font-ui); font-size:13px;
  }
  .empty-state p{ margin:0 0 12px; }
  .error-note{ color:var(--wrong); font-family:var(--font-ui); font-size:13px; }
  .linklike{
    background:none; border:none; color:var(--accent); font-family:var(--font-ui);
    font-size:13px; cursor:pointer; padding:6px 4px; min-height:32px; text-decoration:underline;
  }
  .linklike:hover{ color:var(--accent-dark); }

  button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{
    outline:2px solid var(--accent); outline-offset:1px;
  }

  .shell{ max-width:820px; margin:0 auto; }
  .shell-title{ font-size:24px; margin:14px 0 4px; }
  .shell-tabs{ display:flex; gap:6px; border-bottom:2px solid var(--ink); margin:18px 0 22px; }
  .shell-tabs button{
    font-family:Arial,sans-serif; font-size:15px; background:none; border:none; cursor:pointer;
    padding:12px 18px; min-height:44px; color:var(--muted); border-bottom:3px solid transparent;
    transition:color 130ms ease-out;
  }
  .shell-tabs button.active{ color:var(--ink); font-weight:bold; border-bottom-color:var(--accent); }

  .assign-card{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    box-shadow:var(--shadow); padding:18px 20px; margin-bottom:14px;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
  }
  .assign-card-top{ min-width:0; }
  .assign-name{ font-size:18px; font-weight:bold; margin-bottom:4px; }
  .assign-meta{ font-family:Arial,sans-serif; font-size:12px; color:var(--muted); display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
  .assign-go button{ min-height:44px; min-width:110px; }
  .badge{
    display:inline-block; font-family:var(--font-ui); font-size:11px; font-weight:600;
    padding:3px 9px; border-radius:999px; letter-spacing:.2px;
  }
  .badge.paused{ background:var(--paused-bg); color:var(--paused-fg); }

  .grade-row{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    box-shadow:var(--shadow); padding:16px 20px; margin-bottom:12px;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
  }
  .grade-right{ display:flex; align-items:center; gap:16px; }
  .grade-score{ font-size:22px; font-weight:bold; font-variant-numeric:tabular-nums; }
  .grade-splits{ font-family:Arial,sans-serif; font-size:12px; color:var(--muted); }
  .grade-submitted{ font-family:Arial,sans-serif; font-size:13px; color:var(--muted); }
  .grade-review button:disabled{ opacity:.5; cursor:default; }

  .navstrip{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 16px; }
  .navcell{
    min-width:44px; min-height:44px; border-radius:6px; border:1.5px solid var(--ink);
    background:var(--card); font-family:Arial,sans-serif; font-size:14px; cursor:pointer;
    transition:background 130ms ease-out;
  }
  .navcell.blank{ background:var(--card); }
  .navcell.answered{ background:#dcefe4; border-color:var(--accent-dark); }
  .navcell.current{ background:var(--ink); color:#fff; font-weight:bold; }

  .rs-list{ max-width:560px; margin:0 auto; }
  .rs-row{
    display:flex; align-items:center; gap:14px; background:var(--card);
    border:1px solid var(--line); border-radius:8px; padding:10px 14px; margin-bottom:8px;
    width:100%; cursor:pointer; font-family:Arial,sans-serif; font-size:14px; text-align:left;
    min-height:44px;
  }
  .rs-num{ font-weight:bold; min-width:44px; }

  .review-shell{ max-width:860px; margin:0 auto; }
  .review-head-bar{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin:14px 0 6px; }
  .review-summary{ font-family:Arial,sans-serif; font-size:14px; color:var(--muted); margin-bottom:18px; }
  .review-panel{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    box-shadow:var(--shadow); padding:18px 22px; margin-bottom:16px;
  }
  .review-item-head{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
  .review-num{ font-weight:bold; font-size:16px; }
  .review-row{ display:flex; gap:10px; margin:6px 0; font-family:Arial,sans-serif; font-size:14px; align-items:baseline; }
  .ra-label{ color:var(--muted); font-size:12px; min-width:110px; }
  .ra-value{ flex:1; }
  .review-answers{ margin-top:10px; }
  .review-choices .choice{ cursor:default; }
  .verdict{ font-size:18px; font-weight:bold; }
  .verdict.right{ color:var(--ok); }
  .verdict.wrong{ color:var(--wrong); }
  .skip-chip{
    display:inline-block; font-family:var(--font-ui); font-size:11px; font-weight:600;
    background:#eceee9; color:var(--muted); border-radius:999px; padding:2px 8px; margin-left:6px;
  }

  .interstitial-box{ text-align:center; padding:70px 20px; }
  .interstitial-inner{ max-width:460px; margin:0 auto; }
  .interstitial-inner h2{ margin-bottom:10px; }
  .interstitial-inner p{ font-family:Arial,sans-serif; color:var(--muted); font-size:14px; line-height:1.6; margin-bottom:24px; }

  #pausedOverlay{
    position:fixed; inset:0; z-index:100; background:rgba(28,43,42,.92);
    display:flex; align-items:center; justify-content:center; padding:24px;
  }
  #pausedOverlay .paused-box{
    background:var(--paper); border-radius:var(--radius); padding:36px 40px; max-width:520px; text-align:center;
  }
  #pausedOverlay h2{ margin:0 0 12px; }
  #pausedOverlay p{ font-family:Arial,sans-serif; font-size:14px; color:var(--ink-soft); line-height:1.6; margin:0; }

  .staff-root{
    display:flex; min-height:100vh; background:var(--staff-bg);
    font-family:var(--font-ui); font-size:13px; color:var(--ink);
    position:fixed; inset:0; overflow:hidden;
  }
  .staff-rail{
    width:240px; flex:0 0 240px; background:var(--ink); color:#fff;
    display:flex; flex-direction:column; padding:22px 0 18px;
  }
  .rail-wordmark{
    font-family:Georgia,'Times New Roman',serif; font-size:14px; letter-spacing:3px;
    color:#fff; padding:0 22px 22px; border-bottom:1px solid rgba(255,255,255,.12);
  }
  .rail-nav{ flex:1; padding-top:14px; }
  .rail-item{
    display:block; width:100%; text-align:left; background:none; border:none; cursor:pointer;
    color:rgba(255,255,255,.72); font-family:var(--font-ui); font-size:14px;
    padding:12px 22px; min-height:44px; border-left:3px solid transparent;
    transition:color 130ms ease-out, background 130ms ease-out;
  }
  .rail-item:hover{ color:#fff; background:rgba(255,255,255,.05); }
  .rail-item.active{ color:#fff; border-left-color:var(--accent); background:rgba(255,255,255,.06); font-weight:600; }
  .rail-foot{ padding:16px 22px 0; border-top:1px solid rgba(255,255,255,.12); }
  .rail-name{ font-weight:600; font-size:13px; }
  .rail-role{ font-size:11px; color:rgba(255,255,255,.6); margin:2px 0 10px; }
  .rail-signout{
    background:none; border:1px solid rgba(255,255,255,.3); color:#fff; border-radius:6px;
    font-family:var(--font-ui); font-size:12px; padding:7px 12px; min-height:32px; cursor:pointer;
    transition:border-color 130ms ease-out;
  }
  .rail-signout:hover{ border-color:#fff; }
  .staff-main{ flex:1; overflow-y:auto; padding:26px 32px 60px; }

  .staff-main .page-title{ font-size:20px; font-weight:600; margin:0 0 18px; }
  .page-title-row{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
  .page-title-row .page-title{ margin:0; }
  .staff-main .section-title{ font-size:15px; font-weight:600; margin:26px 0 10px; }
  .staff-main .hint{ font-family:var(--font-ui); font-size:12px; color:var(--muted); }
  .staff-main button.primary, .staff-main button.secondary, .staff-main button.danger{
    font-family:var(--font-ui); font-size:13px; padding:8px 16px; min-height:32px; border-radius:6px;
  }
  .staff-main button.secondary{ background:#fff; border:1px solid var(--staff-line); color:var(--ink); }
  .staff-main button.secondary:hover{ border-color:var(--ink-soft); }
  button.danger{
    font-family:var(--font-ui); background:#fff; color:var(--wrong); border:1px solid var(--wrong);
    border-radius:6px; padding:8px 16px; min-height:32px; cursor:pointer;
    transition:background 130ms ease-out;
  }
  button.danger:hover{ background:#fbe8e5; }
  .modal-actions button.danger:disabled{ opacity:.45; cursor:default; }

  .toolbar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }

  .staff-main .field-input{
    font-family:var(--font-ui); font-size:13px; padding:8px 10px; min-height:32px;
    border:1px solid var(--staff-line); border-radius:6px; background:#fff; color:var(--ink);
  }
  .field-label{ display:block; font-size:12px; font-weight:600; color:var(--ink-soft); margin:12px 0 5px; }
  .field-reason{ margin-top:4px; }

  .card{
    background:#fff; border:1px solid var(--staff-line); border-radius:var(--radius);
    box-shadow:var(--shadow); padding:16px 18px;
  }

  .pill{
    display:inline-block; font-family:var(--font-ui); font-size:11px; font-weight:600;
    padding:3px 10px; border-radius:999px; letter-spacing:.2px;
    transition:background 130ms ease-out;
  }
  .pill.draft{ background:var(--pill-draft-bg); color:var(--pill-draft-fg); }
  .pill.open{ background:var(--pill-open-bg); color:var(--pill-open-fg); }
  .pill.closed{ background:var(--pill-closed-bg); color:var(--pill-closed-fg); }

  .tab-locked{opacity:.55;cursor:not-allowed;}
  @media(max-width:700px){}

  .stat-big{ font-size:17px; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; }

  .review-runner .choice{ cursor:default; pointer-events:none; }
  .choice.rv-correct{ border-color:var(--accent-dark); background:#dcefe4; }
  .choice.rv-wrong-pick{ border-color:var(--wrong); background:#fbe8e5; }
  .choice.rv-picked-right{ box-shadow:inset 0 0 0 2px var(--accent-dark); }
  .review-runner .choice .rc-tag{
    margin-left:auto; font-family:var(--font-ui); font-size:11px; font-weight:700;
    letter-spacing:.5px; text-transform:uppercase; color:var(--accent-dark); white-space:nowrap; padding-left:10px;
  }
  .review-runner .choice .rc-tag.picked{ color:var(--wrong); }

  #examTimer{ position:fixed; right:16px; bottom:16px; z-index:70; font-family:var(--font-ui); }
  #examTimer .xt-card{
    background:var(--card,#fff); border:1px solid var(--line); border-radius:10px;
    box-shadow:var(--sh-2, 0 6px 24px rgba(0,0,0,.16)); padding:10px 16px; text-align:center; min-width:110px;
  }
  #examTimer .xt-label{ font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
  #examTimer .xt-time{ font-size:22px; font-weight:700; font-variant-numeric:tabular-nums; margin:2px 0 6px; }
  #examTimer .xt-hide{
    font-size:11px; padding:3px 12px; border:1px solid var(--line); border-radius:999px;
    background:none; cursor:pointer; color:var(--muted);
  }
  #examTimer .xt-pill{
    display:none; width:40px; height:40px; border-radius:50%; border:1px solid var(--line);
    background:var(--card,#fff); box-shadow:var(--sh-1); cursor:pointer; font-size:17px;
  }
  #examTimer.xt-collapsed .xt-card{ display:none; }
  #examTimer.xt-collapsed .xt-pill{ display:block; }
  #examTimer.xt-low .xt-card{ background:#fdecea; border-color:#e5b3ab; }
  #examTimer.xt-low .xt-time{ color:var(--wrong); }
  #xtAlert{
    position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center;
    background:rgba(0,0,0,.35);
  }
  #xtAlert .xt-alert-card{
    background:var(--card,#fff); border-radius:10px; box-shadow:var(--sh-2);
    padding:22px 28px; text-align:center; max-width:320px; font-family:var(--font-ui);
  }
  #xtAlert p{ color:var(--muted); font-size:14px; margin:8px 0 14px; }

  .fx-review-wrap{ position:relative; }
  .fx-review-panel{
    position:absolute; left:12px; top:2px; z-index:45; width:min(340px, 92vw);
    background:var(--card,#fff); border:1px solid var(--line); border-radius:var(--r-md,8px);
    box-shadow:var(--sh-2, 0 8px 30px rgba(0,0,0,.18)); overflow:hidden;
  }
  .fxrp-counts{ display:flex; gap:18px; padding:10px 14px; border-bottom:1px solid var(--line); font-family:var(--font-ui); font-size:13px; }
  .fxrp-warn strong{ color:var(--wrong); }
  .fxrp-list{ max-height:300px; overflow-y:auto; }
  .fxrp-row{
    display:flex; align-items:center; gap:10px; width:100%; text-align:left;
    padding:9px 14px; border:none; border-bottom:1px solid var(--line);
    background:none; cursor:pointer; font-family:var(--font-ui); font-size:14px;
  }
  .fxrp-row:hover{ background:rgba(15,110,86,.06); }
  .fxrp-row.current{ background:rgba(15,110,86,.10); font-weight:700; }
  .fxrp-dot{ width:9px; height:9px; border-radius:50%; background:var(--line); flex:none; }
  .fxrp-row.answered .fxrp-dot{ background:var(--accent); }
  .fxrp-row.current .fxrp-dot{ background:var(--ink); }
  .fxrp-state{ margin-left:auto; font-size:12px; color:var(--muted); }
  .fxrp-foot{ padding:10px 14px; border-top:1px solid var(--line); text-align:center; }

  .score-live{ font-weight:600; color:var(--accent-dark); font-variant-numeric:tabular-nums; }
  .score-main{ font-weight:600; font-variant-numeric:tabular-nums; }
  .score-splits{ font-size:11px; color:var(--muted); margin-left:6px; font-variant-numeric:tabular-nums; }
  .hb-when{ font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; }
  .mini-chip{
    display:inline-block; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.4px;
    background:#eceee9; color:var(--muted); border-radius:4px; padding:2px 6px; margin-left:6px;
  }
  .rescored-glyph{ color:var(--warn); font-weight:700; cursor:help; margin-left:4px; }
  .navstrip-mini{ display:inline-flex; flex-wrap:wrap; gap:2px; max-width:320px; }
  .stripcell{ width:10px; height:10px; border-radius:2px; display:inline-block; }

  .results-toolbar{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
  .release-note{ font-size:13px; color:var(--ink-soft); }

  .preview-overlay{
    position:fixed; inset:0; z-index:105; background:var(--paper); overflow-y:auto;
    font-family:Georgia,'Times New Roman',serif;
  }
  .preview-topbar{
    position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between;
    background:var(--ink); color:#fff; padding:10px 22px;
  }
  .preview-title{ font-family:var(--font-ui); font-size:13px; letter-spacing:1px; text-transform:uppercase; }
  .preview-body{ max-width:1100px; margin:0 auto; padding:26px 20px 60px; }

  .assign-badge{
    display:inline-block; font-family:var(--font-ui); font-size:11px; font-weight:600;
    padding:3px 10px; border-radius:999px; white-space:nowrap;
  }
  .assign-badge.not_started{ display:none; }
  .assign-badge.in_progress{ background:var(--pill-open-bg); color:var(--pill-open-fg); }
  .assign-badge.paused{ background:var(--paused-bg); color:var(--paused-fg); }
  .empty-note{ font-family:Arial,sans-serif; font-size:14px; color:var(--muted); text-align:center; padding:34px 12px; }
  .rs-state{ font-family:Arial,sans-serif; font-size:13px; min-width:80px; }
  .rs-state.ok{ color:var(--ok); font-weight:bold; }
  .rs-state.blank{ color:var(--wrong); }
  .rs-jump{ margin-left:auto; min-height:36px; }

  .review-item{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px 22px; margin-bottom:16px; }
  .review-sub{ border-top:1px solid var(--line); margin-top:16px; padding-top:14px; }
  .review-choice{
    display:flex; align-items:baseline; gap:10px; border:1px solid var(--line); border-radius:6px;
    padding:9px 12px; margin:6px 0; font-family:Arial,sans-serif; font-size:14px;
  }
  .review-choice .rc-letter{ font-weight:bold; min-width:18px; }
  .review-choice .rc-text{ flex:1; }
  .review-choice.is-correct{ border-color:var(--accent-dark); background:#dcefe4; }
  .review-choice.is-picked:not(.is-correct){ border-color:var(--wrong); background:#fbe8e5; }
  .rc-tag{
    font-family:var(--font-ui); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.4px;
    color:var(--accent-dark); white-space:nowrap;
  }
  .rc-tag.picked{ color:var(--ink-soft); }

  .wt-overlay{
    position:fixed; inset:0; z-index:110; background:var(--paper);
    display:flex; flex-direction:column;
    font-family:Georgia,'Times New Roman',serif;
  }
  .wt-topbar{
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    background:var(--ink); color:#fff; padding:10px 22px; flex:0 0 auto;
  }
  .wt-topbar-left{ display:flex; align-items:center; gap:14px; min-width:0; }
  .wt-brand{ font-family:var(--font-ui); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; opacity:.85; white-space:nowrap; }
  .wt-asg{ font-weight:bold; font-size:16px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .wt-chip-mode{ background:rgba(255,255,255,.14); color:#fff; }
  .wt-main{ flex:1 1 auto; display:flex; min-height:0; }
  .wt-stage{
    flex:1 1 auto; overflow-y:auto; padding:26px 34px 60px; min-width:0;
  }
  .wt-crumb{
    font-family:var(--font-ui); font-size:12px; letter-spacing:1px; text-transform:uppercase;
    color:var(--accent-dark); margin-bottom:14px; border-bottom:2px solid var(--ink); padding-bottom:8px;
  }
  .wt-item{ max-width:860px; }
  .wt-answer-row{ display:flex; align-items:center; gap:12px; margin-top:18px; }
  .wt-tei-note{ margin-top:14px; }
  .wt-sub{ margin-top:22px; padding-top:14px; border-top:1px solid var(--line); }
  .wt-done{ max-width:520px; margin:60px auto; text-align:center; }
  .wt-done-score{ font-size:64px; font-weight:bold; color:var(--accent-dark); line-height:1.1; margin:18px 0 4px; }
  .wt-done-sub{ font-family:var(--font-ui); font-size:13px; color:var(--muted); margin:0 0 8px; }
  .wt-done-split{ margin-bottom:26px; }

  .wt-panel{
    flex:0 0 360px; overflow-y:auto; background:var(--ink); color:#f4f2ec;
    padding:18px 16px 40px; font-family:var(--font-ui);
  }
  .wt-card{
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
    border-radius:8px; padding:14px; margin-bottom:14px;
  }
  .wt-card-title{
    font-size:11px; letter-spacing:1.5px; text-transform:uppercase; opacity:.7; margin-bottom:10px;
    display:flex; justify-content:space-between; align-items:baseline; gap:8px;
  }
  .wt-id{ text-transform:none; letter-spacing:0; opacity:.8; font-size:11px; overflow:hidden; text-overflow:ellipsis; }
  .wt-scorecard{ text-align:center; }
  .wt-score-big{ font-size:44px; font-weight:700; line-height:1.05; color:#fff; }
  .wt-score-sub{ font-size:11px; letter-spacing:1px; text-transform:uppercase; opacity:.65; margin-top:2px; }
  .wt-score-split{ display:flex; justify-content:center; gap:22px; margin-top:10px; font-size:14px; }
  .wt-score-split strong{ font-size:18px; }
  .wt-panel .hint{ color:rgba(244,242,236,.55); }
  .wt-progressline{ margin-top:10px; font-size:12px; }

  .wt-chips{ display:flex; flex-wrap:wrap; gap:6px; }
  .wt-chip{
    display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600;
    background:rgba(255,255,255,.1); border-radius:999px; padding:3px 10px; white-space:nowrap;
  }
  .wt-chip-k{ font-weight:400; font-size:10px; text-transform:uppercase; letter-spacing:.5px; opacity:.6; }
  .wt-band-E{ background:#2e6b46; color:#dff3e6; }
  .wt-band-M{ background:#7a6420; color:#f7ecc8; }
  .wt-band-H{ background:#7a2e2e; color:#f7d9d4; }
  .wt-minichip{ display:inline-block; font-size:11px; font-weight:700; border-radius:4px; padding:1px 7px; }

  .wt-seq{ margin-top:10px; font-size:12px; font-weight:600; border-radius:6px; padding:7px 10px; }
  .wt-seq-ok{ background:rgba(46,107,70,.35); color:#c9ecd4; }
  .wt-seq-warn{ background:rgba(122,100,32,.35); color:#f2e3ad; }
  .wt-seq-bad{ background:rgba(122,46,46,.4); color:#f4c4bc; }

  .wt-steer{ display:flex; flex-wrap:wrap; gap:8px; }
  .wt-steer button, .wt-answer-row button{ font-family:var(--font-ui); }
  .wt-btn-right, .wt-btn-wrong{
    border:none; border-radius:5px; padding:10px 14px; font-weight:700; font-size:13px; cursor:pointer; flex:1 1 auto;
  }
  .wt-btn-right{ background:#2e6b46; color:#fff; }
  .wt-btn-right:hover{ background:#255a3a; }
  .wt-btn-wrong{ background:#7a2e2e; color:#fff; }
  .wt-btn-wrong:hover{ background:#672424; }
  .wt-panel button.secondary{ background:transparent; color:#f4f2ec; border:1px solid rgba(255,255,255,.35); }
  .wt-panel button.primary{ flex:1 1 100%; }

  .wt-substeer{ margin-bottom:10px; }
  .wt-subrow{
    display:flex; justify-content:space-between; align-items:center; padding:5px 2px;
    font-size:13px; border-bottom:1px solid rgba(255,255,255,.08);
  }
  .wt-subtoggle{ display:inline-flex; border-radius:5px; overflow:hidden; }
  .wt-tog{
    border:none; padding:4px 12px; cursor:pointer; font-size:12px; font-weight:700;
    background:rgba(255,255,255,.12); color:rgba(255,255,255,.55);
  }
  .wt-tog-right.active{ background:#2e6b46; color:#fff; }
  .wt-tog-wrong.active{ background:#7a2e2e; color:#fff; }

  .wt-logscroll{ max-height:260px; overflow-y:auto; }
  .wt-log{ width:100%; border-collapse:collapse; font-size:12px; }
  .wt-log th{
    text-align:left; font-size:10px; letter-spacing:1px; text-transform:uppercase; opacity:.6;
    padding:4px 6px; position:sticky; top:0; background:var(--ink);
  }
  .wt-log td{ padding:5px 6px; border-top:1px solid rgba(255,255,255,.08); }
  .wt-v-right{ color:#8fe0aa; font-weight:700; }
  .wt-v-wrong{ color:#f0a094; font-weight:700; }
  .wt-v-mixed{ color:#f2d98c; font-weight:700; }
  .wt-v-skip{ color:rgba(255,255,255,.5); }
  .wt-rewind{ color:rgba(255,255,255,.55); }
  .wt-rewind:hover{ color:#fff; }
  .wt-footnote{ margin-top:4px; font-size:11px; }

  @media (max-width: 980px){
    .wt-main{ flex-direction:column; overflow-y:auto; }
    .wt-stage{ overflow:visible; }
    .wt-panel{ flex:0 0 auto; }
  }

  .sc-shell{ max-width:640px; }

  .sc-head{ display:flex; align-items:flex-start; flex-wrap:wrap; gap:8px 16px; }
  .sc-head .shell-title{ flex:1 1 0%; }
  .sc-head .ex-timer-slot{ display:inline-flex; align-items:center; flex:0 0 auto; margin-left:auto; }
  .sc-lead{ margin:6px 0 22px; color:var(--muted); }
  .sc-cards{ display:flex; flex-direction:column; gap:14px; }
  .sc-card{
    display:flex; align-items:center; gap:16px; flex-wrap:wrap;
    background:var(--card); border:1px solid var(--ink); border-radius:8px; padding:18px 22px;
  }
  .sc-card-name{ font-size:19px; font-weight:bold; flex:1 1 auto; min-width:180px; }
  .sc-card-meta{ font-family:var(--font-ui); font-size:13px; color:var(--muted); flex:1 1 auto; }
  .sc-card .sc-start{ flex:0 0 auto; }
  .sc-note{ margin-top:18px; }

  @keyframes bPulse{ 0%,100%{ opacity:1; transform:scale(1);} 50%{ opacity:.35; transform:scale(.75);} }

  .att-strip{ display:flex; flex-wrap:wrap; gap:6px; }
  .att-chip{
    font-family:var(--font-ui); font-size:11px; font-weight:600; color:var(--ink-soft);
    background:var(--panel, #f4f1ea); border:1px solid var(--staff-line);
    border-radius:999px; padding:2px 9px; white-space:nowrap;
  }
  .att-chip.att-live{ background:#dcefe4; color:#1b6b54; border-color:#bfe0cf; }

  .sg-title{ font-family:var(--font-ui); font-size:20px; font-weight:800; color:var(--ink); margin:14px 0 8px; }

  .sg-pct{ font-family:var(--font-ui); font-weight:800; color:#3f8f2f; font-size:15px; font-variant-numeric:tabular-nums; }
  .sg-raw{ font-family:var(--font-ui); color:var(--ink-soft); margin-left:6px; font-variant-numeric:tabular-nums; }
  .sg-when{ color:var(--muted); font-size:12.5px; white-space:nowrap; }
  .srp-report{ max-width:none; }

  .srp-report .sr-hero{ grid-template-columns:1fr; }

  .pv-crumb{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 2px 10px; }
  .pv-nav{ display:inline-flex; gap:8px; }

  .print-host{ display:none; }
  @media print {
    body.printing-report > *:not(.print-host){ display:none !important; }
    body.printing-report .print-host{ display:block; }
    .print-host .sr-wrap{ page-break-after:always; }
    .print-host .sr-wrap:last-child{ page-break-after:auto; }
  }

  .wt-jump{ width:100%; }

  @media (max-width:1000px){

  }

  .cbcol{ width:38px; text-align:center; padding-right:0 !important; }
  .cbcol input{ width:16px; height:16px; accent-color:var(--accent); cursor:pointer; vertical-align:middle; }

  .lg-split{
    display:flex; min-height:calc(100vh - 130px); max-width:980px; margin:30px auto;
    background:var(--card); border:1px solid var(--ink); border-radius:10px; overflow:hidden;
    box-shadow:0 14px 40px rgba(28,43,42,.14);
  }
  .lg-brand{
    flex:1 1 46%; background:linear-gradient(160deg, var(--ink) 0%, #14403a 60%, var(--accent-dark) 100%);
    color:#f4f2ec; padding:52px 44px; display:flex; flex-direction:column; gap:10px;
  }
  .lg-wordmark{ font-size:26px; letter-spacing:4px; font-weight:bold; }
  .lg-tagline{ font-family:var(--font-ui); font-size:13px; letter-spacing:1.5px; text-transform:uppercase; opacity:.75; margin-bottom:26px; }
  .lg-point{
    display:flex; align-items:center; gap:12px; font-size:15px; padding:11px 0;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .lg-point-n{
    flex:0 0 26px; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.15);
    display:inline-flex; align-items:center; justify-content:center;
    font-family:var(--font-ui); font-size:12px; font-weight:700;
  }
  .lg-form{ flex:1 1 54%; padding:52px 46px; margin:0; }
  .lg-fields{ margin:18px auto 6px; max-width:300px; text-align:left; font-family:var(--font-ui); }
  .lg-input{
    width:100%; padding:11px 12px; font-size:15px; border:1px solid var(--line);
    border-radius:6px; margin-bottom:14px; box-sizing:border-box; transition:border-color .15s, box-shadow .15s;
  }
  .lg-input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(15,110,86,.15); }

  .lg-error{ color:#e0604f; font-family:var(--font-ui); font-size:13px; min-height:18px; }
  .lg-go{ min-width:200px; }
  .lg-alt{ margin-top:22px; }
  .lg-alt a{ font-family:var(--font-ui); font-size:13px; color:var(--muted); }
  @media (max-width: 760px){
    .lg-split{ flex-direction:column; margin:12px; min-height:0; }
    .lg-brand{ padding:26px 24px; }
    .lg-form{ padding:30px 22px; }
  }

  .assign-card{
    border:1px solid var(--line); border-left:4px solid var(--accent);
    border-radius:8px; background:var(--card); box-shadow:0 1px 3px rgba(28,43,42,.06);
    transition:box-shadow .15s, transform .15s;
  }
  .assign-card:hover{ box-shadow:0 4px 14px rgba(28,43,42,.12); transform:translateY(-1px); }
  .grade-row{
    border:1px solid var(--line); border-radius:8px; background:var(--card);
    box-shadow:0 1px 3px rgba(28,43,42,.06); margin-bottom:12px;
  }

  .version-banner{
    position:fixed; left:50%; bottom:22px; transform:translate(-50%, 80px);
    display:flex; align-items:center; gap:12px; z-index:200;
    background:var(--ink); color:#f4f2ec; border-radius:999px;
    padding:10px 12px 10px 18px; box-shadow:0 10px 30px rgba(28,43,42,.35);
    font-family:var(--font-ui); font-size:13px; max-width:min(92vw, 560px);
    opacity:0; transition:transform .25s ease, opacity .25s ease;
  }
  .version-banner.vb-in{ transform:translate(-50%, 0); opacity:1; }
  .vb-icon{ font-size:16px; color:#8fe0aa; }
  .vb-text strong{ margin-right:4px; }
  .vb-actions{ display:flex; gap:6px; flex:0 0 auto; }
  .vb-refresh{
    background:var(--accent); color:#fff; border:none; border-radius:999px;
    padding:7px 16px; font-weight:700; font-size:12px; cursor:pointer;
  }
  .vb-refresh:hover{ background:var(--accent-dark); }
  .vb-later{
    background:transparent; color:rgba(244,242,236,.7); border:none;
    padding:7px 10px; font-size:12px; cursor:pointer;
  }
  .vb-later:hover{ color:#fff; }

  .seb-wait{
    position:fixed; inset:0; z-index:220; background:rgba(28,43,42,.55);
    display:flex; align-items:center; justify-content:center; padding:20px;
  }
  .seb-wait-card{
    background:var(--card); border-radius:10px; padding:30px 34px; max-width:560px;
    box-shadow:0 20px 60px rgba(28,43,42,.4);
  }
  .seb-wait-card h2{ margin:0 0 10px; }
  .seb-wait-steps{ font-family:var(--font-ui); font-size:14px; line-height:1.8; padding-left:20px; }
  .seb-wait-actions{ display:flex; gap:10px; margin-top:20px; }
  .assign-actions{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
  .assign-check{ font-size:12px; padding:8px 12px; }

  .seb-note{
    position:fixed; left:50%; bottom:22px; transform:translateX(-50%);
    z-index:210; display:flex; align-items:center; gap:14px;
    max-width:min(94vw, 620px);
    background:var(--ink); color:#f4f2ec; border-radius:999px;
    padding:9px 12px 9px 18px; box-shadow:var(--sh-3);
    font-family:var(--font-ui); font-size:13px;
  }
  .seb-note-msg{ color:rgba(244,242,236,.82); }
  .seb-note-ask{
    background:transparent; border:1px solid rgba(244,242,236,.4); color:#f4f2ec;
    border-radius:999px; padding:6px 14px; font-family:inherit; font-size:12px;
    cursor:pointer; flex:0 0 auto;
  }
  .seb-note-ask:hover{ background:rgba(244,242,236,.14); }

  .seb-note-open{
    display:block; border-radius:var(--r-md); padding:18px 20px;
    max-width:min(94vw, 560px); text-align:left;
  }
  .seb-note-open .seb-note-body{ display:block; margin-bottom:14px; }
  .seb-note-open .seb-note-body strong{ display:block; font-size:15px; margin-bottom:5px; }
  .seb-note-open .seb-note-body span{ display:block; color:rgba(244,242,236,.82); line-height:1.5; }
  .seb-note-actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
  .seb-note-more{
    background:transparent; border:1px solid rgba(244,242,236,.4); color:#f4f2ec;
    border-radius:var(--r-sm); padding:9px 16px; font-family:inherit; font-size:13px;
    cursor:pointer;
  }
  .seb-note-more:hover{ background:rgba(244,242,236,.14); }

  .seb-dl{
    display:inline-block; background:var(--accent); color:#fff; text-decoration:none;
    border-radius:var(--r-sm); padding:10px 18px; font-family:var(--font-ui);
    font-size:13px; font-weight:700; cursor:pointer;
  }
  .seb-dl:hover{ background:var(--accent-dark); }
  .seb-dl-prep{ font-family:var(--font-ui); font-size:13px; opacity:.75; }
  .seb-wait-lead{ font-family:var(--font-ui); font-size:14px; line-height:1.6; }
  .seb-wait-dl{ margin:14px 0 18px; }
  .seb-wait-dl .seb-dl-prep{ color:var(--muted); opacity:1; }
  .seb-wait-or{ font-family:var(--font-ui); font-size:13px; color:var(--muted); margin:0 0 6px; }
  @media (max-width: 560px){
    .seb-note{ left:12px; right:12px; transform:none; max-width:none; }
    .seb-note-actions{ flex-direction:column; align-items:stretch; }
    .seb-dl, .seb-note-more{ text-align:center; }
  }

  body{
    background:
      radial-gradient(1200px 420px at 50% -180px, rgba(77,219,164,.10), transparent 70%),
      linear-gradient(180deg, #fdfcf9 0%, var(--paper) 320px);
    background-attachment:fixed;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  }

  header{
    background:linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
    border-bottom:1px solid rgba(28,43,42,.10);
    box-shadow:var(--sh-1);
    position:relative;
  }
  header::after{
    content:''; position:absolute; left:0; right:0; bottom:-3px; height:3px;
    background:linear-gradient(90deg, var(--accent-dark), var(--accent) 45%, var(--mint));
  }
  .brand{ letter-spacing:1.5px; }

  h1, .page-title, .shell-title{ letter-spacing:-.4px; }
  .shell-title{ font-size:30px; }
  .section-title{ letter-spacing:.2px; }

  .assign-card{
    position:relative; overflow:hidden;
    border:1px solid rgba(28,43,42,.09); border-left:none;
    border-radius:var(--r-md); box-shadow:var(--sh-1);
    padding:20px 24px;
    transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
  }
  .assign-card::before{
    content:''; position:absolute; left:0; top:0; bottom:0; width:4px;
    background:linear-gradient(180deg, var(--mint), var(--accent));
  }
  .assign-card:hover{ box-shadow:var(--sh-2); transform:translateY(-2px); border-color:rgba(28,43,42,.16); }
  .assign-name{ font-size:20px; letter-spacing:-.2px; }
  .assign-meta{ margin-top:3px; }
  .assign-card .assign-go{ box-shadow:0 2px 8px rgba(15,110,86,.25); }

  .grade-row{ border-radius:var(--r-md); box-shadow:var(--sh-1); padding:18px 22px; }

  .shell-tab{ position:relative; letter-spacing:.2px; }
  .shell-tab::after{
    content:''; position:absolute; left:0; right:0; bottom:-1px; height:3px;
    border-radius:3px 3px 0 0; background:var(--accent-dark);
    transform:scaleX(0); transform-origin:center; transition:transform .18s ease;
  }
  .shell-tab.active::after{ transform:scaleX(1); }

  button.primary{
    border-radius:var(--r-sm);
    background:linear-gradient(180deg, var(--accent) 0%, var(--accent-dark) 100%);
    box-shadow:0 1px 2px rgba(8,80,65,.3);
    transition:transform .12s ease, box-shadow .18s ease, filter .18s ease;
  }
  button.primary:hover{ filter:brightness(1.06); box-shadow:0 3px 12px rgba(8,80,65,.28); }
  button.primary:active{ transform:translateY(1px); box-shadow:0 1px 2px rgba(8,80,65,.3); }
  button.secondary{ border-radius:var(--r-sm); transition:background .15s ease, border-color .15s ease; }
  button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible{
    outline:2px solid var(--accent); outline-offset:2px;
  }

  .card, .lib-row, .b-card, .teachers-card{ border-radius:var(--r-md); box-shadow:var(--sh-1); }

  .staff-rail{ box-shadow:2px 0 14px rgba(28,43,42,.10); }
  .rail-wordmark{ letter-spacing:3px; }
  .rail-item{ border-radius:0 var(--r-sm) var(--r-sm) 0; transition:background .15s ease, color .15s ease; }

  .version-banner{
    left:50%; bottom:26px; gap:14px;
    padding:0; border-radius:var(--r-lg); overflow:hidden;
    background:linear-gradient(180deg, #22322f 0%, var(--ink) 100%);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:var(--sh-3), 0 0 0 1px rgba(0,0,0,.04);
    align-items:stretch;
  }
  .version-banner::before{
    content:''; position:absolute; left:0; right:0; top:0; height:2px;
    background:linear-gradient(90deg, var(--mint), var(--accent));
  }
  .vb-icon{
    display:flex; align-items:center; padding:14px 0 14px 18px;
    color:var(--mint); font-size:18px;
  }
  .vb-text{ display:flex; align-items:center; padding:14px 4px; line-height:1.45; }
  .vb-text strong{ color:#fff; }
  .vb-actions{ display:flex; align-items:center; gap:4px; padding:10px 12px 10px 4px; }
  .vb-refresh{
    background:linear-gradient(180deg, var(--accent) 0%, var(--accent-dark) 100%);
    box-shadow:0 2px 8px rgba(0,0,0,.25);
  }
  .vb-refresh:hover{ filter:brightness(1.08); }

  .skeleton-row{
    background:linear-gradient(90deg, rgba(28,43,42,.055) 25%, rgba(28,43,42,.10) 37%, rgba(28,43,42,.055) 63%);
    background-size:400% 100%; animation:btShimmer 1.3s ease-in-out infinite;
    border-radius:var(--r-sm);
  }
  @keyframes btShimmer{ 0%{ background-position:100% 50%; } 100%{ background-position:0 50%; } }

  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important;
      transition-duration:.001ms !important; }
    .assign-card:hover{ transform:none; }
  }

  .lg-brand{ justify-content:center; align-items:flex-start; gap:6px; }
  .lg-wordmark{ font-size:30px; line-height:1.15; }
  .lg-tagline{ margin-bottom:0; }
  .lg-brand::after{
    content:''; display:block; width:52px; height:3px; border-radius:3px; margin-top:18px;
    background:linear-gradient(90deg, var(--mint), rgba(77,219,164,0));
  }

  header{
    background:linear-gradient(180deg, #22322f 0%, var(--ink) 100%);
    border-bottom:none; padding:12px 28px; color:#f4f2ec;
  }
  header::after{ height:2px; bottom:0; }
  .brand{ color:#fff; font-size:17px; letter-spacing:2px; }
  .profile-icon{ background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.18); }
  .profile-icon:hover{ background:rgba(255,255,255,.22); }

  body{
    background:
      linear-gradient(180deg, rgba(28,43,42,.055) 0, rgba(28,43,42,0) 220px),
      radial-gradient(900px 300px at 50% -140px, rgba(77,219,164,.10), transparent 70%),
      var(--paper);
  }

  .shell{ max-width:860px; margin:0 auto; padding:26px 22px 60px; }
  .shell-hero{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:18px; }
  .shell-eyebrow{
    font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:1.6px;
    text-transform:uppercase; color:var(--muted); margin-bottom:2px;
  }
  .shell-title{ font-size:24px; margin:0; letter-spacing:-.3px; }
  .shell-tabs{ margin-bottom:16px; gap:22px; }
  .shell-tab{ font-size:14px; padding-bottom:9px; }

  .assign-card{ padding:16px 20px; margin-bottom:10px; }
  .assign-card-top{ display:flex; align-items:center; gap:12px; margin-bottom:0; }
  .assign-name{ font-size:18px; flex:1 1 auto; min-width:0; }
  .assign-card{ display:flex; align-items:center; gap:16px; }
  .assign-card .assign-card-top{ flex:1 1 auto; }
  .assign-card .assign-go{ flex:0 0 auto; padding:10px 26px; }
  .assign-badge{ flex:0 0 auto; }
  .grade-row{ padding:14px 20px; margin-bottom:10px; }

  .shell{ max-width:1100px; }

  .stat-strip{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-bottom:22px;
  }
  .stat-tile{
    background:var(--card); border:1px solid rgba(28,43,42,.09); border-radius:var(--r-md);
    box-shadow:var(--sh-1); padding:14px 16px; position:relative; overflow:hidden;
  }
  .stat-tile::before{
    content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--line);
  }
  .stat-tile.st-live::before{ background:linear-gradient(180deg, var(--mint), var(--accent)); }
  .stat-tile.st-good::before{ background:var(--accent); }
  .stat-tile-n{
    display:block; font-family:var(--font-ui); font-size:26px; font-weight:700;
    color:var(--ink); line-height:1.1; letter-spacing:-.5px;
  }
  .stat-tile-l{
    display:block; margin-top:3px; font-family:var(--font-ui); font-size:10px;
    letter-spacing:1.1px; text-transform:uppercase; color:var(--muted);
  }

  .shell-cols{ display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:22px; align-items:start; }
  .shell-main{ min-width:0; }
  .shell-rail{ display:flex; flex-direction:column; gap:12px; position:sticky; top:18px; }
  .rail-card{
    background:var(--card); border:1px solid rgba(28,43,42,.09); border-radius:var(--r-md);
    box-shadow:var(--sh-1); padding:16px 18px;
  }
  .rail-card-quiet{ background:#f7f6f1; box-shadow:none; }
  .rail-card-title{
    font-family:var(--font-ui); font-size:10px; font-weight:700; letter-spacing:1.4px;
    text-transform:uppercase; color:var(--muted); margin-bottom:10px;
  }
  .rail-next-name{ font-size:16px; font-weight:bold; margin-bottom:12px; }
  .rail-next-go, .rail-seb-check{ width:100%; }
  .rail-result{
    display:flex; justify-content:space-between; align-items:baseline; gap:10px;
    padding:7px 0; border-top:1px solid var(--line); font-family:var(--font-ui); font-size:13px;
  }
  .rail-result:first-of-type{ border-top:none; }
  .rail-result-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); }
  .rail-result-score{ font-weight:700; color:var(--accent-dark); flex:0 0 auto; }

  #app{ min-height:calc(100vh - 120px); }

  @media (max-width: 900px){
    .shell-cols{ grid-template-columns:minmax(0,1fr); }
    .shell-rail{ position:static; }
    .stat-strip{ grid-template-columns:repeat(2, 1fr); }
  }

  .row-class{
    display:inline-block; margin-left:8px; padding:1px 8px; border-radius:999px;
    background:var(--mint-soft); color:var(--accent-dark);
    font-family:var(--font-ui); font-size:11px; font-weight:600; vertical-align:1px;
  }

  .assign-paused{
    font-family:var(--font-ui); font-weight:700; font-size:15px;
    padding:12px 26px; border-radius:var(--r-sm); cursor:not-allowed;
    background:#f6e7bf; color:#6b5410; border:1px solid #e0c98a;
    box-shadow:none; opacity:1;
  }
  .assign-paused[disabled]{ opacity:1; }

  .shell-rail.rail-empty{ display:none; }
  .shell-cols:has(.rail-empty){ grid-template-columns:minmax(0,1fr); }

  .tchip{
    display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
    font-family:var(--font-ui); font-size:12px; font-weight:600;
    padding:3px 10px 3px 4px; border-radius:999px; border:1px solid transparent;
  }
  .tchip-g{
    display:inline-flex; align-items:center; justify-content:center;
    width:18px; height:18px; border-radius:50%; font-size:11px; font-weight:700;
    background:rgba(255,255,255,.7);
  }
  .tchip-test{ background:rgba(28,43,42,.07); color:var(--ink); border-color:rgba(28,43,42,.14); }
  .tchip-test .tchip-g{ background:var(--ink); color:#fff; }
  .tchip-cw{ background:rgba(28,43,42,.04); color:var(--muted); border-color:rgba(28,43,42,.10); }
  .tchip-cw .tchip-g{ background:#e7e4da; color:var(--muted); }
  .tchip-adaptive{ background:var(--mint-soft); color:var(--accent-dark); border-color:rgba(15,110,86,.28); }
  .tchip-adaptive .tchip-g{ background:var(--accent); color:#fff; }
  .tchip-fixed{ background:rgba(28,43,42,.05); color:var(--ink-soft, var(--muted)); border-color:rgba(28,43,42,.12); }
  .tchip-fixed .tchip-g{ background:#dcd7c9; color:var(--ink); }

  .page-title{ letter-spacing:-.4px; }
  .toolbar{ gap:10px; align-items:center; }

  .sr-wrap{ max-width:940px; margin:0 auto; padding:26px 20px 60px; }
  .sr-topbar{ display:flex; gap:10px; justify-content:space-between; margin-bottom:22px; }

  .sr-head{
    display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
    padding-bottom:18px; border-bottom:2px solid var(--ink);
    background:none; box-shadow:none; color:var(--ink); padding-top:0; position:static;
  }
  .sr-head::after{ display:none; }
  .sr-kicker{
    font-family:var(--font-ui); font-size:11px; font-weight:700;
    letter-spacing:2px; text-transform:uppercase; color:var(--accent-dark);
  }
  .sr-title{ margin:4px 0 2px; font-size:30px; letter-spacing:-.5px; }
  .sr-sub{ font-family:var(--font-ui); font-size:13px; color:var(--muted); }
  .sr-mark{
    text-align:right; font-family:Georgia,serif;
    font-size:13px; letter-spacing:2px; color:var(--ink); line-height:1.5; white-space:nowrap;
  }
  .sr-mark span{ display:block; font-size:9px; letter-spacing:1.5px; color:var(--muted); }

  .sr-hero{
    display:grid; grid-template-columns:minmax(200px,260px) 1fr; gap:32px; align-items:center;
    padding:28px 30px; margin:22px 0 8px;
    background:linear-gradient(135deg, #12211f 0%, #1c2b2a 55%, #234039 100%);
    color:#fff; border-radius:var(--r-lg); box-shadow:var(--sh-2);
  }
  .sr-hero-main{ text-align:center; }
  .sr-hero-num{ font-size:64px; font-weight:bold; line-height:1; letter-spacing:-2px; }
  .sr-pc{ font-size:30px; margin-left:2px; }
  .sr-hero-cap{ font-family:var(--font-ui); font-size:13px; color:rgba(255,255,255,.88); margin-top:6px; }
  .sr-hero-label{
    font-family:var(--font-ui); font-size:11px; font-weight:700; letter-spacing:1.4px;
    text-transform:uppercase; color:var(--mint); margin-top:10px;
  }
  .sr-hero-meters{ display:flex; flex-direction:column; gap:16px; }
  .sr-meter-top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px; }
  .sr-meter-label{ font-family:var(--font-ui); font-size:13px; color:rgba(255,255,255,.95); }
  .sr-meter-val{ font-size:21px; font-weight:bold; }
  .sr-hero .sr-track{ background:rgba(255,255,255,.16); }
  .sr-hero .sr-fill{ background:var(--mint); }

  .sr-track{ height:10px; border-radius:999px; background:rgba(28,43,42,.10); overflow:hidden; }
  .sr-track-sm{ height:8px; }
  .sr-fill{ height:100%; border-radius:999px; background:var(--accent); transition:width .3s ease; }

  .sr-cutoffs{ margin-top:20px; }
  .sr-cut-note{ font-family:var(--font-ui); font-size:12px; color:var(--muted); line-height:1.6; margin:8px 0 12px; }

  .sr-cut-rows{ display:flex; flex-direction:column; }
  .sr-cut-row{
    display:flex; align-items:center; gap:10px; padding:8px 10px;
    border-bottom:1px solid var(--line); font-size:14px; border-radius:8px;
  }
  .sr-cut-row:last-child{ border-bottom:none; }
  .sr-cut-clear{ background:#eef7f1; }
  .sr-cut-badge{
    flex:0 0 20px; width:20px; height:20px; border-radius:50%; text-align:center; line-height:20px;
    font-size:12px; font-weight:800; color:#1b6b54; background:#dcefe4;
  }
  .sr-cut-row:not(.sr-cut-clear) .sr-cut-badge{ background:transparent; }
  .sr-cut-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .sr-cut-delta{ font-family:var(--font-ui); font-size:12px; font-weight:700; color:var(--muted); font-variant-numeric:tabular-nums; }
  .sr-cut-clear .sr-cut-delta{ color:#1b6b54; }
  .sr-cut-score{ font-family:var(--font-ui); font-weight:700; min-width:34px; text-align:right; font-variant-numeric:tabular-nums; }

  .sr-disclose{
    font-family:var(--font-ui); font-size:12px; color:var(--muted);
    margin:0 0 22px; padding:0 4px; line-height:1.6;
  }

  .sr-focus{
    padding:18px 22px; margin-bottom:24px;
    background:var(--mint-soft); border-left:4px solid var(--accent); border-radius:var(--r-md);
  }
  .sr-focus h3{ margin:0 0 6px; font-size:15px; letter-spacing:.2px; }
  .sr-focus p{ margin:0; font-size:15px; line-height:1.6; }
  .sr-focus-none{ background:rgba(28,43,42,.04); border-left-color:var(--line); }

  .sr-panels{ display:grid; grid-template-columns:repeat(auto-fit, minmax(340px,1fr)); gap:20px; }
  .sr-panel{
    background:var(--card); border:1px solid var(--line);
    border-radius:var(--r-md); padding:20px 22px; box-shadow:var(--sh-1);
  }
  .sr-panel-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
  .sr-panel-title{ margin:0; font-size:17px; }
  .sr-panel-sum{ font-family:var(--font-ui); font-size:12px; color:var(--muted); white-space:nowrap; }
  .sr-rows{ display:flex; flex-direction:column; gap:16px; }
  .sr-row-head{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:6px; }
  .sr-topic{ font-size:14px; font-weight:600; }
  .sr-count{ font-family:var(--font-ui); font-size:13px; color:var(--ink-soft, var(--muted)); white-space:nowrap; }
  .sr-row-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:6px; }
  .sr-pct{ font-family:var(--font-ui); font-size:13px; color:var(--ink-soft, var(--muted)); }
  .sr-chip{
    display:inline-block; font-family:var(--font-ui); font-size:11px; font-weight:700;
    padding:2px 9px; border-radius:999px; letter-spacing:.3px;
  }

  .sr-band-strong  { background:#dcefe4; color:var(--accent-dark); }
  .sr-fill.sr-band-strong{ background:var(--accent); }
  .sr-band-solid   { background:rgba(28,43,42,.07); color:var(--ink-soft, var(--muted)); }
  .sr-fill.sr-band-solid{ background:#658379; }
  .sr-band-practice{ background:#fbeccd; color:#7a5a12; }
  .sr-fill.sr-band-practice{ background:#b07d14; }
  .sr-band-focus   { background:#f7dcd8; color:#8f2a1e; }
  .sr-fill.sr-band-focus{ background:var(--wrong); }

  .sr-lown{ margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
  .sr-lown-head{
    margin:0 0 8px; font-family:var(--font-ui); font-size:11px; font-weight:700;
    letter-spacing:1px; text-transform:uppercase; color:var(--muted);
  }
  .sr-lown-list{ list-style:none; margin:0; padding:0; }
  .sr-lown-list li{ display:flex; justify-content:space-between; gap:10px; padding:3px 0; font-size:13px; }
  .sr-lown-note{ font-family:var(--font-ui); font-size:12px; color:var(--muted); margin:8px 0 0; line-height:1.5; }

  .sr-notes{ margin-top:26px; padding:16px 20px; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); }
  .sr-notes h4{ margin:0 0 8px; font-family:var(--font-ui); font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }
  .sr-notes ul{ margin:0; padding-left:18px; }
  .sr-notes li{ font-size:13px; line-height:1.65; color:var(--ink-soft, var(--ink)); }
  .sr-foot{ margin-top:24px; font-family:var(--font-ui); font-size:11px; color:var(--muted); }
  .sr-foot p{ margin:0; }

  @media (max-width:720px){
    .sr-hero{ grid-template-columns:1fr; gap:22px; padding:22px; }
    .sr-head{ flex-direction:column; }
    .sr-mark{ text-align:left; }
  }

  @media print{

    @page{ size: portrait; margin:14mm; }

    body > header, #progress-bar, .sr-noprint, .toast,
    .modal-overlay, .import-modal-overlay{ display:none !important; }
    body{ background:#fff; }
    .sr-wrap{ max-width:none; padding:0; }

    .sr-hero{
      background:#fff !important; color:#000 !important;
      border:2px solid #000; border-radius:0; box-shadow:none;
      page-break-inside:avoid;
    }
    .sr-hero-cap, .sr-meter-label{ color:#333 !important; }
    .sr-hero-label{ color:#000 !important; }
    .sr-hero .sr-track{ background:#e5e5e5 !important; }
    .sr-hero .sr-fill{ background:#000 !important; }
    .sr-panel, .sr-focus, .sr-notes{ box-shadow:none; page-break-inside:avoid; border-radius:0; }
    .sr-panels{ grid-template-columns:1fr 1fr; }
    .sr-row{ page-break-inside:avoid; }

    .srp-report .sr-panel{ page-break-inside:auto; }

    .sr-fill, .sr-chip{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    .sr-track{ border:1px solid #999; }
    .sr-cutoffs{ page-break-inside:avoid; }
  }

  :root{
    --xr-page:#eff1ee;
    --xr-card:#ffffff;
    --xr-line:#d9dcd4;
    --xr-line-soft:#e5e8e1;
    --xr-ink:#22302e;
    --xr-muted:#66716c;
    --xr-hover:#f4f5f1;
    --xr-shadow:0 1px 3px rgba(28,43,42,.07), 0 4px 14px rgba(28,43,42,.05);

    --xr-done:#5f7482;  --xr-done-bg:#e9edee;

    --st-correct:#3e8e5f;  --st-correct-tint:#e3f1e8;  --st-correct-ink:#1e6b43;
    --st-wrong:#c0564a;    --st-wrong-tint:#f9e9e6;    --st-wrong-ink:#8f2a1e;
    --st-skip:#ddab4c;     --st-skip-tint:#f7ecd4;     --st-skip-ink:#574410;
  }

  body:has(.exam-bar){ background:var(--xr-page); }

  body:has(.exam-bar) .exam-bar{
    margin-bottom:16px; font-family:var(--font-ui);
    background:var(--xr-card); border:1px solid var(--xr-line); border-top:3px solid var(--accent);
    border-radius:10px; padding:10px 14px 12px; box-shadow:0 1px 3px rgba(28,43,42,.06);
  }
  body:has(.exam-bar) .exam-nav-row{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
  body:has(.exam-bar) .exam-arrow{
    background:var(--accent); color:#fff; border:none; width:40px; height:36px;
    border-radius:8px; font-size:16px; cursor:pointer; box-shadow:0 1px 2px rgba(8,80,65,.22);
    transition:background 130ms ease-out;
  }
  body:has(.exam-bar) .exam-arrow:hover:not(:disabled){ background:var(--accent-dark); }
  body:has(.exam-bar) .exam-arrow:disabled{ background:#c6cbc2; color:#eef0ec; cursor:not-allowed; box-shadow:none; }
  body:has(.exam-bar) .exam-review-btn{
    background:var(--xr-card); color:var(--ink); border:1px solid var(--xr-line);
    padding:0 14px; height:36px; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer;
  }
  body:has(.exam-bar) .exam-review-btn:hover{ background:var(--xr-hover); border-color:var(--ink-soft); }
  body:has(.exam-bar) .exam-crumb{
    background:none; color:var(--xr-muted); padding:8px 2px 0; font-size:11.5px;
    font-weight:600; letter-spacing:.8px; text-transform:uppercase; border-radius:0;
    border-top:1px solid var(--xr-line);
  }

  body:has(.exam-bar) .split{
    display:flex; gap:0; min-height:480px; background:var(--xr-card);
    border:1px solid var(--xr-line); border-radius:12px; box-shadow:var(--xr-shadow); overflow:hidden;
  }
  body:has(.exam-bar) .passage-pane{
    flex:1; border-right:1px solid var(--xr-line-soft); padding:26px 30px;
    overflow-y:auto; max-height:min(70vh, 640px); background:#fdfcf9;
  }
  body:has(.exam-bar) .question-pane{ flex:1; padding:26px 28px; overflow-y:auto; max-height:min(70vh, 640px); }
  body:has(.exam-bar) .single-pane{
    background:var(--xr-card); border:1px solid var(--xr-line); border-radius:12px;
    box-shadow:var(--xr-shadow); padding:30px 34px;
  }

  body:has(.exam-bar) .passage-title{ font-size:16px; color:var(--xr-ink); letter-spacing:.4px; }
  body:has(.exam-bar) .passage-sub{ font-weight:600; font-style:italic; color:var(--xr-muted); margin-bottom:16px; }
  body:has(.exam-bar) .passage-text{ font-size:17px; line-height:1.78; color:var(--xr-ink); max-width:66ch; }
  body:has(.exam-bar) .q-text{ font-size:16.5px; line-height:1.65; color:var(--xr-ink); }
  body:has(.exam-bar) .choice-text{ font-size:15.5px; line-height:1.6; color:var(--xr-ink); padding-top:2px; }
  body:has(.exam-bar) .q-block{ margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--xr-line-soft); }
  body:has(.exam-bar) .q-number{ width:30px; height:30px; background:var(--ink); font-family:var(--font-ui); font-size:14px; border-radius:8px; }

  body:has(.exam-bar) .choice{
    padding:12px 14px; border-radius:10px; gap:12px; margin-bottom:9px;
    background:var(--xr-card); border:1px solid #e3e6de;
    transition:border-color 130ms ease-out, box-shadow 130ms ease-out;
  }
  body:has(.exam-bar) .choice:hover{ background:var(--xr-card); border-color:#b9c9c2; box-shadow:0 1px 3px rgba(28,43,42,.06); }
  body:has(.exam-bar) .choice.selected{
    border-color:var(--accent); background:var(--xr-card);
    box-shadow:inset 0 0 0 1px var(--accent), 0 1px 3px rgba(28,43,42,.06);
  }
  body:has(.exam-bar) .choice-letter{
    width:27px; height:27px; border:1.5px solid #9aa5a0; color:var(--ink-soft);
    font-family:var(--font-ui); font-weight:700; font-size:13px;
  }
  body:has(.exam-bar) .choice.selected .choice-letter{ background:var(--accent); border-color:var(--accent); color:#fff; }

  body:has(.exam-bar) .fx-review-panel{
    background:var(--xr-card); border:1px solid var(--xr-line); border-radius:12px;
    box-shadow:0 12px 32px rgba(28,43,42,.16); overflow:hidden;
  }
  body:has(.exam-bar) .fxrp-counts{ background:#f7f8f4; border-bottom:1px solid var(--xr-line); font-family:var(--font-ui); font-size:13px; }
  body:has(.exam-bar) .fxrp-row{ font-family:var(--font-ui); font-size:14px; border-bottom:1px solid var(--xr-line-soft); }
  body:has(.exam-bar) .fxrp-row:hover{ background:var(--xr-hover); }
  body:has(.exam-bar) .fxrp-row.current{ background:#eef1ef; font-weight:700; box-shadow:inset 3px 0 0 var(--accent); }
  body:has(.exam-bar) .fxrp-dot{ background:var(--xr-card); border:1.5px solid #c4c9c0; box-sizing:border-box; }

  .para-num{
    display:inline-flex; align-items:center; justify-content:center;
    width:21px; height:21px; border-radius:50%; background:var(--ink); color:#fff;
    font-family:var(--font-ui); font-size:11.5px; font-weight:700; line-height:1;
    margin-right:8px; vertical-align:baseline; position:relative; top:-1px; user-select:none;
  }

  .choice.rv-correct{ border-color:var(--st-correct); background:var(--st-correct-tint); }
  .choice.rv-wrong-pick{ border-color:var(--st-wrong); background:var(--st-wrong-tint); }
  .skip-chip{ background:var(--st-skip-tint); color:var(--st-skip-ink); }

  body:has(.exam-bar) .navcell.answered{ background:var(--xr-done-bg); border-color:var(--xr-done); font-weight:600; }
  body:has(.exam-bar) .navcell.current{ background:var(--ink); border-color:var(--ink); color:#fff; font-weight:700; }
  body:has(.exam-bar) .fxrp-row.answered .fxrp-dot{ background:var(--xr-done); border-color:var(--xr-done); }
  body:has(.exam-bar) .fxrp-row.current .fxrp-dot{ background:var(--ink); border-color:var(--ink); }
  .review-dot.answered{ background:var(--xr-done); }
  .review-dot.unanswered{ background:var(--xr-card); border:2px solid var(--st-skip); box-sizing:border-box; }
  .rs-state.ok{ color:var(--xr-done); }
  .rs-state.blank{ color:var(--st-skip-ink); }

  .att-pick{
    display:inline-flex; align-items:center; gap:6px; cursor:pointer;
    font-family:var(--font-ui); font-size:11px; font-weight:600; color:var(--ink-soft);
    background:var(--panel, #f4f1ea); border:1px solid var(--staff-line);
    border-radius:999px; padding:3px 10px; white-space:nowrap;
  }
  .att-pick input{ width:13px; height:13px; accent-color:var(--accent); margin:0; }
  .att-pick.att-on{ background:#e9edee; border-color:#5f7482; color:var(--ink); }
  .att-score{ font-variant-numeric:tabular-nums; font-weight:800; color:var(--ink); }

  .wt-overlay .wt-item-split{ max-width:none; }
  .wt-overlay .split{
    border:1px solid var(--xr-line); border-radius:12px; box-shadow:var(--xr-shadow);
    overflow:hidden; background:var(--xr-card); min-height:420px;
  }
  .wt-overlay .passage-pane{
    flex:1 1 50%; min-width:0; border-right:1px solid var(--xr-line-soft);
    padding:24px 26px; overflow-y:auto; max-height:min(62vh, 560px); background:#fdfcf9;
  }
  .wt-overlay .question-pane{
    flex:1 1 50%; min-width:0; padding:24px 26px; overflow-y:auto; max-height:min(62vh, 560px);
  }
  .wt-overlay .passage-text{ max-width:66ch; }
  .wt-overlay .wt-setpager{ justify-content:flex-start; flex-wrap:wrap; gap:8px; align-items:center; }
  @media (max-width: 980px){
    .wt-overlay .split{ flex-direction:column; }
    .wt-overlay .passage-pane{ border-right:none; border-bottom:1px solid var(--xr-line-soft); max-height:40vh; }
    .wt-overlay .question-pane{ max-height:none; }
  }

  :root{

    --ex-blue:#0b5cab;
    --ex-blue-dark:#084a8c;
    --ex-blue-tint:#eaf2fb;
    --ex-blue-sel:#f2f7fd;
    --ex-blue-line:#c7dbf2;
    --ex-blue-lite:#8ab4f8;
    --ex-orange:#b35c00;
    --ex-orange-dot:#d2700c;
    --ex-surface:#ffffff;
    --ex-crumb:#e8eaed;
    --ex-sect:#f1f3f4;
    --ex-dark:#3c4043;
    --ex-dark-hover:#33363a;
    --ex-ink:#242a2e;
    --ex-muted:#5f6368;
    --ex-ring:#80868b;
    --ex-line:#dadce0;
    --ex-line-soft:#e8eaec;
    --ex-hover:#f5f7fa;
    --ex-disabled:#c6cace;  --ex-disabled-ink:#5f6368;

    --ex-read:'Segoe UI',-apple-system,BlinkMacSystemFont,'Helvetica Neue','Avenir Next',Roboto,Arial,sans-serif;
    --ex-shadow:0 1px 2px rgba(32,33,36,.06), 0 6px 18px rgba(32,33,36,.07);
    --ex-pop:0 10px 30px rgba(32,33,36,.22);
  }

  body:has(.exam-bar) header{
    background:var(--ex-surface); box-shadow:none;
    border-bottom:1px solid var(--ex-line);
  }
  body:has(.exam-bar) header::after{ display:none; }
  body:has(.exam-bar) #progress-bar{ display:none; }
  body:has(.exam-bar) header .brand{ color:var(--ex-ink); letter-spacing:1.2px; }
  body:has(.exam-bar) #app{ max-width:1240px; padding:16px 20px 56px; }

  body:has(.exam-bar) .exam-bar{
    margin:0 -20px 22px;
    padding:0; border:none; border-radius:0; box-shadow:none;
    background:var(--ex-surface); font-family:var(--ex-read);
  }
  body:has(.exam-bar) .exam-nav-row{
    display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    margin:0; padding:12px 20px;
    background:var(--ex-surface);
    border-bottom:4px solid var(--ex-blue);
  }
  body:has(.exam-bar) .exam-crumb{
    background:var(--ex-crumb); color:var(--ex-dark);
    padding:10px 20px; border:none; border-radius:0;
    font-family:var(--ex-read); font-size:12.5px; font-weight:700;
    letter-spacing:1px; text-transform:uppercase; line-height:1.45;
  }

  body:has(.exam-bar) .exam-arrow{
    width:52px; height:44px; padding:0;
    background:var(--ex-blue); color:#fff; border:1px solid var(--ex-blue);
    border-radius:4px; box-shadow:none; cursor:pointer;
    font-family:var(--ex-read); font-size:20px; font-weight:600; line-height:1;
    transition:background 120ms ease-out, border-color 120ms ease-out;
  }
  body:has(.exam-bar) .exam-arrow:hover:not(:disabled),
  body:has(.exam-bar) .exam-arrow:active:not(:disabled){
    background:var(--ex-blue-dark); border-color:var(--ex-blue-dark);
  }
  body:has(.exam-bar) .exam-arrow:disabled{
    background:var(--ex-disabled); border-color:var(--ex-disabled);
    color:var(--ex-disabled-ink); cursor:not-allowed; box-shadow:none;
  }

  body:has(.exam-bar) .exam-review-btn,
  body:has(.exam-bar) .exam-bookmark-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background:var(--ex-surface); color:var(--ex-blue);
    border:1.5px solid var(--ex-blue); border-radius:4px; box-shadow:none;
    font-family:var(--ex-read); font-size:14.5px; font-weight:600; letter-spacing:.2px;
    cursor:pointer; transition:background 120ms ease-out, color 120ms ease-out;
  }
  body:has(.exam-bar) button.exam-review-btn,
  body:has(.exam-bar) button.exam-bookmark-btn{ height:44px; padding:0 18px; min-width:44px; }
  body:has(.exam-bar) .exam-review-btn:hover,
  body:has(.exam-bar) .exam-bookmark-btn:hover{
    background:var(--ex-blue-tint); border-color:var(--ex-blue-dark); color:var(--ex-blue-dark);
  }

  body:has(.exam-bar) .exam-review-btn.is-on,
  body:has(.exam-bar) .exam-bookmark-btn.is-on,
  body:has(.exam-bar) .exam-review-btn[aria-expanded="true"],
  body:has(.exam-bar) .exam-bookmark-btn[aria-pressed="true"]{
    background:var(--ex-blue); border-color:var(--ex-blue); color:#fff;
  }

  body:has(.exam-bar) .exam-arrow:focus-visible,
  body:has(.exam-bar) .exam-review-btn:focus-visible,
  body:has(.exam-bar) .exam-bookmark-btn:focus-visible,
  body:has(.exam-bar) .fxrp-row:focus-visible,
  body:has(.exam-bar) .fxrp-tab:focus-visible,
  body:has(.exam-bar) .choice:focus-visible{
    outline:3px solid var(--ex-blue); outline-offset:2px;
  }

  body:has(.exam-bar) .split{
    display:flex; gap:0; min-height:560px;
    background:var(--ex-surface);
    border:1px solid var(--ex-line); border-radius:10px;
    box-shadow:var(--ex-shadow); overflow:hidden;
  }
  body:has(.exam-bar) .passage-pane{
    flex:1 1 52%; min-width:0; background:var(--ex-surface);
    border-right:1px solid var(--ex-line-soft);
    padding:34px 40px; overflow-y:auto; max-height:min(72vh, 720px);
    scrollbar-gutter:stable; -webkit-overflow-scrolling:touch;
  }
  body:has(.exam-bar) .question-pane{
    flex:1 1 48%; min-width:0; background:var(--ex-surface);
    padding:34px 40px; overflow-y:auto; max-height:min(72vh, 720px);
    scrollbar-gutter:stable; -webkit-overflow-scrolling:touch;
  }
  body:has(.exam-bar) .single-pane{
    background:var(--ex-surface); border:1px solid var(--ex-line);
    border-radius:10px; box-shadow:var(--ex-shadow); padding:36px 44px;
  }
  body:has(.exam-bar) .interstitial-box{
    background:var(--ex-surface); border:1px solid var(--ex-line);
    border-radius:10px; box-shadow:var(--ex-shadow); padding:56px 24px;
  }
  body:has(.exam-bar) .interstitial-inner{
    font-family:var(--ex-read); font-size:17px; line-height:1.75;
    color:var(--ex-ink); max-width:56ch;
  }

  @media (max-width:900px){
    body:has(.exam-bar) .split{ flex-direction:column; }
    body:has(.exam-bar) .passage-pane{
      border-right:none; border-bottom:1px solid var(--ex-line-soft);
      max-height:42vh; padding:26px 24px;
    }
    body:has(.exam-bar) .question-pane{ max-height:none; padding:26px 24px; }
    body:has(.exam-bar) .single-pane{ padding:26px 24px; }
    body:has(.exam-bar) .exam-bar{ margin:0 -20px 16px; }
    body:has(.exam-bar) .passage-text,
    body:has(.exam-bar) .q-text{ max-width:none; }
  }

  body:has(.exam-bar) .passage-pane,
  body:has(.exam-bar) .question-pane,
  body:has(.exam-bar) .single-pane,
  body:has(.exam-bar) .interstitial-inner{
    font-family:var(--ex-read); color:var(--ex-ink);
  }

  body:has(.exam-bar) .drop-slot.filled,
  body:has(.exam-bar) .dragfill-token,
  body:has(.exam-bar) .hottext-authorword,
  body:has(.exam-bar) .il-wrap,
  body:has(.exam-bar) .tg-table tbody th{ font-family:var(--ex-read); }

  body:has(.exam-bar) .mt-run,
  body:has(.exam-bar) .mt-invalid{ font-family:Georgia,'Times New Roman',serif; }

  body:has(.exam-bar) .passage-title{
    font-size:17px; font-weight:normal; line-height:1.35; letter-spacing:.2px;
    color:var(--ex-ink); margin-bottom:4px;
  }
  body:has(.exam-bar) .passage-sub{
    font-size:15px; font-weight:600; font-style:normal; line-height:1.5;
    color:var(--ex-muted); margin-bottom:22px;
  }
  body:has(.exam-bar) .passage-text{
    font-size:18px; line-height:1.72; color:var(--ex-ink);
    max-width:64ch;
  }
  body:has(.exam-bar) .passage-text p{ margin:0 0 1.15em; }
  body:has(.exam-bar) .passage-text p:last-child{ margin-bottom:0; }

  body:has(.exam-bar) .passage-text .sentnum{
    font-weight:600; margin-right:3px;
  }
  body:has(.exam-bar) .q-text{
    font-size:17.5px; line-height:1.68; color:var(--ex-ink); max-width:62ch;
  }
  body:has(.exam-bar) .choice-text{
    font-family:var(--ex-read); font-size:17px; line-height:1.6;
    color:var(--ex-ink); padding-top:4px;
  }

  body:has(.exam-bar) .q-tag{ display:none; }
  body:has(.exam-bar) .q-number{
    width:34px; height:34px; border-radius:6px; margin-right:12px;
    background:#e8f0fa; color:var(--ex-blue); border:1px solid var(--ex-blue-line);
    font-family:var(--ex-read); font-weight:700; font-size:15px;
  }
  body:has(.exam-bar) .q-block{
    margin-bottom:26px; padding-bottom:22px;
    border-bottom:1px solid var(--ex-line-soft);
  }

  body:has(.exam-bar) .choice{
    display:flex; align-items:flex-start; gap:14px;
    padding:15px 18px; margin-bottom:10px; min-height:56px;
    background:var(--ex-surface); border:1.5px solid var(--ex-line);
    border-radius:8px; cursor:pointer;
    transition:background 120ms ease-out, border-color 120ms ease-out, box-shadow 120ms ease-out;
  }
  body:has(.exam-bar) .choice:hover{
    background:var(--ex-hover); border-color:var(--ex-ring); box-shadow:none;
  }

  body:has(.exam-bar) .choice.selected{
    background:var(--ex-blue-sel); border-color:var(--ex-blue);
    box-shadow:inset 0 0 0 1px var(--ex-blue);
  }
  body:has(.exam-bar) .choice-letter{
    width:30px; height:30px; border-radius:50%; flex:none;
    background:var(--ex-surface); border:1.5px solid var(--ex-ring); color:var(--ex-ink);
    font-family:var(--ex-read); font-weight:700; font-size:15px; line-height:1;
    transition:background 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out;
  }
  body:has(.exam-bar) .choice.selected .choice-letter{
    background:var(--ex-blue); border-color:var(--ex-blue); color:#fff;
  }

  body:has(.exam-bar) .choice.rv-correct{
    border-color:var(--st-correct); background:var(--st-correct-tint);
  }
  body:has(.exam-bar) .choice.rv-wrong-pick{
    border-color:var(--st-wrong); background:var(--st-wrong-tint);
  }
  body:has(.exam-bar) .choice.rv-picked-right{
    box-shadow:inset 0 0 0 2px var(--st-correct);
  }
  body:has(.exam-bar) .choice.rv-correct .choice-letter{
    background:var(--st-correct-tint); border-color:var(--st-correct); color:var(--st-correct-ink);
  }
  body:has(.exam-bar) .choice.rv-wrong-pick .choice-letter{
    background:var(--st-wrong-tint); border-color:var(--st-wrong); color:var(--st-wrong-ink);
  }
  body:has(.exam-bar) .review-runner .choice{ cursor:default; }

  body:has(.exam-bar) .fx-review-panel{
    left:0; top:4px; width:min(460px, 94vw);
    background:var(--ex-surface); border:1px solid var(--ex-line);
    border-radius:8px; box-shadow:var(--ex-pop); overflow:hidden;
    font-family:var(--ex-read);
  }

  body:has(.exam-bar) .fxrp-tabs{
    display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px;
    padding:14px; background:var(--ex-surface);
    border-bottom:1px solid var(--ex-line);
  }
  body:has(.exam-bar) .fxrp-tab{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
    min-height:76px; padding:12px 8px; width:100%;
    background:var(--ex-surface); border:1px solid var(--ex-line); border-radius:6px;
    font-family:var(--ex-read); font-size:12.5px; font-weight:600; line-height:1.25;
    color:var(--ex-ink); text-align:center; cursor:pointer;
    transition:border-color 120ms ease-out, background 120ms ease-out;
  }
  body:has(.exam-bar) .fxrp-tab:hover{ background:var(--ex-hover); border-color:var(--ex-ring); }
  body:has(.exam-bar) .fxrp-tab.is-active{
    border-color:var(--ex-blue); box-shadow:inset 0 0 0 1px var(--ex-blue); background:var(--ex-surface);
  }

  body:has(.exam-bar) .fxrp-tabnum{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:30px; height:28px; padding:0 7px;
    background:var(--ex-surface); border:1.5px solid var(--ex-ring); border-radius:3px;
    color:var(--ex-ink); font-size:14px; font-weight:700; line-height:1;
    font-variant-numeric:tabular-nums; box-sizing:border-box;
  }

  body:has(.exam-bar) .fxrp-tabnum.is-circle{
    min-width:30px; width:30px; height:30px; padding:0; border-radius:50%;
    background:var(--ex-orange); border-color:var(--ex-orange); color:#fff;
  }

  body:has(.exam-bar) .fxrp-tabnum.is-square{
    min-width:30px; width:30px; height:30px; padding:0; border-radius:3px;
    background:var(--ex-blue); border-color:var(--ex-blue); color:#fff;
  }

  body:has(.exam-bar) .fxrp-list{
    max-height:min(52vh, 380px); overflow-y:auto; background:var(--ex-surface);
  }

  body:has(.exam-bar) .fxrp-secthead{
    display:flex; align-items:center; gap:10px;
    padding:10px 18px; background:var(--ex-sect);
    border-bottom:1px solid var(--ex-line);
    font-family:var(--ex-read); font-size:11.5px; font-weight:700;
    letter-spacing:.9px; text-transform:uppercase; color:var(--ex-muted);
    cursor:default; user-select:none;
  }

  body:has(.exam-bar) .fxrp-row.navcell{
    display:flex; align-items:center; gap:12px;
    width:100%; min-width:0; min-height:48px; padding:12px 18px;
    text-align:left; background:var(--ex-surface); color:var(--ex-ink);
    border:none; border-bottom:1px solid var(--ex-line-soft); border-radius:0;
    font-family:var(--ex-read); font-size:14.5px; font-weight:500; line-height:1.35;
    cursor:pointer; transition:background 110ms ease-out;
  }
  body:has(.exam-bar) .fxrp-row.navcell:hover{ background:var(--ex-hover); }
  body:has(.exam-bar) .fxrp-row.navcell.answered{
    background:var(--ex-surface); border-color:transparent;
    border-bottom:1px solid var(--ex-line-soft); font-weight:500;
  }
  body:has(.exam-bar) .fxrp-row.navcell.answered:hover{ background:var(--ex-hover); }

  body:has(.exam-bar) .fxrp-row.navcell.current{
    background:var(--ex-dark); color:#fff; font-weight:600;
    border-color:transparent; border-bottom:1px solid var(--ex-dark);
  }
  body:has(.exam-bar) .fxrp-row.navcell.current:hover{ background:var(--ex-dark-hover); }

  body:has(.exam-bar) .fxrp-dot{
    width:9px; height:9px; border-radius:50%; flex:none;
    background:transparent; border:none; box-sizing:border-box;
  }
  body:has(.exam-bar) .fxrp-row:not(.answered) .fxrp-dot{ background:var(--ex-orange-dot); }

  body:has(.exam-bar) .fxrp-row.bookmarked::after{
    content:''; flex:none; margin-left:auto; width:11px; height:15px;
    background:var(--ex-blue);
    clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 72%, 0 100%);
  }
  body:has(.exam-bar) .fxrp-row.current.bookmarked::after{ background:var(--ex-blue-lite); }

  body:has(.exam-bar) .fxrp-state{
    margin-left:auto; font-family:var(--ex-read); font-size:12.5px;
    font-weight:600; color:var(--ex-muted); white-space:nowrap;
  }
  body:has(.exam-bar) .fxrp-row.current .fxrp-state{ color:rgba(255,255,255,.82); }
  body:has(.exam-bar) .fxrp-foot{
    padding:14px 18px; background:var(--ex-surface);
    border-top:1px solid var(--ex-line); text-align:center;
  }
  body:has(.exam-bar) .fxrp-foot .primary{
    background:var(--ex-blue); font-family:var(--ex-read); font-weight:700;
    border-radius:4px; min-height:44px; padding:0 26px;
  }
  body:has(.exam-bar) .fxrp-foot .primary:hover{ background:var(--ex-blue-dark); }

  body:has(.exam-bar) .fxrp-counts{
    display:flex; gap:20px; padding:14px 18px;
    background:var(--ex-surface); border-bottom:1px solid var(--ex-line);
    font-family:var(--ex-read); font-size:13.5px; font-weight:600; color:var(--ex-ink);
  }
  body:has(.exam-bar) .fxrp-warn strong{ color:var(--st-wrong-ink); }
  body:has(.exam-bar) .fxrp-row.current .verdict.right{ color:#7ee0ae; }
  body:has(.exam-bar) .fxrp-row.current .verdict.wrong{ color:#ff9e92; }

  body:has(.exam-bar) .para-num{
    width:23px; height:23px;
    font-family:var(--ex-read); font-size:12px; font-weight:700;
    margin-right:10px; top:-2px;
  }

  :root{
    --ex-blue:#0f6e56;
    --ex-blue-dark:#085041;
    --ex-blue-tint:#eef6f2;
    --ex-blue-sel:#f4faf7;
    --ex-blue-line:#cfe4dc;
    --ex-blue-lite:#8fd3b8;
  }

  body:has(.exam-bar) .passage-text{ font-size:16.2px; max-width:66ch; }
  body:has(.exam-bar) .q-text{ font-size:15.8px; max-width:64ch; }
  body:has(.exam-bar) .choice-text{ font-size:15.3px; padding-top:3px; }
  body:has(.exam-bar) .passage-title{ font-size:15.3px; }
  body:has(.exam-bar) .passage-sub{ font-size:13.5px; margin-bottom:20px; }
  body:has(.exam-bar) .interstitial-inner{ font-size:15.3px; }
  body:has(.exam-bar) .exam-crumb{ font-size:11.5px; padding:9px 18px; }

  body:has(.exam-bar) .exam-nav-row{ padding:10px 18px; gap:9px; }
  body:has(.exam-bar) .exam-arrow{ width:47px; height:40px; font-size:18px; }
  body:has(.exam-bar) button.exam-review-btn,
  body:has(.exam-bar) button.exam-bookmark-btn,
  body:has(.exam-bar) button.exam-mark-btn{ height:40px; padding:0 16px; min-width:40px; }
  body:has(.exam-bar) .exam-review-btn,
  body:has(.exam-bar) .exam-bookmark-btn,
  body:has(.exam-bar) .exam-mark-btn{ font-size:13px; gap:7px; }

  body:has(.exam-bar) .split{ min-height:505px; }
  body:has(.exam-bar) .passage-pane,
  body:has(.exam-bar) .question-pane{ padding:30px 36px; max-height:min(74vh, 700px); }
  body:has(.exam-bar) .single-pane{ padding:32px 40px; }
  body:has(.exam-bar) .q-block{ margin-bottom:23px; padding-bottom:20px; }
  body:has(.exam-bar) .q-number{ width:31px; height:31px; font-size:13.5px; margin-right:11px; }
  body:has(.exam-bar) .choice{ padding:13px 16px; margin-bottom:9px; min-height:50px; gap:12px; }
  body:has(.exam-bar) .choice-letter{ width:27px; height:27px; font-size:13.5px; }
  body:has(.exam-bar) .para-num{ width:19px; height:19px; font-size:10.5px; margin-right:7px; }

  body:has(.exam-bar) .fxrp-tab{ padding:9px 10px; font-size:11.5px; }
  body:has(.exam-bar) .fxrp-row{ font-size:12.6px; padding:10px 14px; }
  body:has(.exam-bar) .fxrp-sec{ font-size:10.5px; padding:7px 14px; }

  body:has(.exam-bar) .q-number{
    background:#eef6f2; color:var(--ex-blue); border:1px solid var(--ex-blue-line);
  }

  body:has(.exam-bar) .choice{
    border:none; border-radius:8px; background:transparent;
    padding:10px 12px; margin-bottom:4px; min-height:0;
    box-shadow:none;
  }
  body:has(.exam-bar) .choice:hover{ background:var(--ex-hover); border:none; box-shadow:none; }
  body:has(.exam-bar) .choice.selected{
    background:var(--ex-blue-sel); border:none; box-shadow:none;
  }

  body:has(.exam-bar) .q-number{ display:none; }

  body:has(.exam-bar) .fxrp-state{ display:none; }
  body:has(.exam-bar) .fxrp-mark{ display:none; }
  body:has(.exam-bar) .fxrp-list{ max-height:330px; }
  body:has(.exam-bar) .fxrp-row{
    display:flex; align-items:center; gap:10px;
    padding:7px 14px; font-size:12.6px; min-height:0;
  }
  body:has(.exam-bar) .fxrp-label{ flex:1; text-align:left; }

  body:has(.exam-bar) .fxrp-flag{ display:none; color:var(--ex-blue); font-size:12px; }
  body:has(.exam-bar) .fxrp-row.bookmarked .fxrp-flag{ display:inline; }
  body:has(.exam-bar) .fxrp-row.current .fxrp-flag{ color:var(--ex-blue-lite); }
  body:has(.exam-bar) .fxrp-tabs{ padding:10px 10px 8px; }
  body:has(.exam-bar) .fxrp-foot{ padding:10px 12px; }

  :root{
    --ex-page:#e8ebee;
    --ex-pane:#f4f6f7;
  }

  body:has(.exam-bar){ background:var(--ex-page); }

  body:has(.exam-bar) .passage-pane{
    flex:1 1 46%; background:var(--ex-pane);
    padding:22px 22px 24px; overflow:hidden;
    display:flex; flex-direction:column; max-height:min(74vh, 700px);
  }
  body:has(.exam-bar) .question-pane{ flex:1 1 54%; }
  body:has(.exam-bar) .passage-title{ padding:0 2px; }
  body:has(.exam-bar) .passage-sub{ padding:0 2px; margin-bottom:12px; }
  body:has(.exam-bar) .passage-text{
    flex:1 1 auto; min-height:0; overflow-y:auto;
    background:var(--ex-surface); border:1px solid #c9ced3; border-radius:6px;
    padding:20px 24px; max-width:none;
    box-shadow:inset 0 1px 2px rgba(32,33,36,.04);
  }

  body:has(.exam-bar) .passage-text p{ max-width:58ch; }
  body:has(.exam-bar) .q-text{ max-width:58ch; }
  body:has(.exam-bar) .choice-text{ max-width:56ch; }

  @media (max-width:900px){
    body:has(.exam-bar) .passage-pane{ max-height:44vh; padding:16px; }
    body:has(.exam-bar) .passage-text p,
    body:has(.exam-bar) .q-text,
    body:has(.exam-bar) .choice-text{ max-width:none; }
  }

  body.in-sitting header,
  body:has(.exam-bar) header{ display:none; }

  body.in-sitting #progress-bar{ display:none; }

  body.in-sitting #app > .exam-bar:first-child{ margin-top:-16px; }

  body:has(.exam-bar) .split{
    padding:24px 28px; gap:34px;
    background:var(--ex-surface);
  }

  body:has(.exam-bar) .passage-pane{
    flex:1 1 46%; display:block;
    background:var(--ex-surface);
    border:1px solid #c9ced3; border-radius:6px;
    padding:22px 26px;
    overflow:hidden; overflow-y:auto;
    max-height:min(72vh, 660px);
    box-shadow:inset 0 1px 2px rgba(32,33,36,.04);
  }

  body:has(.exam-bar) .passage-text{
    background:transparent; border:none; border-radius:0; box-shadow:none;
    padding:0; overflow:visible; max-height:none; flex:none;
  }
  body:has(.exam-bar) .passage-title{ padding:0; }
  body:has(.exam-bar) .passage-sub{ padding:0; margin-bottom:14px; }

  body:has(.exam-bar) .question-pane{
    flex:1 1 54%; background:var(--ex-surface);
    padding:4px 8px 26px 0;
    max-height:min(72vh, 660px);
  }

  @media (max-width:900px){
    body:has(.exam-bar) .split{ padding:16px; gap:16px; }
    body:has(.exam-bar) .passage-pane{ max-height:44vh; padding:16px 18px; }
    body:has(.exam-bar) .question-pane{ max-height:none; padding:4px 0 16px; }
  }

  body:has(.exam-bar) .fx-review-panel{ width:min(384px, 94vw); }
  body:has(.exam-bar) .fxrp-tabs{ gap:8px; padding:12px; }
  body:has(.exam-bar) .fxrp-tab{ min-height:70px; padding:10px 4px; font-size:11.5px; gap:7px; }

  body:has(.exam-bar) .fxrp-tabnum.is-square{
    width:26px; min-width:26px; height:34px; border-radius:3px 3px 0 0;
    padding:0 0 7px;
    clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 74%, 0 100%);
  }

  body:has(.exam-bar) .exam-nav-row{ padding:10px 20px; }
  body:has(.exam-bar) .exam-crumb{ padding-left:20px; padding-right:20px; }

  body:has(.exam-bar) .single-pane .q-text{ max-width:76ch; }
  body:has(.exam-bar) .single-pane .choice-text{ max-width:72ch; }

  :root{
    --ex-page:#dfe4e8;

    --ex-card:#f8f9fa;
  }
  body:has(.exam-bar){ background:var(--ex-page); }
  body:has(.exam-bar) .split,
  body:has(.exam-bar) .single-pane,
  body:has(.exam-bar) .passage-pane,
  body:has(.exam-bar) .question-pane,
  body:has(.exam-bar) .interstitial-box{ background:var(--ex-card); }
  body:has(.exam-bar) .choice{ background:transparent; }

  body:has(.exam-bar) .choice.selected{ background:#e3efe9; }
  body:has(.exam-bar) .choice:hover{ background:#eaeef0; }
  body:has(.exam-bar) .choice.selected:hover{ background:#dcebe3; }

  body:has(.exam-bar) .fx-review-panel,
  body:has(.exam-bar) .fxrp-tabs,
  body:has(.exam-bar) .fxrp-list,
  body:has(.exam-bar) .fxrp-row.navcell,
  body:has(.exam-bar) .fxrp-tab{ background:var(--ex-surface); }
  body:has(.exam-bar) .fxrp-row.navcell.answered{ background:var(--ex-surface); }
  body:has(.exam-bar) .fxrp-row.navcell.current{ background:var(--ex-dark); }

  @media (max-width:900px){
    body:has(.exam-bar) .single-pane .q-text,
    body:has(.exam-bar) .single-pane .choice-text{ max-width:none; }
  }

  body:has(.exam-bar) .rs-state.part,
  .rs-state.part{ color:#8a4b00; font-weight:600; }

  body:has(.exam-bar) .choice.selected{
    background:#e6eaed; border-color:transparent;
  }
  body:has(.exam-bar) .choice.selected:hover{ background:#dfe4e8; }
  body:has(.exam-bar) .choice.selected .choice-letter{
    background:var(--ex-dark); border-color:var(--ex-dark); color:#fff;
  }

  .wt-overlay .wt-stage{ background:var(--ex-page); }

  .wt-overlay .split{
    background:var(--ex-card); border:1px solid var(--ex-line); border-radius:10px;
    box-shadow:var(--ex-shadow); overflow:hidden;
    padding:24px 28px; gap:34px; min-height:0;
  }
  .wt-overlay .passage-pane{
    flex:1 1 46%; display:block; background:var(--ex-card);
    border:1px solid #c9ced3; border-radius:6px;
    padding:22px 26px; overflow:hidden; overflow-y:auto;
    max-height:min(62vh, 560px);
    box-shadow:inset 0 1px 2px rgba(32,33,36,.04);
  }
  .wt-overlay .question-pane{
    flex:1 1 54%; background:var(--ex-card);
    padding:4px 8px 26px 0; max-height:min(62vh, 560px);
  }
  .wt-overlay .passage-text{
    background:transparent; border:none; border-radius:0; box-shadow:none;
    padding:0; overflow:visible; max-height:none; max-width:none;
  }

  .wt-overlay .wt-item:not(.wt-item-split){
    background:var(--ex-card); border:1px solid var(--ex-line);
    border-radius:10px; box-shadow:var(--ex-shadow); padding:28px 32px;
  }

  .wt-overlay .passage-title,
  .wt-overlay .passage-sub,
  .wt-overlay .passage-text,
  .wt-overlay .q-text,
  .wt-overlay .choice-text,
  .wt-overlay .interstitial-inner{ font-family:var(--ex-read); color:var(--ex-ink); }
  .wt-overlay .passage-text{ font-size:16.2px; line-height:1.72; }
  .wt-overlay .passage-title{ font-size:15.3px; font-weight:normal; margin-bottom:4px; }
  .wt-overlay .passage-sub{ font-size:13.5px; font-weight:600; font-style:normal; color:var(--ex-muted); margin-bottom:14px; }
  .wt-overlay .q-text{ font-size:15.8px; line-height:1.68; }
  .wt-overlay .choice-text{ font-size:15.3px; padding-top:3px; }

  .wt-overlay .mt-run,
  .wt-overlay .mt-invalid{ font-family:Georgia,'Times New Roman',serif; }

  .wt-overlay .passage-text p{ max-width:58ch; }
  .wt-overlay .wt-item-split .q-text{ max-width:58ch; }
  .wt-overlay .wt-item-split .choice-text{ max-width:56ch; }
  .wt-overlay .wt-item:not(.wt-item-split) .q-text{ max-width:76ch; }
  .wt-overlay .wt-item:not(.wt-item-split) .choice-text{ max-width:72ch; }

  .wt-overlay .choice{
    display:flex; align-items:flex-start; gap:12px;
    border:none; background:transparent; border-radius:8px;
    padding:13px 16px; margin-bottom:9px; min-height:50px;
  }
  .wt-overlay .choice:hover{ background:#eaeef0; }
  .wt-overlay .choice.selected{ background:#e6eaed; border-color:transparent; }
  .wt-overlay .choice.selected:hover{ background:#dfe4e8; }
  .wt-overlay .choice-letter{ width:27px; height:27px; font-size:13.5px; }
  .wt-overlay .choice.selected .choice-letter{
    background:var(--ex-dark); border-color:var(--ex-dark); color:#fff;
  }
  .wt-overlay .q-number{ display:none; }

  @media (max-width: 980px){
    .wt-overlay .split{ padding:16px; gap:16px; }
    .wt-overlay .passage-pane{ max-height:40vh; padding:16px 18px; }
    .wt-overlay .question-pane{ max-height:none; padding:12px 0 16px; }
    .wt-overlay .passage-text p,
    .wt-overlay .q-text,
    .wt-overlay .choice-text{ max-width:none; }
  }

  body:has(.exam-bar) .fxrp-row.navcell[hidden],
  body:has(.exam-bar) .fxrp-secthead[hidden],
  body:has(.exam-bar) .fxrp-empty[hidden],
  .wt-overlay .fxrp-row.navcell[hidden],
  .wt-overlay .fxrp-secthead[hidden],
  .wt-overlay .fxrp-empty[hidden]{ display:none; }

  .wt-overlay .wt-exam{ display:flex; align-items:center; gap:9px; margin:0 0 10px; }
  .wt-overlay .exam-review-btn{
    display:inline-flex; align-items:center; gap:7px; height:40px; padding:0 16px;
    background:var(--ex-surface); color:var(--ex-blue);
    border:1.5px solid var(--ex-blue); border-radius:6px;
    font-family:var(--ex-read); font-size:13px; font-weight:600; cursor:pointer;
  }
  .wt-overlay .exam-review-btn:hover{ background:var(--ex-blue-tint); }
  .wt-overlay .fx-review-wrap{ position:relative; }
  .wt-overlay .fx-review-panel{
    position:absolute; z-index:40; left:0; top:0; width:min(384px, 94vw);
    background:var(--ex-surface); border:1px solid var(--ex-line);
    border-radius:8px; box-shadow:var(--ex-pop); overflow:hidden;
    font-family:var(--ex-read);
  }
  .wt-overlay .fxrp-tabs{
    display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px;
    padding:12px; background:var(--ex-surface); border-bottom:1px solid var(--ex-line);
  }
  .wt-overlay .fxrp-tab{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px;
    min-height:70px; padding:10px 4px; width:100%;
    background:var(--ex-surface); border:1px solid var(--ex-line); border-radius:6px;
    font-family:var(--ex-read); font-size:11.5px; font-weight:600; line-height:1.25;
    color:var(--ex-ink); text-align:center; cursor:pointer;
  }
  .wt-overlay .fxrp-tab.is-active{
    border-color:var(--ex-blue); box-shadow:inset 0 0 0 1px var(--ex-blue);
  }
  .wt-overlay .fxrp-tabnum{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:30px; height:28px; padding:0 7px;
    background:var(--ex-surface); border:1.5px solid var(--ex-ring); border-radius:3px;
    color:var(--ex-ink); font-size:14px; font-weight:700; line-height:1;
    font-variant-numeric:tabular-nums; box-sizing:border-box;
  }
  .wt-overlay .fxrp-tabnum.is-circle{
    min-width:30px; width:30px; height:30px; padding:0; border-radius:50%;
    background:var(--ex-orange); border-color:var(--ex-orange); color:#fff;
  }
  .wt-overlay .fxrp-tabnum.is-square{
    width:26px; min-width:26px; height:34px; border-radius:3px 3px 0 0; padding:0 0 7px;
    background:var(--ex-blue); border-color:var(--ex-blue); color:#fff;
    clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 74%, 0 100%);
  }
  .wt-overlay .fxrp-list{ max-height:min(52vh, 380px); overflow-y:auto; background:var(--ex-surface); }
  .wt-overlay .fxrp-row.navcell{
    display:flex; align-items:center; gap:12px;
    width:100%; min-width:0; min-height:48px; padding:12px 18px;
    text-align:left; background:var(--ex-surface); color:var(--ex-ink);
    border:none; border-bottom:1px solid var(--ex-line-soft); border-radius:0;
    font-family:var(--ex-read); font-size:14.5px; font-weight:500; cursor:pointer;
  }
  .wt-overlay .fxrp-row.navcell:hover{ background:var(--ex-hover); }
  .wt-overlay .fxrp-row.navcell.current{
    background:var(--ex-dark); color:#fff; font-weight:600; border-bottom-color:var(--ex-dark);
  }
  .wt-overlay .fxrp-dot{ width:9px; height:9px; border-radius:50%; flex:none; background:transparent; }
  .wt-overlay .fxrp-row:not(.answered) .fxrp-dot{ background:var(--ex-orange-dot); }
  .wt-overlay .fxrp-empty{
    padding:22px 18px; font-family:var(--ex-read); font-size:13px;
    color:var(--ex-muted); text-align:center;
  }

  .p-lined{ padding-left:44px; }
  .line-num{
    display:inline-block; width:44px; margin-left:-44px; padding-right:14px;
    text-align:right; vertical-align:baseline;
    font-family:var(--font-ui); font-size:.78em; font-weight:600; font-style:normal;
    color:var(--muted); font-variant-numeric:tabular-nums;
    user-select:none; -webkit-user-select:none;
  }

  .passage-notes{
    max-width:58ch; margin-top:18px; padding-top:12px;
    border-top:1px solid var(--line); font-size:.86em; line-height:1.6;
  }
  .passage-notes .pnote{ display:flex; gap:.55em; margin-bottom:.35em; }
  .passage-notes .pnote:last-child{ margin-bottom:0; }
  .pnote-mark{
    flex:none; min-width:1.1em; text-align:right;
    font-family:var(--font-ui); font-weight:700; color:var(--muted);
  }
  .passage-credit{
    max-width:58ch; margin-top:14px;
    font-size:.84em; font-style:italic; color:var(--muted);
  }

  .jsonbox-stack{ margin-top:4px; }
  .jsonbox{
    margin-top:22px; padding-top:16px; border-top:1px solid var(--line);
    font-family:var(--font-ui);
  }
  .jsonbox-head{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
  .jsonbox-title{
    font-size:12px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
    color:var(--ink-soft);
  }
  .jsonbox-stamp{ font-size:11px; color:var(--muted); }
  .jsonbox-hint{ margin:6px 0 0; font-size:12.5px; line-height:1.5; color:var(--muted); }
  .jsonbox-notice{
    margin:8px 0 0; padding:7px 11px; border-radius:6px;
    background:#fdf3d8; color:#6d5300; font-size:12.5px; line-height:1.5;
  }
  .jsonbox-absent{
    margin:14px 0 0; font-family:var(--font-ui); font-size:12.5px; color:var(--muted);
  }
  .jsonbox-ta{
    display:block; width:100%; box-sizing:border-box; margin-top:10px;
    min-height:280px; resize:vertical;
    padding:12px; border:1.5px solid var(--ink); border-radius:6px;
    background:#fff; color:var(--ink);
    font-family:ui-monospace,Consolas,'Courier New',monospace; font-size:12.5px; line-height:1.5;
    white-space:pre; overflow:auto; tab-size:2;
  }
  .jsonbox-actions{ display:flex; align-items:center; gap:8px; margin-top:10px; flex-wrap:wrap; }
  .jsonbox-spacer{ flex:1 1 auto; }
  .jsonbox-status{
    margin:9px 0 0; font-size:12.5px; line-height:1.55; white-space:pre-wrap;
    color:var(--muted); min-height:1.2em;
  }
  .jsonbox-status.bad{ color:var(--wrong); }
  .jsonbox-status.good{ color:var(--accent-dark); }

  .wt-overlay.wt-inline{
    position:static; inset:auto; z-index:auto; display:block;
    background:var(--ex-page); padding:18px; border-radius:10px;
  }

  .wt-overlay .choice.rv-correct{
    border:1.5px solid var(--st-correct); background:var(--st-correct-tint);
  }
  .wt-overlay .choice.rv-wrong-pick{
    border:1.5px solid var(--st-wrong); background:var(--st-wrong-tint);
  }
  .wt-overlay .choice.rv-picked-right{
    box-shadow:inset 0 0 0 2px var(--st-correct);
  }
  .wt-overlay .choice.rv-correct .choice-letter{
    background:var(--st-correct-tint); border-color:var(--st-correct); color:var(--st-correct-ink);
  }
  .wt-overlay .choice.rv-wrong-pick .choice-letter{
    background:var(--st-wrong-tint); border-color:var(--st-wrong); color:var(--st-wrong-ink);
  }

  .sr-unfinished{
    margin:18px 0 0; padding:12px 16px;
    font-family:var(--font-ui); font-size:13px; line-height:1.6; color:#8a5a00;
    background:#fdf3d7; border:1px solid #efd9a8; border-radius:var(--r-md);
  }

  .sr-rows .sr-row-nameonly{
    padding:7px 0; border-bottom:1px solid var(--line);
  }
  .sr-rows .sr-row-nameonly:last-child{ border-bottom:none; }
  .sr-rows .sr-row-nameonly .sr-row-head{ margin-bottom:0; }

  .sr-collect{
    margin:0 0 18px; padding:14px 18px;
    background:var(--paper); border:1px solid var(--line);
    border-left:3px solid var(--warn); border-radius:var(--r-md);
  }
  .sr-collect h4{
    margin:0 0 6px; font-family:var(--font-ui); font-size:11px; font-weight:700;
    letter-spacing:1px; text-transform:uppercase; color:var(--muted);
  }
  .sr-collect p{ margin:0; font-size:14px; line-height:1.6; }

  body:has(.exam-bar) .fxrp-empty{
    padding:22px 18px; font-family:var(--ex-read); font-size:13px;
    color:var(--ex-muted); text-align:center;
  }

  body:has(.exam-bar) .fxrp-tabs.fxrp-tabs-2{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .q-image img{ max-height:340px; }

  #examTimer{
    position:fixed; top:10px; right:18px; bottom:auto; z-index:70;
    font-family:var(--font-ui); display:flex; align-items:center; gap:8px;
  }

  #examTimer .xt-box{
    background:var(--card,#fff); border:1px solid var(--ink); border-radius:4px;
    padding:4px 12px; min-width:92px; text-align:center;
  }
  #examTimer .xt-time{
    font-size:16px; font-weight:700; font-variant-numeric:tabular-nums;
    margin:0; color:var(--ink); letter-spacing:.5px;
  }

  #examTimer .xt-hide,
  #examTimer .xt-pill{
    width:34px; height:34px; padding:0; border-radius:4px;
    border:1px solid var(--line); background:var(--card,#fff);
    color:var(--ink); font-size:16px; line-height:1; cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center; box-shadow:none;
  }
  #examTimer .xt-hide:hover,
  #examTimer .xt-pill:hover{ background:var(--paper); }
  #examTimer .xt-pill{ display:none; }
  #examTimer.xt-collapsed .xt-box,
  #examTimer.xt-collapsed .xt-hide{ display:none; }
  #examTimer.xt-collapsed .xt-pill{ display:inline-flex; }
  #examTimer.xt-low .xt-box{ background:#fdecea; border-color:#e5b3ab; }
  #examTimer.xt-low .xt-time{ color:var(--wrong); }

  body:has(.exam-bar) .exam-nav-row{ padding-right:150px; }

  body:has(.exam-bar) .xtools{ display:inline-flex; gap:6px; margin-left:10px; }
  body:has(.exam-bar) .xtool{
    width:34px; height:34px; padding:0; border-radius:4px;
    border:1px solid var(--xr-line); background:var(--xr-card); color:var(--ink);
    font-size:15px; line-height:1; cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center;
  }
  body:has(.exam-bar) .xtool:hover{ background:var(--xr-hover); border-color:var(--ink-soft); }
  body:has(.exam-bar) .xtool.is-active{ background:var(--accent); border-color:var(--accent); color:#fff; }

  body:has(.exam-bar) .xtool[hidden]{ display:none; }

  body:has(.exam-bar) .choice.xt-struck .choice-text,
  body:has(.exam-bar) .choice.xt-struck .choice-letter{
    text-decoration:line-through; text-decoration-color:#b3392c;
    text-decoration-thickness:2px;
  }
  body:has(.exam-bar) .choice.xt-struck .choice-text{ color:var(--xr-muted); }

  body.xt-eliminating:has(.exam-bar) .choices-pane .choice{ cursor:cell; }

  body:has(.exam-bar) .passage-pane,
  .review-set .passage-pane{ position:relative; }
  svg.xt-pencil{
    position:absolute; left:0; top:0; z-index:2;
    pointer-events:none; overflow:visible;
  }

  svg.xt-pencil.xt-drawing{
    pointer-events:auto; cursor:crosshair; touch-action:none; user-select:none;
  }

  #xtPencilBar{
    position:fixed; right:14px; top:50%; transform:translateY(-50%); z-index:65;
    display:flex; flex-direction:column; gap:6px; padding:8px 7px;
    background:var(--card,#fff); border:1px solid var(--line); border-radius:10px;
    box-shadow:var(--sh-2); font-family:var(--font-ui);
  }
  #xtPencilBar[hidden]{ display:none; }

  body:not(.xt-pencil-mode) #xtPencilBar,
  body:not(:has(.passage-pane)) #xtPencilBar{ display:none; }
  #xtPencilBar .xtp-btn{
    width:38px; height:38px; padding:0; border-radius:6px;
    border:1px solid var(--line); background:var(--card,#fff); color:var(--ink);
    font-size:17px; line-height:1; cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center;
  }
  #xtPencilBar .xtp-btn:hover:not(:disabled){ background:var(--paper); }
  #xtPencilBar .xtp-btn.is-on{ background:var(--accent); border-color:var(--accent); color:#fff; }

  #xtPencilBar .xtp-btn:disabled{ opacity:.35; cursor:not-allowed; }

  svg.xt-pencil.xt-drawing{
    cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="%23202124" stroke="%23ffffff" stroke-width="0.9" stroke-linejoin="round"><path d="M2.4 21.6 L3.6 17.9 L6.1 20.4 Z"/><path d="M4.3 17.0 L16.6 4.7 L19.3 7.4 L7.0 19.7 Z"/><path d="M17.5 3.8 L18.9 2.4 L21.6 5.1 L20.2 6.5 Z"/></g></svg>') 2 22, crosshair;
  }

  body:has(.exam-bar) .single-pane{ position:relative; }

  body.xt-pencil-mode.xt-draw-surface #xtPencilBar:not([hidden]){ display:flex; }
  body:not(:has(.passage-pane)):not(:has(.single-pane)) #xtPencilBar:not([hidden]){ display:none; }

  body:has(.exam-bar) .choices-pane .choice.xt-struck .choice-text,
  body:has(.exam-bar) .choices-pane .choice.xt-struck .choice-letter{
    text-decoration:none;
  }

  body:has(.exam-bar) .choice{ position:relative; }

  body:has(.exam-bar) .choice > .xt-cross{
    position:absolute; left:-10px; right:-10px; top:3px; bottom:3px;
    pointer-events:none; z-index:1;
  }
  body:has(.exam-bar) .choice > .xt-cross svg{
    width:100%; height:100%; display:block; overflow:visible;
  }

  body:has(.exam-bar) .choice > .xt-cross line{
    stroke:var(--wrong); stroke-width:2.2; vector-effect:non-scaling-stroke;
    stroke-linecap:round;
  }

  body.xt-eliminating:has(.exam-bar) .choices-pane[data-hl-id] .choice{ cursor:pointer; }

  #xtNotepad{
    position:fixed; z-index:70;
    width:750px; height:620px; min-width:360px; min-height:240px;
    max-width:100vw; max-height:100vh;
    display:flex; flex-direction:column; overflow:hidden; resize:both;
    background:var(--ex-surface,#fff); color:var(--ex-ink,#242a2e);
    border:1px solid var(--ex-line,#dadce0); border-radius:8px;
    box-shadow:var(--ex-pop,0 10px 30px rgba(32,33,36,.22));
    font-family:var(--ex-read);
  }
  #xtNotepad[hidden]{ display:none; }

  #xtNotepad .xtn-bar{
    position:relative; flex:0 0 auto;
    display:flex; align-items:center; gap:8px;
    height:34px; padding:0 10px;
    background:var(--ex-crumb,#e8eaed);
    border-bottom:1px solid var(--ex-line,#dadce0);
    user-select:none; -webkit-user-select:none; cursor:default;
  }

  #xtNotepad .xtn-title{
    font-size:13.5px; font-weight:400; color:var(--ex-muted,#5f6368);
  }

  #xtNotepad .xtn-move{
    position:absolute; left:50%; transform:translateX(-50%);
    font-size:14px; line-height:1; color:var(--ex-muted,#5f6368);
    opacity:0; transition:opacity 120ms ease-out; pointer-events:none;
  }
  #xtNotepad .xtn-bar:hover .xtn-move{ opacity:1; }

  #xtNotepad .xtn-close{
    margin-left:auto; padding:0 2px;
    background:none; border:none; box-shadow:none;
    font-family:var(--ex-read); font-size:14px; line-height:1;
    color:var(--ex-ink,#242a2e); cursor:pointer;
  }

  #xtNotepad .xtn-body{
    flex:1 1 auto; min-height:0; padding:12px; display:flex;
  }
  #xtNotepad .xtn-text{
    flex:1 1 auto; width:100%; min-height:0;
    padding:10px 12px; resize:none;
    border:1px solid var(--ex-line,#dadce0); border-radius:6px;
    background:var(--ex-surface,#fff); color:var(--ex-ink,#242a2e);
    font-family:var(--ex-read); font-size:15px; line-height:1.55;
  }
  #xtNotepad .xtn-text:focus{ outline:2px solid var(--ex-blue,#0b5cab); outline-offset:-1px; }

  @media (max-width:900px){
    #xtNotepad{ width:min(750px, calc(100vw - 16px)); height:min(620px, calc(100vh - 16px)); }
  }

  body:has(.exam-bar) .xtool .xt-glyph{ width:17px; height:17px; display:block; }

  body:has(.exam-bar) .xtool:disabled{ opacity:.35; cursor:default; }
  body:has(.exam-bar) .xtool:disabled:hover{ background:var(--xr-card); border-color:var(--xr-line); }

  :root{

    --v112-radio-sel:#0f6e56;

    --v112-radio-ink:#3c4043;
    --v112-radio-off-line:#c4c8cb;
    --v112-radio-off-ink:#a8adb2;
  }

  body:has(.exam-bar) .choice-letter{
    border-color:var(--v112-radio-ink); color:var(--v112-radio-ink);
  }

  body:has(.exam-bar) .choice.selected .choice-letter{
    background:var(--v112-radio-sel); border-color:var(--v112-radio-sel); color:#fff;
  }

  body:has(.exam-bar) .choices-pane .choice.xt-struck .choice-letter{
    background:var(--ex-surface); border-color:var(--v112-radio-off-line);
    color:var(--v112-radio-off-ink); text-decoration:none;
  }

  body:has(.exam-bar) .choice.xt-struck{ cursor:pointer; }

  .gloss-term{
    text-decoration:underline;
    text-decoration-style:dotted;
    text-decoration-thickness:1px;
    text-decoration-skip-ink:none;
    text-underline-offset:3px;
    cursor:help;
  }

  body.xt-eliminating .gloss-term,
  body.xt-pencil-mode .gloss-term{ cursor:inherit; }

  .gloss-card{
    position:fixed; z-index:62;
    width:280px; max-width:calc(100vw - 16px);
    background:#fff; border:1px solid #5f6368; border-radius:3px;
    box-shadow:0 2px 10px rgba(0,0,0,.28);
    font-family:var(--ex-read); color:var(--ex-ink);
  }
  .gloss-card-bar{
    display:flex; align-items:center; justify-content:space-between; gap:8px;
    padding:6px 8px 6px 10px;
    background:#f1f3f4; border-bottom:1px solid #d4d7da;
  }
  .gloss-card-title{ font-size:12.5px; font-weight:600; }

  .gloss-card-x{
    background:none; border:none; padding:0; width:18px; height:18px;
    font-family:inherit; font-size:13px; line-height:1;
    color:var(--ex-muted); cursor:pointer;
  }
  .gloss-card-x:hover{ color:var(--ex-ink); }
  .gloss-card-body{ padding:10px; font-size:13.5px; line-height:1.5; }

  :root{

    --ex-rule:#1a73e8;

    --ex-crumb-bg:#3c4043;
    --ex-crumb-ink:#f1f3f4;
    --ex-crumb-dim:#bdc1c6;

    --ex-tip-bg:#202124;
    --ex-tip-ink:#ffffff;
  }

  body:has(.exam-bar) .exam-nav-row{
    display:flex; align-items:center; gap:10px; flex-wrap:nowrap;
    margin:0; padding:8px 20px;
    background:var(--ex-surface);
    border-bottom:3px solid var(--ex-rule);
  }

  body:has(.exam-bar) .exam-arrow{ order:1; }
  body:has(.exam-bar) .exam-nav-row .exam-review-btn,
  body:has(.exam-bar) .exam-nav-row .exam-mark-btn{ order:2; }
  body:has(.exam-bar) .exam-nav-row #xtoolsGroup{ order:3; }
  body:has(.exam-bar) .ex-banner-right{ order:4; margin-left:auto; }

  body:has(.exam-bar) .exam-crumb{
    display:flex; align-items:center; gap:12px;
    background:var(--ex-crumb-bg); color:var(--ex-crumb-ink);
    padding:8px 20px; border:none; border-radius:0;
    font-family:var(--ex-read); font-size:12px; font-weight:700;
    letter-spacing:1px; text-transform:uppercase; line-height:1.4;
  }
  body:has(.exam-bar) .ex-crumb-text{
    flex:1 1 auto; min-width:0;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }

  body:has(.exam-bar){
    background-color:var(--ex-page);
    background-image:
      repeating-linear-gradient(45deg, rgba(32,33,36,.02) 0 1px, transparent 1px 4px),
      repeating-linear-gradient(-45deg, rgba(32,33,36,.02) 0 1px, transparent 1px 4px);
  }

  body:has(.exam-bar) .exam-arrow{
    width:48px; height:40px; border-radius:4px; font-size:19px;
  }
  body:has(.exam-bar) .exam-arrow:disabled{
    background:#e3e6e8; border-color:#e3e6e8; color:var(--ex-disabled-ink);
    cursor:not-allowed; box-shadow:none;
  }

  body:has(.exam-bar) .interstitial-inner .exam-arrow{ cursor:default; }

  body:has(.exam-bar) .exam-nav-row .exam-review-btn,
  body:has(.exam-bar) .exam-nav-row .exam-mark-btn{
    height:40px; padding:0 14px; gap:9px; border-radius:4px;
    border:1.5px solid var(--ex-blue); font-size:14px; font-weight:600;
  }

  body:has(.exam-bar) .ex-list-glyph{
    display:inline-block; width:14px; height:11px; flex:none;
    border-top:2px solid currentColor; border-bottom:2px solid currentColor;
    box-sizing:border-box; position:relative;
  }
  body:has(.exam-bar) .ex-list-glyph::after{
    content:''; position:absolute; left:0; right:0; top:50%;
    margin-top:-1px; height:2px; background:currentColor;
  }

  body:has(.exam-bar) .fx-mark-glyph{
    display:inline-block; width:11px; height:15px; flex:none;
    box-sizing:border-box; border:2px solid currentColor; background:transparent;
    clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 70%, 0 100%);
  }
  body:has(.exam-bar) .exam-mark-btn.is-on .fx-mark-glyph,
  body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"] .fx-mark-glyph{
    background:currentColor;
  }

  body:has(.exam-bar) .xtools{ display:inline-flex; gap:4px; margin-left:6px; }
  body:has(.exam-bar) .xtool{
    width:40px; height:40px; border-radius:4px;
    border:1px solid var(--ex-line); background:var(--ex-surface); color:var(--ex-ink);
    font-size:17px; line-height:1;
  }
  body:has(.exam-bar) .xtool:hover{ background:var(--ex-hover); border-color:var(--ex-ring); }
  body:has(.exam-bar) .xtool.is-active{
    background:var(--ex-crumb-bg); border-color:var(--ex-crumb-bg); color:#fff;
  }

  body:has(.exam-bar) #xtPencilBar .xtp-btn.is-on{
    background:var(--ex-crumb-bg); border-color:var(--ex-crumb-bg); color:#fff;
  }

  body:has(.exam-bar) .ex-banner-right{
    display:inline-flex; align-items:center; gap:10px; flex:none;
  }
  body:has(.exam-bar) .ex-timer-slot{ display:inline-flex; align-items:center; }

  #examTimerSlot #examTimer{
    position:static; top:auto; right:auto; bottom:auto; z-index:auto;
    display:inline-flex; align-items:center; gap:6px;
  }
  #examTimerSlot #examTimer .xt-box{
    border:1px solid var(--ex-ring); border-radius:4px;
    background:var(--ex-surface); padding:0 12px; min-width:88px; height:40px;
    display:flex; align-items:center; justify-content:center;
  }
  #examTimerSlot #examTimer .xt-time{
    font-family:var(--ex-read); font-size:15px; font-weight:700; color:var(--ex-ink);
  }
  #examTimerSlot #examTimer .xt-hide,
  #examTimerSlot #examTimer .xt-pill{
    width:40px; height:40px; border-radius:4px;
    border:1px solid var(--ex-line); background:var(--ex-surface); color:var(--ex-ink);
    font-size:17px;
  }
  #examTimerSlot #examTimer .xt-hide:hover,
  #examTimerSlot #examTimer .xt-pill:hover{ background:var(--ex-hover); }

  #examTimerSlot #examTimer.xt-low .xt-box{ background:#fdecea; border-color:#e5b3ab; }
  #examTimerSlot #examTimer.xt-low .xt-time{ color:var(--wrong); }

  body:has(.exam-bar) .ex-student-name{
    max-width:190px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    font-family:var(--ex-read); font-size:13.5px; font-weight:600; color:var(--ex-ink);
    flex:0 1 auto; min-width:0;
  }

  body:has(.exam-bar) .ex-profile{ position:relative; display:inline-flex; flex:none; }
  body:has(.exam-bar) .ex-profile-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:5px;
    width:auto; height:40px; padding:0 10px; border-radius:4px;
    border:1px solid var(--ex-line); background:var(--ex-surface); color:var(--ex-ink);
    cursor:pointer; box-shadow:none;
  }
  body:has(.exam-bar) .ex-profile-btn:hover{ background:var(--ex-hover); border-color:var(--ex-ring); }

  body:has(.exam-bar) .ex-profile-btn.is-open,
  body:has(.exam-bar) .ex-profile-btn[aria-expanded="true"]{
    background:var(--ex-crumb-bg); border-color:var(--ex-crumb-bg); color:#fff;
  }
  body:has(.exam-bar) .ex-pm-person{
    width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8;
    stroke-linecap:round; stroke-linejoin:round;
  }
  body:has(.exam-bar) .ex-pm-caret{ width:9px; height:6px; fill:currentColor; }

  body:has(.exam-bar) .ex-profile-menu{
    position:absolute; top:calc(100% + 8px); right:0; z-index:60;
    width:288px; padding:6px 0;
    background:var(--ex-surface); border:1px solid var(--ex-line); border-radius:6px;
    box-shadow:var(--ex-pop); font-family:var(--ex-read);
  }
  body:has(.exam-bar) .ex-profile-menu[hidden]{ display:none; }
  body:has(.exam-bar) .ex-pm-sep{
    height:1px; margin:6px 0; background:var(--ex-line-soft);
  }

  body:has(.exam-bar) .ex-pm-row{
    padding:9px 16px; font-size:13.5px; line-height:1.45;
    color:var(--ex-ink); cursor:default;
  }
  body:has(.exam-bar) .ex-pm-row.is-inert{
    color:var(--ex-disabled); cursor:default; user-select:none; background:none;
  }
  body:has(.exam-bar) .ex-pm-row.is-inert:hover,
  body:has(.exam-bar) .ex-pm-row.is-inert:active{ background:none; }

  body:has(.exam-bar) .ex-battery{
    flex:none; position:relative; box-sizing:border-box;
    width:26px; height:13px; padding:2px;
    border:1.5px solid var(--ex-crumb-dim); border-radius:2px;
  }

  body:has(.exam-bar) .ex-battery::after{
    content:''; position:absolute; left:100%; top:50%; transform:translateY(-50%);
    width:2px; height:6px; margin-left:1px;
    background:var(--ex-crumb-dim); border-radius:0 1px 1px 0;
  }
  body:has(.exam-bar) .ex-battery-fill{
    display:block; height:100%; background:var(--ex-crumb-ink); border-radius:1px;
  }
  body:has(.exam-bar) .ex-battery-low .ex-battery-fill{ background:#f28b82; }
  body:has(.exam-bar) .ex-battery-charging{ border-color:var(--ex-crumb-ink); }

  body:has(.exam-bar) .ex-battery-unknown::before{
    content:''; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    width:8px; height:1.5px; background:var(--ex-crumb-dim);
  }

  body:has(.exam-bar) [data-tip]{ position:relative; }
  body:has(.exam-bar) [data-tip]::after{
    content:attr(data-tip);
    position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%);
    z-index:80; pointer-events:none;
    padding:6px 10px; border-radius:4px;
    background:var(--ex-tip-bg); color:var(--ex-tip-ink);
    font-family:var(--ex-read); font-size:12.5px; font-weight:600; line-height:1.2;
    letter-spacing:0; text-transform:none; white-space:nowrap;
    opacity:0; visibility:hidden; transition:opacity 90ms ease-out 140ms, visibility 0s linear 230ms;
  }
  body:has(.exam-bar) [data-tip]::before{
    content:''; position:absolute; top:calc(100% + 6px); left:50%; transform:translateX(-50%);
    z-index:80; pointer-events:none;
    border:6px solid transparent; border-top-width:0; border-bottom-color:var(--ex-tip-bg);
    opacity:0; visibility:hidden; transition:opacity 90ms ease-out 140ms, visibility 0s linear 230ms;
  }
  body:has(.exam-bar) [data-tip]:hover::after,
  body:has(.exam-bar) [data-tip]:hover::before,
  body:has(.exam-bar) [data-tip]:focus-visible::after,
  body:has(.exam-bar) [data-tip]:focus-visible::before{
    opacity:1; visibility:visible; transition-delay:140ms, 0s;
  }

  body:has(.exam-bar) .ex-profile-btn[data-tip]::after,
  body:has(.exam-bar) #xtPencilBar .xtp-btn[data-tip]::after{
    left:auto; right:0; transform:none;
  }
  body:has(.exam-bar) .ex-profile-btn[data-tip]::before,
  body:has(.exam-bar) #xtPencilBar .xtp-btn[data-tip]::before{
    left:auto; right:12px; transform:none;
  }

  body:has(.exam-bar) .fx-review-panel{ width:min(370px, 94vw); }
  body:has(.exam-bar) .fxrp-tabs{ gap:7px; padding:11px 11px 9px; }
  body:has(.exam-bar) .fxrp-tab{
    min-height:66px; padding:9px 4px; font-size:11px; gap:6px; line-height:1.2;
  }

  @media (max-width: 1100px){
    body:has(.exam-bar) .ex-student-name{ display:none; }
  }
  @media (max-width: 900px){
    body:has(.exam-bar) .exam-nav-row{ gap:6px; padding:8px 12px; }
    body:has(.exam-bar) .exam-nav-row .exam-review-btn,
    body:has(.exam-bar) .exam-nav-row .exam-mark-btn{ padding:0 10px; }
    body:has(.exam-bar) .exam-crumb{ padding:8px 12px; font-size:11px; letter-spacing:.6px; }
  }

  #xtPencilBar .xtp-btn.is-on{ background:var(--ex-dark); border-color:var(--ex-dark); }

  body:has(.exam-bar) .fxrp-row.current{ box-shadow:none; }

  body:has(.exam-bar) .hottext-word.candidate{ border:1px solid var(--ex-ring); color:var(--ex-ink); }

  body:has(.exam-bar) .hottext-word.selected{
    background:var(--ex-dark); border-color:var(--ex-dark); color:#fff;
  }

  body:has(.exam-bar) .drop-slot.over,
  body:has(.exam-bar) .dragfill-pool.over,
  body:has(.exam-bar) .dragfill-blank.over,
  body:has(.exam-bar) .mr-box.over{ border-color:var(--ex-ink); background:var(--ex-hover); }
  body:has(.exam-bar) .mr-pool.over{ background:var(--ex-hover); }

  body:has(.exam-bar) .mt-caret{ background:var(--ex-ink); }

  body.in-sitting button.primary,
  body:has(.exam-bar) button.primary{
    background:var(--ex-dark); box-shadow:none;
  }
  body.in-sitting button.primary:hover,
  body:has(.exam-bar) button.primary:hover{
    background:var(--ex-dark-hover); box-shadow:none; filter:none;
  }
  body.in-sitting button.primary:active,
  body:has(.exam-bar) button.primary:active{ box-shadow:none; }

  body:has(.exam-bar) .exam-review-btn,
  body:has(.exam-bar) .exam-bookmark-btn,
  body:has(.exam-bar) .exam-mark-btn{
    color:var(--ex-dark); border-color:var(--ex-ring); background:var(--ex-surface);
  }

  body:has(.exam-bar) .exam-nav-row .exam-review-btn,
  body:has(.exam-bar) .exam-nav-row .exam-bookmark-btn,
  body:has(.exam-bar) .exam-nav-row .exam-mark-btn{
    border:1.5px solid var(--ex-ring); color:var(--ex-dark);
  }

  body:has(.exam-bar) .exam-review-btn:hover,
  body:has(.exam-bar) .exam-bookmark-btn:hover,
  body:has(.exam-bar) .exam-mark-btn:hover{
    background:var(--ex-hover); border-color:var(--ex-dark); color:var(--ex-dark);
  }

  body:has(.exam-bar) .exam-review-btn.is-on,
  body:has(.exam-bar) .exam-bookmark-btn.is-on,
  body:has(.exam-bar) .exam-mark-btn.is-on,
  body:has(.exam-bar) .exam-review-btn[aria-expanded="true"],
  body:has(.exam-bar) .exam-bookmark-btn[aria-pressed="true"],
  body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"]{
    background:var(--ex-dark); border-color:var(--ex-dark); color:#fff;
  }

  body:has(.exam-bar) .fx-mark-glyph{
    display:inline-flex; width:12px; height:16px; flex:none;
    border:none; background:transparent; clip-path:none;
  }
  body:has(.exam-bar) .fx-mark-glyph .xt-glyph{ width:12px; height:16px; display:block; }
  body:has(.exam-bar) .exam-mark-btn.is-on .fx-mark-glyph,
  body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"] .fx-mark-glyph{ background:transparent; }
  body:has(.exam-bar) .exam-mark-btn.is-on .fx-mark-glyph path,
  body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"] .fx-mark-glyph path{ fill:currentColor; }

  #xtPencilBar{
    background:var(--ex-crumb-bg); border-color:var(--ex-dark-hover);
  }
  #xtPencilBar .xtp-btn{
    background:transparent; border-color:transparent; color:var(--ex-crumb-ink);
  }
  #xtPencilBar .xtp-btn .xt-glyph{ width:20px; height:20px; display:block; }
  #xtPencilBar .xtp-btn:hover:not(:disabled){ background:rgba(255,255,255,.14); }
  #xtPencilBar .xtp-btn:disabled{ opacity:1; color:var(--ex-crumb-dim); cursor:not-allowed; }
  #xtPencilBar .xtp-btn.is-on{
    background:var(--ex-crumb-ink); border-color:var(--ex-crumb-ink); color:var(--ex-crumb-bg);
  }

  body:has(.exam-bar) #xtPencilBar .xtp-btn.is-on{
    background:var(--ex-crumb-ink); border-color:var(--ex-crumb-ink); color:var(--ex-crumb-bg);
  }

  :root{

    --v113-radio-size:27px;
    --v113-radio-ring:2px;

    --v113-radio-gap:12px;

    --v113-check-size:22px;
    --v113-check-ring:var(--v113-radio-ring);
    --v113-check-radius:2px;

    --v113-check-tick:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3.2 8.4 L6.6 11.8 L12.8 4.9" fill="none" stroke="%23ffffff" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    --v113-check-tick-off:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3.2 8.4 L6.6 11.8 L12.8 4.9" fill="none" stroke="%23a8adb2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');

    --v113-verse-gutter:44px;
    --v113-verse-hang:24px;
  }

  body:has(.exam-bar) .choice-letter{
    width:var(--v113-radio-size); height:var(--v113-radio-size);
    border-width:var(--v113-radio-ring);
  }
  body:has(.exam-bar) .choice{ gap:var(--v113-radio-gap); }

  body:has(.exam-bar) .choice.selected{ background:transparent; }
  body:has(.exam-bar) .choice.selected:hover{ background:#eaeef0; }

  .wt-overlay .choice.selected{ background:transparent; }
  .wt-overlay .choice.selected:hover{ background:#eaeef0; }

  .mr-card{
    display:flex; align-items:flex-start; gap:var(--v113-radio-gap);
  }

  .mr-card-body{ flex:1 1 auto; min-width:0; }
  .mr-card::before{
    content:''; flex:none;
    width:var(--v113-check-size); height:var(--v113-check-size);
    border:var(--v113-check-ring) solid var(--v112-radio-ink);
    border-radius:var(--v113-check-radius);

    background-color:var(--ex-surface);
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
  }
  .mr-box .mr-card::before{
    background-color:var(--v112-radio-sel);
    border-color:var(--v112-radio-sel);
    background-image:var(--v113-check-tick);
  }

  .mr-card.xt-struck::before,
  .mr-box .mr-card.xt-struck::before{
    background-color:var(--ex-surface);
    border-color:var(--v112-radio-off-line);
    background-image:none;
  }
  .mr-box .mr-card.xt-struck::before{ background-image:var(--v113-check-tick-off); }

  .p-lined{ padding-left:calc(var(--v113-verse-gutter) + var(--v113-verse-hang)); }
  .line-num{
    width:var(--v113-verse-gutter);
    margin-left:calc(-1 * (var(--v113-verse-gutter) + var(--v113-verse-hang)));
  }

  :root{

    --ex-focus:#000000;
    --ex-focus-w:3px;

    --ex-menu-sel:#0b5cab;
    --ex-menu-sel-ink:#ffffff;
  }

  body:has(.exam-bar) .ex-focus-ring:not(.ex-hl-cell),
  .ex-focus-ring:focus-visible{ outline:3px solid var(--ex-focus); outline-offset:0; }

  .ex-focus-ring:focus:not(:focus-visible){ outline:none; }

  #examTimerSlot #examTimer .xt-hide.ex-focus-ring,
  #examTimerSlot #examTimer .xt-pill.ex-focus-ring{
    outline:var(--ex-focus-w) solid var(--ex-focus);
    outline-offset:0;
  }

  body:has(.exam-bar) [data-tip]::before{
    border:6px solid transparent;
    border-top-width:0;
    border-bottom-color:var(--ex-tip-bg);
  }

  body:has(.exam-bar) [data-tip]::after{
    white-space:normal;
    max-width:140px;
    text-align:center;
    overflow-wrap:break-word;
  }

  body:has(.exam-bar) .ex-pm-row.is-inert.is-highlighted,
  body:has(.exam-bar) .ex-pm-row.is-inert.is-highlighted:hover,
  body:has(.exam-bar) .ex-pm-row.is-inert.is-highlighted:active{
    background:var(--ex-menu-sel);
    color:var(--ex-menu-sel-ink);
  }

  body:has(.exam-bar) .ex-pm-row.is-highlighted.ex-focus-ring{
    outline:var(--ex-focus-w) solid var(--ex-focus);
    outline-offset:calc(-1 * var(--ex-focus-w));
  }

  .ex-hl-bar{
    display:flex; gap:0; padding:0; margin:0;
    overflow:hidden; line-height:0;
    background:#ffffff;
    border:1px solid var(--ex-muted,#5f6368);
    border-radius:2px;
    box-shadow:0 2px 8px rgba(32,33,36,.28);
  }

  .ex-hl-bar .ex-hl-cell{
    width:30px; height:30px; padding:0; margin:0;
    border:0; border-radius:0;
    background:transparent; color:inherit;
    font:inherit; font-size:13px; line-height:1;
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
  }

  .ex-hl-bar .ex-hl-cell + .ex-hl-cell{ border-left:1px solid #d4d7da; }

  .ex-hl-bar .ex-hl-cell-erase{ background:#ffffff; }

  .ex-hl-bar .ex-hl-slash{
    display:block; width:24px; height:2px;
    background:#c0392b;
    transform:rotate(-45deg);
  }

  .ex-hl-bar .ex-hl-cell:focus-visible{ outline-offset:-3px; }

  :root{

    --v113-mark-blue:#0b5cab;

    --v113-mark-blue-lite:#8ab4f8;
  }

  body:has(.exam-bar) .exam-nav-row .fx-review-wrap{
    order:2; position:relative;
    align-self:stretch; flex:0 0 0; width:0;
    margin-right:-10px;
  }

  body:has(.exam-bar) .exam-nav-row .fx-review-panel{
    left:0; right:auto; top:calc(100% + 8px);
  }
  @media (max-width:900px){
    body:has(.exam-bar) .exam-nav-row .fx-review-wrap{ margin-right:-6px; }
  }

  body:has(.exam-bar) .fxrp-tabs{
    background:var(--ex-sect);
    padding:11px 11px 0; gap:7px;
    border-bottom:1px solid var(--ex-line);
  }

  body:has(.exam-bar) .fxrp-tabs .fxrp-tab{
    background:var(--ex-crumb); color:var(--ex-ink);
    border:1px solid var(--ex-line); border-radius:6px 6px 0 0;
  }

  body:has(.exam-bar) .fxrp-tabs .fxrp-tab:hover{
    background:var(--ex-line); border-color:var(--ex-ring);
  }
  body:has(.exam-bar) .fxrp-tabs .fxrp-tab.is-active,
  body:has(.exam-bar) .fxrp-tabs .fxrp-tab.is-active:hover{
    background:var(--ex-surface);
    border-color:var(--ex-line); border-bottom-color:var(--ex-surface);
    box-shadow:none;
    margin-bottom:-1px; z-index:1;
  }

  body:has(.exam-bar) .fxrp-tabnum{ background:transparent; }

  body:has(.exam-bar) .fxrp-tabnum.is-square{
    background:var(--v113-mark-blue); border-color:var(--v113-mark-blue); color:#fff;
  }

  body:has(.exam-bar) .fxrp-secthead{
    background:var(--ex-surface);
    padding:12px 18px;
    border-bottom:1px solid var(--ex-line-soft);
    color:var(--ex-muted);
  }

  body:has(.exam-bar) .fxrp-row.bookmarked::after{ background:var(--v113-mark-blue); }
  body:has(.exam-bar) .fxrp-row.current.bookmarked::after{ background:var(--v113-mark-blue-lite); }

  svg.xt-pencil path{
    shape-rendering:geometricPrecision;
  }

  :root{

    --v113-cross-bleed:7px;

    --v113-cross-w:2.2px;
    --v113-cross-preview-w:1.4px;
    --v113-cross-preview-a:.45;
  }

  body:has(.exam-bar) .choice-text{ position:relative; }
  body:has(.exam-bar) .choice-text > .xt-cross,
  body:has(.exam-bar) .choice-text > .xt-cross-preview{
    position:absolute;
    left:calc(-1 * (var(--v113-radio-size, 27px) + var(--v113-radio-gap, 12px) + var(--v113-cross-bleed)));
    right:calc(-1 * var(--v113-cross-bleed));
    top:-2px; bottom:-2px;

    pointer-events:none; z-index:1;
  }
  body:has(.exam-bar) .choice-text > .xt-cross svg,
  body:has(.exam-bar) .choice-text > .xt-cross-preview svg{
    width:100%; height:100%; display:block; overflow:visible;
  }

  body:has(.exam-bar) .choice-text > .xt-cross line{
    stroke:var(--wrong); stroke-width:var(--v113-cross-w);
    vector-effect:non-scaling-stroke; stroke-linecap:round;
  }

  body:has(.exam-bar) .choice-text > .xt-cross-preview line{
    stroke:var(--wrong); stroke-width:var(--v113-cross-preview-w);
    stroke-opacity:var(--v113-cross-preview-a);
    vector-effect:non-scaling-stroke; stroke-linecap:round;
  }

  body:has(.exam-bar) .choice.xt-unstrike .choice-text > .xt-cross line{
    stroke-width:var(--v113-cross-preview-w);
    stroke-opacity:var(--v113-cross-preview-a);
  }

  body:has(.exam-bar) .xtools{
    display:inline-flex; align-items:stretch; gap:0; margin-left:6px;
    border:1px solid var(--ex-line); border-radius:4px;
    background:var(--ex-surface);
  }
  body:has(.exam-bar) .xtool{
    width:40px; height:38px; border:0; border-radius:0;
    background:transparent; color:var(--ex-ink);

    border-left:1px solid var(--ex-line);
  }

  body:has(.exam-bar) .xtool:first-child{
    border-left:0;
    border-top-left-radius:3px; border-bottom-left-radius:3px;
  }
  body:has(.exam-bar) .xtool:not(:has(~ .xtool:not([hidden]))){
    border-top-right-radius:3px; border-bottom-right-radius:3px;
  }
  body:has(.exam-bar) .xtool:hover{ background:var(--ex-hover); }

  body:has(.exam-bar) .xtool.is-active{
    background:var(--ex-crumb-bg); color:#fff;
    border-left-color:var(--ex-crumb-bg);
  }
  body:has(.exam-bar) .xtool.is-active + .xtool{
    border-left-color:var(--ex-crumb-bg);
  }
  body:has(.exam-bar) .xtool:disabled{ background:transparent; }
  body:has(.exam-bar) .xtool:disabled:hover{ background:transparent; }

  body:has(.exam-bar) #xtoolsGroup .xtool.ex-focus-ring{
    outline:var(--ex-focus-w, 3px) solid var(--ex-focus, #000000);
    outline-offset:0;

    position:relative; z-index:1;
  }

:root{ --ex-read:Arial,Helvetica,'Helvetica Neue','Segoe UI',sans-serif; }

body:has(.exam-bar) .exam-bar{
  margin-top:-16px;
  width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}

body:has(.exam-bar) .exam-crumb{
  background:var(--ex-muted); color:#f5f6f7;
}

body:has(.exam-bar) .exam-nav-row{
  background:var(--ex-surface);
  border-bottom:4px solid var(--ex-rule);
}

body:has(.exam-bar){ background-color:#f0f0f0; }

body:has(.exam-bar) .split{ background:#ffffff; }
body:has(.exam-bar) .passage-pane{ background:#ffffff; }

body:has(.exam-bar) .question-pane{ background:#ffffff; }

body:has(.exam-bar) .exam-arrow{
  background:#1565c0; height:34px; width:46px; border-radius:0;
  color:#ffffff; font-weight:700;
}
body:has(.exam-bar) .exam-arrow:hover:not(:disabled){ background:#0f4fa8; }

body:has(.exam-bar) .exam-nav-row .exam-arrow:first-of-type{
  border-top-left-radius:5px; border-bottom-left-radius:5px;
}
body:has(.exam-bar) .exam-arrow + .exam-arrow{
  margin-left:-10px;
  border-left:1px solid rgba(255,255,255,.55);
  border-top-right-radius:5px; border-bottom-right-radius:5px;
}

body:has(.exam-bar) .exam-arrow:disabled{
  background:#1565c0; color:rgba(255,255,255,.45);
  border-color:transparent; font-weight:400;
}

body:has(.exam-bar) .xtools{ height:31px; }
body:has(.exam-bar) .xtool{ width:33px; height:29px; }

body:has(.exam-bar) .exam-nav-row{
  padding-top:4px; padding-bottom:4px;

  gap:0;
}
body:has(.exam-bar) .exam-nav-row .exam-review-btn{ margin-left:60px; }
body:has(.exam-bar) .exam-nav-row .exam-mark-btn,
body:has(.exam-bar) .exam-nav-row .exam-bookmark-btn{ margin-left:15px; }
body:has(.exam-bar) .exam-nav-row #xtoolsGroup{ margin-left:35px; }

#examTimerSlot #examTimer{ gap:0; }
#examTimerSlot #examTimer .xt-box{
  border:1px solid #c6cace; border-right:none; background:#fff;
  border-radius:3px 0 0 3px;
  min-width:76px; height:34px; padding:0 12px;
}
#examTimerSlot #examTimer .xt-time{
  font-weight:400; font-size:14px; color:var(--ex-ink); letter-spacing:.2px;
}
#examTimerSlot #examTimer .xt-hide,
#examTimerSlot #examTimer .xt-pill{
  width:36px; height:34px; border:1px solid #c6cace; background:#eef0f1;
  border-radius:0 3px 3px 0; color:var(--ex-ink);
  align-items:center; justify-content:center;
}

#examTimer.xt-collapsed .xt-pill{ border-radius:3px; }

body:has(.exam-bar) .exam-crumb{
  font-size:12px; font-weight:400; letter-spacing:.4px;
  padding-top:5px; padding-bottom:5px;
}
body:has(.exam-bar) .ex-crumb-text{ line-height:1.5; }

body:has(.exam-bar) .exam-nav-row button.exam-review-btn,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn,
body:has(.exam-bar) .exam-nav-row button.exam-bookmark-btn{
  font-size:12.5px; font-weight:400; height:28px; padding:0 11px;
  border:1px solid #bfc3c7; border-radius:4px; color:var(--ex-ink);

  background:linear-gradient(#fbfbfb, #eceded);
  box-shadow:0 1px 1px rgba(0,0,0,.06);
}

body:has(.exam-bar) .ex-list-glyph{
  width:15px; height:12px; border:none; background-repeat:no-repeat;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 12"><g fill="%23242a2e"><circle cx="1.6" cy="1.8" r="1.6"/><circle cx="1.6" cy="6" r="1.6"/><circle cx="1.6" cy="10.2" r="1.6"/><rect x="5.2" y="0.9" width="9.8" height="1.9" rx=".9"/><rect x="5.2" y="5.1" width="9.8" height="1.9" rx=".9"/><rect x="5.2" y="9.3" width="9.8" height="1.9" rx=".9"/></g></svg>');
}
body:has(.exam-bar) .ex-list-glyph::after{ content:none; }

body:has(.exam-bar) .fx-mark-glyph .xt-glyph path{ stroke-width:1.25; }

body:has(.exam-bar) .ex-student-name{ font-size:14px; font-weight:400; }

body:has(.exam-bar) .passage-pane{
  border-radius:3px; border:1px solid #6f7478; box-shadow:none;
}
body:has(.exam-bar) .split{ border-radius:3px; }
body:has(.exam-bar) .passage-sub{
  font-weight:normal; color:var(--ex-ink);
}
body:has(.exam-bar) .passage-title,
body:has(.exam-bar) .passage-sub,
body:has(.exam-bar) .passage-text{ font-family:var(--ex-read); }

body:has(.exam-bar) .choice{ align-items:flex-start; padding:14px 18px; min-height:0; gap:12px; }
body:has(.exam-bar) .choice-letter{
  width:13px; height:13px; border-radius:50%; margin-top:5px;
  border:1.3px solid var(--ex-ring); background:#fff; color:transparent;
  font-size:0; flex:none; position:relative;
}
body:has(.exam-bar) .choice.selected .choice-letter{ background:#fff; border-color:var(--ex-ink); }
body:has(.exam-bar) .choice.selected .choice-letter::before{
  content:""; position:absolute; inset:2.5px; border-radius:50%; background:var(--ex-ink);
}
body:has(.exam-bar) .choice.selected{ background:transparent; }

body:has(.exam-bar) .choice:hover,
body:has(.exam-bar) .choice.selected:hover{ background:transparent; }
body:has(.exam-bar) .choice-text{ padding-top:0; padding-left:22px; }
body:has(.exam-bar) .choice-text .choice-label{
  display:inline-block; width:22px; margin-left:-22px; font-weight:normal;
}

body:has(.exam-bar) .passage-pane{
  max-height:min(56vh, 620px);
  min-height:min(46vh, 420px);
}
body:has(.exam-bar) .question-pane{ max-height:min(56vh, 620px); }

body:has(.exam-bar) #xtoolsGroup .xtool.ex-focus-ring:not(:focus-visible){
  outline:none;
}

body:has(.exam-bar) #xtoolsGroup .xtool[data-tip]::after{
  white-space:nowrap; font-weight:500;
}

.ex-hl-bar{
  background:#eceef0;
  border:1px solid #cfd3d7;
  border-radius:10px;
  padding:5px;
  gap:5px;
  overflow:visible;
  box-shadow:0 3px 10px rgba(32,33,36,.30);
}
.ex-hl-bar .ex-hl-cell{
  width:30px; height:30px; border-radius:7px;
}

.ex-hl-bar .ex-hl-cell + .ex-hl-cell{ border-left:none; }
.ex-hl-bar .ex-hl-cell-erase{ background:#ffffff; border:1px solid #cfd3d7; }

.ex-hl-bar::after{
  content:''; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  border:9px solid transparent; border-top-color:#eceef0; border-bottom:0;
  filter:drop-shadow(0 2px 1px rgba(32,33,36,.18));
}

body:has(.exam-bar) .ex-crumb-sep{
  display:inline-block; margin:0 1.15em; opacity:.9;
}

body:has(.exam-bar) .question-pane .q-text,
body:has(.exam-bar) .question-pane .choice-text,
body:has(.exam-bar) .single-pane .q-text,
body:has(.exam-bar) .single-pane .choice-text{
  max-width:none;
}

body:has(.exam-bar) .exam-crumb{ background:#70757a; }

body:has(.exam-bar) .passage-pane{ scrollbar-width:thin; scrollbar-color:#b8bcc0 transparent; }
body:has(.exam-bar) .passage-pane::-webkit-scrollbar{ width:9px; }
body:has(.exam-bar) .passage-pane::-webkit-scrollbar-track{ background:transparent; }
body:has(.exam-bar) .passage-pane::-webkit-scrollbar-thumb{
  background:#b8bcc0; border-radius:5px; border:2px solid #fff;
}
body:has(.exam-bar) .passage-pane::-webkit-scrollbar-button{ display:none; height:0; }

body:has(.exam-bar) .q-block{ border-bottom:none; padding-bottom:0; }

body:has(.exam-bar) .passage-pane{ border-color:#9aa0a5; }

body:has(.exam-bar) .passage-pane{ scrollbar-color:#a3a7ab #f1f2f3; }
body:has(.exam-bar) .passage-pane::-webkit-scrollbar{ width:12px; }
body:has(.exam-bar) .passage-pane::-webkit-scrollbar-track{ background:#f1f2f3; }
body:has(.exam-bar) .passage-pane::-webkit-scrollbar-thumb{
  background:#a3a7ab; border-radius:6px; border:none;
}
body:has(.exam-bar) .passage-pane::-webkit-scrollbar-button{ display:none; width:0; height:0; }

#examTimerSlot #examTimer .xt-hide,
#examTimerSlot #examTimer .xt-pill{ width:30px; height:30px; }
#examTimerSlot #examTimer .xt-box{ height:30px; min-width:70px; padding:0 10px; }
#examTimerSlot #examTimer .xt-time{ font-size:13px; }
body:has(.exam-bar) .ex-profile-btn{ height:30px; padding:0 7px; }
body:has(.exam-bar) .ex-pm-person{ width:15px; height:15px; }
body:has(.exam-bar) .ex-pm-caret{ width:8px; }

body:has(.exam-bar) .exam-nav-row button.exam-review-btn,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn,
body:has(.exam-bar) .exam-nav-row button.exam-bookmark-btn{
  height:32px; padding:0 14px; font-size:13.5px;
}
body:has(.exam-bar) .xtools{ height:34px; }
body:has(.exam-bar) .xtool{ width:36px; height:32px; }

body:has(.exam-bar) #app{ max-width:min(1420px, 72vw); }
body:has(.exam-bar) .exam-nav-row,
body:has(.exam-bar) .exam-crumb{
  padding-left:max(20px, calc((100vw - min(1420px, 72vw)) / 2 + 20px));
  padding-right:max(20px, calc((100vw - min(1420px, 72vw)) / 2 + 20px));
}

body:has(.exam-bar) .passage-pane{ flex-basis:51%; }

body:has(.exam-bar) .exam-nav-row{ padding-top:9px; padding-bottom:9px; }
body:has(.exam-bar) .exam-crumb{ padding-top:7px; padding-bottom:7px; }
body:has(.exam-bar) .exam-nav-row .exam-review-btn{ margin-left:70px; }
body:has(.exam-bar) .exam-nav-row .exam-mark-btn,
body:has(.exam-bar) .exam-nav-row .exam-bookmark-btn{ margin-left:20px; }
body:has(.exam-bar) .exam-nav-row #xtoolsGroup{ margin-left:44px; }

body:has(.exam-bar) .exam-crumb{
  font-size:11px;
  padding-top:5px; padding-bottom:5px;
  background:#686d72;
}

.ex-hl-bar{
  padding:0; gap:0; border-radius:18px; overflow:visible;
  background:linear-gradient(#f7f7f7, #e4e4e4);
  border:1px solid #b9bdc1;
  box-shadow:0 2px 6px rgba(32,33,36,.28);
}
.ex-hl-bar .ex-hl-cell{
  width:56px; height:36px; border-radius:0; background:transparent;
  display:flex; align-items:center; justify-content:center;
}

.ex-hl-bar .ex-hl-cell{
  box-sizing:border-box; padding:0;
  border-style:solid; border-color:#eff0f1;
  border-width:6px 16px;
}

.ex-hl-bar .ex-hl-cell + .ex-hl-cell{
  border-left-color:#eff0f1;
  box-shadow:-1px 0 0 0 #c3c7cb;
}
.ex-hl-bar .ex-hl-cell{ border-top:1px solid transparent; border-bottom:1px solid transparent; }
.ex-hl-bar .ex-hl-cell-erase{ background:#fff; background-clip:content-box; }
.ex-hl-bar .ex-hl-slash{ width:17px; }

.ex-hl-bar::after{
  border-width:8px; border-bottom:0; border-top-color:#e4e4e4;
}

body:has(.exam-bar) .exam-nav-row{ padding-top:6px; padding-bottom:6px; }

body:has(.exam-bar) .passage-pane{
  border:1px solid #c5c8cb;
  box-shadow:0 1px 3px rgba(32,33,36,.13), 0 0 1px rgba(32,33,36,.08);
}

body:has(.exam-bar){
  background-color:#f6f6f6;

  background-image:none;
}

body:has(.exam-bar) .exam-arrow + .exam-arrow{ margin-left:0; }

body:has(.exam-bar) .exam-arrow{
  height:auto; min-height:34px; width:auto; min-width:46px; padding:0 12px;
}
body:has(.exam-bar) .exam-nav-row button.exam-review-btn,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn,
body:has(.exam-bar) .exam-nav-row button.exam-bookmark-btn{
  height:auto; min-height:32px; white-space:nowrap;
}
body:has(.exam-bar) .xtools{ height:auto; min-height:34px; }
body:has(.exam-bar) .xtool{ height:auto; min-height:32px; }
#examTimerSlot #examTimer .xt-box{ height:auto; min-height:30px; }
#examTimerSlot #examTimer .xt-hide,
#examTimerSlot #examTimer .xt-pill{ height:auto; min-height:30px; }
body:has(.exam-bar) .ex-profile-btn{ height:auto; min-height:30px; }

body:has(.exam-bar) .exam-nav-row{ flex-wrap:wrap; row-gap:6px; }

body:has(.exam-bar) .exam-nav-row .exam-mark-btn,
body:has(.exam-bar) .exam-nav-row .exam-bookmark-btn{ margin-left:10px; }

body:has(.exam-bar) .para-num.para-num{
  width:auto; min-width:24px; height:19px; padding:0 6px; border-radius:9px;
  font-size:11px;
}

body:has(.exam-bar) .choice{ padding-left:0; }

body:has(.exam-bar) .passage-text{ line-height:1.85; }
body:has(.exam-bar) .passage-text p{ margin:0 0 .85em; }
body:has(.exam-bar) .passage-text p:last-child{ margin-bottom:0; }

body:has(.exam-bar) .passage-text{ line-height:1.75; }
body:has(.exam-bar) .question-pane .q-text,
body:has(.exam-bar) .question-pane .choice-text,
body:has(.exam-bar) .single-pane .q-text,
body:has(.exam-bar) .single-pane .choice-text{
  max-width:68ch;
}

body:has(.exam-bar) .passage-text{
  font-size:15.5px;
  line-height:1.62;
  max-width:none;
}
body:has(.exam-bar) .passage-text p{ margin:0 0 .8em; }

body:has(.exam-bar) .passage-pane{
  border:1.5px solid #adb2b6;
  box-shadow:none;
}
body:has(.exam-bar) .split{
  box-shadow:0 1px 2px rgba(32,33,36,.10), 0 4px 12px rgba(32,33,36,.13);
}

body:has(.exam-bar) .question-pane .q-text,
body:has(.exam-bar) .question-pane .choice-text,
body:has(.exam-bar) .single-pane .q-text,
body:has(.exam-bar) .single-pane .choice-text{
  max-width:none;
}
body:has(.exam-bar) .passage-pane{ flex-basis:56%; }

body:has(.exam-bar) .split{
  box-shadow:0 2px 3px rgba(32,33,36,.22), 0 6px 12px rgba(32,33,36,.10);
}
body:has(.exam-bar) .passage-pane{ border:2px solid #b0b5b9; }

body:has(.exam-bar) .split{ padding:16px 14px; gap:26px; }

body:has(.exam-bar) .split{ padding-right:8px; }
body:has(.exam-bar) .question-pane{ padding-right:0; }
body:has(.exam-bar) .choice{ padding-right:0; }

body:has(.exam-bar) .split{ gap:20px; }

body:has(.exam-bar) #app{ max-width:1213px; }
body:has(.exam-bar) .exam-nav-row,
body:has(.exam-bar) .exam-crumb{
  padding-left:max(20px, calc((100vw - 1213px) / 2 + 20px));
  padding-right:max(20px, calc((100vw - 1213px) / 2 + 20px));
}
body:has(.exam-bar) .passage-pane,
body:has(.exam-bar) .question-pane{
  max-height:513px; min-height:513px;
}

body:has(.exam-bar) .split{ padding:24px; gap:24px; }
body:has(.exam-bar) .passage-pane{
  flex:0 0 548px; min-width:548px; max-width:548px;
  min-height:497px; max-height:497px;
}
body:has(.exam-bar) .question-pane{
  flex:1 1 auto; min-height:497px; max-height:497px; padding:0;
}

body:has(.exam-bar) .question-pane .q-text,
body:has(.exam-bar) .question-pane .choice-text{
  max-width:544px;
}
body:has(.exam-bar) .question-pane .q-text{ line-height:1.36; }

body:has(.exam-bar) .passage-pane{ padding:20px 25px; }

body:has(.exam-bar) .question-pane .q-block{ padding:0; margin-right:0; }

body:has(.exam-bar) .exam-nav-row{ padding-top:8px; padding-bottom:8px; }

body:has(.exam-bar) .passage-text{ line-height:23.6px; }

body:has(.exam-bar) .xtools{ height:31px; min-height:31px; }
body:has(.exam-bar) .xtool{ width:34.25px; height:29px; min-height:29px; }

body:has(.exam-bar) .exam-arrow{
  width:52.5px; min-width:52.5px; height:36px; min-height:36px; padding:0;
}
body:has(.exam-bar) .exam-nav-row button.exam-review-btn,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn,
body:has(.exam-bar) .exam-nav-row button.exam-bookmark-btn{
  height:30px; min-height:30px; padding:0 11px; font-size:13px;
}

body:has(.exam-bar) .exam-nav-row button.exam-review-btn,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn,
body:has(.exam-bar) .exam-nav-row button.exam-bookmark-btn{
  padding:0 9px;
}
body:has(.exam-bar) .exam-nav-row{ padding-top:7px; padding-bottom:7px; }

#examTimerSlot #examTimer .xt-box{
  width:70px; min-width:70px; height:30px; min-height:30px; padding:0 8px;
}
#examTimerSlot #examTimer .xt-hide,
#examTimerSlot #examTimer .xt-pill{
  width:39px; min-width:39px; height:30px; min-height:30px;
}
body:has(.exam-bar) .ex-profile-btn{
  width:46px; min-width:46px; height:36px; min-height:36px; padding:0;
}
body:has(.exam-bar) .exam-crumb{
  padding-top:0; padding-bottom:0; height:31px; line-height:31px;
}
body:has(.exam-bar) .exam-nav-row{ padding-top:7px; padding-bottom:7px; }

body:has(.exam-bar) .exam-nav-row{ padding-top:5px; padding-bottom:5px; }

body:has(.exam-bar) #app{ max-width:1210px; }
body:has(.exam-bar) .split{
  padding:21px; gap:30px; min-height:543px;
}
body:has(.exam-bar) .passage-text,
body:has(.exam-bar) .passage-text p{ line-height:24px; }

body:has(.exam-bar) .choice{
  padding-top:9.5px; padding-bottom:9.5px;
  line-height:24px;
}
body:has(.exam-bar) .choice-text{ line-height:24px; }

body:has(.exam-bar) .exam-nav-row{ gap:0; }
body:has(.exam-bar) #reviewBtn{ margin-left:35px; }
body:has(.exam-bar) #fxBookmarkBtn{ margin-left:11px; }
body:has(.exam-bar) #xtoolsGroup{ margin-left:36px; }

body:has(.exam-bar) .exam-crumb{
  height:31px; line-height:21px; padding-top:5px; padding-bottom:5px;
}

body:has(.exam-bar) .fx-review-wrap{ margin-right:0; }
body:has(.exam-bar) .exam-nav-row #xtoolsGroup{ margin-left:36px; }
body:has(.exam-bar) .choices-pane{ align-self:stretch; width:100%; }
body:has(.exam-bar) .split{ padding:20px; }
body:has(.exam-bar) .passage-pane{ padding:20px 28px; }
body:has(.exam-bar) .exam-nav-row{ padding-top:5.5px; padding-bottom:5.5px; }

body:has(.exam-bar) .exam-nav-row .fx-review-wrap{ margin-right:0; }

body:has(.exam-bar) .choice{
  padding:5px 4px 14px 6px; gap:13px; align-items:flex-start;
}
body:has(.exam-bar) .choice-text{
  padding-left:26px; text-indent:-26px; line-height:24px;
}
body:has(.exam-bar) .choice-label{
  display:inline-block; width:26px; text-indent:0;
}

body:has(.exam-bar) .question-pane{ scrollbar-gutter:auto; }

body:has(.exam-bar) .passage-sub{ line-height:23px; }

body:has(.exam-bar) .choice{ gap:15px; }
body:has(.exam-bar) .choice-text{ padding-left:24px; text-indent:-24px; }
body:has(.exam-bar) .choice-label{ width:24px; }

body:has(.exam-bar) .exam-arrow{ width:52px; min-width:52px; height:36px; }
body:has(.exam-bar) .exam-nav-row #reviewBtn{
  width:88px; min-width:88px; height:30px; padding:0 10px;
}
body:has(.exam-bar) .exam-nav-row #fxBookmarkBtn{
  width:102px; min-width:102px; height:30px; padding:0 10px;
}
body:has(.exam-bar) .passage-pane{
  flex:0 0 550px; min-width:550px; max-width:550px;
  min-height:499px; max-height:499px;
}
body:has(.exam-bar) .question-pane{ max-height:499px; }

body:has(.exam-bar) .split{ padding:19px; }

body:has(.exam-bar) .passage-pane{ padding:20px 29px; }

body:has(.exam-bar) .gloss-card{ width:340px; }
body:has(.exam-bar) .gloss-card-bar{
  height:41px; box-sizing:border-box; padding:0 8px 0 12px;
}
body:has(.exam-bar) .gloss-card-title{
  font-size:15px; font-weight:400; color:#5f6368;
}
body:has(.exam-bar) .gloss-card-x{
  width:14px; height:20px; font-size:15px;
}
body:has(.exam-bar) .gloss-card-body{
  height:60px; box-sizing:border-box;
  padding:19px 12px; font-size:13.5px; line-height:22px;
}

body:has(.exam-bar) .choice .choice-text .choice-label{
  width:24px; display:inline-block; text-indent:0;
}

body:has(.exam-bar) .exam-nav-row .fx-review-panel{
  width:270px; min-width:270px; max-width:270px;
}
body:has(.exam-bar) .fxrp-tab{
  width:90px; min-width:90px; height:80px; box-sizing:border-box;
}
body:has(.exam-bar) .fxrp-tabnum{
  width:32px; height:32px; min-width:32px; box-sizing:border-box;
  display:inline-flex; align-items:center; justify-content:center;
}
body:has(.exam-bar) .fxrp-list{
  max-height:415px; padding-left:16px; padding-right:16px;
}
body:has(.exam-bar) .fxrp-row{
  height:40px; min-height:40px; box-sizing:border-box;
}

body:has(.exam-bar) .choice .choice-text{
  display:flex; align-items:flex-start;
  padding-left:0; text-indent:0; line-height:24px;
}
body:has(.exam-bar) .choice .choice-text .choice-label{
  flex:0 0 24px; width:24px; text-indent:0; display:block;
}

body:has(.exam-bar) .passage-text mark,
body:has(.exam-bar) .passage-text .hl{
  padding-top:0; padding-bottom:0; line-height:18px;
}

body:has(.exam-bar) .choice .choice-text .choice-label{
  margin-left:0; margin-right:0;
}

body:has(.exam-bar) .exam-nav-row .fx-review-panel{
  width:270px; min-width:270px; max-width:270px;
}
body:has(.exam-bar) .fxrp-tabs{
  width:270px; padding:0; gap:0;
  grid-template-columns:repeat(3, 90px);
}
body:has(.exam-bar) .fxrp-tabs.fxrp-tabs-2{
  grid-template-columns:repeat(2, 90px);
}
body:has(.exam-bar) .fxrp-tabs .fxrp-tab{
  width:90px; height:80px; box-sizing:border-box;
  border-radius:0; margin:0;
}
body:has(.exam-bar) .fxrp-tabs .fxrp-tab.is-active{ margin-bottom:-1px; }
body:has(.exam-bar) .fxrp-list{
  width:270px; height:415px; max-height:415px; box-sizing:border-box;
  padding:0; overflow-y:auto;
}
body:has(.exam-bar) .fxrp-row.navcell{
  height:40px; min-height:40px; box-sizing:border-box;
}

body:has(.exam-bar) .fxrp-secthead{ display:none; }

body:has(.exam-bar) .fxrp-tabs{ height:80px; box-sizing:border-box; }
body:has(.exam-bar) .fxrp-list{ padding:0 16px 0 0; }

body:has(.exam-bar) .fxrp-list{ scrollbar-gutter:stable; }

body:has(.exam-bar) .interstitial-box{
  width:1170px; max-width:1170px; min-height:386px; box-sizing:border-box;
  margin-left:auto; margin-right:auto; padding:20px;
}
body:has(.exam-bar) .interstitial-inner{
  width:1130px; max-width:1130px; min-height:342px; box-sizing:border-box;
  margin:0 auto; padding:19px;
}
body:has(.exam-bar) .interstitial-inner > p{
  width:1075px; max-width:1075px; margin-left:auto; margin-right:auto;
  text-align:center;
}
body:has(.exam-bar) .interstitial-inner > p:nth-of-type(1){ min-height:48px; }
body:has(.exam-bar) .interstitial-inner > p:nth-of-type(2){ min-height:83px; }
body:has(.exam-bar) .interstitial-inner > p:nth-of-type(3){ min-height:59px; }

#xtPencilBar{
  width:54px; min-width:54px; box-sizing:border-box;
  padding:5px; gap:0;
}
#xtPencilBar .xtp-btn{
  width:44px; height:44px; min-width:44px; box-sizing:border-box;
  padding:0; border-radius:0;
}
#xtPencilBar .xtp-btn svg,
#xtPencilBar .xtp-btn > *{ width:18px; height:20px; }

body:has(.exam-bar) .q-text{ margin-bottom:23px; }
body:has(.exam-bar) .choices-pane > .choice:first-child{ margin-top:0; }

.ex-hl-bar{
  width:120px; height:30px; box-sizing:border-box;
}
.ex-hl-bar .ex-hl-cell{
  flex:1 1 0; width:auto; height:auto; min-width:0;
  box-sizing:border-box;
  border-style:solid; border-color:#eff0f1;
  border-width:6.5px 12px;
}
.ex-hl-bar .ex-hl-slash{ width:15px; }

.ex-hl-bar{ position:relative; }
.ex-hl-bar::after{ position:absolute; top:100%; left:50%; margin-left:-8px; }
.ex-hl-bar .ex-hl-cell{
  flex:0 0 auto; width:39.33px;
  border-width:6.5px 12.17px;
}

.ex-hl-bar .ex-hl-cell{
  border:0; padding:0; background:transparent;
  display:flex; align-items:center; justify-content:center;
}
.ex-hl-bar .ex-hl-cell > *{
  width:15px; height:15px; flex:0 0 auto; display:block;
}
.ex-hl-bar .ex-hl-cell + .ex-hl-cell{
  box-shadow:inset 1px 0 0 0 #d4d7da;
}
.ex-hl-bar .ex-hl-slash{ width:15px; height:15px; }

#xtPencilBar{
  right:0; top:197px; transform:none;
  border-radius:0; border-right:0;
  gap:0; padding:8px 5px;
  width:54px; box-sizing:border-box;
}
#xtPencilBar .xtp-btn{
  width:44px; height:44px; border-radius:0; border:0; font-size:17px;
}

body:has(.exam-bar) .fxrp-tab-name{ font-size:13px; }
body:has(.exam-bar) .fxrp-row.navcell,
body:has(.exam-bar) .fxrp-label{ font-size:16px; }
body:has(.exam-bar) .fxrp-tabnum{
  background:#fff; border:1px solid #c3c7cb; color:#242a2e; font-size:15px;
}
body:has(.exam-bar) .fxrp-tabnum.is-circle{
  background:#e8710a; border-color:#e8710a; color:#fff;
}
body:has(.exam-bar) .fxrp-tabnum.is-square{
  background:#0b5cab; border-color:#0b5cab; color:#fff;
}
body:has(.exam-bar) .fxrp-dot{ background:#e8710a; }

body:has(.exam-bar) .fxrp-tab{ padding-left:2px; padding-right:2px; }
body:has(.exam-bar) .fxrp-tab-name{ white-space:nowrap; }

#xtPencilBar{ padding:7px 5px; }

.ex-hl-bar{
  border-radius:15px; overflow:hidden;
}

.ex-hl-bar .ex-hl-cell > *{
  width:100%; height:100%; display:block;
}

.ex-hl-bar .ex-hl-cell-erase{ background:#fff; }
.ex-hl-bar .ex-hl-cell-erase > *,
.ex-hl-bar .ex-hl-slash{
  width:15px; height:15px; flex:0 0 auto;
}

.ex-hl-bar::after{
  border-width:10px 10px 0 10px;
  border-left-color:transparent; border-right-color:transparent;
}

#xtPencilBar{
  background:#c8ccd0;
  border:1px solid #b0b4b8;
  padding:7px 5px; gap:0;
}
#xtPencilBar .xtp-btn{
  background:#3f4245; color:#fff; border:0;
}
#xtPencilBar .xtp-btn + .xtp-btn{
  box-shadow:inset 0 1px 0 0 #b0b4b8;
}
#xtPencilBar .xtp-btn.is-on{ background:#55585b; color:#fff; border-color:transparent; }
#xtPencilBar .xtp-btn:hover:not(:disabled){ background:#55585b; }

#xtPencilBar .xtp-btn:disabled{
  background:#dadde0; color:#9aa0a6; opacity:1;
}
#xtPencilBar .xtp-btn svg{ stroke:currentColor; fill:none; }

body:has(.exam-bar) #xtPencilBar .xtp-btn{
  background:#3f4245; color:#fff; border:0;
}
body:has(.exam-bar) #xtPencilBar .xtp-btn.is-on{
  background:#55585b; color:#fff;
}
body:has(.exam-bar) #xtPencilBar .xtp-btn:hover:not(:disabled){
  background:#55585b; color:#fff;
}
body:has(.exam-bar) #xtPencilBar .xtp-btn:disabled{
  background:#dadde0; color:#9aa0a6; opacity:1;
}

body:has(.exam-bar) .fxrp-tabs .fxrp-tab{
  background:#eceff1; border:0; border-radius:0;
  box-shadow:inset -1px 0 0 0 #d4d7da;
}
body:has(.exam-bar) .fxrp-tabs .fxrp-tab.is-active,
body:has(.exam-bar) .fxrp-tabs .fxrp-tab.is-active:hover{
  background:#fff; margin-bottom:0;
  box-shadow:inset 0 -3px 0 0 #1a73e8, inset -1px 0 0 0 #d4d7da;
}
body:has(.exam-bar) .fxrp-tabs .fxrp-tab:hover{ background:#e2e6e9; }
body:has(.exam-bar) .fxrp-tab-name{ font-size:14px; white-space:nowrap; }

body:has(.exam-bar) .fxrp-tabnum{
  background:#fff; border:1px solid #c3c7cb; border-radius:4px;
  color:#242a2e; font-size:17px;
}
body:has(.exam-bar) .fxrp-tabnum.is-circle{
  background:#f5a623; border:2px solid #e8710a; border-radius:50%; color:#fff;
}

body:has(.exam-bar) .fxrp-tabnum.is-square{
  background:#0b5cab; border:0; border-radius:0; color:#fff;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 72%, 0 100%);
  padding-bottom:6px;
}

body:has(.exam-bar) .fxrp-row.navcell{
  border-bottom:1px solid #e4e6e8; font-size:17px;
}
body:has(.exam-bar) .fxrp-row.navcell.current{
  background:linear-gradient(180deg, #5a5d60 0%, #3c3f42 100%);
  color:#fff;
}
body:has(.exam-bar) .fxrp-row.navcell:hover:not(.current){
  background:#1a73e8; color:#fff;
}
body:has(.exam-bar) .fxrp-row.navcell:hover .fxrp-label{ color:#fff; }

body:has(.exam-bar) .fxrp-tabs .fxrp-tab{
  padding-left:0; padding-right:0; overflow:hidden;
}
body:has(.exam-bar) .fxrp-tab-name{ font-size:13.5px; }

body:has(.exam-bar) .fxrp-dot{ background:transparent; }
body:has(.exam-bar) .fxrp-row:not(.answered) .fxrp-dot{ background:#e8710a; }

body:has(.exam-bar) .fxrp-row.answered .fxrp-dot{ background:transparent; }
body:has(.exam-bar) .fxrp-row:not(.answered) .fxrp-dot{ background:#e8710a; }

body:has(.exam-bar) .fxrp-tab-name{ line-height:20px; }

.ex-hl-bar{
  background:linear-gradient(180deg, #fdfdfd 0%, #e8eaec 100%);
  border:2px solid #b0b4b8;
  border-radius:15px;
}
.ex-hl-bar .ex-hl-cell{
  background:transparent;
  display:flex; align-items:center; justify-content:center;
}

.ex-hl-bar .ex-hl-cell > *{
  width:15px; height:15px; flex:0 0 auto; display:block;
  border:1px solid #a0a4a8; box-sizing:border-box;
}

.ex-hl-bar .ex-hl-cell-erase{ background:transparent; }
.ex-hl-bar .ex-hl-slash{
  width:15px; height:15px; transform:none; border:1px solid #a0a4a8;
  background:linear-gradient(45deg,
    #fff 0%, #fff 40%,
    #a5312b 40%, #a5312b 60%,
    #fff 60%, #fff 100%);
}

.ex-hl-bar::after{
  border-top-color:#e8eaec;
  filter:drop-shadow(0 2px 0 #b0b4b8);
}

.ex-hl-bar .ex-hl-slash{
  background:linear-gradient(135deg,
    #fff 0%, #fff 40%,
    #a5312b 40%, #a5312b 60%,
    #fff 60%, #fff 100%);
}

body:has(.exam-bar) .fxrp-tab-name{
  font-size:11.5px; line-height:20px; text-align:center; display:block;
}
body:has(.exam-bar) .fxrp-row.navcell,
body:has(.exam-bar) .fxrp-label{
  font-size:14px; font-weight:400;
}
body:has(.exam-bar) .fxrp-row.navcell.current .fxrp-label{ font-weight:400; }

.ex-hl-bar .ex-hl-cell .ex-hl-sw{
  width:15px; height:15px; display:block; flex:0 0 auto;
  border:1px solid #a0a4a8; box-sizing:border-box;
}

body:has(.exam-bar) .fxrp-list{ padding:0 13px 0 0; }
body:has(.exam-bar) .fxrp-row.navcell{
  height:41px; min-height:41px; padding-left:13px;
}

body:has(.exam-bar) .fxrp-tab-name,
body:has(.exam-bar) .fxrp-tabnum,
body:has(.exam-bar) .fxrp-tab,
body:has(.exam-bar) .fxrp-secthead{
  font-weight:400;
}
body:has(.exam-bar) .fxrp-tabnum{ font-size:17px; }

body:has(.exam-bar) .fxrp-list{ padding:0 17px 0 0; }

body:has(.exam-bar) #examTimerSlot #examTimer .xt-hide.ex-focus-ring,
body:has(.exam-bar) #examTimerSlot #examTimer .xt-pill.ex-focus-ring{
  outline-width:2px;
}

body:has(.exam-bar) .choice.xt-struck{
  position:relative;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100 100"><path d="M0 0 L100 100 M100 0 L0 100" stroke="%23b3392c" stroke-width="2" vector-effect="non-scaling-stroke"/></svg>');
  background-size:100% 100%;
  background-repeat:no-repeat;
  background-position:center;
}

body:has(.exam-bar) .choice.xt-struck .choice-text,
body:has(.exam-bar) .choice.xt-struck .choice-letter,
body:has(.exam-bar) .choice.xt-struck .choice-label{
  text-decoration:none;
}
body:has(.exam-bar) .choice.xt-struck .choice-text{ color:inherit; }

body:has(.exam-bar) .choice{ padding-left:0; gap:21px; }

body:has(.exam-bar) .choices-pane .choice.xt-struck .choice-text,
body:has(.exam-bar) .choices-pane .choice.xt-struck .choice-letter,
body:has(.exam-bar) .choices-pane .choice.xt-struck .choice-label{
  text-decoration:none;
}
body:has(.exam-bar) .choices-pane .choice.xt-struck .choice-text{
  color:inherit;
}

body:has(.exam-bar) .choice.xt-struck{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100 100"><path d="M0 0 L100 100 M100 0 L0 100" stroke="%23E97171" stroke-width="2" vector-effect="non-scaling-stroke"/></svg>');
}

body:has(.exam-bar) .fxrp-list{ padding:0; }

body:has(.exam-bar) .fxrp-list{ scrollbar-gutter:auto; }

body:has(.exam-bar),
body:has(.exam-bar) .fx-review-panel,
body:has(.exam-bar) .ex-profile-menu{
  --ex-blue:var(--ex-accent);
  --ex-blue-dark:#063a2f;
  --ex-menu-sel:var(--ex-accent);
  --v113-mark-blue:var(--ex-accent);
  --v113-mark-blue-lite:#8fd3b8;
  --v112-radio-sel:var(--ex-accent);
  --accent:var(--ex-accent);
  --accent-dark:#013431;
}

body:has(.exam-bar) .exam-arrow{ background:var(--ex-accent); }
body:has(.exam-bar) .exam-arrow:disabled,
body:has(.exam-bar) .exam-arrow[disabled]{
  background:var(--ex-accent); color:rgba(255,255,255,.45);
}

body:has(.exam-bar) .fxrp-tabs .fxrp-tab.is-active,
body:has(.exam-bar) .fxrp-tabs .fxrp-tab.is-active:hover{
  box-shadow:inset 0 -3px 0 0 var(--ex-accent), inset -1px 0 0 0 #d4d7da;
}
body:has(.exam-bar) .fxrp-row.navcell:hover:not(.current){
  background:var(--ex-accent); color:#fff;
}

body:has(.exam-bar) .fxrp-tabnum.is-square{
  background:var(--ex-accent); border-color:var(--ex-accent); color:#fff;
}

body:has(.exam-bar) .exam-bar{ border-bottom-color:var(--ex-accent); }
body:has(.exam-bar) .choice.selected .choice-letter,
body:has(.exam-bar) .choice[aria-checked="true"] .choice-letter{
  border-color:var(--ex-accent); background:var(--ex-accent);
}
body:has(.exam-bar) ::selection{ background:var(--ex-accent); color:#fff; }

body:has(.exam-bar) .exam-nav-row{ border-bottom-color:var(--ex-accent); }

body:has(.exam-bar) .choices-pane > .choice + .choice{ margin-top:46px; }

body:has(.exam-bar) .choice.xt-struck{
  background-image:none;
}
body:has(.exam-bar) .choice-text > .xt-cross line,
body:has(.exam-bar) .choice > .xt-cross line{
  stroke:#E97171;
}

body:has(.exam-bar) .choice.selected .choice-letter,
body:has(.exam-bar) .choice[aria-checked="true"] .choice-letter{
  background:#fff;
  background-image:radial-gradient(circle at 50% 50%, var(--ex-accent) 0 3.4px, #fff 3.4px);
  border:2px solid var(--ex-accent);
  box-sizing:border-box;
}

body:has(.exam-bar) #app{ padding-top:31px; }

body:has(.exam-bar) #app{ padding-top:0; }
body:has(.exam-bar) .exam-bar{ margin-bottom:31px; }

body:has(.exam-bar) #app{ padding-top:16px; }

body:has(.exam-bar) .exam-arrow{
  font-size:11px; line-height:11px; font-weight:700;
}

body:has(.exam-bar) .exam-crumb{ background:var(--ex-accent); }

body:has(.exam-bar) .choices-pane > .choice + .choice{ margin-top:45px; }

body:has(.exam-bar) .exam-crumb{ background:#70757a; }
body:has(.exam-bar) .exam-nav-row{ border-bottom-color:var(--ex-accent); }

body:has(.exam-bar) .exam-arrow{
  font-size:19px; line-height:1; font-weight:700;
}

body:has(.exam-bar) .exam-nav-row #prevQBtn.exam-arrow,
body:has(.exam-bar) .exam-nav-row #nextQBtn.exam-arrow,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn.exam-arrow,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn.exam-arrow{
  font-weight:700;
}

body:has(.exam-bar),
body:has(.exam-bar) .fx-review-panel,
body:has(.exam-bar) .ex-profile-menu{
  --accent:var(--ex-accent);
  --accent-dark:#013431;
  --v112-radio-sel:var(--ex-accent);
}
body:has(.exam-bar) .choice.selected .choice-letter,
body:has(.exam-bar) .choice[aria-checked="true"] .choice-letter{
  background:#fff;
  background-image:radial-gradient(circle at 50% 50%, var(--ex-accent) 0 3.4px, #fff 3.4px);
  border:2px solid var(--ex-accent);
}

body:has(.exam-bar) .exam-arrow{
  font-size:0; background-repeat:no-repeat;
  background-position:center; background-size:28px 18px;
}
body:has(.exam-bar) .exam-nav-row #prevQBtn,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 20"><path d="M27 10 H5 M14 2.5 L5 10 L14 17.5" fill="none" stroke="%23ffffff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .exam-nav-row #nextQBtn,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 20"><path d="M5 10 H27 M18 2.5 L27 10 L18 17.5" fill="none" stroke="%23ffffff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

body:has(.exam-bar) .exam-nav-row #prevQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 20"><path d="M27 10 H5 M14 2.5 L5 10 L14 17.5" fill="none" stroke="%23ffffff" stroke-opacity="0.45" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .exam-nav-row #nextQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 20"><path d="M5 10 H27 M18 2.5 L27 10 L18 17.5" fill="none" stroke="%23ffffff" stroke-opacity="0.45" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

body:has(.exam-bar) .exam-nav-row #prevQBtn,
body:has(.exam-bar) .exam-nav-row #nextQBtn,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn{
  background-size:22px 14px;
  background-repeat:no-repeat;
  background-position:center;
}

body:has(.exam-bar) .exam-nav-row{ border-bottom-color:var(--ex-accent); }

body:has(.exam-bar) .exam-nav-row #nextQBtn,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn{
  margin-left:2px;
}
body:has(.exam-bar) .exam-nav-row #prevQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #nextQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn:disabled{
  background-color:#eceff1;
  border:1px solid #c3c7cb;
}
body:has(.exam-bar) .exam-nav-row #prevQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 20"><path d="M27 10 H5 M14 2.5 L5 10 L14 17.5" fill="none" stroke="%239aa0a6" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .exam-nav-row #nextQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 20"><path d="M5 10 H27 M18 2.5 L27 10 L18 17.5" fill="none" stroke="%239aa0a6" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

body:has(.exam-bar) .exam-nav-row{ border-bottom-color:var(--ex-accent); }

body:has(.exam-bar),
body:has(.exam-bar) .fx-review-panel,
body:has(.exam-bar) .ex-profile-menu,
body:has(.exam-bar) .ex-hl-bar,
body:has(.exam-bar) #xtPencilBar{
  --ex-accent:#024C47;
  --accent:var(--ex-accent);
  --accent-dark:#013431;
  --ex-blue:var(--ex-accent);
  --ex-menu-sel:var(--ex-accent);
  --v113-mark-blue:var(--ex-accent);
  --v112-radio-sel:var(--ex-accent);
}

.ex-hl-bar .ex-hl-cell .ex-hl-sw{
  width:19px; height:15px; border:0; border-radius:0;
  clip-path:polygon(0% 74%, 26% 16%, 100% 16%, 74% 74%);
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.22));
}

.ex-hl-bar .ex-hl-cell-erase{ background:transparent; }
.ex-hl-bar .ex-hl-slash{
  width:19px; height:15px; border:0; transform:none;
  background:
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 30"><polygon points="0,22 10,5 38,5 28,22" fill="%23e9ecef" stroke="%23a0a4a8" stroke-width="2" stroke-linejoin="round"/><line x1="2" y1="26" x2="36" y2="2" stroke="%23c0392b" stroke-width="4" stroke-linecap="round"/></svg>')
    center / 19px 15px no-repeat;
}

body:has(.exam-bar) .choice .choice-letter{
  width:13px; height:13px; min-width:13px; box-sizing:border-box;
  border-radius:50%;
  background-image:none;
}
body:has(.exam-bar) .choice.selected .choice-letter,
body:has(.exam-bar) .choice[aria-checked="true"] .choice-letter{
  border:2px solid var(--ex-accent);
  background-color:var(--ex-accent);
  background-image:none;
  box-shadow:inset 0 0 0 2px #fff;
}

body:has(.exam-bar) .choice:not(.selected) .choice-letter{
  background-color:#fff;
  background-image:none;
  box-shadow:none;
}

body:has(.exam-bar) .interstitial-inner .exam-arrow{
  background-repeat:no-repeat; background-position:center;
  background-size:18px 12px;
}
body:has(.exam-bar) .interstitial-inner .exam-arrow:first-child{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 20"><path d="M27 10 H5 M14 2.5 L5 10 L14 17.5" fill="none" stroke="%23ffffff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .interstitial-inner .exam-arrow:last-child{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 20"><path d="M5 10 H27 M18 2.5 L27 10 L18 17.5" fill="none" stroke="%23ffffff" stroke-width="3.2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.ex-hl-bar .ex-hl-cell .ex-hl-sw{
  width:19px; height:12px;
  clip-path:none;
  border-radius:999px;
  border:0;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.18));
}
.ex-hl-bar .ex-hl-slash{
  width:19px; height:12px; border:0; transform:none; border-radius:999px;
  background:
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 24"><rect x="1" y="1" width="36" height="22" rx="11" fill="%23eef0f2" stroke="%23a0a4a8" stroke-width="2"/><line x1="6" y1="19" x2="32" y2="5" stroke="%23c0392b" stroke-width="4" stroke-linecap="round"/></svg>')
    center / 19px 12px no-repeat;
}

.ex-hl-bar{ pointer-events:none; }
.ex-hl-bar .ex-hl-cell{ pointer-events:auto; }

body:has(.exam-bar) .choice.selected .choice-letter,
body:has(.exam-bar) .choice[aria-checked="true"] .choice-letter{
  border:0;
  background-color:var(--ex-accent);
  box-shadow:
    inset 0 0 0 1.5px var(--ex-accent),
    inset 0 0 0 3.5px #fff;
}

body:has(.exam-bar) .choice.selected .choice-letter,
body:has(.exam-bar) .choice[aria-checked="true"] .choice-letter{
  position:relative;
  border:0;
  background-color:#fff;
  background-image:none;
  box-shadow:inset 0 0 0 1.5px var(--ex-accent);
  overflow:visible;
}
body:has(.exam-bar) .choice.selected .choice-letter::before,
body:has(.exam-bar) .choice[aria-checked="true"] .choice-letter::before{
  content:'';
  position:absolute;
  top:50%; left:50%;
  width:6px; height:6px;
  margin:0; padding:0;
  border-radius:50%;
  background:var(--ex-accent);
  transform:translate(-50%, -50%);
}

body:has(.exam-bar) .choices-pane > .choice + .choice{ margin-top:14px; }

body:has(.exam-bar) .exam-arrow:hover:not(:disabled),
body:has(.exam-bar) .exam-arrow:active:not(:disabled),
body:has(.exam-bar) .exam-nav-row .exam-arrow:hover:not(:disabled),
body:has(.exam-bar) .exam-nav-row .exam-arrow:active:not(:disabled){
  background-color:var(--ex-accent);
  border-color:var(--ex-accent);
  transform:none;
  box-shadow:none;
  filter:none;
}

body:has(.exam-bar) .exam-nav-row #prevQBtn,
body:has(.exam-bar) .exam-nav-row #nextQBtn,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn{
  background-size:12px 12px;
  background-repeat:no-repeat;
  background-position:center;
}
body:has(.exam-bar) .exam-nav-row #prevQBtn,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.5 10 H3.5 M9.5 4 L3.5 10 L9.5 16" fill="none" stroke="%23ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .exam-nav-row #nextQBtn,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 10 H16.5 M10.5 4 L16.5 10 L10.5 16" fill="none" stroke="%23ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .exam-nav-row #prevQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.5 10 H3.5 M9.5 4 L3.5 10 L9.5 16" fill="none" stroke="%239aa0a6" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .exam-nav-row #nextQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 10 H16.5 M10.5 4 L16.5 10 L10.5 16" fill="none" stroke="%239aa0a6" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .interstitial-inner .exam-arrow{ background-size:12px 12px; }
body:has(.exam-bar) .interstitial-inner .exam-arrow:first-child{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.5 10 H3.5 M9.5 4 L3.5 10 L9.5 16" fill="none" stroke="%23ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .interstitial-inner .exam-arrow:last-child{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 10 H16.5 M10.5 4 L16.5 10 L10.5 16" fill="none" stroke="%23ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

body:has(.exam-bar) .fxrp-tabnum{
  border-radius:6px; border-width:2px;
}
body:has(.exam-bar) .fxrp-tabnum.is-circle{
  border-radius:50%;
  box-shadow:inset 0 0 0 2px #fff;
}
body:has(.exam-bar) .fxrp-tabnum.is-square{
  border-radius:5px 5px 0 0;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 68%, 0 100%);
  padding-bottom:7px;
}

body:has(.exam-bar) .interstitial-inner > p{
  font-size:16px;
  line-height:29px;
  padding-left:322px;
  padding-right:322px;
  box-sizing:border-box;
  text-align:center;
}
body:has(.exam-bar) .interstitial-inner > p:first-of-type{
  font-size:16px; line-height:29px;
}

body:has(.exam-bar) .interstitial-inner > p:nth-of-type(3){
  padding-left:287px; padding-right:287px;
}

body:has(.exam-bar) .interstitial-inner > p:nth-of-type(3){
  padding-left:250px; padding-right:250px;
}

body:has(.exam-bar) .exam-nav-row #interstitialReviewBtn{
  width:88px; min-width:88px; height:30px; padding:0 10px;
}

body:has(.exam-bar) #xtoolsGroup .xtool:disabled{
  opacity:.38; cursor:not-allowed;
}

body:has(.exam-bar) .q-text{ margin-bottom:18px; }

body:has(.exam-bar) .choices-pane > .choice + .choice{ margin-top:22px; }

body:has(.exam-bar) .split{ padding-top:16px; }

body:has(.exam-bar) .single-pane{
  padding:20px;
  min-height:0;
}
body:has(.exam-bar) .single-pane .q-text,
body:has(.exam-bar) .single-pane .choices-pane,
body:has(.exam-bar) .single-pane .choice{
  max-width:750px;
}
body:has(.exam-bar) .single-pane .choice-text{ max-width:none; }

body:has(.exam-bar) .single-pane .q-text{ margin-bottom:10px; }
body:has(.exam-bar) .single-pane .choices-pane > .choice + .choice{ margin-top:14px; }

body:has(.exam-bar) .single-pane .q-image,
body:has(.exam-bar) .single-pane .q-figure,
body:has(.exam-bar) .single-pane table{
  max-width:750px;
  margin-left:auto; margin-right:auto;
}
body:has(.exam-bar) .single-pane .q-image img,
body:has(.exam-bar) .single-pane .q-figure svg{
  margin-left:auto; margin-right:auto;
}

body:has(.exam-bar) .single-pane .numeric-entry{
  max-width:103px;
}
body:has(.exam-bar) .single-pane .numeric-entry input,
body:has(.exam-bar) .single-pane .numeric-entry .kp-display{
  width:103px; min-width:103px; height:31px; min-height:31px;
  box-sizing:border-box;
}

body:has(.exam-bar) .single-pane .kp-display{
  width:611px; max-width:611px; min-height:49px; height:49px;
  border:1px solid #b8bcc0; border-radius:2px;
  box-sizing:border-box;
}
body:has(.exam-bar) .single-pane .kp-toolbar{
  width:611px; max-width:611px; box-sizing:border-box;
}
body:has(.exam-bar) .single-pane .kp-grid{
  width:607px; box-sizing:border-box;
  padding:6px; border:1px solid #b8bcc0; border-radius:2px;
  display:block;
}
body:has(.exam-bar) .single-pane .kp-row{
  display:flex; gap:5px; margin-bottom:4px;
}
body:has(.exam-bar) .single-pane .kp-row:last-child{ margin-bottom:0; }
body:has(.exam-bar) .single-pane .kp-key{
  width:70px; min-width:70px; height:42px;
  border:1px solid #b8bcc0; border-radius:3px;
  background:linear-gradient(180deg, #fcfcfc 0%, #e9eaeb 100%);
  color:#22262a; font-size:17px;
  box-sizing:border-box;
}
body:has(.exam-bar) .single-pane .kp-key:hover{
  background:linear-gradient(180deg, #ffffff 0%, #dfe1e3 100%);
}

body:has(.exam-bar) .single-pane .kp-toolbar .kp-key{
  width:48px; min-width:48px; height:34px; border-radius:17px; font-size:15px;
}

body:has(.exam-bar) .single-pane .numeric-entry input:not(.kp-display){
  width:103px; min-width:103px; height:31px; min-height:31px;
}
body:has(.exam-bar) .single-pane .numeric-entry:has(.kp-grid){
  max-width:none;
}
body:has(.exam-bar) .single-pane .kp-display{
  width:611px; max-width:611px; min-width:611px; height:49px; min-height:49px;
}

body:has(.exam-bar) .single-pane .kp-toolbar{
  height:47px; box-sizing:border-box;
  display:flex; align-items:center; gap:6px;
  padding:0;
}

body:has(.exam-bar) .single-pane .numeric-entry .kp-display{
  width:611px; max-width:611px; min-width:611px;
  height:49px; min-height:49px;
}

body:has(.exam-bar) .kp-display{
  width:611px; max-width:611px; min-width:611px; height:49px; min-height:49px;
  border:1px solid #b8bcc0; border-radius:2px; box-sizing:border-box;
}
body:has(.exam-bar) .numeric-entry .kp-display{
  width:611px; max-width:611px; min-width:611px; height:49px; min-height:49px;
}
body:has(.exam-bar) .kp-toolbar{
  width:611px; max-width:611px; height:47px; box-sizing:border-box;
  display:flex; align-items:center; gap:6px; padding:0;
}
body:has(.exam-bar) .kp-grid{
  width:607px; box-sizing:border-box; display:block;
  padding:6px; border:1px solid #b8bcc0; border-radius:2px;
}
body:has(.exam-bar) .kp-row{ display:flex; gap:5px; margin-bottom:4px; }
body:has(.exam-bar) .kp-row:last-child{ margin-bottom:0; }
body:has(.exam-bar) .kp-key{
  width:70px; min-width:70px; height:42px;
  border:1px solid #b8bcc0; border-radius:3px;
  background:linear-gradient(180deg, #fcfcfc 0%, #e9eaeb 100%);
  color:#22262a; font-size:17px; box-sizing:border-box;
}
body:has(.exam-bar) .kp-toolbar .kp-key{
  width:48px; min-width:48px; height:34px; border-radius:17px; font-size:15px;
}
body:has(.exam-bar) .numeric-entry:has(.kp-grid){ max-width:none; }

body:has(.exam-bar) .split:has(.kp-grid) .question-pane{
  flex:1 1 auto; max-width:none; width:auto;
}

body:has(.exam-bar) .kp-key{
  background:#ffffff;
  border:1px solid #a9adb1;
  color:#15181b;
  font-size:19px;
}
body:has(.exam-bar) .kp-key:hover{ background:#eef1f3; }
body:has(.exam-bar) .kp-key:active{ background:#dfe3e6; color:#15181b; }
body:has(.exam-bar) .kp-toolbar .kp-key{ font-size:16px; }

body:has(.exam-bar) .kp-grid{ border:1px solid var(--ex-accent); }
body:has(.exam-bar) .kp-display{
  border:2px solid #a9adb1; font-size:20px;
}
body:has(.exam-bar) .kp-display:focus{
  outline:none; border-color:var(--ex-accent);
}

body:has(.exam-bar) .single-pane{ background:#ffffff; }

body:has(.exam-bar) .kp-invalid{
  margin-left:10px; padding:4px 10px;
  background:#fde7e9; color:#8a1c24;
  border:1px solid #f2b8bd; border-radius:3px;
  font-size:14px; font-family:var(--font-ui); white-space:nowrap;
}
body:has(.exam-bar) .kp-displayrow{ align-items:center; }

body:has(.exam-bar) .single-pane .kp-key,
body:has(.exam-bar) .numeric-entry .kp-key{
  background:#ffffff;
  background-image:none;
  border:1px solid #a9adb1;
  color:#15181b;
  font-size:19px;
}
body:has(.exam-bar) .single-pane .kp-key:hover,
body:has(.exam-bar) .numeric-entry .kp-key:hover{
  background:#eef1f3; background-image:none;
}
body:has(.exam-bar) .single-pane .kp-toolbar .kp-key,
body:has(.exam-bar) .numeric-entry .kp-toolbar .kp-key{
  font-size:16px;
}

body:has(.exam-bar) .exam-nav-row #mathBackBtn,
body:has(.exam-bar) .exam-nav-row #mathForwardBtn{
  background-size:12px 12px; background-repeat:no-repeat; background-position:center;
}
body:has(.exam-bar) .exam-nav-row #mathBackBtn{ background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.5 10 H3.5 M9.5 4 L3.5 10 L9.5 16" fill="none" stroke="%23ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>'); }
body:has(.exam-bar) .exam-nav-row #mathForwardBtn{ background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 10 H16.5 M10.5 4 L16.5 10 L10.5 16" fill="none" stroke="%23ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>'); }
body:has(.exam-bar) .exam-nav-row #mathBackBtn:disabled{ background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.5 10 H3.5 M9.5 4 L3.5 10 L9.5 16" fill="none" stroke="%239aa0a6" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>'); }
body:has(.exam-bar) .exam-nav-row #mathForwardBtn:disabled{ background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 10 H16.5 M10.5 4 L16.5 10 L10.5 16" fill="none" stroke="%239aa0a6" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>'); }

body:has(.exam-bar) .ex-crumb-sep{ margin:0 13px; }

body:has(.exam-bar) .single-pane .q-text,
body:has(.exam-bar) .single-pane .choices-pane,
body:has(.exam-bar) .single-pane .choice{
  max-width:715px;
}
body:has(.exam-bar) .single-pane .q-image,
body:has(.exam-bar) .single-pane .q-figure,
body:has(.exam-bar) .single-pane table{
  max-width:715px;
}

body:has(.exam-bar) .kp-gap,
body:has(.exam-bar) .single-pane .kp-gap,
body:has(.exam-bar) .numeric-entry .kp-gap{
  width:70px; min-width:70px; flex:0 0 70px;
  display:inline-block; height:42px;
}

body:has(.exam-bar) .kp-display,
body:has(.exam-bar) .numeric-entry .kp-display{
  height:48px; min-height:48px;
}
body:has(.exam-bar) .kp-grid{
  width:611px; padding:6px 7px;
}

body:has(.exam-bar) .single-pane .numeric-entry .kp-grid,
body:has(.exam-bar) .numeric-entry .kp-grid,
body:has(.exam-bar) .single-pane .kp-grid{
  width:611px; min-width:611px; max-width:611px; padding:6px 7px;
}
body:has(.exam-bar) .single-pane .numeric-entry .kp-display,
body:has(.exam-bar) .numeric-entry .kp-display,
body:has(.exam-bar) .single-pane .kp-display{
  height:48px; min-height:48px; max-height:48px;
}

body:has(.exam-bar) .single-pane .numeric-entry .kp-toolbar,
body:has(.exam-bar) .numeric-entry .kp-toolbar,
body:has(.exam-bar) .single-pane .kp-toolbar{
  margin-bottom:1px;
}
body:has(.exam-bar) .single-pane .numeric-entry .kp-grid,
body:has(.exam-bar) .numeric-entry .kp-grid,
body:has(.exam-bar) .single-pane .kp-grid{
  margin-top:0;
}

@media (max-width:640px){
  body:has(.exam-bar) .single-pane .numeric-entry .kp-display,
  body:has(.exam-bar) .numeric-entry .kp-display,
  body:has(.exam-bar) .single-pane .kp-display,
  body:has(.exam-bar) .single-pane .numeric-entry .kp-toolbar,
  body:has(.exam-bar) .numeric-entry .kp-toolbar,
  body:has(.exam-bar) .single-pane .kp-toolbar,
  body:has(.exam-bar) .single-pane .numeric-entry .kp-grid,
  body:has(.exam-bar) .numeric-entry .kp-grid,
  body:has(.exam-bar) .single-pane .kp-grid{
    width:100%; max-width:100%; min-width:0;
  }
}

body:has(.exam-bar) .choice,
body:has(.exam-bar) .choice-text{
  --v113-radio-size:13px;
  --v113-radio-gap:21px;
}
body:has(.exam-bar) .question-pane,
body:has(.exam-bar) .single-pane,
body:has(.exam-bar) .choices-pane{
  overflow-x:hidden;
}

body:has(.exam-bar) .single-pane .q-text,
body:has(.exam-bar) .single-pane .choices-pane,
body:has(.exam-bar) .single-pane .choice,
body:has(.exam-bar) .single-pane .q-image,
body:has(.exam-bar) .single-pane .q-figure,
body:has(.exam-bar) .single-pane table{
  max-width:741px;
}

body:has(.exam-bar) .il-line select,
body:has(.exam-bar) .single-pane select{
  height:30px; min-height:30px; box-sizing:border-box;
  border:1px solid #6f7479; border-radius:2px; background:#fff;
  font-family:var(--font-ui); font-size:15px; padding:0 4px;
  vertical-align:middle;
}
body:has(.exam-bar) .il-line{ margin:14px 0; line-height:29px; }

body:has(.exam-bar) .single-pane .kp-key.kp-num,
body:has(.exam-bar) .numeric-entry .kp-key.kp-num,
body:has(.exam-bar) .kp-key.kp-num{
  background:linear-gradient(180deg, #f4f5f6 0%, #dcdee0 100%);
  background-image:linear-gradient(180deg, #f4f5f6 0%, #dcdee0 100%);
  border-color:#9aa0a6;
  font-weight:600;
}
body:has(.exam-bar) .single-pane .kp-key.kp-num:hover,
body:has(.exam-bar) .numeric-entry .kp-key.kp-num:hover,
body:has(.exam-bar) .kp-key.kp-num:hover{
  background-image:linear-gradient(180deg, #ffffff 0%, #d2d5d8 100%);
}

body:has(.exam-bar) .kp-gap,
body:has(.exam-bar) .single-pane .kp-gap,
body:has(.exam-bar) .numeric-entry .kp-gap{
  border:1px solid #e6e8ea; border-radius:3px; background:#fff;
}

body:has(.exam-bar) .single-pane .kp-displayrow,
body:has(.exam-bar) .numeric-entry .kp-displayrow{
  margin-bottom:7px;
}

body:has(.exam-bar) .single-pane .il-wrap,
body:has(.exam-bar) .single-pane .il-line,
body:has(.exam-bar) .question-pane .il-wrap,
body:has(.exam-bar) .question-pane .il-line{
  max-width:741px;
}

body:has(.exam-bar) .single-pane .dragfill-lines,
body:has(.exam-bar) .single-pane .dragfill-text,
body:has(.exam-bar) .single-pane .dragfill-pool,
body:has(.exam-bar) .question-pane .dragfill-lines,
body:has(.exam-bar) .question-pane .dragfill-pool{
  max-width:741px;
}
body:has(.exam-bar) .dragfill-line{ margin:14px 0; line-height:34px; }
body:has(.exam-bar) .dragfill-blank{
  display:inline-block; min-width:70px; height:34px;
  border:1px solid #6f7479; border-radius:2px; background:#fff;
  vertical-align:middle;
}
body:has(.exam-bar) .dragfill-pool{
  display:flex; flex-wrap:wrap; gap:10px; margin:18px 0;
}
body:has(.exam-bar) .dragfill-token{
  min-width:56px; height:36px; padding:0 12px;
  border:2px solid var(--ex-accent); border-radius:4px;
  background:#f7f8f9; color:var(--ex-accent);
  font-weight:700; font-size:16px;
  display:inline-flex; align-items:center; justify-content:center;
}

body:has(.exam-bar) .dragfill-line{
  font-family:var(--ex-read, Georgia, 'Times New Roman', serif);
  font-size:19px;
}

body:has(.exam-bar) .ray-palette{
  display:grid; grid-template-columns:repeat(2, 68px);
  gap:4px; padding:8px;
  width:186px; box-sizing:border-box;
  background:#111417; border-radius:6px;
  align-items:center; justify-content:start;
}
body:has(.exam-bar) .ray-stylebtn{
  width:68px; height:54px; padding:0;
  border:1px solid #111417; border-radius:3px; background:#fff;
  display:inline-flex; align-items:center; justify-content:center;
}
body:has(.exam-bar) .ray-stylebtn svg,
body:has(.exam-bar) .ray-stylebtn > *{ width:43px; height:18px; }
body:has(.exam-bar) .ray-stylebtn.picked{
  background:#111417; border-color:#111417;
  box-shadow:none;
}
body:has(.exam-bar) .ray-stylebtn.picked svg{ filter:invert(1); }
body:has(.exam-bar) .ray-remove{
  width:99px; height:43px; padding:0;
  border:1px solid #111417; border-radius:3px; background:#fff;
}
body:has(.exam-bar) .ray-wrap{ max-width:741px; }
body:has(.exam-bar) .ray-wrap svg{ max-width:500px; }

body:has(.exam-bar) .ray-palette{ padding:4px; }

body:has(.exam-bar) .ray-wrap > svg{
  width:500px; max-width:500px; height:auto; display:block;
}
body:has(.exam-bar) .ray-stylebtn svg{ width:43px; height:18px; }

body:has(.exam-bar) .dragfill-pool,
body:has(.exam-bar) .single-pane .dragfill-pool,
body:has(.exam-bar) .question-pane .dragfill-pool{
  background:#ffffff;
  border:1px solid #d7dade;
  padding:12px;
}

body:has(.exam-bar) .dragfill-blank,
body:has(.exam-bar) .single-pane .dragfill-blank{
  background:#ffffff;
}

body:has(.exam-bar) .kp-toolbar .kp-key,
body:has(.exam-bar) .single-pane .kp-toolbar .kp-key,
body:has(.exam-bar) .numeric-entry .kp-toolbar .kp-key{
  width:44px; height:44px;
  border-radius:50%;
  background:transparent;
  background-image:none;
  border:1px solid #9aa0a6;
  color:#15181b;
  font-size:17px;
  display:inline-flex; align-items:center; justify-content:center;
  padding:0;
}
body:has(.exam-bar) .kp-toolbar .kp-key:hover,
body:has(.exam-bar) .single-pane .kp-toolbar .kp-key:hover,
body:has(.exam-bar) .numeric-entry .kp-toolbar .kp-key:hover{
  background:rgba(0,0,0,0.05);
  background-image:none;
}
body:has(.exam-bar) .kp-toolbar{ gap:18px; margin-bottom:12px; }

body:has(.exam-bar) .kp-toolbar .kp-key,
body:has(.exam-bar) .single-pane .kp-toolbar .kp-key,
body:has(.exam-bar) .numeric-entry .kp-toolbar .kp-key{
  width:40px; min-width:40px; max-width:40px;
  height:40px; min-height:40px;
  flex:0 0 40px;
  border-radius:50%;
  font-size:16px;
}
body:has(.exam-bar) .single-pane .kp-toolbar,
body:has(.exam-bar) .numeric-entry .kp-toolbar,
body:has(.exam-bar) .kp-toolbar{
  gap:14px;
}

body:has(.exam-bar) .ray-wrap{
  display:flex; flex-direction:column; align-items:center;
}

body:has(.exam-bar) .ray-wrap > .hint{ align-self:flex-start; }

body:has(.exam-bar) .ray-wrap > svg.nl-ray-svg{
  width:500px; height:125px; max-width:500px; display:block;
  touch-action:none;
}
body:has(.exam-bar) .nl-ray-svg .nl-line,
body:has(.exam-bar) .nl-ray-svg .nl-tick{ stroke:#111; stroke-width:3; }
body:has(.exam-bar) .nl-ray-svg .nl-arrow{ fill:#111; }
body:has(.exam-bar) .nl-ray-svg .nl-lab{
  fill:#111; font-size:20px; font-family:Georgia,'Times New Roman',serif;
}
body:has(.exam-bar) .nl-ray-svg .ray-drawn{ stroke:#111; stroke-width:7; }
body:has(.exam-bar) .nl-ray-svg .ray-drawnarrow{ fill:#111; }
body:has(.exam-bar) .nl-ray-svg .ray-handle{ fill:#c9c9c9; }
body:has(.exam-bar) .nl-ray-svg .ray-endclosed{ fill:#111; stroke:#111; stroke-width:3; }
body:has(.exam-bar) .nl-ray-svg .ray-endopen{ fill:#fff; stroke:#111; stroke-width:3; }

body:has(.exam-bar) .nl-ray-svg.ray-armed{ cursor:grab; }
body:has(.exam-bar) .nl-ray-svg.ray-armed:active{ cursor:grabbing; }

body:has(.exam-bar) .ray-palette{
  display:flex; align-items:stretch; gap:0;
  margin:18px auto 0; padding:0;
  background:#3d3d3d; border:0; border-radius:2px;
  width:max-content;
}
body:has(.exam-bar) .ray-stylegrid{
  display:grid; grid-template-columns:repeat(2, 68px);
  gap:4px; padding:8px; background:#3d3d3d;
}
body:has(.exam-bar) .ray-stylebtn{
  width:68px; height:54px; padding:0; margin:0;
  display:flex; align-items:center; justify-content:center;
  background:#8a8a8a; border:1px solid #6d6d6d; border-radius:2px;
  cursor:pointer;
}
body:has(.exam-bar) .ray-stylebtn:hover{ background:#9a9a9a; }
body:has(.exam-bar) .ray-stylebtn.picked{ background:#e6e6e6; border-color:#111; }
body:has(.exam-bar) .ray-stylebtn svg{ width:43px; height:18px; display:block; }
body:has(.exam-bar) .ray-stylebtn .ray-iconline{ stroke:#111; stroke-width:3; }
body:has(.exam-bar) .ray-stylebtn .ray-iconarrow{ fill:#111; }
body:has(.exam-bar) .ray-stylebtn .ray-iconclosed{ fill:#111; stroke:#111; stroke-width:2; }
body:has(.exam-bar) .ray-stylebtn .ray-iconopen{ fill:#fff; stroke:#111; stroke-width:2; }

body:has(.exam-bar) .ray-side{
  display:flex; flex-direction:column; gap:8px;
  padding:8px; background:#111;
  align-items:center; justify-content:center;
}
body:has(.exam-bar) .ray-preview{
  width:99px; height:46px;
  display:flex; align-items:center; justify-content:center;
  background:#111;
}
body:has(.exam-bar) .ray-preview svg{ width:60px; height:26px; }
body:has(.exam-bar) .ray-preview .ray-iconline{ stroke:#fff; stroke-width:3; }
body:has(.exam-bar) .ray-preview .ray-iconarrow{ fill:#fff; }
body:has(.exam-bar) .ray-preview .ray-iconclosed{ fill:#fff; stroke:#fff; stroke-width:2; }
body:has(.exam-bar) .ray-preview .ray-iconopen{ fill:#111; stroke:#fff; stroke-width:2; }
body:has(.exam-bar) .ray-remove{
  width:99px; height:43px; padding:0;
  background:#fff; color:#111; border:1px solid #111; border-radius:2px;
  font-size:15px; font-weight:400; cursor:pointer;
}
body:has(.exam-bar) .ray-remove:hover{ background:#eceff1; }

body:has(.exam-bar) .mr-list{ display:block; }
body:has(.exam-bar) .choice.mr-choice .choice-letter{
  border-radius:2px;
  background:#fff;
  border:1.3px solid var(--ex-ring);
}

body:has(.exam-bar) .choice.mr-choice.selected .choice-letter{
  background:var(--ex-accent); border-color:var(--ex-accent);
}
body:has(.exam-bar) .choice.mr-choice.selected .choice-letter::before{
  content:""; position:absolute;
  left:3.5px; top:1px; width:4px; height:8px;
  border:solid #fff; border-width:0 2px 2px 0;
  transform:rotate(43deg);
  background:none; border-radius:0; inset:auto;
}
body:has(.exam-bar) .choice.mr-choice{ cursor:pointer; }
body:has(.exam-bar) .choice.mr-choice:focus-visible{ outline:2px solid var(--ex-accent); outline-offset:2px; }

body:has(.exam-bar) .mr-counter{ margin:10px 0 0; }

body:has(.exam-bar) .single-pane{
  max-height:none;
  overflow-y:visible;
}

body:has(.exam-bar) .ray-stylebtn.picked svg{ filter:none; }

body:has(.exam-bar) .mr-wrap > .hint.mr-instruction{
  font-family:var(--ex-read); font-size:16px; line-height:24px;
  color:var(--ex-ink); margin:14px 0 4px;
}

body:has(.exam-bar) .mt-run,
body:has(.exam-bar) .mt-run *{
  font-size:15.8px;
}

body:has(.exam-bar) .mt-run .mt-sup{ font-size:12.6px; }
body:has(.exam-bar) .mt-run .mt-radical{ font-size:19.8px; }
body:has(.exam-bar) .mt-run .mt-rootdeg{ font-size:11.9px; }

body:has(.exam-bar) .mt-run,
body:has(.exam-bar) .mt-n{
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1, "tnum" 1;
}

body:has(.exam-bar) .mt-run,
body:has(.exam-bar) .mt-run *{
  font-family:"Times New Roman", Times, serif;
  font-size:21.5px;
}

body:has(.exam-bar) .mt-run .mt-sup{ font-size:17.2px; }
body:has(.exam-bar) .mt-run .mt-radical{ font-size:26.9px; }
body:has(.exam-bar) .mt-run .mt-rootdeg{ font-size:16.1px; }

body:has(.exam-bar) .mt-run{ line-height:1; }

body:has(.exam-bar) .mt-n,
body:has(.exam-bar) .mt-v,
body:has(.exam-bar) .mt-paren{ padding:0 1.4px; }
body:has(.exam-bar) .mt-op{ padding:0 4.5px; }
body:has(.exam-bar) .mt-rel{ padding:0 7px; }

body:has(.exam-bar) .single-pane{
  overflow-x:clip;
  overflow-y:visible;
  max-height:none;
}

body:has(.exam-bar) .mt-run{
  font-family:"Times New Roman", Times, serif;
  font-size:19px;
  line-height:1;
}
body:has(.exam-bar) .mt-run *{ font-size:inherit; }
body:has(.exam-bar) .mt-run .mt-sup{ font-size:0.8em; }
body:has(.exam-bar) .mt-run .mt-radical{ font-size:1.25em; }
body:has(.exam-bar) .mt-run .mt-rootdeg{ font-size:0.75em; }

body:has(.exam-bar) .mt-n,
body:has(.exam-bar) .mt-v,
body:has(.exam-bar) .mt-paren{ padding:0 0.063em; }
body:has(.exam-bar) .mt-op{ padding:0 0.19em; }
body:has(.exam-bar) .mt-rel{ padding:0 0.316em; }

body:has(.exam-bar) .ray-palette,
body:has(.exam-bar) .ray-stylegrid{ background:#5f5f5f; }
body:has(.exam-bar) .ray-stylebtn{
  background:#a9a9a9; border:1px solid #7d7d7d;
}
body:has(.exam-bar) .ray-stylebtn:hover{ background:#b8b8b8; }
body:has(.exam-bar) .ray-stylebtn.picked{ background:#f0f0f0; border-color:#111; }
body:has(.exam-bar) .ray-side,
body:has(.exam-bar) .ray-preview{ background:#000000; }

body:has(.exam-bar) .ex-arrow-demo{
  display:inline-flex; gap:4px; vertical-align:middle;
}
body:has(.exam-bar) .ex-arrow-demo .exam-arrow{
  width:32px; min-width:32px; max-width:32px;
  height:28px; min-height:28px;
  padding:0;
  pointer-events:none;
  background-size:11px 11px;
}

body:has(.exam-bar) .exam-arrow:focus-visible,
body:has(.exam-bar) .exam-review-btn:focus-visible,
body:has(.exam-bar) .exam-bookmark-btn:focus-visible,
body:has(.exam-bar) .exam-mark-btn:focus-visible,
body:has(.exam-bar) .fxrp-row:focus-visible,
body:has(.exam-bar) .fxrp-tab:focus-visible,
body:has(.exam-bar) .choice:focus-visible{
  outline:3px solid var(--ex-accent);
}

body:has(.exam-bar) .fxrp-list{ padding:0 16px; box-sizing:border-box; }
body:has(.exam-bar) .fxrp-row{
  height:40px; min-height:40px; box-sizing:border-box;
  padding:0 18px 0 15px;
  display:flex; align-items:center; gap:7px;
}
body:has(.exam-bar) .fxrp-dot{
  width:14px; height:14px; min-width:14px; flex:0 0 14px;
  border-radius:50%; margin:0;
}

body:has(.exam-bar) .fxrp-row.navcell{
  height:40px; min-height:40px; box-sizing:border-box;
  padding:0 18px 0 15px;
  display:flex; align-items:center; gap:7px;
}

body:has(.exam-bar) .pool:has(.chip){
  display:flex; flex-direction:column; align-items:center; gap:12px;
  margin:0 0 26px; padding:0; background:none; border:0;
}
body:has(.exam-bar) .pool .chip,
body:has(.exam-bar) .classify-col .chip{
  width:367px; min-height:75px; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:17px 4px;
  margin:0;
  border:1px solid #b7c3cc; border-radius:3px;
  background:#eef4f8; color:var(--ex-accent);
  font-family:var(--ex-read); font-size:15px; line-height:20px; font-weight:700;
  cursor:grab;
}
body:has(.exam-bar) .chip.tei-armed{
  border-color:var(--ex-accent); box-shadow:0 0 0 2px var(--ex-accent) inset;
}

body:has(.exam-bar) .classify-cols{
  display:flex; gap:12px; justify-content:center; align-items:flex-start;
}
body:has(.exam-bar) .classify-col{
  width:251px; min-height:105px; box-sizing:border-box;
  padding:0; background:#f1f3f4; border:1px solid #d7dade; border-radius:3px;
}
body:has(.exam-bar) .classify-col > h4{
  width:242px; height:40px; box-sizing:border-box;
  margin:5px auto 0; padding:0 6px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-family:var(--ex-read); font-size:15px; line-height:20px; font-weight:700;
  color:#3c4043;
}

body:has(.exam-bar) .classify-col .chip{
  width:239px; margin:6px auto; font-size:13px; line-height:17px; padding:10px 4px;
}
body:has(.exam-bar) .classify-col.over{ border-color:var(--ex-accent); background:var(--ex-hover); }

body:has(.exam-bar) .classify-col{
  flex:0 0 251px; width:251px;
}
body:has(.exam-bar) .q-block:has(.classify-cols){
  display:flex; flex-direction:column;
}
body:has(.exam-bar) .q-block:has(.classify-cols) > .pool{ order:1; }
body:has(.exam-bar) .q-block:has(.classify-cols) > .classify-cols{ order:2; }
body:has(.exam-bar) .pool .chip{ padding:16.5px 4px; }

body:has(.exam-bar) .hint.cl-instruction{
  font-family:var(--ex-read); font-size:16px; line-height:24px;
  color:var(--ex-ink); margin:14px 0 18px;
}

body:has(.exam-bar) .nl-ray-svg,
body:has(.exam-bar) .nl-ray-svg *{
  user-select:none; -webkit-user-select:none;
}

body:has(.exam-bar) .ray-palette,
body:has(.exam-bar) .ray-palette *{
  user-select:none; -webkit-user-select:none;
}

body:has(.exam-bar) .question-pane{
  max-height:none;
  overflow-x:clip;
  overflow-y:visible;
}

html:has(body .exam-bar){ overflow-x:clip; }
body:has(.exam-bar){ overflow-x:clip; }

body:has(.exam-bar) .hint.cl-instruction,
body:has(.exam-bar) .mr-wrap > .hint.mr-instruction{
  font-size:15.8px; line-height:21.488px;
}
body:has(.exam-bar) .pool .chip,
body:has(.exam-bar) .classify-col .chip,
body:has(.exam-bar) .classify-col > h4{
  font-size:15.3px;
}

body:has(.exam-bar) .split:has(.classify-cols) .passage-pane{
  min-height:599px; max-height:599px;
}

body:has(.exam-bar) .line-num{
  padding-right:25px;

  font-family:inherit;

  font-weight:700;
  font-style:inherit;
  font-variant-numeric:inherit;

  color:#333333;

  line-height:10px;

  font-size:calc(1em - 2px);
}

body:has(.exam-bar) .passage-pane{ padding-top:31px; }
body:has(.exam-bar) .p-lined{ line-height:25px; }

body:has(.exam-bar) .choices-pane > .choice + .choice{ margin-top:16px; }

body:has(.exam-bar) .single-pane .choices-pane > .choice + .choice{ margin-top:16px; }
body:has(.exam-bar) .mr-list > .choice + .choice{ margin-top:16px; }

body:has(.exam-bar){ --ex-control-bg:#EEEFEF; }

body:has(.exam-bar) #examTimer .xt-hide,
body:has(.exam-bar) #examTimer .xt-pill,
body:has(.exam-bar) #examTimerSlot #examTimer .xt-hide,
body:has(.exam-bar) #examTimerSlot #examTimer .xt-pill,
body:has(.exam-bar) .ex-profile-btn,

body:has(.exam-bar) button.exam-review-btn,
body:has(.exam-bar) button.exam-bookmark-btn,
body:has(.exam-bar) button.exam-mark-btn,
body:has(.exam-bar) .exam-nav-row .exam-review-btn,
body:has(.exam-bar) .exam-nav-row #fxBookmarkBtn{
  background:var(--ex-control-bg);
}

body:has(.exam-bar) .exam-arrow:disabled,
body:has(.exam-bar) .exam-arrow[disabled],
body:has(.exam-bar) .exam-nav-row .exam-arrow:disabled{
  background-color:var(--ex-control-bg);
  border-color:var(--ex-control-bg);
}

body:has(.exam-bar) .exam-nav-row button.exam-review-btn,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn{
  background:var(--ex-control-bg);
  background-image:none;
}
#examTimerSlot #examTimer .xt-hide,
#examTimerSlot #examTimer .xt-pill{
  background:var(--ex-control-bg);
}

body:has(.exam-bar) .exam-nav-row #prevQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #nextQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn:disabled,
body:has(.exam-bar) .exam-nav-row #mathBackBtn:disabled,
body:has(.exam-bar) .exam-nav-row #mathForwardBtn:disabled{
  background-color:var(--ex-control-bg);
  border-color:var(--ex-control-bg);
}

body:has(.exam-bar) .exam-review-btn.is-on,
body:has(.exam-bar) .exam-review-btn[aria-expanded="true"],
body:has(.exam-bar) .exam-nav-row button.exam-review-btn[aria-expanded="true"],
body:has(.exam-bar) .exam-mark-btn.is-on,
body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"],
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn[aria-pressed="true"]{
  background:var(--ex-control-bg);
  background-image:none;
  color:var(--ex-ink);
  border-color:var(--ex-accent);
  box-shadow:0 0 0 1px var(--ex-accent) inset;
}

body:has(.exam-bar) .exam-review-btn[aria-expanded="true"] .ex-btn-label,
body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"] .fx-mark-text{
  color:var(--ex-ink);
}

body:has(.exam-bar){ --ex-status-open:#E8710A; }

body:has(.exam-bar) .fxrp-dot,
body:has(.exam-bar) .fxrp-tabnum.is-circle{
  background:var(--ex-status-open);
  border-color:var(--ex-status-open);
}

body:has(.exam-bar) .fxrp-tabs,
body:has(.exam-bar) .fxrp-tab{
  background:var(--ex-control-bg);
}
body:has(.exam-bar) .fxrp-tab[aria-selected="true"]{ background:#ffffff; }

body:has(.exam-bar) .fxrp-tabnum,
body:has(.exam-bar) #examTimer .xt-box,
body:has(.exam-bar) #examTimer .xt-hide,
body:has(.exam-bar) #examTimer .xt-pill,
body:has(.exam-bar) button.exam-review-btn,
body:has(.exam-bar) button.exam-mark-btn,
body:has(.exam-bar) .exam-nav-row button.exam-review-btn,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn{
  border-color:#DADCE0;
}

body:has(.exam-bar) .fxrp-tabnum.is-circle{ color:#ffffff; }

#examTimerSlot #examTimer .xt-box,
#examTimerSlot #examTimer .xt-hide,
#examTimerSlot #examTimer .xt-pill{
  border-color:#DADCE0;
}
body:has(.exam-bar) .fxrp-tabs .fxrp-tab{ background:var(--ex-control-bg); }
body:has(.exam-bar) .fxrp-tabs .fxrp-tab.is-active{ background:#ffffff; }

body:has(.exam-bar) .exam-mark-btn.is-on .fx-mark-glyph path,
body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"] .fx-mark-glyph path,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn[aria-pressed="true"] .fx-mark-glyph path{
  fill:var(--ex-accent);
  stroke:var(--ex-accent);
}
body:has(.exam-bar) .exam-mark-btn.is-on .fx-mark-glyph,
body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"] .fx-mark-glyph{
  color:var(--ex-accent);
}

#xtTimeWarn{
  position:fixed; top:12px; right:12px; z-index:60;
  width:255px; min-height:60px; box-sizing:border-box;
  display:flex; align-items:flex-start; gap:8px;
  padding:10px 10px 10px 12px;
  background:var(--ex-accent,#024C47); color:#fff;
  border-radius:3px;
  box-shadow:0 4px 14px rgba(0,0,0,0.22);
  font-family:Arial, Helvetica, sans-serif; font-size:14px; line-height:19px;
}
#xtTimeWarn .xtw-body{ flex:1 1 auto; }
#xtTimeWarn .xtw-body strong{ font-weight:700; margin-right:5px; }
#xtTimeWarn .xtw-x{
  flex:0 0 auto; width:18px; height:18px; padding:0; margin-top:-1px;
  background:transparent; border:0; color:#fff;
  font-size:18px; line-height:1; cursor:pointer;
}
#xtTimeWarn .xtw-x:hover{ opacity:0.75; }

#examTimerSlot #examTimer .xt-box,
body:has(.exam-bar) #examTimer .xt-box{
  background:#ffffff;
}

  #examTimerSlot #examTimer.xt-collapsed .xt-box{ display:none; }

body:has(.exam-bar) .exam-arrow:disabled,
body:has(.exam-bar) .exam-arrow[disabled],
body:has(.exam-bar) .exam-nav-row .exam-arrow:disabled,
body:has(.exam-bar) .exam-nav-row .exam-arrow[disabled]{
  color:var(--ex-disabled-ink);
}

body:has(.exam-bar) .exam-nav-row #prevQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialBackBtn:disabled,
body:has(.exam-bar) .exam-nav-row #mathBackBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.5 10 H3.5 M9.5 4 L3.5 10 L9.5 16" fill="none" stroke="%235f6368" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .exam-nav-row #nextQBtn:disabled,
body:has(.exam-bar) .exam-nav-row #interstitialForwardBtn:disabled,
body:has(.exam-bar) .exam-nav-row #mathForwardBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 10 H16.5 M10.5 4 L16.5 10 L10.5 16" fill="none" stroke="%235f6368" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

body:has(.exam-bar) .exam-arrow:not(:disabled),
body:has(.exam-bar) .exam-nav-row .exam-arrow:not(:disabled){
  background-color:var(--ex-accent);
}

body:has(.exam-bar) #xtPencilBar{
  background-color:var(--ex-dark);
  border:1px solid #2a2d30;
}
body:has(.exam-bar) #xtPencilBar .xtp-btn{
  background-color:transparent;
  background-image:none;
  color:#ffffff;
  border:0;
}
body:has(.exam-bar) #xtPencilBar .xtp-btn + .xtp-btn{
  box-shadow:inset 0 1px 0 0 rgba(255,255,255,.16);
}
body:has(.exam-bar) #xtPencilBar .xtp-btn:hover:not(:disabled){
  background-color:rgba(255,255,255,.14);
  color:#ffffff;
}

body:has(.exam-bar) #xtPencilBar .xtp-btn:disabled{
  background-color:transparent;
  color:#9aa0a6;
  opacity:1;
}

body:has(.exam-bar) #xtPencilBar .xtp-btn.is-on{
  background-color:var(--ex-control-bg);
  color:var(--ex-ink);
  border-color:transparent;
}
body:has(.exam-bar) #xtPencilBar .xtp-btn.is-on:hover{
  background-color:var(--ex-control-bg);
  color:var(--ex-ink);
}
body:has(.exam-bar) #xtPencilBar .xtp-btn svg{ stroke:currentColor; fill:none; }

body:has(.exam-bar) .exam-review-btn.is-on,
body:has(.exam-bar) .exam-review-btn[aria-expanded="true"],
body:has(.exam-bar) .exam-mark-btn.is-on,
body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"],
body:has(.exam-bar) .exam-bookmark-btn.is-on,
body:has(.exam-bar) .exam-bookmark-btn[aria-pressed="true"],
body:has(.exam-bar) .exam-nav-row button.exam-review-btn.is-on,
body:has(.exam-bar) .exam-nav-row button.exam-review-btn[aria-expanded="true"],
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn.is-on,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn[aria-pressed="true"]{
  background:var(--ex-dark);
  background-color:var(--ex-dark);
  background-image:none;
  color:#ffffff;
  border-color:var(--ex-accent);
  box-shadow:0 0 0 1px var(--ex-accent) inset;
}

body:has(.exam-bar) .exam-review-btn.is-on .ex-btn-label,
body:has(.exam-bar) .exam-review-btn[aria-expanded="true"] .ex-btn-label,
body:has(.exam-bar) .exam-mark-btn.is-on .fx-mark-text,
body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"] .fx-mark-text,
body:has(.exam-bar) .exam-nav-row button.exam-review-btn.is-on .ex-btn-label,
body:has(.exam-bar) .exam-nav-row button.exam-review-btn[aria-expanded="true"] .ex-btn-label,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn.is-on .fx-mark-text,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn[aria-pressed="true"] .fx-mark-text{
  color:#ffffff;
}
body:has(.exam-bar) .exam-review-btn.is-on .ex-list-glyph,
body:has(.exam-bar) .exam-review-btn[aria-expanded="true"] .ex-list-glyph,
body:has(.exam-bar) .exam-nav-row button.exam-review-btn[aria-expanded="true"] .ex-list-glyph{
  color:#ffffff;
}

body:has(.exam-bar) .exam-mark-btn.is-on .fx-mark-glyph,
body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"] .fx-mark-glyph,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn[aria-pressed="true"] .fx-mark-glyph{
  color:var(--v113-mark-blue-lite);
  background:transparent;
}
body:has(.exam-bar) .exam-mark-btn.is-on .fx-mark-glyph path,
body:has(.exam-bar) .exam-mark-btn[aria-pressed="true"] .fx-mark-glyph path,
body:has(.exam-bar) .exam-nav-row button.exam-mark-btn[aria-pressed="true"] .fx-mark-glyph path{
  fill:var(--v113-mark-blue-lite);
  stroke:var(--v113-mark-blue-lite);
}

body:has(.exam-bar) .choice.selected:not(.mr-choice) .choice-letter,
body:has(.exam-bar) .choice[aria-checked="true"]:not(.mr-choice) .choice-letter{
  position:relative;
  border:0;
  background-color:var(--v112-radio-sel);
  background-image:none;
  color:#ffffff;
  box-shadow:
    inset 0 0 0 1.5px var(--v112-radio-sel),
    inset 0 0 0 3.5px #fff;
  overflow:visible;
}

body:has(.exam-bar) .fxrp-tab{
  min-height:66px;
  background:var(--ex-control-bg);
}

body:has(.exam-bar){ --v119-ring-w:1.3px; }
body:has(.exam-bar) .choice-letter,
body:has(.exam-bar) .choice .choice-letter,
body:has(.exam-bar) .choice.mr-choice .choice-letter{
  border-width:0;
  box-shadow:0 0 0 var(--v119-ring-w) var(--ex-ring) inset;
}
body:has(.exam-bar) .choice.selected .choice-letter{
  border-width:0;
}

body:has(.exam-bar) .choice:not(.selected):not([aria-checked="true"]) .choice-letter{
  box-shadow:0 0 0 var(--v119-ring-w) var(--ex-ring) inset;
}

body:has(.exam-bar) .exam-nav-row #fxBackBtn,
body:has(.exam-bar) .exam-nav-row #fxForwardBtn,
body:has(.exam-bar) .exam-nav-row #rvBackBtn,
body:has(.exam-bar) .exam-nav-row #rvForwardBtn{
  background-size:12px 12px;
  background-repeat:no-repeat;
  background-position:center;
}
body:has(.exam-bar) .exam-nav-row #fxBackBtn,
body:has(.exam-bar) .exam-nav-row #rvBackBtn{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.5 10 H3.5 M9.5 4 L3.5 10 L9.5 16" fill="none" stroke="%23ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .exam-nav-row #fxForwardBtn,
body:has(.exam-bar) .exam-nav-row #rvForwardBtn{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 10 H16.5 M10.5 4 L16.5 10 L10.5 16" fill="none" stroke="%23ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

body:has(.exam-bar) .exam-nav-row #fxBackBtn:disabled,
body:has(.exam-bar) .exam-nav-row #fxForwardBtn:disabled,
body:has(.exam-bar) .exam-nav-row #rvBackBtn:disabled,
body:has(.exam-bar) .exam-nav-row #rvForwardBtn:disabled{
  background-size:12px 12px;
  background-repeat:no-repeat;
  background-position:center;
}
body:has(.exam-bar) .exam-nav-row #fxBackBtn:disabled,
body:has(.exam-bar) .exam-nav-row #rvBackBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.5 10 H3.5 M9.5 4 L3.5 10 L9.5 16" fill="none" stroke="%235f6368" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .exam-nav-row #fxForwardBtn:disabled,
body:has(.exam-bar) .exam-nav-row #rvForwardBtn:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 10 H16.5 M10.5 4 L16.5 10 L10.5 16" fill="none" stroke="%235f6368" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

body:has(.exam-bar) .interstitial-inner .exam-arrow:first-child:disabled,
body:has(.exam-bar) .ex-arrow-demo .exam-arrow:first-child:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M17.5 10 H3.5 M9.5 4 L3.5 10 L9.5 16" fill="none" stroke="%235f6368" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
body:has(.exam-bar) .interstitial-inner .exam-arrow:last-child:disabled,
body:has(.exam-bar) .ex-arrow-demo .exam-arrow:last-child:disabled{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 10 H16.5 M10.5 4 L16.5 10 L10.5 16" fill="none" stroke="%235f6368" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

body:has(.exam-bar) .exam-nav-row #fxBookmarkBtn.is-on,
body:has(.exam-bar) .exam-nav-row #fxBookmarkBtn[aria-pressed="true"]{
  background-color:var(--ex-dark);
  background-image:none;
}

body:has(.exam-bar) .fxrp-tabnum{
  width:34px; min-width:34px; height:34px;
  padding:0;
  font-size:15px;
}
body:has(.exam-bar) .fxrp-tabnum.is-circle{
  width:34px; min-width:34px; height:34px; padding:0;
}
body:has(.exam-bar) .fxrp-tabnum.is-square{
  width:30px; min-width:30px;

}

body:has(.exam-bar) .choice:not(.selected):not([aria-checked="true"]):not(.rv-correct):not(.rv-wrong-pick):not(.rv-picked-right) .choice-letter{
  box-shadow:0 0 0 var(--v119-ring-w) var(--ex-ring) inset;
}

body:has(.exam-bar) .choice.rv-correct:not(.selected):not([aria-checked="true"]) .choice-letter,
body:has(.exam-bar) .choice.rv-picked-right:not(.selected):not([aria-checked="true"]) .choice-letter{
  box-shadow:0 0 0 var(--v119-ring-w) var(--st-correct) inset;
}
body:has(.exam-bar) .choice.rv-wrong-pick:not(.selected):not([aria-checked="true"]) .choice-letter{
  box-shadow:0 0 0 var(--v119-ring-w) var(--st-wrong) inset;
}

.mt-radicand{
  --mt-surd-w:0.62em;

  position:relative;
  border-top:0;
  padding-top:0.1em;
  padding-bottom:0.1em;
  margin-left:var(--mt-surd-w);
}

.mt-radical{
  width:0; min-width:0; overflow:hidden; font-size:inherit;
}

body:has(.exam-bar) .mt-run .mt-radical{ font-size:inherit; }

.mt-radicand > svg.mt-surd{
  position:absolute;
  top:0;
  left:calc(-1 * var(--mt-surd-w));
  width:calc(100% + var(--mt-surd-w));
  height:100%;
  overflow:hidden;
  background:none;
  border:0;
  margin:0;
  pointer-events:none;
}

.mt-surd > svg.mt-surd-hook{
  overflow:visible;

  background:none;
}
.mt-surd .mt-surd-stroke{
  fill:none;
  stroke:var(--ink);
  stroke-width:1.5;
  stroke-linejoin:round;
  stroke-linecap:butt;
}

.mt-surd .mt-surd-bar{
  fill:var(--ink);
}

.rail-seb-lead{
  font-family:var(--font-ui); font-size:13px; line-height:1.55; color:var(--ink);
  margin:0 0 10px;
}
.rail-seb-get{
  display:block; box-sizing:border-box; width:100%; text-align:center;
  background:var(--accent); color:#fff; text-decoration:none;
  border-radius:var(--r-sm); padding:10px 14px; font-family:var(--font-ui);
  font-size:13px; font-weight:700; cursor:pointer;
}
.rail-seb-get:hover{ background:var(--accent-dark); }

.rail-seb-two{ display:flex; gap:8px; }
.rail-seb-two .rail-seb-get{ flex:1 1 0; width:auto; min-width:0; }

.rail-seb-meta{
  font-family:var(--font-ui); font-size:11px; line-height:1.5; color:var(--muted);
  margin-top:8px; overflow-wrap:anywhere;
}
.rail-seb-meta + .rail-seb-meta{ margin-top:3px; }
.rail-seb-meta a{ color:var(--accent-dark); text-decoration:underline; }

.seb-wait-h{
  font-family:var(--font-ui); font-size:11px; font-weight:700; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--muted); margin:18px 0 6px;
}
.seb-wait-get{
  display:inline-block; background:var(--accent); color:#fff; text-decoration:none;
  border-radius:var(--r-sm); padding:10px 18px; font-family:var(--font-ui);
  font-size:13px; font-weight:700; cursor:pointer; margin-top:4px;
}
.seb-wait-get:hover{ background:var(--accent-dark); }
.seb-wait-meta{
  font-family:var(--font-ui); font-size:12px; line-height:1.5; color:var(--muted);
  margin:8px 0 4px;
}

.seb-chip{ text-transform:none; letter-spacing:0; font-variant-numeric:tabular-nums; }
.seb-chip.seb-old{ background:var(--paused-bg); color:var(--paused-fg); }

.roster-seb{ font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--muted); }
.roster-seb.seb-old{ color:var(--paused-fg); font-weight:600; }

@media screen and (max-width:760px){
  body:has(.exam-bar) .single-pane .numeric-entry .kp-display,
  body:has(.exam-bar) .numeric-entry .kp-display,
  body:has(.exam-bar) .single-pane .kp-display,
  body:has(.exam-bar) .single-pane .numeric-entry .kp-toolbar,
  body:has(.exam-bar) .numeric-entry .kp-toolbar,
  body:has(.exam-bar) .single-pane .kp-toolbar,
  body:has(.exam-bar) .single-pane .numeric-entry .kp-grid,
  body:has(.exam-bar) .numeric-entry .kp-grid,
  body:has(.exam-bar) .single-pane .kp-grid{ max-width:100%; min-width:0; }
  body:has(.exam-bar) .single-pane .numeric-entry:has(.kp-grid),
  body:has(.exam-bar) .numeric-entry:has(.kp-grid){
    width:100%; max-width:100%; min-width:0;
  }
  body:has(.exam-bar) .single-pane .numeric-entry .kp-grid,
  body:has(.exam-bar) .numeric-entry .kp-grid,
  body:has(.exam-bar) .single-pane .kp-grid{
    overflow-x:auto;
  }
  body:has(.exam-bar) .kp-grid::-webkit-scrollbar,
  body:has(.exam-bar) .tg-table::-webkit-scrollbar{ height:12px; }
  body:has(.exam-bar) .kp-grid::-webkit-scrollbar-track,
  body:has(.exam-bar) .tg-table::-webkit-scrollbar-track{ background:#f1f2f3; }
  body:has(.exam-bar) .kp-grid::-webkit-scrollbar-thumb,
  body:has(.exam-bar) .tg-table::-webkit-scrollbar-thumb{ background:#9aa0a5; border:2px solid #f1f2f3; border-radius:6px; }
  body:has(.exam-bar) .kp-row{ width:max-content; }
  body:has(.exam-bar) .kp-displayrow{ flex-wrap:wrap; }
  body:has(.exam-bar) .kp-affix{ max-width:100%; overflow-wrap:break-word; }
  body:has(.exam-bar) .classify-cols{ flex-wrap:wrap; width:100%; min-width:0; }
  body:has(.exam-bar) .classify-col{ flex:1 1 100%; width:100%; min-width:0; }
  body:has(.exam-bar) .classify-col > h4{ max-width:100%; height:auto; min-height:40px; overflow-wrap:break-word; }
  body:has(.exam-bar) .pool .chip,
  body:has(.exam-bar) .classify-col .chip{ max-width:100%; overflow-wrap:break-word; }
  body:has(.exam-bar) .tg-table{ display:block; max-width:100%; overflow-x:auto; }
  body:has(.exam-bar) .ray-wrap > svg.nl-ray-svg{ max-width:100%; height:auto; }
  body:has(.exam-bar) .ss-modebar{ flex-wrap:wrap; }
  body:has(.exam-bar) .ss-stylewrap{ margin-left:0; }
  body:has(.exam-bar) .passage-pane,
  body:has(.exam-bar) .split:has(.classify-cols) .passage-pane{
    flex:0 1 auto; width:100%; min-width:0; max-width:100%; min-height:0; max-height:44vh;
  }
  body:has(.exam-bar) .question-pane{ min-width:0; width:100%; max-width:100%; }
}

.staff-security-dialog{border:1px solid #ccd8d3;border-radius:16px;padding:24px;width:min(520px,calc(100vw - 32px));max-height:85vh;overflow:auto;color:#20352d;background:#fff;box-shadow:0 20px 70px #14251d44}
.staff-security-dialog::backdrop{background:#10281c66}
.staff-security-dialog h2{margin-top:0}.staff-security-dialog .field-label{display:block;margin:12px 0}.staff-security-dialog input{display:block;width:100%;box-sizing:border-box}.staff-security-dialog input[type=checkbox]{display:inline;width:auto;margin-right:8px}
.staff-publication-review{width:min(1120px,calc(100vw - 32px))}.staff-review-preview{border:1px solid #dce5e0;border-radius:10px;margin:14px 0;padding:16px;max-height:55vh;overflow:auto}.staff-security-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere}.security-factor-key{overflow-wrap:anywhere;font-family:monospace}

.passage-media{margin:20px 0;padding:0;border:0;max-width:100%;min-width:0;box-sizing:border-box;line-height:1.45;text-indent:0}
.pm-title{font:600 17px/1.4 Arial,sans-serif;margin-bottom:10px;text-align:center}
.pm-visual{width:100%;max-width:100%;min-width:0}
.pm-visual .q-figure{margin:0;max-width:100%;min-width:0}
.pm-visual svg{display:block;min-width:0;max-width:100%;max-height:none;margin:auto}
.pm-image{display:block;max-width:100%;height:auto;object-fit:contain;margin:auto}
.pm-caption{font:15px/1.5 Arial,sans-serif;color:#36454f;margin:10px 0 0;text-indent:0}
.pm-retry{border:1px solid #778b88;background:#fff;color:#153d36;border-radius:4px;padding:8px 12px;cursor:pointer;font:600 14px/1.3 Arial,sans-serif;min-height:36px}
.pm-status{font:14px/1.45 Arial,sans-serif;color:#8a322c;margin:8px 0}.pm-status:empty{display:none}
.pm-dialog{width:min(1100px,94vw);max-height:90vh;border:1px solid #c0ccca;border-radius:8px;padding:18px;box-sizing:border-box}
.pm-dialog::backdrop{background:rgba(0,0,0,.55)}.pm-dialog h2{font:600 18px/1.4 Arial,sans-serif;margin:0 0 12px;padding-right:0}
.pm-invalid{color:#8a322c}.pm-retry:focus-visible{outline:3px solid #157b69;outline-offset:2px}

.question-media{display:block;max-width:100%;min-width:0;}
.question-media .pm-status{display:block;font-size:13px;line-height:1.45;white-space:normal;margin:6px 0;color:var(--muted,#596579);}
.question-media[data-media-state="ready"] .pm-status{display:none;}
.question-media[data-media-state="loading"]{min-height:96px;}
.question-media[data-media-state="error"] .pm-status{color:#9b2828;}
.question-media .pm-retry{font:inherit;font-size:13px;border:1px solid currentColor;border-radius:5px;padding:6px 10px;background:#fff;color:#245778;cursor:pointer;}

@supports (content-visibility: auto){

}
@media print{}

.choice-content{display:inline;min-width:0;max-width:100%;flex:1 1 auto;text-indent:0;}

@media (max-width:1200px){
  body:has(.exam-bar) .interstitial-box{
    width:100%;max-width:100%;min-width:0;min-height:0;padding:12px;
  }
  body:has(.exam-bar) .interstitial-inner{
    width:100%;max-width:100%;min-width:0;min-height:0;padding:16px;
  }
  body:has(.exam-bar) .interstitial-inner > p:nth-of-type(n){
    width:100%;max-width:100%;min-height:0;padding-left:0;padding-right:0;
  }
}

@media screen and (max-width:760px){
  body:has(.exam-bar) .single-pane .numeric-entry .kp-grid,
  body:has(.exam-bar) .numeric-entry .kp-grid,
  body:has(.exam-bar) .single-pane .kp-grid{width:100%;overflow-x:visible;}
  body:has(.exam-bar) .single-pane .numeric-entry .kp-grid .kp-row,
  body:has(.exam-bar) .numeric-entry .kp-grid .kp-row,
  body:has(.exam-bar) .single-pane .kp-grid .kp-row{
    width:100%;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;
  }
  body:has(.exam-bar) .single-pane .numeric-entry .kp-grid.kp-val .kp-row,
  body:has(.exam-bar) .numeric-entry .kp-grid.kp-val .kp-row,
  body:has(.exam-bar) .single-pane .kp-grid.kp-val .kp-row{grid-template-columns:repeat(5,minmax(0,1fr));}
  body:has(.exam-bar) .single-pane .numeric-entry .kp-grid .kp-row > *,
  body:has(.exam-bar) .numeric-entry .kp-grid .kp-row > *,
  body:has(.exam-bar) .single-pane .kp-grid .kp-row > *{
    width:100%;min-width:0;max-width:none;flex:initial;padding-left:0;padding-right:0;font-size:17px;
  }
  body:has(.exam-bar) .single-pane .numeric-entry .kp-toolbar,
  body:has(.exam-bar) .numeric-entry .kp-toolbar,
  body:has(.exam-bar) .single-pane .kp-toolbar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;}
  body:has(.exam-bar) .single-pane .numeric-entry .kp-toolbar .kp-key,
  body:has(.exam-bar) .numeric-entry .kp-toolbar .kp-key,
  body:has(.exam-bar) .single-pane .kp-toolbar .kp-key{width:100%;min-width:0;max-width:44px;justify-self:center;}
}

body:has(.exam-bar) .dragfill-blank{
  height:auto;min-height:40px;max-width:calc(100% - 8px);box-sizing:border-box;
}
body:has(.exam-bar) .dragfill-token{
  height:auto;min-height:36px;max-width:100%;box-sizing:border-box;
  white-space:normal;overflow-wrap:break-word;line-height:1.4;padding-top:6px;padding-bottom:6px;
}

.v136-answer-label{display:block;margin-top:8px;font-family:var(--ex-read);font-size:11px;font-weight:700;line-height:18px;text-transform:uppercase;letter-spacing:.4px}.choice.rv-correct .v136-answer-label{color:var(--st-correct-ink)}.choice.rv-wrong-pick .v136-answer-label{color:var(--st-wrong-ink)}
body.in-sitting .v136-review .choice{cursor:default}

#reviewRows{display:block;padding:8px}
#reviewRows button{display:block;width:100%;text-align:left;margin:4px 0}
.v136-review-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.v136-review-exit{margin:0;font-size:14px}.v136-review-unanswered{display:table;margin:0 0 12px auto;padding:4px 9px;border-radius:4px;background:var(--st-skip-tint);color:var(--st-skip-ink);font:600 12px/18px Arial,sans-serif}.v136-review-unanswered[hidden]{display:none}
.v136-review-sections{display:flex;flex-wrap:wrap;gap:10px;width:1170px;max-width:calc(100% - 40px);margin:18px auto 0}.v136-review-sections button{padding:8px 14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font-size:14px}.v136-review-sections button.current{background:var(--ex-accent);color:white} #reviewRows{height:auto;min-height:0;max-height:330px} .v136-review.single-pane #qpane{max-height:none;width:100%} .v136-review.single-pane #ppane{display:none}body.in-sitting .v136-review-sections + .v136-review{margin-top:16px}.v136-review-mode{display:inline-flex;align-items:center;gap:7px;align-self:center;padding:7px 10px;border:1px solid #c8d6d0;border-radius:4px;background:#edf4f0;color:#254b3c;font:600 14px/20px Arial,sans-serif;white-space:nowrap}.v136-review-mode svg{width:18px;height:18px;flex:none}
.v136-review-sections{align-items:center;gap:12px 20px}
.v136-subject-tabs{display:flex;max-width:100%;border:1px solid #d7ddda;border-radius:6px;background:#fff;overflow:hidden}
.v136-review-sections .v136-subject-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:8px 16px;border:0;border-radius:0;background:transparent;box-shadow:inset 0 -3px transparent;color:#53615b;font:500 14px/20px Arial,sans-serif;white-space:nowrap}
.v136-review-sections .v136-subject-tabs button+button{border-left:1px solid #e2e7e4}
.v136-review-sections .v136-subject-tabs button.current{background:#f0f6f3;box-shadow:inset 0 -3px var(--ex-accent);color:var(--ex-accent);font-weight:700}
.v136-review-sections .v136-subject-tabs button:hover{background:#f0f6f3}
.v136-review-sections .v136-subject-tabs button:focus-visible{outline:2px solid var(--ex-accent);outline-offset:-4px}
.v136-review-sections .v136-subject-tabs button[hidden]{display:none}.v136-review-sections .v136-subject-tabs #allSections{border-left:0;flex:1}
.v136-subject-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;box-sizing:border-box;border-radius:11px;background:#edf0ee;color:#59655f;font:600 12px/18px Arial,sans-serif}
.current .v136-subject-count{background:#dcece4;color:var(--ex-accent)}
.v136-review-actions .v136-review-mode,.v136-review-actions #reviewBackBtn{box-sizing:border-box;min-height:40px}
@media(max-width:520px){.v136-subject-tabs{width:100%}.v136-review-sections .v136-subject-tabs button{padding:8px 10px;gap:7px}.v136-review-sections .v136-subject-tabs button:first-child{flex:1}.v136-review-actions{margin-left:0;width:100%;justify-content:space-between}}
body.in-sitting .exam-nav-row button:disabled{opacity:.45;cursor:not-allowed!important;box-shadow:none}
.v136-subject-tabs .ex-list-glyph{align-self:center}.v136-subject-navigation{position:relative;max-width:100%}
.v136-nav-caret{display:block;align-self:center;flex:0 0 14px;width:14px;height:14px;color:inherit}
.v136-subject-panel{position:absolute;top:calc(100% + 8px);left:0;width:272px;max-width:calc(100vw - 40px);box-sizing:border-box;z-index:25;border:1px solid #d7ddda;border-radius:6px;background:white;box-shadow:0 8px 24px #172a2326;overflow:hidden}
.v136-subject-panel[hidden]{display:none}
.v136-nav-filters{display:grid;width:270px;max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #d7ddda;background:#f0f2f1}
.v136-review-sections .v136-nav-filters button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;width:100%;min-width:0;height:80px;min-height:80px;margin:0;padding:9px 2px;border:0;border-radius:0;box-shadow:inset 0 -3px transparent;background:transparent;color:var(--ink);font:400 11.5px/20px Arial,sans-serif;white-space:nowrap}
.v136-review-sections .v136-nav-filters button+button{border-left:1px solid #d7ddda}
.v136-review-sections .v136-nav-filters button[aria-selected="true"]{background:white;box-shadow:inset 0 -3px var(--ex-accent);color:var(--ex-accent);font-weight:400}
.v136-review-sections .v136-nav-filters button:focus-visible{outline:2px solid var(--ex-accent);outline-offset:-5px}
.v136-filter-count{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:34px;min-width:34px;height:34px;padding:0;border:2px solid #d7ddda;border-radius:6px;background:white;color:var(--ink);font:400 15px/24px Arial,sans-serif}
#filterCorrect .v136-filter-count{border-color:var(--st-correct);border-radius:50%;background:var(--st-correct-tint);color:var(--st-correct-ink)}
#filterIncorrect .v136-filter-count{border-color:var(--st-wrong);border-radius:50%;background:var(--st-wrong-tint);color:var(--st-wrong-ink)}
.v136-nav-empty{margin:0;padding:22px 12px;text-align:center;color:var(--ex-muted);font:400 14px/22px Arial,sans-serif}
.v136-nav-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f6f8f7;border-bottom:1px solid #e2e7e4;font:600 14px/20px Arial,sans-serif}
.v136-review-sections #closeSubjectNav{border:0;padding:0;width:28px;height:28px;background:transparent;font-size:22px;line-height:28px}
.v136-subject-panel #reviewRows{padding:6px;overflow-y:auto;max-height:min(330px,45vh)}
.v136-review-sections #reviewRows button{box-sizing:border-box;min-height:42px;padding:10px 12px;margin:0;border:0;border-radius:3px;background:white;color:var(--ink);font:400 14px/20px Arial,sans-serif}
.v136-review-sections #reviewRows button.current{background:#e9e9e9;color:#292929;box-shadow:inset 0 0 0 1px #bdbdbd;font-weight:700}
.v136-review-sections #reviewRows .v136-nav-question{display:flex;align-items:center;gap:10px}
.v136-nav-status-icon{display:flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%}
.v136-nav-status-icon svg{display:block;width:14px;height:14px}
.v136-nav-status-icon.correct{background:var(--st-correct-tint);color:var(--st-correct-ink)}
.v136-nav-status-icon.incorrect{background:var(--st-wrong-tint);color:var(--st-wrong-ink)}
.v136-nav-status-icon.unanswered{background:var(--st-skip-tint);color:var(--st-skip-ink)}

.v136-review-sections #reviewRows button:hover:not(.current){background:#f0f6f3}
.v136-review-sections #reviewRows button:focus-visible{outline:2px solid var(--ex-accent);outline-offset:-2px}
@media(max-width:520px){.v136-subject-navigation{width:100%}.v136-subject-panel{width:272px;max-width:100%}.v136-review-sections .v136-subject-tabs button{gap:5px;padding:8px}}
body.in-sitting .v136-review-sections button:not(:disabled),body.in-sitting .v136-review-sections button:not(:disabled) *{cursor:pointer}

body.in-sitting #rvBody{margin-top:16px}body.in-sitting #rvBody .choice{cursor:default;border-left:0;border-radius:8px}body.in-sitting #rvBody .choice .rc-tag{display:block;margin-top:8px;font:700 11px/18px Arial,sans-serif;letter-spacing:.4px;text-transform:uppercase}body.in-sitting #rvBody .rv-correct .rc-tag{color:var(--st-correct-ink)}body.in-sitting #rvBody .rv-wrong-pick .rc-tag{color:var(--st-wrong-ink)}body.in-sitting #rvBody .choice.selected{box-shadow:none}

.sentence-select-surface{display:flex!important;flex-direction:column;align-items:flex-start;gap:18px;box-sizing:border-box;min-height:655px}
.sentence-select-surface .sentence-select-passage{box-sizing:border-box;width:750px;max-width:100%;height:519px;max-height:65vh;border:2px solid #999;border-radius:2px;padding:41px 35px 53px;overflow:auto}
.sentence-select-passage .passage-text{font:400 16px/25.5px Arial,sans-serif;width:658px;max-width:100%}
.sentence-select-passage p{margin:0 0 20px}.sentence-select-passage p:last-child{margin-bottom:0}.sentence-select-passage p[hidden]{display:none}
.sentence-select-surface .question-pane{width:750px;max-width:100%;padding:0;height:auto;overflow:visible}
.sentence-target{display:inline;background:#f6f6f6;color:#145c43;border:1px solid #a7cdbb;border-radius:2px;padding:2px;box-decoration-break:slice;cursor:pointer}
.sentence-target:hover:not(.selected):not([data-sentence-locked]){border:2px solid #12422f;padding:1px}.sentence-target.selected{background:#237857;color:white;border-color:#12422f}
.sentence-target:focus-visible{outline:2px solid #12422f;outline-offset:2px}.sentence-target[aria-disabled="true"]{cursor:pointer}
.sentence-target.rv-correct{background:var(--st-correct-tint);color:var(--st-correct-ink)}.sentence-target.rv-wrong-pick{background:var(--st-wrong-tint);color:var(--st-wrong-ink)}
.selection-limit-notice{font:400 14px/20px Arial,sans-serif;color:var(--st-wrong-ink);margin:12px 0}
@media(max-width:650px){.sentence-select-surface .sentence-select-passage{padding:20px 16px}.sentence-select-surface{min-height:0}}
body.in-sitting #rvBody .choice .rc-tag{margin-left:0;padding-left:0}body.in-sitting #rvBody .choice.rv-wrong-pick{background:var(--st-wrong-tint)}

.q-text .ela-long-quotation{display:block;margin:.55em 0 .55em 1.5em;font-weight:700}
.passage-headnote{font-style:italic}

body .rev-ed-structure .rev-ed-instruction{margin:0 0 10px}
body .rev-ed-structure .rev-ed-excerpt.passage-pane{box-sizing:border-box;display:block;flex:none;width:750px;min-width:0;max-width:100%;height:auto;min-height:89px;max-height:none;overflow:visible;border:1px solid #555;border-radius:0;box-shadow:none;padding:7.5px 8px;margin:0 0 10px;font-weight:400;background:#fff}

body:has(.exam-bar) .single-pane .q-text.rev-ed-structure{max-width:750px}
body:has(.exam-bar) .single-pane:has(> .q-block > .rev-ed-structure) .choices-pane,body:has(.exam-bar) .single-pane:has(> .q-block > .rev-ed-structure) .choice{max-width:750px}

body *:has(> .q-block > .rev-ed-structure) .choice,body:has(.exam-bar) .single-pane:has(> .q-block > .rev-ed-structure) .choice{box-sizing:border-box;min-height:53px;margin:0 0 4px;padding:4px 14px 25px;gap:16px;align-items:flex-start}
body *:has(> .q-block > .rev-ed-structure) .choice-text,body:has(.exam-bar) .single-pane:has(> .q-block > .rev-ed-structure) .choice-text{font-size:16px;line-height:24px}
body *:has(> .q-block > .rev-ed-structure) .choice-letter,body:has(.exam-bar) .single-pane:has(> .q-block > .rev-ed-structure) .choice-letter{margin-top:4px}

.sentence-author summary{cursor:pointer;font-weight:700}.sentence-author-passage{max-height:400px;overflow:auto;border:1px solid #999;padding:24px;line-height:1.65;margin:12px 0;user-select:text}.sentence-author li{margin:10px 0}.sentence-author li button{margin-left:12px}.sentence-result{display:block;font:700 11px/1.5 Arial,sans-serif;text-transform:uppercase;margin:4px 0}.sentence-target.rv-correct{background:var(--rv-correct-bg,#e2f1e8);color:var(--rv-correct-text,#137247)}.sentence-target.rv-wrong-pick{background:var(--rv-wrong-bg,#fae8e5);color:var(--rv-wrong-text,#a32b22)}

.immediate-feedback-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 0}.feedback-status{flex-basis:100%;margin:0;font-size:14px}.immediate-feedback-verdict{font:700 17px/1.5 Arial,sans-serif;margin:10px 0}.immediate-feedback-verdict:empty{display:none}.immediate-feedback-verdict.is-correct{color:#137247}.immediate-feedback-verdict.is-incorrect{color:#a32b22}.feedback-target-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase}.feedback-locked .choice{cursor:default}.immediate-feedback-actions button{cursor:pointer}.hottext-word.rv-correct,.mr-choice.rv-correct{background:var(--rv-correct-bg,#e2f1e8)}.hottext-word.rv-wrong-pick,.mr-choice.rv-wrong-pick{background:var(--rv-wrong-bg,#fae8e5)}

.q-image img{max-height:none;max-width:min(100%,375px)}
.choice-img{max-height:none;max-width:min(100%,340px)}
.exam-review-surface .review-timer{display:flex;gap:8px;align-items:center}.review-timer .xt-hide{position:static}

body:has(.exam-bar) .sentence-select-surface{display:flex;flex-direction:column;align-items:flex-start;width:1170px;max-width:100%;height:auto;min-height:655px;padding:16px 20px 8px;gap:12px}
body:has(.exam-bar) .sentence-select-surface .sentence-select-passage{flex:none;box-sizing:border-box;width:750px;max-width:100%;min-width:0;height:519px;min-height:0;max-height:none;border:2px solid #999;padding:41px 35px 53px}
body:has(.exam-bar) .sentence-select-surface .question-pane{flex:none;width:750px;max-width:100%;min-width:0;min-height:88px;height:auto;max-height:none;padding:0;overflow:visible}
@media(max-width:650px){body:has(.exam-bar) .sentence-select-surface{padding:16px;min-height:0}body:has(.exam-bar) .sentence-select-surface .sentence-select-passage{padding:20px 16px}}

body:has(.exam-bar) .sentence-select-surface,.exam-surface .sentence-select-surface{position:relative;gap:5px;margin-top:13px;margin-bottom:20px}
.sentence-select-surface>.question-pane{order:-1;min-height:88px}
.sentence-select-surface .q-block{margin:0;padding:0}
.sentence-select-surface .q-text{max-width:655px}
.sentence-instruction{font:400 16px/25.5px Arial,sans-serif;margin:12px 0 0}
.sentence-range-excerpt>.passage-headnote,.sentence-range-excerpt>.passage-title,.sentence-range-excerpt>.passage-sub{display:none}
body:has(.exam-bar) .sentence-select-passage .passage-text p,.exam-surface .sentence-select-passage .passage-text p{width:auto;max-width:none!important;margin:0 0 20px;font:inherit}
body:has(.exam-bar) .sentence-select-passage .passage-text p:last-child,.exam-surface .sentence-select-passage .passage-text p:last-child{margin-bottom:0}
@media(min-width:1100px){
 .sentence-select-surface .immediate-feedback-actions{position:absolute;left:794px;right:20px;top:58px;margin:0;align-items:flex-start}
 .sentence-select-surface .immediate-feedback-verdict{position:absolute;left:794px;right:20px;top:16px;margin:0}
}
@media(max-width:1099px){.sentence-select-surface .immediate-feedback-actions{margin:12px 0}.sentence-select-surface>.question-pane{min-height:88px}}

.sentence-target[data-sentence-locked]{cursor:default}.sentence-result.correct{color:var(--st-correct-ink)}.sentence-result.incorrect{color:var(--st-wrong-ink)}

.sp-head{display:flex;align-items:center;gap:12px;padding:4px 0 12px;margin:0 0 14px;border-bottom:1px solid var(--staff-line,#e3e7e3);flex-wrap:wrap}
.sp-head h2{font-size:17px;font-weight:700;margin:0;color:var(--st-ink,#1c2b2a)}
.sp-head .sp-status{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--pill-open-bg,#e2f1ec);color:var(--pill-open-fg,#085041);font-weight:600;white-space:nowrap}
.sp-head .sp-status.dirty{background:#fff3d6;color:#7a5a00}
.sp-head .settings-save-status{margin:0;flex:1 1 auto;min-width:0}
.sp-head .settings-save-status:empty{display:none}
.sp-head .sp-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.sp-head .sp-actions button[hidden]{display:none!important}
.sp .sp-model[hidden]{display:none}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));gap:14px;align-items:stretch}
.sp-card{padding:16px 18px 14px;display:flex;flex-direction:column;margin:0}
.sp-card > :last-child{margin-bottom:0}
.sp-card .sp-fill{flex:1}
.sp-card h3{font-size:14px;font-weight:700;margin:0 0 12px;color:var(--st-ink,#1c2b2a);display:flex;align-items:center;gap:8px}
.sp-card h3 .sp-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--pill-draft-bg,#eceee9);color:var(--pill-draft-fg,#6b6a63)}
.sp-row{display:grid;grid-template-columns:140px 1fr;gap:10px 14px;align-items:center;padding:7px 0}
.sp-row + .sp-row{border-top:1px solid var(--staff-line,#e3e7e3)}
.sp-row label,.sp-row .sp-lbl{font-size:13px;font-weight:600;color:var(--st-ink,#1c2b2a)}
.sp-row .sp-sub{display:block;font-size:12px;font-weight:400;color:var(--muted,#6b6a63);margin-top:2px}
.sp-row .sp-sub[hidden]{display:none}
.sp-row .field-input{max-width:none;width:100%;margin:0}
.sp-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sp-two > div{min-width:0}
.sp-two label{display:block;font-size:12px;color:var(--muted,#6b6a63);margin:0 0 4px;font-weight:500}
.sp-two .field-input{display:block;width:100%;max-width:none;margin:0;box-sizing:border-box}
.sp-window .field-input{box-sizing:border-box}
.sp-row .sp-seg{justify-self:start}.sp-seg{display:inline-flex;border:1px solid var(--staff-line,#dcd7c9);border-radius:8px;overflow:hidden;background:#fff}
.sp-seg .seg-btn{padding:6px 13px;font-size:13px;white-space:nowrap}

.staff-root .sp-seg .seg-btn.active:disabled{background:rgb(24,63,48);color:#fff;border-color:rgb(170,180,168);opacity:1;cursor:not-allowed}
.staff-root .sp-seg .seg-btn:disabled:not(.active){background:rgb(250,250,247);color:rgb(71,83,74);border-color:rgb(170,180,168);opacity:.6;cursor:not-allowed}
.sp-switch{display:flex;align-items:center;gap:12px;padding:9px 0;cursor:pointer;position:relative}
.sp-switch + .sp-switch,#fixedFields + .sp-switch,.sp-switch-top{border-top:1px solid var(--staff-line,#e3e7e3)}
.sp-adaptive #fixedFields + .sp-switch{border-top:0}
.sp-switch-top{margin-top:6px}
.sp-switch input{position:absolute;opacity:0;width:0;height:0}
.sp-switch .sp-track{flex:none;width:36px;height:20px;border-radius:999px;background:#c9cfcb;position:relative;transition:background .15s}
.sp-switch .sp-track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.sp-switch input:checked + .sp-track{background:var(--accent,#0f6e56)}
.sp-switch input:checked + .sp-track::after{left:18px}
.sp-switch input:focus-visible + .sp-track{outline:2px solid var(--accent,#0f6e56);outline-offset:2px}
.sp-switch input:disabled + .sp-track{opacity:.45}
.sp-switch.disabled{cursor:not-allowed}
.sp-switch .sp-text{font-size:13px;font-weight:600;color:var(--st-ink,#1c2b2a)}
.sp-switch .sp-text .sp-sub{display:block;font-size:12px;font-weight:400;color:var(--muted,#6b6a63);margin-top:1px}
.sp-switch .sp-text .sp-sub:empty{display:none}
.sp-switch.off .sp-text{color:var(--ink-soft,#41504e)}
.sp-nested{margin:8px 0 2px;padding:10px 12px 12px;background:var(--staff-bg,#f2f4f2);border-radius:8px}
.sp-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sp-inline .field-input{max-width:220px}.sp-inline .secondary{padding:6px 10px;font-size:12px}
.sp-note{font-size:12px;color:var(--muted,#6b6a63);margin:8px 0 0}
.sp-window{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.sp-window label{font-size:12px;color:var(--muted,#6b6a63);display:block}
.sp-window label .sp-opt{font-weight:400;opacity:.85}
.sp-window .field-input{width:100%;max-width:none;margin-top:3px}
.sp-btns{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.sp-btns .secondary{padding:6px 12px;font-size:13px}
.sp-btns button.primary{padding:6px 12px!important;font-size:13px!important}
.sp-state{font-size:12px;color:var(--st-ink,#1c2b2a);margin-top:8px;padding:6px 10px;background:var(--pill-open-bg,#e2f1ec);border-radius:6px;display:inline-block}
.sp-state:empty{display:none}
.sp-danger{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px dashed #d9b5b0;border-radius:8px;background:#fff8f7}
.sp-danger span{font-size:12px;color:#8f2a1e}
.sp-danger button{border-color:#c0564a;color:#8f2a1e;white-space:nowrap}
.sp-help{width:18px;height:18px;border-radius:50%;border:1px solid var(--staff-line,#c9cfcb);background:#fff;color:var(--muted,#6b6a63);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:help;margin-left:2px;flex:none}
.sp-help:focus-visible{outline:2px solid var(--accent,#0f6e56);outline-offset:2px}

.staff-root .sp button.sp-help{padding:0;margin:0 0 0 2px;min-height:0;min-width:0;line-height:1;font-family:inherit;font-size:11px;box-shadow:none;vertical-align:middle;appearance:none;-webkit-appearance:none}
.staff-root .sp button.sp-help[aria-expanded="true"]{background:var(--accent,#0f6e56);color:#fff;border-color:var(--accent,#0f6e56)}
.sp-tip{font-size:12px;line-height:1.5;color:var(--st-ink,#1c2b2a);margin:-4px 0 12px;padding:8px 10px;background:var(--staff-bg,#f2f4f2);border-left:3px solid var(--accent,#0f6e56);border-radius:0 6px 6px 0}
.sp-tip[hidden]{display:none}
.sp-nested .sp-tip{margin:10px 0 0;background:#fff}
.sp-nested .sp-note{margin-top:8px}
.sp-head h2:focus-visible{outline:2px solid var(--accent,#0f6e56);outline-offset:3px;border-radius:2px}
@media (max-width:760px){.sp-row{grid-template-columns:1fr}.sp-nested{margin-left:0}.sp-two{grid-template-columns:1fr}.sp-window{grid-template-columns:1fr}.sp-danger{flex-direction:column;align-items:flex-start}}

.staff-root .data-table tbody tr.row-link:focus-visible{outline:2px solid var(--st-accent,#183f30);outline-offset:-2px}

.seb-wait-note{font-family:var(--font-ui);font-size:12px;line-height:1.5;color:var(--ink);margin:8px 0 0}
.seb-wait-note + .seb-wait-meta{margin-top:2px}

html .staff-root #wsBody .fs-editor{--fs-head-h:53px;--fs-scroll-pad:28px;font-family:var(--font-ui,Arial,sans-serif)}
html .staff-root #wsBody .fs-editor .fs-head{position:sticky;top:calc(-1 * var(--fs-scroll-pad));z-index:6;box-sizing:border-box;height:var(--fs-head-h);display:flex;flex-wrap:wrap;align-items:center;align-content:center;column-gap:12px;row-gap:8px;padding:8px 0;margin:0 0 14px;background:var(--p-canvas,#e7e6e1);border-bottom:1px solid var(--rw-line,#b9bcb4)}
html .staff-root #wsBody .fs-editor .fs-title-row{display:flex;align-items:center;gap:12px;min-height:36px;min-width:0}
html .staff-root #wsBody .fs-editor .fs-title{margin:0;font-size:17px;line-height:1.3;font-weight:700;color:var(--rw-ink,#303431);white-space:nowrap}
html .staff-root #wsBody .fs-editor .fs-head .pill{display:inline-block;font-family:var(--font-ui,Arial,sans-serif);font-size:12px;line-height:1.4;font-weight:600;padding:3px 10px;border-radius:999px;letter-spacing:.2px;white-space:nowrap}
html .staff-root #wsBody .fs-editor .fs-status[data-state=saved]{background:var(--pill-open-bg,#e2f1ec);color:var(--pill-open-fg,#085041)}
html .staff-root #wsBody .fs-editor .fs-status[data-state=unsaved]{background:#fff3d6;color:#7a5a00}
html .staff-root #wsBody .fs-editor .fs-locked-pill{background:var(--pill-closed-bg,#e9e9ef);color:var(--pill-closed-fg,#4a4a66)}
html .staff-root #wsBody .fs-editor .fs-actions{margin-left:auto;display:flex;align-items:center;gap:8px;min-height:36px;flex-wrap:nowrap}
html .staff-root #wsBody .fs-editor .fs-actions :is(button.primary,button.secondary){display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;line-height:1.25;min-height:36px;padding:8px 12px;border-radius:6px;white-space:nowrap;margin:0}
html .staff-root #wsBody .fs-editor .fs-preset{box-sizing:border-box;min-height:36px;max-width:190px;min-width:0;margin:0;padding:6px 28px 6px 10px;font:14px/1.3 var(--font-ui,Arial,sans-serif);color:var(--p-ink,#303431);background:var(--p-input,#fffefa);border:1px solid var(--rw-control,#7a8079);border-radius:6px;box-shadow:inset 0 1px 2px #24332908}
html .staff-root #wsBody .fs-editor .fs-preset:disabled{background:#e5e8e1;color:#606b61;border-color:#a3afa0;opacity:1}
html .staff-root #wsBody .fs-editor .fs-locked-note{margin:-6px 0 12px;font-size:14px;line-height:1.55;color:var(--rw-muted,#5e625e)}
html .staff-root #wsBody .fs-editor .fs-intro{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 12px}
html .staff-root #wsBody .fs-editor .fs-intro>.hint{margin:0;font-size:14px;line-height:1.55;color:var(--rw-muted,#5e625e)}
html .staff-root #wsBody .fs-editor .fs-how{margin:0;font-size:13px}
html .staff-root #wsBody .fs-editor .fs-how[open]{flex-basis:100%}
html .staff-root #wsBody .fs-editor .fs-how>summary{cursor:pointer;font-size:13px;line-height:1.5;font-weight:600;color:var(--p-accent,#183f30);width:max-content}
html .staff-root #wsBody .fs-editor .fs-how>.hint{margin:8px 0 0;padding:10px 14px;max-width:920px;font-size:14px;line-height:1.55;color:var(--rw-muted,#5e625e);background:var(--rw-surface,#f8f7f3);border:1px solid var(--rw-line,#b9bcb4);border-radius:8px}
html .staff-root #wsBody .fs-editor .fs-how>.hint>p{margin:0 0 8px}
html .staff-root #wsBody .fs-editor .fs-how>.hint>p:last-child{margin-bottom:0}

html .staff-root #wsBody .fs-editor #fsTotals.fs-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;box-sizing:border-box;padding:10px 14px;margin:0 0 4px;font-size:14px;line-height:1.5;color:var(--rw-ink,#303431);background:var(--rw-surface,#f8f7f3);border:1px solid var(--rw-line,#b9bcb4);border-radius:8px}
html .staff-root #wsBody .fs-editor #fsTotals.fs-summary .class-badge{font-size:12px;line-height:1.5}
html .staff-root #wsBody .fs-editor .fs-sum{white-space:nowrap}
html .staff-root #wsBody .fs-editor .fs-sum>strong{font-weight:700}
html .staff-root #wsBody .fs-editor .fs-sum-n{font-variant-numeric:tabular-nums}
html .staff-root #wsBody .fs-editor .fs-sum-sep{color:var(--rw-muted,#5e625e)}
html .staff-root #wsBody .fs-editor .fs-sum-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}
html .staff-root #wsBody .fs-editor .fs-sum-badges>.class-badge{margin:0}
html .staff-root #wsBody .fs-editor .fs-summary>.pill,html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable) .pill{display:inline-block;font-family:var(--font-ui,Arial,sans-serif);font-size:12px;line-height:1.4;font-weight:600;padding:3px 9px;border-radius:999px;letter-spacing:.2px;white-space:nowrap;border:0}
html .staff-root #wsBody .fs-editor .pill.fs-need{background:#fff3d6;color:#7a5a00}
html .staff-root #wsBody .fs-editor .pill.fs-need-none{background:var(--pill-open-bg,#e2f1ec);color:var(--pill-open-fg,#085041)}
html .staff-root #wsBody .fs-editor .pill.fs-flag{background:#fbe8c8;color:#8a5a00;cursor:help}
html .staff-root #wsBody .fs-editor .pill.fs-pinned{background:var(--pill-draft-bg,#eceee9);color:var(--pill-draft-fg,#6b6a63)}
html .staff-root #wsBody .fs-editor .pill.fs-engine{background:var(--pill-closed-bg,#e9e9ef);color:var(--pill-closed-fg,#4a4a66);cursor:help}
html .staff-root #wsBody .fs-editor>.section-title{margin:22px 0 12px;padding:11px 14px;font-size:16px;line-height:1.4;font-weight:700;letter-spacing:0;color:var(--rw-ink,#303431);background:var(--rw-header,#deded7);border:1px solid var(--rw-line,#b9bcb4);border-radius:7px}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable){display:table;table-layout:fixed;width:100%;max-width:100%;margin:0;overflow:visible;border:1px solid var(--rw-line,#b9bcb4);border-radius:8px;background:var(--rw-surface,#f8f7f3);box-shadow:none}
html .staff-root #wsBody .fs-editor table+.section-title{margin-top:22px}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>thead>tr>th{position:static;top:auto;z-index:auto;padding:11px 13px;font-size:14px;line-height:1.4;font-weight:600;letter-spacing:0;text-transform:none;text-align:left;color:var(--p-muted,#5e625e);background:var(--rw-header,#deded7);border-bottom:2px solid #9da095}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>thead>tr>th:first-child{width:64px;border-top-left-radius:7px}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>thead>tr>th:last-child{width:165px;border-top-right-radius:7px}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody>tr>td{padding:10px 13px;height:auto;font-size:14px;line-height:1.5;vertical-align:middle;color:var(--rw-ink,#303431);background:transparent;border-bottom:1px solid var(--rw-row-line,#c9ccc3)}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody>tr>td.num{font-variant-numeric:tabular-nums;font-weight:600;color:var(--rw-muted,#5e625e)}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody:last-child>tr:last-child>td{border-bottom:0}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody.fs-group>tr:nth-child(odd):not(.fs-group-head),html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody:not(.fs-group)>tr:nth-child(even){background:var(--rw-alt,#efeee9)}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody>tr.fs-group-head>th{position:sticky;top:calc(var(--fs-head-h) - var(--fs-scroll-pad));z-index:3;box-sizing:border-box;height:34px;padding:0 13px;text-align:left;font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--rw-muted,#5e625e);background:var(--rw-header,#deded7);border-top:1px solid var(--rw-line,#b9bcb4);border-bottom:1px solid var(--rw-line,#b9bcb4)}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody.fs-group:first-of-type>tr.fs-group-head>th{border-top:0}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody>tr:not(.fs-group-head):hover>td{background:var(--p-hover-wash,#e9e0d3)}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody>tr.fs-row-unassigned>td{background:#fdf3d7}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody>tr.fs-row-unassigned>td:first-child{box-shadow:inset 3px 0 0 var(--warn,#c9930a)}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable) select{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:36px;margin:0;padding:6px 28px 6px 9px;font:14px/1.3 var(--font-ui,Arial,sans-serif);color:var(--p-ink,#303431);background:var(--p-input,#fffefa);border:1px solid var(--rw-control,#7a8079);border-radius:6px;box-shadow:inset 0 1px 2px #24332908}
html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable) select:disabled{background:#e5e8e1;color:#606b61;border-color:#a3afa0;opacity:1}

html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable) select{scroll-margin-top:calc(var(--fs-head-h) + 34px + 8px)}
html .staff-root #wsBody .fs-editor :is(#fsRevEdATable,#fsRevEdBTable)>tbody>tr>td{color:var(--rw-muted,#5e625e)}
html .staff-root #wsBody .fs-editor :is(#fsRevEdATable,#fsRevEdBTable)>thead>tr>th:nth-child(2){width:150px}
@media (max-width:1279px){
  html .staff-root #wsBody .fs-editor{--fs-head-h:97px}
  html .staff-root #wsBody .fs-editor .fs-title-row{flex-basis:100%}
  html .staff-root #wsBody .fs-editor .fs-actions{margin-left:0;flex-basis:100%}
  html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>thead>tr>th:first-child{width:56px}
  html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>thead>tr>th:last-child{width:150px}
}

@media (max-width:768px){
  html .staff-root #wsBody .fs-editor{--fs-scroll-pad:0px}
}
@media (max-width:700px){
  html .staff-root #wsBody .fs-editor .fs-head{position:static;height:auto}
  html .staff-root #wsBody .fs-editor .fs-actions{flex-wrap:wrap}
  html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>tbody>tr.fs-group-head>th{top:calc(-1 * var(--fs-scroll-pad))}
  html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable)>thead>tr>th:last-child{width:120px}

  html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable,#fsRevEdATable,#fsRevEdBTable){display:block;table-layout:auto;overflow-x:auto}
  html .staff-root #wsBody .fs-editor :is(#fsMathTable,#fsElaTable)>thead>tr>th:is(:nth-child(2),:nth-child(3)){min-width:230px}
}

html .staff-root .publish-why{font-size:12px;line-height:1.5;color:var(--st-muted,#6b6a63);margin:0}
html .staff-root .ws-actions .publish-why{flex-basis:100%}
html .staff-root .bulk-acts .publish-why{margin-left:4px}
html .staff-root .staff-publish-note{margin:0 0 10px}

.immediate-feedback-actions > button.primary{ position:relative; min-width:168px; padding:12px 28px; }
.immediate-feedback-actions[aria-busy="true"] > button.primary{ opacity:1; cursor:progress; padding-left:46px; }
.immediate-feedback-actions[aria-busy="true"] > button.primary::before{
  content:""; position:absolute; left:18px; top:50%; width:16px; height:16px; margin-top:-9px;
  border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%;
  animation:fb-check-spin .8s linear infinite;
}
@keyframes fb-check-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){
  .immediate-feedback-actions[aria-busy="true"] > button.primary::before{ animation:none; border-top-color:rgba(255,255,255,.35); }
}

.immediate-feedback-actions[aria-busy="true"] > .feedback-status{
  position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}

.immediate-feedback-actions > .immediate-feedback-verdict{
  display:inline-flex; align-items:center; box-sizing:border-box; height:26px; margin:0;
  padding:0 13px 0 30px; border-radius:999px; border:1px solid currentColor;
  font:700 13px/24px Arial,sans-serif; letter-spacing:.5px; text-transform:uppercase;
  background-repeat:no-repeat; background-position:11px center; background-size:13px 13px;
}
.immediate-feedback-actions > .immediate-feedback-verdict:empty{ display:none; }
.immediate-feedback-actions > .immediate-feedback-verdict.is-correct{ color:var(--st-correct-ink,#1e6b43); background-color:var(--st-correct-tint,#e3f1e8);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.8 2.8L10 3.5' fill='none' stroke='%231e6b43' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.immediate-feedback-actions > .immediate-feedback-verdict.is-incorrect{ color:var(--st-wrong-ink,#8f2a1e); background-color:var(--st-wrong-tint,#f9e9e6);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' fill='none' stroke='%238f2a1e' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.sentence-select-surface .immediate-feedback-actions > .immediate-feedback-verdict{ position:static; left:auto; right:auto; top:auto; }

.immediate-feedback-actions > .feedback-legend{ margin:0; font:14px/20px Arial,sans-serif; color:#33413f; }
.immediate-feedback-actions > .feedback-legend b{ font-weight:700; color:#1c2b2a; }

.immediate-feedback-actions > .fb-break{ flex-basis:100%; height:0; margin:-12px 0 0; }
.immediate-feedback-actions > .fb-key-pane{ flex:0 0 auto; max-width:100%; box-sizing:border-box; margin:0 0 2px !important; }
.immediate-feedback-actions > .fb-key-pane .hint,
.immediate-feedback-actions > .fb-key-pane .cl-instruction,
.immediate-feedback-actions > .fb-key-pane .dragfill-pool,
.immediate-feedback-actions > .fb-key-pane .ray-palette,
.immediate-feedback-actions > .fb-key-pane .pool:empty{ display:none; }

.feedback-locked .rc-tag.feedback-target-label{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; margin:0; display:inline; }

body:has(.exam-bar) .feedback-locked .choice.rv-correct,
body:has(.exam-bar) .feedback-locked .choice.selected.rv-correct,
body:has(.exam-bar) .feedback-locked .choice.rv-correct:hover{ background:var(--st-correct-tint); }
body:has(.exam-bar) .feedback-locked .choice.rv-wrong-pick,
body:has(.exam-bar) .feedback-locked .choice.selected.rv-wrong-pick,
body:has(.exam-bar) .feedback-locked .choice.rv-wrong-pick:hover{ background:var(--st-wrong-tint); }
body:has(.exam-bar) .feedback-locked .choice.rv-picked-right{ box-shadow:inset 0 0 0 2px var(--st-correct); }
body:has(.exam-bar) .feedback-locked .choice{ cursor:default; }

body:has(.exam-bar) .feedback-locked .choice.rv-correct .choice-letter,
body:has(.exam-bar) .feedback-locked .choice.rv-wrong-pick .choice-letter{
  border:0; background-image:none; background-repeat:no-repeat; background-position:center; background-size:8px 8px; color:#fff;
}
body:has(.exam-bar) .feedback-locked .choice.rv-correct:not(.rv-picked-right) .choice-letter{
  background-color:#fff; box-shadow:inset 0 0 0 2px var(--st-correct-ink,#1e6b43);
}
body:has(.exam-bar) .feedback-locked .choice.rv-picked-right .choice-letter{
  background-color:var(--st-correct-ink,#1e6b43); box-shadow:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.8 2.8L10 3.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
body:has(.exam-bar) .feedback-locked .choice.rv-wrong-pick .choice-letter{
  background-color:var(--st-wrong-ink,#8f2a1e); box-shadow:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
}
body:has(.exam-bar) .feedback-locked .choice.rv-correct .choice-letter::before,
body:has(.exam-bar) .feedback-locked .choice.rv-wrong-pick .choice-letter::before{ display:none; }

.feedback-locked [data-fb-mark]::after,
.feedback-locked .fb-il-badge::after{
  content:""; position:absolute; width:16px; height:16px; border-radius:50%; box-shadow:0 0 0 2px #fff; z-index:1;
  background-repeat:no-repeat; background-position:center; background-size:9px 9px;
}
.feedback-locked [data-fb-mark="right"]::after,.feedback-locked .fb-il-badge[data-fb-mark="right"]::after{ background-color:var(--st-correct-ink,#1e6b43);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.8 2.8L10 3.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.feedback-locked [data-fb-mark="wrong"]::after,.feedback-locked .fb-il-badge[data-fb-mark="wrong"]::after{ background-color:var(--st-wrong-ink,#8f2a1e);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); }

.feedback-locked .hotspot-zone[data-fb-mark]::after,.feedback-locked .ray-wrap[data-fb-mark]::after,.feedback-locked .nl-svg[data-fb-mark]::after,
.feedback-locked select[data-fb-mark]::after,.feedback-locked .numeric-entry[data-fb-mark]::after{ content:none; }

body:has(.exam-bar) .feedback-locked .classify-col .chip,
body:has(.exam-bar) .feedback-locked .pool .chip{ position:relative; }
body:has(.exam-bar) .feedback-locked .chip[data-fb-mark="right"]{ background:var(--st-correct-tint,#e3f1e8); border-color:var(--st-correct,#3e8e5f); }
body:has(.exam-bar) .feedback-locked .chip[data-fb-mark="wrong"]{ background:var(--st-wrong-tint,#f9e9e6); border-color:var(--st-wrong,#c0564a); }
.feedback-locked .chip[data-fb-mark]::after{ top:-7px; right:-7px; }

body:has(.exam-bar) .feedback-locked .dragfill-blank{ position:relative; }
body:has(.exam-bar) .feedback-locked .dragfill-blank[data-fb-mark="right"] .dragfill-token{ background:var(--st-correct-tint,#e3f1e8); border-color:var(--st-correct,#3e8e5f); }
body:has(.exam-bar) .feedback-locked .dragfill-blank[data-fb-mark="wrong"] .dragfill-token{ background:var(--st-wrong-tint,#f9e9e6); border-color:var(--st-wrong,#c0564a); }
body:has(.exam-bar) .feedback-locked .dragfill-blank[data-fb-mark="wrong"]:not(.filled){ border-color:var(--st-wrong,#c0564a); background:var(--st-wrong-tint,#f9e9e6); }
.feedback-locked .dragfill-blank[data-fb-mark]::after{ top:-7px; right:-7px; }

body:has(.exam-bar) .feedback-locked select.il-select[data-fb-mark="right"]{ background-color:var(--st-correct-tint,#e3f1e8); border-color:var(--st-correct,#3e8e5f); }
body:has(.exam-bar) .feedback-locked select.il-select[data-fb-mark="wrong"]{ background-color:var(--st-wrong-tint,#f9e9e6); border-color:var(--st-wrong,#c0564a); }
.feedback-locked .fb-il-badge{ position:relative; display:inline-block; width:0; height:0; vertical-align:top; }
.feedback-locked .fb-il-badge::after{ left:-9px; top:-8px; }

.feedback-locked .hotspot-zone[data-fb-mark="right"]{ fill:rgba(62,142,95,.35); stroke:var(--st-correct-ink,#1e6b43); stroke-opacity:1; stroke-width:2.5; }
.feedback-locked .hotspot-zone[data-fb-mark="wrong"]{ fill:rgba(192,86,74,.35); stroke:var(--st-wrong-ink,#8f2a1e); stroke-opacity:1; stroke-width:2.5; }

body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="right"] .nl-ray-svg .ray-drawn{ stroke:var(--st-correct-ink,#1e6b43); }
body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="right"] .nl-ray-svg .ray-drawnarrow,
body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="right"] .nl-ray-svg .ray-endclosed{ fill:var(--st-correct-ink,#1e6b43); stroke:var(--st-correct-ink,#1e6b43); }
body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="right"] .nl-ray-svg .ray-endopen{ stroke:var(--st-correct-ink,#1e6b43); }
body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="right"] .nl-ray-svg .ray-handle{ fill:rgba(62,142,95,.25); }
body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="wrong"] .nl-ray-svg .ray-drawn{ stroke:var(--st-wrong-ink,#8f2a1e); }
body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="wrong"] .nl-ray-svg .ray-drawnarrow,
body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="wrong"] .nl-ray-svg .ray-endclosed{ fill:var(--st-wrong-ink,#8f2a1e); stroke:var(--st-wrong-ink,#8f2a1e); }
body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="wrong"] .nl-ray-svg .ray-endopen{ stroke:var(--st-wrong-ink,#8f2a1e); }
body:has(.exam-bar) .feedback-locked .ray-wrap[data-fb-mark="wrong"] .nl-ray-svg .ray-handle{ fill:rgba(192,86,74,.25); }

.feedback-locked .nl-svg[data-fb-mark="right"] .nl-cand.picked{ fill:var(--st-correct-ink,#1e6b43); stroke:var(--st-correct-ink,#1e6b43); }
.feedback-locked .nl-svg[data-fb-mark="right"] .pg-ring{ stroke:var(--st-correct-ink,#1e6b43); }
.feedback-locked .nl-svg[data-fb-mark="wrong"] .nl-cand.picked{ fill:var(--st-wrong-ink,#8f2a1e); stroke:var(--st-wrong-ink,#8f2a1e); }
.feedback-locked .nl-svg[data-fb-mark="wrong"] .pg-ring{ stroke:var(--st-wrong-ink,#8f2a1e); }

body:has(.exam-bar) .feedback-locked .numeric-entry[data-fb-mark] .kp-displayrow{ position:relative; }
body:has(.exam-bar) .feedback-locked .numeric-entry[data-fb-mark="right"] .kp-display{ background:var(--st-correct-tint,#e3f1e8); border-color:var(--st-correct,#3e8e5f); }
body:has(.exam-bar) .feedback-locked .numeric-entry[data-fb-mark="wrong"] .kp-display{ background:var(--st-wrong-tint,#f9e9e6); border-color:var(--st-wrong,#c0564a); }
.feedback-locked .numeric-entry[data-fb-mark] .kp-displayrow::after{
  content:""; position:absolute; top:-8px; left:603px; width:16px; height:16px; border-radius:50%; box-shadow:0 0 0 2px #fff; z-index:1;
  background-repeat:no-repeat; background-position:center; background-size:9px 9px;
}
.feedback-locked .numeric-entry[data-fb-mark="right"] .kp-displayrow::after{ background-color:var(--st-correct-ink,#1e6b43);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.8 2.8L10 3.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.feedback-locked .numeric-entry[data-fb-mark="wrong"] .kp-displayrow::after{ background-color:var(--st-wrong-ink,#8f2a1e);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); }

body:has(.exam-bar) .feedback-locked .tg-table td[data-fb-mark]{ position:relative; }
body:has(.exam-bar) .feedback-locked .tg-table td[data-fb-mark="right"]{ background:var(--st-correct-tint,#e3f1e8); box-shadow:inset 0 0 0 2px var(--st-correct,#3e8e5f); }
body:has(.exam-bar) .feedback-locked .tg-table td[data-fb-mark="wrong"]{ background:var(--st-wrong-tint,#f9e9e6); box-shadow:inset 0 0 0 2px var(--st-wrong,#c0564a); }
.feedback-locked .tg-table td[data-fb-mark]::after{ top:-7px; right:-7px; }
body:has(.exam-bar) .feedback-locked .tg-table input[type="radio"],
body:has(.exam-bar) .feedback-locked .tg-table input[type="checkbox"],
.immediate-feedback-actions > .fb-key-pane .tg-table input[type="radio"],
.immediate-feedback-actions > .fb-key-pane .tg-table input[type="checkbox"]{
  -webkit-appearance:none; appearance:none; width:17px; height:17px; margin:3px 3px 0 5px; box-sizing:border-box; vertical-align:baseline;
  border:2px solid #4a5654; border-radius:50%; background:#fff; opacity:1 !important;
}
body:has(.exam-bar) .feedback-locked .tg-table input[type="checkbox"],
.immediate-feedback-actions > .fb-key-pane .tg-table input[type="checkbox"]{ border-radius:3px; }
body:has(.exam-bar) .feedback-locked .tg-table input[type="radio"]:checked,
.immediate-feedback-actions > .fb-key-pane .tg-table input[type="radio"]:checked{ border-color:#1c2b2a; background:radial-gradient(circle, #1c2b2a 0 4.5px, #fff 5px); }
body:has(.exam-bar) .feedback-locked .tg-table input[type="checkbox"]:checked,
.immediate-feedback-actions > .fb-key-pane .tg-table input[type="checkbox"]:checked{
  border-color:#1c2b2a; background-color:#1c2b2a; background-repeat:no-repeat; background-position:center; background-size:10px 10px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.8 2.8L10 3.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.sentence-select-surface.fb-checked .sentence-result{ display:none; }
.sentence-select-surface.fb-checked .sentence-target.selected.rv-correct{ background:var(--st-correct-ink,#1e6b43); color:#fff; border-color:#12422f; }
.sentence-select-surface.fb-checked .sentence-target.rv-wrong-pick{ background:var(--st-wrong-ink,#8f2a1e); color:#fff; border-color:#6e1f15; }
.sentence-select-surface.fb-checked .sentence-target.rv-correct:not(.selected){ background:var(--st-correct-tint,#e3f1e8); color:var(--st-correct-ink,#1e6b43); border-color:transparent; }
.sentence-select-surface.fb-checked .sentence-target:not(.rv-correct):not(.rv-wrong-pick):not(.selected){ background:transparent; color:inherit; border-color:transparent; }
.sentence-select-surface.fb-checked .sentence-target.selected.rv-correct .gloss-term,
.sentence-select-surface.fb-checked .sentence-target.rv-wrong-pick .gloss-term{ color:#fff; border-color:#fff; }
.fb-sentence-badge{
  position:absolute; width:16px; height:16px; border-radius:50%; box-shadow:0 0 0 2px #fff; z-index:2; pointer-events:none;
  background-repeat:no-repeat; background-position:center; background-size:9px 9px;
}
.fb-sentence-badge[data-fb-mark="right"]{ background-color:var(--st-correct-ink,#1e6b43);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.8 2.8L10 3.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.fb-sentence-badge[data-fb-mark="wrong"]{ background-color:var(--st-wrong-ink,#8f2a1e);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); }
.fb-sentence-badge[data-fb-mark="missed"]{ background-color:#fff; box-shadow:0 0 0 2px #fff, inset 0 0 0 2px var(--st-correct-ink,#1e6b43); background-size:8px 8px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.8 2.8L10 3.5' fill='none' stroke='%231e6b43' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

.immediate-feedback-actions > .fb-quote-box{ flex:0 0 auto; max-width:100%; box-sizing:border-box; margin:0 0 2px; border-radius:6px; padding:10px 14px 12px; }
.immediate-feedback-actions > .fb-quote-yours{ border:2px solid var(--st-wrong,#c0564a); }
.immediate-feedback-actions > .fb-quote-key{ border:2px solid var(--st-correct,#3e8e5f); }
.immediate-feedback-actions > .fb-quote-box > .rv-pane-label{ font:700 12px/14px Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; margin-bottom:8px; }
.immediate-feedback-actions > .fb-quote-yours > .rv-pane-label{ color:var(--st-wrong,#c0564a); }
.immediate-feedback-actions > .fb-quote-key > .rv-pane-label{ color:var(--st-correct,#3e8e5f); }
.immediate-feedback-actions > .fb-quote-box > p{ margin:6px 0 0; font:15px/1.5 Arial,sans-serif; color:#1c2b2a; }
.immediate-feedback-actions > .fb-quote-yours > p{ padding-left:24px; position:relative; }
.immediate-feedback-actions > .fb-quote-box > p > .fb-sentence-badge.fb-inline{ left:0; top:3px; box-shadow:none; }
