
/* CodePen CSS Panel */
/* Title: Classic Ready NCLEX */
.npe-practice-frame{
  --navy:#175a85;
  --cyan:#28aee0;
  --bg:#eef2f6;
  --panel:#ffffff;
  --line:#d7e0ea;
  --text:#0c2340;
  --muted:#5f7287;
  --accent:#1c83c6;
  --success:#1d8f57;
  --danger:#bf3c2b;
  --warn:#f29d38;
  --highlight:#f3db72;

  --npe-font-base:16px;
  --npe-font-question:24px;
  --npe-font-option:18px;
  --npe-font-explain:16px;
  --npe-font-meta:14px;

  font-family:Inter,Segoe UI,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  border:1px solid #d9e3ec;
  border-radius:18px;
  overflow:hidden;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  box-shadow:0 8px 28px rgba(16,36,61,.06);
}
.npe-practice-frame *{box-sizing:border-box}
.npe-practice-frame button,
.npe-practice-frame input,
.npe-practice-frame select,
.npe-practice-frame textarea{font:inherit}

.npe-topbar{
  min-height:66px;
  background:var(--navy);
  color:#fff;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  padding:10px 18px;
}
.npe-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  font-weight:800;
  font-size:18px;
}
.npe-logo{
  width:30px;
  height:30px;
  border-radius:50%;
  background:#dfe9f2;
  border:2px solid rgba(255,255,255,.6);
  flex:0 0 30px;
}
.npe-brand-text{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.npe-centerhead{
  text-align:center;
  line-height:1.15;
  min-width:0;
}
.npe-topic-title{
  font-weight:900;
  font-size:18px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:520px;
}
.npe-mode-label{
  font-size:11px;
  font-weight:800;
  color:rgba(255,255,255,.92);
  margin-top:2px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.npe-righthead{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:18px;
  font-weight:800;
  font-size:15px;
  white-space:nowrap;
}

.npe-subbar{
  min-height:52px;
  background:var(--cyan);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:8px 16px;
  color:#fff;
}
.npe-toolbar-left,.npe-toolbar-right{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.npe-iconbtn{
  width:22px;
  height:22px;
  padding:0;
  border:none;
  background:none;
  color:#fff;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.98;
}
.npe-iconbtn svg{
  width:18px;
  height:18px;
  stroke:#fff;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.npe-iconbtn.active{
  background:rgba(255,255,255,.14);
  border-radius:6px;
}
.npe-iconbtn.active svg{stroke:#ffe27a}
.npe-iconbtn.marked svg{
  stroke:#ffe27a;
  fill:#ffe27a;
}

.npe-app{
  padding:10px 14px 14px;
  background:#f7fafc;
}
.npe-workspace-shell{
  display:grid;
  grid-template-rows:auto 58px;
  gap:12px;
}
.npe-workspace-card{
  background:var(--panel);
  border:1px solid #e6edf4;
  border-radius:14px;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto auto auto;
  box-shadow:none;
}
.npe-workspace-head{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding:12px 18px 8px;
  border-bottom:0;
  gap:12px;
}
.npe-eyebrow{
  display:none;
}
.npe-statuspill{
  background:#f3f6fa;
  color:#4b5f75;
  border:1px solid #e1e8f0;
  border-radius:999px;
  padding:8px 12px;
  font-weight:800;
  font-size:12px;
  white-space:nowrap;
}
.npe-workspace-scroll{padding:10px 18px 20px}
.npe-question-workspace{font-size:var(--npe-font-base)}
.npe-q-section{margin-bottom:18px}
.npe-q-label{
  font-weight:800;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#5d7085;
  margin-bottom:10px;
}
.npe-placeholder-box,
.npe-answer-zone{
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  color:#5f7287;
  line-height:1.7;
}
.npe-answer-zone{min-height:0}
.npe-check-row{
  margin-top:14px;
  display:flex;
  justify-content:flex-start;
}
.npe-check-row .npe-btn{
  font-size:var(--npe-font-base);
  min-width:132px;
  min-height:44px;
  padding:11px 18px;
}

.npe-btn{
  border-radius:14px;
  border:1px solid #bfd0df;
  background:#fff;
  padding:13px 18px;
  font-weight:700;
  font-size:var(--npe-font-base);
  color:#27435c;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.npe-btn.npe-primary{
  background:#1b7fc4;
  color:#fff;
  border-color:#1b7fc4;
  box-shadow:none;
}
.npe-btn[disabled]{
  opacity:.55;
  cursor:not-allowed;
}

.npe-reveal-shell{
  border-top:1px solid #e8eef4;
  background:#fcfeff;
  padding:20px 22px 22px;
  font-size:var(--npe-font-explain);
}
.npe-hidden{display:none!important}
.npe-result-head{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  font-size:calc(var(--npe-font-explain) + 4px);
  margin-bottom:14px;
}
.npe-result-head.correct{color:var(--success)}
.npe-result-head.partial{color:var(--warn)}
.npe-result-head.incorrect{color:var(--danger)}
.npe-meta-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:16px;
}
.npe-meta-pill{
  background:#eef4fa;
  border:1px solid #d2dee8;
  border-radius:999px;
  padding:10px 14px;
  font-size:var(--npe-font-meta);
  font-weight:800;
  color:#27435c;
}
.npe-rationale-list{
  display:grid;
  gap:12px;
}
.npe-rationale-item{
  border:1px solid #d3dee8;
  background:#f6f9fc;
  border-radius:16px;
  padding:14px 16px;
  font-size:var(--npe-font-explain);
}
.npe-rationale-item strong{
  display:block;
  margin-bottom:6px;
}

.npe-question-stem{
  margin:0;
  font-size:calc(var(--npe-font-question) - 2px);
  line-height:1.48;
  font-weight:800;
  color:#18324d;
}
.npe-question-workspace .hl,
.npe-reveal-shell .hl{
  background:var(--highlight);
  border-radius:4px;
  padding:0 .08em;
}
.npe-question-workspace.npe-highlight-mode,
.npe-question-workspace.npe-highlight-mode *,
.npe-reveal-shell.npe-highlight-mode,
.npe-reveal-shell.npe-highlight-mode *{
  cursor:text !important;
}

.npe-mcq-options{
  display:grid;
  gap:10px;
}
.npe-mcq-option{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:54px;
  padding:12px 14px;
  border:1px solid #d5dee8;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
  user-select:none;
}
.npe-mcq-option:hover{
  border-color:#b7c7d8;
  background:#fff;
}
.npe-mcq-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.npe-mcq-bullet{
  width:20px;
  height:20px;
  margin-top:2px;
  border:2px solid #98abc0;
  border-radius:50%;
  background:#fff;
  flex:0 0 20px;
  position:relative;
}
.npe-mcq-bullet::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:#2c6c8f;
  transform:scale(0);
  transition:transform .18s ease;
}
.npe-mcq-option-text{
  font-size:calc(var(--npe-font-option) - 1px);
  line-height:1.5;
  color:#24384d;
}
.npe-mcq-option.is-selected{
  border-color:#175a85;
  background:#eaf3fb;
  box-shadow:0 0 0 2px rgba(23,90,133,.08);
}
.npe-mcq-option.is-selected .npe-mcq-bullet{
  border-color:#175a85;
  background:#eaf3fb;
}
.npe-mcq-option.is-selected .npe-mcq-bullet::after{
  transform:scale(1);
  background:#175a85;
}
.npe-mcq-option.is-correct{
  border-color:var(--success);
  background:#eaf8f1;
}
.npe-mcq-option.is-incorrect{
  border-color:var(--danger);
  background:#fdeeee;
}
.npe-mcq-option.is-locked{
  cursor:default;
}
.npe-mcq-option.is-locked:hover{
  background:#fff;
}
.npe-mcq-option.is-correct.is-locked:hover{
  background:#eaf8f1;
}
.npe-mcq-option.is-incorrect.is-locked:hover{
  background:#fdeeee;
}

.npe-footer{
  min-height:62px;
  background:#fff;
  border-top:1px solid #eef2f6;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  padding:10px 18px;
  gap:14px;
}
.npe-footer-left{display:flex;justify-content:flex-start}
.npe-footer-right{display:flex;justify-content:flex-end}
.npe-navbtn{min-width:132px}

.npe-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.22);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:20px;
}
.npe-modalbox{
  width:min(900px,92vw);
  background:#fff;
  border-radius:18px;
  border:1px solid #cfdae4;
  box-shadow:0 30px 80px rgba(0,0,0,.2);
  overflow:hidden;
}
.npe-modalhead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid #e8eef4;
  font-weight:900;
}
.npe-modalbody{padding:20px}
.npe-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.npe-summary-card{
  border:1px solid #d7e2ec;
  border-radius:16px;
  padding:16px;
  background:#f8fbfe;
}
.npe-summary-card .lab{
  font-size:12px;
  font-weight:800;
  color:#6a7c8f;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.npe-summary-card .val{
  margin-top:6px;
  font-size:24px;
  font-weight:900;
  color:#123d6b;
}
.npe-qgrid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(58px,1fr));
  gap:10px;
  margin-top:18px;
}
.npe-qbtn{
  position:relative;
  min-height:48px;
  border:1px solid #c6d4e2;
  border-radius:12px;
  background:#fff;
  font-weight:800;
  color:#1d3a56;
  cursor:pointer;
}
.npe-qbtn.current{
  border-color:#175a85;
  box-shadow:0 0 0 2px rgba(23,90,133,.12) inset;
}
.npe-qbtn.answered{
  background:#eaf8f1;
  border-color:#88c8a7;
}
.npe-qbtn.marked{
  background:#fff7dd;
  border-color:#e4c86a;
}
.npe-qbtn .flag{
  position:absolute;
  top:3px;
  right:6px;
  font-size:12px;
}
.npe-notearea,
.npe-field textarea,
.npe-field select{
  width:100%;
  border:1px solid #c8d6e3;
  border-radius:14px;
  padding:14px 16px;
  min-height:120px;
  resize:vertical;
}
.npe-field select{
  min-height:auto;
  resize:none;
}
.npe-formgrid{
  display:grid;
  gap:14px;
}
.npe-meta-note{
  border:1px solid #d7e1ea;
  background:#f7fafc;
  border-radius:14px;
  padding:14px 16px;
  color:#32516b;
  line-height:1.6;
}
.npe-modal-actions{
  display:flex;
  gap:12px;
  margin-top:18px;
  flex-wrap:wrap;
}

.npe-modalhead-actions{
  display:flex;
  gap:10px;
}
.npe-summary-grid-two{
  grid-template-columns:repeat(2,1fr);
  margin-top:10px;
}
.npe-related-practice-box{
  margin-top:16px;
}


.npe-calc{
  position:fixed;
  right:24px;
  bottom:24px;
  width:320px;
  background:#fff;
  border:1px solid #cfdae4;
  border-radius:20px;
  box-shadow:0 22px 56px rgba(0,0,0,.18);
  overflow:hidden;
  display:none;
  z-index:10000;
}

.npe-calchead{
  background:linear-gradient(135deg,#175a85,#1b7fc4);
  color:#fff;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:move;
  font-weight:800;
}

.npe-calcscreen{
  padding:14px;
  border-bottom:1px solid #e5edf4;
  background:#f9fbfd;
}

.npe-calchistory{
  min-height:20px;
  font-size:12px;
  color:#6f8296;
  text-align:right;
  margin-bottom:6px;
}

.npe-calcdisplay{
  min-height:36px;
  font-size:28px;
  font-weight:900;
  text-align:right;
  color:#123d6b;
  word-break:break-all;
}

.npe-calckeys{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:#dfe7ee;
  padding:1px;
}

.npe-calckeys button{
  border:none;
  background:#fff;
  min-height:58px;
  padding:14px 10px;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
  transition:background-color .18s ease, transform .08s ease;
}

.npe-calckeys button:hover{
  background:#f6f9fc;
}

.npe-calckeys button:active{
  transform:scale(.98);
}

.npe-calckeys button.soft{
  background:#f7fafc;
}

.npe-calckeys button.op{
  background:#eef5fb;
  color:#175a85;
}

.npe-calckeys button.eq{
  background:#1b7fc4;
  color:#fff;
}

.npe-calckeys button.eq.wide{
  grid-column:1 / -1;
}

.npe-adbar{
  border:1px solid #d9e5ef;
  background:linear-gradient(135deg,#ffffff,#f7fbff);
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:#6a7c8f;
  font-size:14px;
  min-height:58px;
  letter-spacing:.01em;
}
@media (max-width: 900px){
  .npe-topbar{
    grid-template-columns:1fr;
    text-align:center;
  }
  .npe-brand,
  .npe-righthead{
    justify-content:center;
  }
  .npe-summary-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width: 640px){
  .npe-app{padding:10px}
  .npe-workspace-scroll{padding:10px 14px 16px}
  .npe-question-stem{font-size:calc(var(--npe-font-question) - 2px)}
  .npe-mcq-option-text{font-size:calc(var(--npe-font-option) - 1px)}
  .npe-footer{
    grid-template-columns:1fr;
  }
  .npe-footer-left,
  .npe-footer-right{
    justify-content:stretch;
  }
  .npe-navbtn{
    width:100%;
  }
  .npe-calc{
    right:10px;
    bottom:10px;
    width:min(320px,calc(100vw - 20px));
  }
}
/* SATA support */
.npe-question-instruction{
  margin:0 0 14px;
  font-size:var(--npe-font-meta);
  font-weight:800;
  color:#45627d;
}

.npe-sata-options{
  display:grid;
  gap:12px;
}

.npe-sata-option{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-height:56px;
  padding:14px 16px;
  border:1.5px solid #c9d6e2;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease;
  user-select:none;
}

.npe-sata-option:hover{
  border-color:#175a85;
  background:#eef4fa;
}

.npe-sata-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.npe-sata-box{
  width:20px;
  height:20px;
  margin-top:2px;
  border:2px solid #98abc0;
  border-radius:6px;
  background:#fff;
  flex:0 0 20px;
  position:relative;
}

.npe-sata-box::after{
  content:"";
  position:absolute;
  left:5px;
  top:1px;
  width:5px;
  height:10px;
  border:solid #175a85;
  border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(0);
  transition:transform .18s ease;
}

.npe-sata-option-text{
  font-size:var(--npe-font-option);
  line-height:1.5;
  color:#0c2340;
}

.npe-sata-option.is-selected{
  border-color:#175a85;
  background:#eaf3fb;
}

.npe-sata-option.is-selected .npe-sata-box{
  border-color:#175a85;
  background:#eaf3fb;
}

.npe-sata-option.is-selected .npe-sata-box::after{
  transform:rotate(45deg) scale(1);
}

.npe-sata-option.is-correct{
  border-color:var(--success);
  background:#eaf8f1;
}

.npe-sata-option.is-incorrect{
  border-color:var(--danger);
  background:#fdeeee;
}

.npe-sata-option.is-missed{
  border-color:#2e8b57;
  background:#f4fcf7;
  box-shadow:0 0 0 1px rgba(29,143,87,.12) inset;
}

.npe-sata-option.is-locked{
  cursor:default;
}

.npe-sata-option.is-locked:hover{
  background:#fff;
}

.npe-sata-option.is-selected.is-locked:hover{
  background:#eaf3fb;
}

.npe-sata-option.is-correct.is-locked:hover{
  background:#eaf8f1;
}

.npe-sata-option.is-incorrect.is-locked:hover{
  background:#fdeeee;
}

.npe-sata-option.is-missed.is-locked:hover{
  background:#f4fcf7;
}
/* FIB numeric support */
.npe-fib-shell{
  display:grid;
  gap:14px;
}

.npe-fib-instruction{
  margin:0;
  font-size:var(--npe-font-meta);
  font-weight:800;
  color:#45627d;
}

.npe-fib-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.npe-fib-input{
  width:160px;
  min-height:52px;
  border:1.5px solid #c9d6e2;
  border-radius:14px;
  background:#fff;
  padding:12px 14px;
  font-size:var(--npe-font-option);
  font-weight:800;
  color:#0c2340;
  outline:none;
}

.npe-fib-input:focus{
  border-color:#175a85;
  box-shadow:0 0 0 3px rgba(23,90,133,.08);
}

.npe-fib-input[disabled]{
  background:#f6f9fc;
  color:#5f7287;
}

.npe-fib-unit{
  font-size:var(--npe-font-option);
  font-weight:800;
  color:#27435c;
}

.npe-fib-input.is-correct{
  border-color:var(--success);
  background:#eaf8f1;
}

.npe-fib-input.is-incorrect{
  border-color:var(--danger);
  background:#fdeeee;
}

/* Ordered Response support */

.npe-ordered-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
}
.npe-ordered-panel{
  border:1px solid #d7e2ec;
  border-radius:16px;
  background:#f8fbfe;
  padding:14px;
}
.npe-ordered-panel-title{
  margin:0 0 12px;
  font-size:var(--npe-font-meta);
  font-weight:900;
  color:#184f7a;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.npe-ordered-bank,
.npe-ordered-target{
  display:grid;
  gap:12px;
}
.npe-ordered-bank-card{
  width:100%;
  text-align:left;
  display:flex;
  align-items:flex-start;
  gap:12px;
  border:1.5px solid #c9d6e2;
  border-radius:14px;
  background:#fff;
  padding:14px 16px;
  cursor:pointer;
}
.npe-ordered-bank-card:hover{border-color:#175a85;background:#eef4fa}
.npe-ordered-bank-card[disabled]{opacity:.6;cursor:not-allowed;background:#f6f9fc}
.npe-ordered-bank-key,
.npe-ordered-slot-key{
  width:28px;
  min-width:28px;
  height:28px;
  border-radius:999px;
  background:#eaf3fb;
  color:#175a85;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:13px;
}
.npe-ordered-bank-text,
.npe-ordered-slot-text{
  font-size:var(--npe-font-option);
  line-height:1.45;
  color:#0c2340;
}
.npe-ordered-bank-empty{
  border:1.5px dashed #c7d4e2;
  border-radius:14px;
  padding:16px;
  color:#6a7c8f;
  text-align:center;
  background:#fff;
}
.npe-ordered-slot{
  border:1.5px dashed #c7d4e2;
  border-radius:14px;
  background:#fff;
  padding:12px;
}
.npe-ordered-slot-label{
  font-size:12px;
  font-weight:900;
  color:#5f7287;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:8px;
}
.npe-ordered-slot-empty{
  min-height:56px;
  border-radius:12px;
  background:#fbfdff;
  color:#7b8a98;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:12px;
}
.npe-ordered-slot-card{
  border:1.5px solid #c9d6e2;
  border-radius:14px;
  background:#fff;
  padding:12px;
}
.npe-ordered-slot-card.is-correct{border-color:var(--success);background:#eaf8f1}
.npe-ordered-slot-card.is-incorrect{border-color:var(--danger);background:#fdeeee}
.npe-ordered-slot-main{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.npe-ordered-card-controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.npe-ordered-mini-btn{
  border:1px solid #bfd0df;
  background:#fff;
  border-radius:10px;
  padding:8px 10px;
  font-size:12px;
  font-weight:800;
  color:#27435c;
  cursor:pointer;
}
.npe-ordered-mini-btn[disabled]{opacity:.55;cursor:not-allowed}
.npe-ordered-footer{
  margin-top:14px;
  display:flex;
  justify-content:flex-start;
}
.npe-ordered-reset{min-width:150px}
.npe-ordered-rationale-seq{
  margin:0;
  padding-left:20px;
}
.npe-ordered-rationale-seq li + li{margin-top:10px}
.npe-ordered-why{
  margin-top:4px;
  color:#45627d;
}
@media (max-width: 900px){
  .npe-ordered-layout{grid-template-columns:1fr}
}


/* Hot Spot support */
.npe-hotspot-shell{
  display:grid;
  gap:14px;
}
.npe-hotspot-board{
  border:1px solid #d7e2ec;
  border-radius:16px;
  background:#f8fbfe;
  padding:14px;
}
.npe-hotspot-stage{
  position:relative;
  width:100%;
  max-width:420px;
  margin:0 auto;
  border:1.5px solid #c9d6e2;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.npe-hotspot-image{
  display:block;
  width:100%;
  height:auto;
}
.npe-hotspot-clicklayer{
  position:absolute;
  inset:0;
  border:none;
  background:transparent;
  cursor:crosshair;
}
.npe-hotspot-clicklayer.is-locked{
  cursor:default;
}
.npe-hotspot-marker{
  position:absolute;
  width:22px;
  height:22px;
  border-radius:50%;
  border:3px solid #175a85;
  background:rgba(23,90,133,.18);
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 4px rgba(255,255,255,.86);
  pointer-events:none;
}
.npe-hotspot-marker::after{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:50%;
  background:#175a85;
}
.npe-hotspot-marker.is-correct{
  border-color:var(--success);
  background:rgba(29,143,87,.18);
}
.npe-hotspot-marker.is-correct::after{background:var(--success)}
.npe-hotspot-marker.is-incorrect{
  border-color:var(--danger);
  background:rgba(191,60,43,.18);
}
.npe-hotspot-marker.is-incorrect::after{background:var(--danger)}
.npe-hotspot-target{
  position:absolute;
  border:3px dashed #175a85;
  background:rgba(40,174,224,.12);
  border-radius:12px;
  pointer-events:none;
}
.npe-hotspot-target.is-correct{
  border-color:var(--success);
  background:rgba(29,143,87,.10);
}
.npe-hotspot-target.is-reveal{
  border-color:#175a85;
}
.npe-hotspot-footer{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.npe-hotspot-note{
  font-size:var(--npe-font-meta);
  font-weight:800;
  color:#45627d;
}
.npe-hotspot-clear{min-width:150px}
@media (max-width: 640px){
  .npe-hotspot-board{padding:10px}
  .npe-hotspot-marker{width:20px;height:20px}
}


/* Graphic MCQ */
.npe-graphic-panel{
  position:relative;
  margin:18px 0 0;
  padding:14px;
  border:1px solid #d7dee7;
  border-radius:16px;
  background:#fff;
}
.npe-graphic-frame{
  min-height:160px;
  max-height:400px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.npe-graphic-image{
  display:block;
  max-width:100%;
  max-height:400px;
  width:auto;
  height:auto;
  object-fit:contain;
  cursor:zoom-in;
  border-radius:10px;
}
.npe-graphic-zoomhint{
  position:absolute;
  top:12px;
  right:12px;
  padding:6px 10px;
  border:1px solid #d7dee7;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#37516a;
  font-size:12px;
  font-weight:800;
  pointer-events:none;
  box-shadow:0 4px 14px rgba(16,36,61,.08);
}
.npe-graphic-zoom-modal{
  padding:24px;
}
.npe-graphic-zoom-box{
  position:relative;
  width:min(1100px, 96vw);
  max-height:92vh;
  padding:48px 18px 18px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 80px rgba(12,35,64,.24);
}
.npe-graphic-zoom-image{
  display:block;
  max-width:100%;
  max-height:calc(92vh - 72px);
  width:auto;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}
.npe-graphic-zoom-close{
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  border:none;
  border-radius:999px;
  background:#123d6b;
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
@media (max-width: 640px){
  .npe-graphic-panel{padding:10px}
  .npe-graphic-frame{min-height:120px;max-height:280px}
  .npe-graphic-image{max-height:280px}
  .npe-graphic-zoom-box{padding:52px 10px 10px}
  .npe-graphic-zoom-modal{padding:10px}
}


/* Graphic MCQ — Layout B (image options) */
.npe-graphic-options-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.npe-graphic-option-card{
  position:relative;
  display:grid;
  gap:10px;
  padding:14px;
  border:1.5px solid #c9d6e2;
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.npe-graphic-option-card:hover{
  border-color:#175a85;
  background:#eef4fa;
}
.npe-graphic-option-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.npe-graphic-option-key{
  width:30px;
  height:30px;
  border-radius:999px;
  background:#eaf3fb;
  color:#175a85;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:13px;
}
.npe-graphic-option-frame{
  min-height:130px;
  max-height:190px;
  border:1px solid #d7dee7;
  border-radius:12px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:10px;
}
.npe-graphic-option-image{
  display:block;
  max-width:100%;
  max-height:170px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.npe-graphic-option-text{
  display:none;
}
.npe-graphic-option-card.is-selected{
  border-color:#175a85;
  background:#eaf3fb;
  box-shadow:0 0 0 2px rgba(23,90,133,.08) inset;
}
.npe-graphic-option-card.is-correct{
  border-color:var(--success);
  background:#eaf8f1;
}
.npe-graphic-option-card.is-incorrect{
  border-color:var(--danger);
  background:#fdeeee;
}
.npe-graphic-option-card.is-locked{
  cursor:default;
}
.npe-graphic-option-card.is-locked:hover{
  background:#fff;
}
.npe-graphic-option-card.is-correct.is-locked:hover{
  background:#eaf8f1;
}
.npe-graphic-option-card.is-incorrect.is-locked:hover{
  background:#fdeeee;
}
@media (max-width: 640px){
  .npe-graphic-options-grid{
    grid-template-columns:1fr;
  }
  .npe-graphic-option-frame{
    min-height:110px;
    max-height:170px;
  }
  .npe-graphic-option-image{
    max-height:150px;
  }
}


/* ===== Exhibit / Chart Traditional Item ===== */
.npe-exhibit-launcher{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.npe-exhibit-launcher-copy{
  display:none;
}
.npe-exhibit-launcher-title{
  display:none;
}
.npe-exhibit-launcher-note{
  font-size:13px;
  color:var(--muted);
  line-height:1.45;
}
.npe-open-exhibit-btn{
  white-space:nowrap;
  min-width:88px;
  padding:10px 16px;
}
.npe-exhibit-box{
  width:min(860px, calc(100vw - 28px));
  max-height:min(80vh, 720px);
  border-radius:22px;
  box-shadow:0 24px 64px rgba(8, 33, 58, .18);
}
.npe-exhibit-modal{
  background:rgba(12, 35, 64, .16);
  align-items:center;
  justify-content:center;
}
.npe-exhibit-modal .npe-modalhead{
  padding:16px 20px;
}
.npe-exhibit-body{
  display:flex;
  flex-direction:column;
  gap:14px;
  overflow:hidden;
  padding-top:16px;
  background:#fbfdff;
}
.npe-exhibit-tabs{
  display:flex;
  align-items:flex-end;
  gap:0;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 0 0;
  border-bottom:1px solid #dbe4ec;
  scrollbar-width:thin;
}
.npe-exhibit-tab{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #d7e2ec;
  border-bottom:none;
  background:#f7fafc;
  color:var(--text);
  border-radius:0;
  padding:12px 16px;
  min-height:42px;
  margin:0 6px -1px 0;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease;
  white-space:nowrap;
  flex:0 0 auto;
}
.npe-exhibit-tab:first-child{
  border-top-left-radius:10px;
}
.npe-exhibit-tab:last-child{
  border-top-right-radius:10px;
}
.npe-exhibit-tab:hover{
  border-color:#bfcddd;
  background:#f1f6fa;
}
.npe-exhibit-tab.is-active{
  background:#fff;
  color:var(--text);
  border-color:#cfd9e3;
  border-bottom:1px solid #fff;
  position:relative;
  z-index:2;
}
.npe-exhibit-panel{
  border:1px solid #dbe4ec;
  border-top:none;
  border-radius:0 0 14px 14px;
  background:#fff;
  padding:18px;
  min-height:170px;
  max-height:min(54vh, 500px);
  overflow:auto;
}
.npe-exhibit-panel-head{
  display:block;
  margin-bottom:14px;
}
.npe-exhibit-panel-title{
  font-size:20px;
  font-weight:800;
  color:var(--text);
  margin:0;
}
.npe-exhibit-panel-tag{
  display:none;
}
.npe-exhibit-text{
  font-size:var(--npe-font-explain,16px);
  line-height:1.85;
  white-space:pre-wrap;
  color:var(--text);
}
.npe-exhibit-tablewrap{
  overflow:auto;
  border:1px solid #e2ebf3;
  border-radius:14px;
}
.npe-exhibit-table{
  width:100%;
  border-collapse:collapse;
  min-width:520px;
}
.npe-exhibit-table th,
.npe-exhibit-table td{
  padding:12px 14px;
  border-bottom:1px solid #edf2f7;
  text-align:left;
  vertical-align:top;
  font-size:14px;
  color:var(--text);
  font-weight:400;
}
.npe-exhibit-table thead th{
  background:#f3f7fb;
  color:var(--navy);
  font-weight:800;
}
.npe-exhibit-table tbody tr:nth-child(even){
  background:#fbfdff;
}
.npe-exhibit-cell-emphasis,
.npe-exhibit-list-result.is-flagged{
  font-weight:400;
  color:var(--text);
}
.npe-exhibit-list{
  display:grid;
  gap:12px;
}
.npe-exhibit-list-item{
  border:1px solid #e7eef5;
  border-radius:14px;
  padding:14px;
  background:#fcfdff;
}
.npe-exhibit-list-label{
  font-size:14px;
  color:var(--text);
  font-weight:700;
  margin-bottom:6px;
}
.npe-exhibit-list-result{
  font-size:16px;
  font-weight:600;
  color:var(--text);
}
.npe-exhibit-list-range{
  margin-top:4px;
  font-size:13px;
  color:var(--muted);
}
.npe-exhibit-imagewrap{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fbfdff;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.npe-exhibit-image{
  display:block;
  max-width:100%;
  max-height:420px;
  height:auto;
  width:auto;
}
.npe-exhibit-empty{
  color:var(--muted);
  font-size:14px;
}
@media (max-width: 768px){
  .npe-exhibit-launcher{align-items:flex-start;}
  .npe-open-exhibit-btn{min-width:0;}
  .npe-exhibit-box{width:min(100vw - 18px, 860px);}
  .npe-exhibit-tabs{padding-right:4px;}
  .npe-exhibit-tab{padding:11px 14px;}
  .npe-exhibit-panel{padding:14px; min-height:150px;}
  .npe-exhibit-table{min-width:460px;}
}

/* ===== NGN Drop-Down Cloze ===== */
.npe-question-workspace.npe-ngn-mode .npe-q-section + .npe-q-section,
.npe-question-workspace.npe-ngn-mode .npe-q-label,
.npe-question-workspace.npe-ngn-mode .npe-check-row{
  display:none;
}

.npe-question-workspace.npe-ngn-mode .npe-q-section{
  margin-bottom:0;
}

.npe-ngn-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px, 42%);
  min-height:420px;
  border:1px solid #d7e2ec;
  background:#fff;
}

.npe-ngn-left,
.npe-ngn-right{
  padding:18px 20px;
}

.npe-ngn-left{
  border-right:1px solid #d7e2ec;
}

.npe-ngn-scenario-title{
  font-size:var(--npe-font-question);
  font-weight:900;
  color:#14283b;
}

.npe-ngn-scenario-subtitle{
  margin-top:4px;
  font-size:var(--npe-font-explain);
  color:#334f68;
}

.npe-ngn-item-label{
  margin-top:14px;
  font-size:var(--npe-font-meta);
  font-weight:800;
  color:#233d56;
}

.npe-ngn-tabs{
  display:flex;
  align-items:flex-end;
  gap:0;
  margin-top:14px;
}

.npe-ngn-tab{
  border:1px solid #c9d6e2;
  border-bottom:none;
  background:#f6f8fb;
  color:#233d56;
  padding:10px 14px;
  font-size:var(--npe-font-meta);
  font-weight:800;
  cursor:pointer;
}

.npe-ngn-tab.is-active{
  background:#fff;
}

.npe-ngn-tabpanel{
  border:1px solid #c9d6e2;
  background:#fff;
  min-height:170px;
  padding:16px;
  font-size:var(--npe-font-explain);
  line-height:1.7;
  color:#233d56;
}

.npe-ngn-tabpanel p{ margin:0 0 14px; }
.npe-ngn-tabpanel p:last-child{ margin-bottom:0; }
.npe-ngn-tabpanel ul{ margin:0; padding-left:20px; }

.npe-ngn-right-title{
  font-size:var(--npe-font-explain);
  font-weight:900;
  color:#1b2d42;
  line-height:1.55;
  margin-bottom:16px;
}

.npe-ngn-rows{
  display:grid;
  gap:16px;
}

.npe-ngn-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:14px;
  align-items:center;
}

.npe-ngn-row-label{
  font-size:var(--npe-font-option);
  line-height:1.5;
  color:#233d56;
}

.npe-ngn-select{
  width:100%;
  min-height:42px;
  border:1px solid #c9d6e2;
  border-radius:4px;
  background:#fff;
  color:#233d56;
  padding:8px 12px;
  font-size:var(--npe-font-base);
}

.npe-ngn-select.is-correct{
  border-color:#1d8f57;
  box-shadow:0 0 0 2px rgba(29,143,87,.08);
}

.npe-ngn-select.is-incorrect{
  border-color:#bf3c2b;
  box-shadow:0 0 0 2px rgba(191,60,43,.08);
}

.npe-ngn-submit-wrap{
  margin-top:20px;
}

.npe-ngn-submit{
  min-width:132px;
  min-height:44px;
  border-radius:14px;
  padding:11px 18px;
  font-size:var(--npe-font-base);
  font-weight:700;
}

.npe-ngn-review-why{
  margin-top:8px;
  color:#45627d;
  font-size:var(--npe-font-explain);
}

.npe-matrix-wrap{
  overflow-x:auto;
}

.npe-matrix-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid #c9d6e2;
}

.npe-matrix-table th,
.npe-matrix-table td{
  border:1px solid #d7e2ec;
  padding:12px 10px;
  vertical-align:middle;
}

.npe-matrix-table thead th{
  background:#f6f8fb;
  color:#1b2d42;
  font-size:var(--npe-font-explain);
  font-weight:900;
  text-align:center;
}

.npe-matrix-head-label,
.npe-matrix-row-label{
  text-align:left !important;
}

.npe-matrix-row-label{
  min-width:280px;
  color:#233d56;
  font-size:var(--npe-font-option);
  font-weight:700;
  line-height:1.45;
}

.npe-matrix-cell{
  min-width:108px;
  text-align:center;
  background:#fff;
}

.npe-matrix-choice{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  cursor:pointer;
}

.npe-matrix-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.npe-matrix-radio,
.npe-matrix-check{
  width:18px;
  height:18px;
  border:2px solid #7f95ab;
  display:inline-block;
  position:relative;
  background:#fff;
}
.npe-matrix-radio{border-radius:50%}
.npe-matrix-check{border-radius:4px}

.npe-matrix-choice input:checked + .npe-matrix-radio::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#1b4b7a;
}

.npe-matrix-choice input:checked + .npe-matrix-check::after{
  content:"";
  position:absolute;
  left:4px;
  top:0px;
  width:5px;
  height:10px;
  border:solid #1b4b7a;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.npe-matrix-cell.is-correct{
  background:rgba(29,143,87,.08);
}

.npe-matrix-cell.is-incorrect{
  background:rgba(191,60,43,.08);
}

.npe-matrix-cell.is-answer{
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.18);
}
.npe-matrix-cell.is-missed{
  background:rgba(29,143,87,.04);
}
.npe-matrix-validation-note{
  margin-top:12px;
  font-size:var(--npe-font-meta);
  color:#49657f;
  font-weight:700;
}

.npe-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media (max-width: 900px){
  .npe-ngn-shell{
    grid-template-columns:1fr;
  }
  .npe-ngn-left{
    border-right:none;
    border-bottom:1px solid #d7e2ec;
  }
}

@media (max-width: 640px){
  .npe-ngn-left,
  .npe-ngn-right{
    padding:14px;
  }
  .npe-ngn-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .npe-ngn-select{
    max-width:none;
  }
  .npe-ngn-tabs{
    flex-wrap:wrap;
  }
  .npe-ngn-tab{
    border-bottom:1px solid #c9d6e2;
  }
  .npe-matrix-table th,
  .npe-matrix-table td{
    padding:10px 8px;
  }
  .npe-matrix-row-label{
    min-width:220px;
  }
}


/* Matrix review state strengthening */
.npe-matrix-cell.is-correct{
  background:rgba(29,143,87,.16) !important;
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.45);
}

.npe-matrix-cell.is-correct .npe-matrix-radio,
.npe-matrix-cell.is-correct .npe-matrix-check{
  border-color:#1d8f57 !important;
  background:#ffffff;
}

.npe-matrix-cell.is-correct .npe-matrix-radio::after{
  background:#1d8f57 !important;
}

.npe-matrix-cell.is-correct .npe-matrix-check::after{
  border-color:#1d8f57 !important;
}

.npe-matrix-cell.is-incorrect{
  background:rgba(191,60,43,.16) !important;
  box-shadow:inset 0 0 0 2px rgba(191,60,43,.45);
}

.npe-matrix-cell.is-incorrect .npe-matrix-radio,
.npe-matrix-cell.is-incorrect .npe-matrix-check{
  border-color:#bf3c2b !important;
  background:#ffffff;
}

.npe-matrix-cell.is-incorrect .npe-matrix-radio::after{
  background:#bf3c2b !important;
}

.npe-matrix-cell.is-incorrect .npe-matrix-check::after{
  border-color:#bf3c2b !important;
}

.npe-matrix-cell.is-answer{
  background:rgba(29,143,87,.08) !important;
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.28);
}

.npe-matrix-cell.is-missed{
  background:rgba(29,143,87,.10) !important;
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.35);
}


/* Bowtie */
.npe-ngn-shell-bowtie .npe-ngn-right{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.npe-bowtie-top{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:start;
  gap:22px;
}

.npe-bowtie-target{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.npe-bowtie-target-condition{
  align-self:center;
  min-width:220px;
}

.npe-bowtie-slot{
  min-height:84px;
  border:1px solid #b9cad7;
  background:#ffffff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:12px;
  text-align:center;
  color:#4a6279;
}

.npe-bowtie-slot.is-filled{
  background:#f9fcfe;
}

.npe-bowtie-slot-label{
  font-size:12px;
  font-weight:800;
  color:#5d7085;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin-bottom:6px;
}

.npe-bowtie-slot-value{
  font-size:var(--npe-font-explain);
  font-weight:800;
  line-height:1.35;
  color:#233d56;
}

.npe-bowtie-slot.is-selected_correct{
  background:rgba(29,143,87,.16);
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.45);
}

.npe-bowtie-slot.is-selected_incorrect{
  background:rgba(191,60,43,.16);
  box-shadow:inset 0 0 0 2px rgba(191,60,43,.45);
}

.npe-bowtie-slot.is-missed_correct{
  background:rgba(29,143,87,.08);
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.28);
}

.npe-bowtie-banks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.npe-bowtie-bank{
  border:1px solid #c9d6e2;
  background:#fff;
}

.npe-bowtie-bank-head{
  background:#f6f8fb;
  border-bottom:1px solid #d7e2ec;
  padding:10px 12px;
  text-align:center;
  font-size:var(--npe-font-explain);
  font-weight:900;
  color:#1b2d42;
}

.npe-bowtie-bank-grid{
  padding:10px;
  display:grid;
  gap:10px;
}

.npe-bowtie-option{
  border:1px solid #b9cad7;
  background:#fff;
  color:#233d56;
  padding:14px 12px;
  text-align:center;
  line-height:1.35;
  font-size:var(--npe-font-explain);
  cursor:pointer;
}

.npe-bowtie-option.is-selected{
  box-shadow:inset 0 0 0 2px #1b4b7a;
  background:#f2f8fc;
}

.npe-bowtie-option:disabled{
  cursor:default;
  opacity:1;
}

.npe-bowtie-option.is-selected_correct{
  background:rgba(29,143,87,.16);
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.45);
}

.npe-bowtie-option.is-selected_incorrect{
  background:rgba(191,60,43,.16);
  box-shadow:inset 0 0 0 2px rgba(191,60,43,.45);
}

.npe-bowtie-option.is-missed_correct{
  background:rgba(29,143,87,.08);
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.28);
}

.npe-bowtie-validation-note{
  margin-top:-4px;
  font-size:var(--npe-font-meta);
  color:#49657f;
  font-weight:700;
}

@media (max-width: 980px){
  .npe-bowtie-top{
    grid-template-columns:1fr;
  }
  .npe-bowtie-target-condition{
    min-width:0;
  }
  .npe-bowtie-banks{
    grid-template-columns:1fr;
  }
}


/* Bowtie drag-drop polish */
.npe-ngn-shell-bowtie .npe-ngn-right{
  min-width:0;
}
.npe-bowtie-top{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(240px,1.15fr) minmax(180px,1fr);
  gap:18px;
  align-items:start;
}
.npe-bowtie-target{
  display:grid;
  gap:12px;
}
.npe-bowtie-target-condition{
  min-width:0;
  align-self:center;
}
.npe-bowtie-slot{
  min-height:98px;
  border:1.5px dashed #bdd0df;
  border-radius:16px;
  background:#fbfdff;
  padding:12px;
  text-align:center;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.npe-bowtie-slot.is-dragover{
  border-color:#1b7fc4;
  background:#eef7fd;
  box-shadow:0 0 0 3px rgba(27,127,196,.12);
}
.npe-bowtie-slot.is-filled{
  border-style:solid;
  background:#ffffff;
}
.npe-bowtie-slot-label{
  font-size:11px;
  letter-spacing:.05em;
  margin-bottom:8px;
}
.npe-bowtie-slot-placeholder{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#5f7287;
  font-weight:800;
  font-size:14px;
}
.npe-bowtie-chip{
  position:relative;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 34px 12px 12px;
  border-radius:14px;
  border:1px solid #c8d8e5;
  background:#f7fbff;
  color:#163956;
  font-weight:800;
  line-height:1.35;
}
.npe-bowtie-chip.is-selected_correct{
  border-color:rgba(29,143,87,.45);
  background:rgba(29,143,87,.12);
}
.npe-bowtie-chip.is-selected_incorrect{
  border-color:rgba(191,60,43,.45);
  background:rgba(191,60,43,.10);
}
.npe-bowtie-remove{
  position:absolute;
  top:8px;
  right:8px;
  width:22px;
  height:22px;
  border-radius:999px;
  border:1px solid #b9cad7;
  background:#fff;
  color:#49657f;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.npe-bowtie-banks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.npe-bowtie-bank{
  border:1px solid #d7e2ec;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.npe-bowtie-bank-head{
  padding:12px 14px;
  font-size:15px;
}
.npe-bowtie-bank-grid{
  padding:12px;
  gap:10px;
}
.npe-bowtie-option{
  min-height:62px;
  border:1px solid #c5d5e2;
  border-radius:14px;
  padding:12px 10px;
  text-align:center;
  background:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  cursor:grab;
  user-select:none;
}
.npe-bowtie-option:active{cursor:grabbing}
.npe-bowtie-option.is-used{
  opacity:.55;
}
.npe-bowtie-option.is-selected{
  box-shadow:inset 0 0 0 2px #1b4b7a;
  background:#f2f8fc;
}
.npe-bowtie-validation-note{
  margin-top:2px;
}
@media (max-width: 1100px){
  .npe-bowtie-top{
    grid-template-columns:1fr;
  }
  .npe-bowtie-banks{
    grid-template-columns:1fr;
  }
}

/* Bowtie polish v5 */
.npe-ngn-shell-bowtie .npe-ngn-right{
  padding-right:4px;
}
.npe-bowtie-top{
  grid-template-columns:minmax(210px,1fr) minmax(280px,1.28fr) minmax(210px,1fr);
  gap:14px;
  align-items:stretch;
}
.npe-bowtie-target{
  gap:10px;
}
.npe-bowtie-slot{
  min-height:88px;
  padding:10px 12px;
  border-radius:14px;
}
.npe-bowtie-target-condition .npe-bowtie-slot{
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.npe-bowtie-slot-label{
  font-size:10px;
  line-height:1.25;
  letter-spacing:.045em;
  margin-bottom:6px;
}
.npe-bowtie-slot-placeholder{
  min-height:34px;
  font-size:13px;
}
.npe-bowtie-chip{
  min-height:44px;
  padding:10px 32px 10px 10px;
  border-radius:12px;
  font-size:13px;
  line-height:1.28;
}
.npe-bowtie-remove{
  top:6px;
  right:6px;
  width:20px;
  height:20px;
  font-size:14px;
}
.npe-bowtie-banks{
  gap:10px;
  margin-top:12px;
}
.npe-bowtie-bank{
  border-radius:14px;
}
.npe-bowtie-bank-head{
  padding:10px 12px;
  font-size:14px;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.npe-bowtie-bank-grid{
  padding:10px;
  gap:8px;
}
.npe-bowtie-option{
  min-height:50px;
  padding:10px 10px;
  border-radius:12px;
  font-size:13px;
  line-height:1.28;
}
@media (max-width: 1280px){
  .npe-bowtie-top{
    grid-template-columns:minmax(180px,1fr) minmax(240px,1.18fr) minmax(180px,1fr);
  }
}
@media (max-width: 1100px){
  .npe-bowtie-top{
    grid-template-columns:1fr;
    gap:12px;
  }
  .npe-bowtie-target-condition .npe-bowtie-slot{
    min-height:120px;
  }
}



/* Bowtie layout rebuild v6 — layout only, logic unchanged */
.npe-ngn-shell-bowtie .npe-ngn-right{
  display:grid;
  grid-template-rows:auto auto auto auto;
  row-gap:14px;
  align-content:start;
  min-width:0;
}

.npe-ngn-shell-bowtie .npe-ngn-right-title{
  margin:0;
  line-height:1.45;
}

.npe-bowtie-top{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(220px,1.1fr) minmax(150px,1fr);
  column-gap:18px;
  align-items:start;
  margin-top:2px;
}

.npe-bowtie-target{
  display:grid;
  grid-auto-rows:minmax(78px,auto);
  gap:12px;
  min-width:0;
}

.npe-bowtie-target-actions,
.npe-bowtie-target-monitor{
  align-content:start;
}

.npe-bowtie-target-condition{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.npe-bowtie-target-condition .npe-bowtie-slot{
  width:100%;
  min-height:156px;
  max-width:280px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.npe-bowtie-slot{
  min-height:78px;
  padding:10px 12px;
  border-radius:12px;
  background:#fbfdff;
}

.npe-bowtie-slot-label{
  font-size:10px;
  line-height:1.2;
  letter-spacing:.04em;
  margin-bottom:6px;
}

.npe-bowtie-slot-placeholder{
  min-height:26px;
  font-size:12px;
  line-height:1.25;
}

.npe-bowtie-chip{
  min-height:42px;
  padding:9px 30px 9px 10px;
  border-radius:10px;
  font-size:12px;
  line-height:1.22;
}

.npe-bowtie-remove{
  top:5px;
  right:5px;
  width:18px;
  height:18px;
  font-size:13px;
}

.npe-bowtie-banks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:4px;
  align-items:start;
}

.npe-bowtie-bank{
  border-radius:12px;
}

.npe-bowtie-bank-head{
  min-height:46px;
  padding:8px 10px;
  font-size:13px;
  line-height:1.2;
}

.npe-bowtie-bank-grid{
  padding:8px;
  gap:8px;
}

.npe-bowtie-option{
  min-height:44px;
  padding:8px 8px;
  border-radius:10px;
  font-size:12px;
  line-height:1.22;
}

.npe-bowtie-validation-note{
  margin-top:0;
}

@media (max-width: 1180px){
  .npe-bowtie-top{
    grid-template-columns:minmax(132px,1fr) minmax(190px,1.05fr) minmax(132px,1fr);
    column-gap:14px;
  }
  .npe-bowtie-target-condition .npe-bowtie-slot{
    min-height:136px;
    max-width:240px;
  }
}

@media (max-width: 1040px){
  .npe-bowtie-top{
    grid-template-columns:1fr;
    row-gap:12px;
  }
  .npe-bowtie-target-condition{
    justify-content:stretch;
  }
  .npe-bowtie-target-condition .npe-bowtie-slot{
    max-width:none;
    min-height:110px;
  }
  .npe-bowtie-banks{
    grid-template-columns:1fr;
  }
}



/* Master-set polish v7 — desktop-first layout tuning, behavior unchanged */
@media (min-width: 1180px){
  .npe-practice-frame{
    max-width:1320px;
  }

  .npe-ngn-shell-bowtie{
    grid-template-columns:minmax(340px,0.95fr) minmax(620px,1.35fr);
  }

  .npe-ngn-shell-bowtie .npe-ngn-left,
  .npe-ngn-shell-bowtie .npe-ngn-right{
    padding:18px 18px 20px;
  }

  .npe-bowtie-top{
    grid-template-columns:minmax(170px,1fr) minmax(280px,1.18fr) minmax(170px,1fr);
    column-gap:22px;
    align-items:stretch;
  }

  .npe-bowtie-target{
    grid-auto-rows:minmax(86px,auto);
    gap:14px;
  }

  .npe-bowtie-target-condition .npe-bowtie-slot{
    min-height:186px;
    max-width:320px;
  }

  .npe-bowtie-slot{
    min-height:86px;
    padding:12px 14px;
  }

  .npe-bowtie-slot-label{
    font-size:11px;
  }

  .npe-bowtie-slot-placeholder{
    min-height:30px;
    font-size:13px;
  }

  .npe-bowtie-chip{
    min-height:46px;
    padding:10px 32px 10px 12px;
    font-size:13px;
    line-height:1.26;
  }

  .npe-bowtie-banks{
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:12px;
    margin-top:6px;
  }

  .npe-bowtie-bank{
    border-radius:14px;
  }

  .npe-bowtie-bank-head{
    min-height:50px;
    padding:10px 12px;
    font-size:13px;
  }

  .npe-bowtie-bank-grid{
    padding:10px;
    gap:10px;
  }

  .npe-bowtie-option{
    min-height:48px;
    padding:10px 10px;
    font-size:13px;
    line-height:1.26;
  }
}

@media (min-width: 980px) and (max-width: 1179px){
  .npe-ngn-shell-bowtie{
    grid-template-columns:minmax(300px,0.95fr) minmax(520px,1.2fr);
  }

  .npe-bowtie-top{
    grid-template-columns:minmax(150px,1fr) minmax(240px,1.12fr) minmax(150px,1fr);
    column-gap:18px;
  }

  .npe-bowtie-target{
    grid-auto-rows:minmax(82px,auto);
  }

  .npe-bowtie-target-condition .npe-bowtie-slot{
    min-height:166px;
    max-width:300px;
  }
}

/* Strong final review states for matrix items */
.npe-matrix-cell.is-correct{
  background:rgba(29,143,87,.16) !important;
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.42) !important;
}
.npe-matrix-cell.is-correct .npe-matrix-radio,
.npe-matrix-cell.is-correct .npe-matrix-check{
  border-color:#1d8f57 !important;
}
.npe-matrix-cell.is-correct .npe-matrix-radio::after{
  background:#1d8f57 !important;
}
.npe-matrix-cell.is-correct .npe-matrix-check::after{
  border-color:#1d8f57 !important;
}

.npe-matrix-cell.is-incorrect{
  background:rgba(191,60,43,.18) !important;
  box-shadow:inset 0 0 0 2px rgba(191,60,43,.48) !important;
}
.npe-matrix-cell.is-incorrect .npe-matrix-radio,
.npe-matrix-cell.is-incorrect .npe-matrix-check{
  border-color:#bf3c2b !important;
}
.npe-matrix-cell.is-incorrect .npe-matrix-radio::after{
  background:#bf3c2b !important;
}
.npe-matrix-cell.is-incorrect .npe-matrix-check::after{
  border-color:#bf3c2b !important;
}

.npe-matrix-cell.is-answer.is-missed{
  background:rgba(29,143,87,.11) !important;
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.32) !important;
}


/* Master v8 — container-aware Bowtie scaling, logic unchanged */
.npe-practice-frame,
.npe-app,
.npe-workspace-shell,
.npe-workspace-card,
.npe-workspace-scroll,
.npe-question-workspace,
.npe-ngn-shell,
.npe-ngn-left,
.npe-ngn-right,
.npe-bowtie-top,
.npe-bowtie-banks,
.npe-bowtie-bank,
.npe-bowtie-slot,
.npe-bowtie-chip,
.npe-bowtie-option{
  min-width:0;
}

.npe-practice-frame{
  box-sizing:border-box;
}

.npe-app{
  padding-inline:clamp(10px, 1.6vw, 22px);
}

.npe-ngn-shell-bowtie{
  grid-template-columns:minmax(300px,0.96fr) minmax(0,1.24fr);
  align-items:start;
}

.npe-ngn-shell-bowtie .npe-ngn-left{
  min-width:0;
}

.npe-ngn-shell-bowtie .npe-ngn-right{
  min-width:0;
  container-type:inline-size;
  container-name:bowtieright;
}

.npe-ngn-shell-bowtie .npe-ngn-tabpanel{
  min-width:0;
  overflow-wrap:anywhere;
}

.npe-bowtie-top{
  width:100%;
  grid-template-columns:minmax(138px,1fr) minmax(220px,1.14fr) minmax(138px,1fr);
  gap:clamp(10px, 1.2cqi, 18px);
  align-items:start;
}

.npe-bowtie-target{
  min-width:0;
  grid-auto-rows:minmax(74px,auto);
  gap:clamp(8px, 1cqi, 12px);
}

.npe-bowtie-target-condition{
  min-width:0;
  align-self:stretch;
}

.npe-bowtie-target-condition .npe-bowtie-slot{
  width:100%;
  max-width:min(100%, 290px);
  min-height:154px;
}

.npe-bowtie-slot{
  min-width:0;
  min-height:74px;
  padding:clamp(8px, 1cqi, 12px);
}

.npe-bowtie-slot-label{
  font-size:clamp(10px, 1.2cqi, 11px);
}

.npe-bowtie-slot-placeholder{
  min-height:24px;
  font-size:clamp(11px, 1.55cqi, 13px);
  line-height:1.25;
}

.npe-bowtie-chip{
  min-width:0;
  min-height:42px;
  padding:clamp(8px, 1cqi, 10px) 30px clamp(8px, 1cqi, 10px) clamp(9px, 1cqi, 12px);
  font-size:clamp(11px, 1.55cqi, 13px);
  line-height:1.24;
}

.npe-bowtie-chip-text,
.npe-bowtie-option{
  overflow-wrap:anywhere;
  word-break:normal;
}

.npe-bowtie-banks{
  width:100%;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(8px, 1cqi, 12px);
}

.npe-bowtie-bank{
  min-width:0;
}

.npe-bowtie-bank-head{
  min-height:46px;
  padding:clamp(8px, 1cqi, 10px) clamp(8px, 1cqi, 12px);
  font-size:clamp(12px, 1.5cqi, 13px);
  line-height:1.2;
}

.npe-bowtie-bank-grid{
  padding:clamp(8px, 1cqi, 10px);
  gap:clamp(8px, 1cqi, 10px);
}

.npe-bowtie-option{
  min-height:44px;
  padding:clamp(8px, 1cqi, 10px);
  font-size:clamp(11px, 1.5cqi, 13px);
  line-height:1.24;
}

.npe-bowtie-validation-note{
  padding-inline:2px;
}

@container bowtieright (max-width: 760px){
  .npe-bowtie-top{
    grid-template-columns:minmax(126px,1fr) minmax(180px,1.05fr) minmax(126px,1fr);
  }

  .npe-bowtie-target{
    grid-auto-rows:minmax(68px,auto);
    gap:8px;
  }

  .npe-bowtie-target-condition .npe-bowtie-slot{
    max-width:min(100%, 240px);
    min-height:136px;
  }

  .npe-bowtie-banks{
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:8px;
  }

  .npe-bowtie-bank-head{
    min-height:42px;
  }

  .npe-bowtie-option{
    min-height:40px;
  }
}

@container bowtieright (max-width: 640px){
  .npe-bowtie-top{
    grid-template-columns:minmax(118px,1fr) minmax(170px,1.02fr) minmax(118px,1fr);
    gap:8px;
  }

  .npe-bowtie-target{
    grid-auto-rows:minmax(64px,auto);
    gap:8px;
  }

  .npe-bowtie-target-condition{
    justify-content:center;
  }

  .npe-bowtie-target-condition .npe-bowtie-slot{
    max-width:min(100%, 220px);
    min-height:120px;
  }

  .npe-bowtie-banks{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .npe-bowtie-bank-head{
    min-height:40px;
    font-size:12px;
    padding:8px;
  }

  .npe-bowtie-bank-grid{
    padding:8px;
    gap:8px;
  }

  .npe-bowtie-option{
    min-height:38px;
    font-size:11px;
    padding:8px;
  }
}

@media (min-width: 1280px){
  .npe-ngn-shell-bowtie{
    grid-template-columns:minmax(330px,0.92fr) minmax(0,1.3fr);
  }
}

@media (max-width: 1140px){
  .npe-ngn-shell-bowtie{
    grid-template-columns:minmax(280px,0.92fr) minmax(0,1.16fr);
  }
}

@media (max-width: 980px){
  .npe-ngn-shell-bowtie{
    grid-template-columns:1fr;
  }

  .npe-ngn-shell-bowtie .npe-ngn-left{
    border-right:0;
    border-bottom:1px solid #d7e2ec;
  }
}


/* Trend shell v1 */
.npe-ngn-shell-trend{
  align-items:start;
}

.npe-trend-left,
.npe-trend-right{
  min-width:0;
}

.npe-trend-tabpanel{
  overflow:auto;
}

.npe-trend-entry{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}

.npe-trend-entry:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.npe-trend-time{
  display:inline-flex;
  align-items:flex-start;
  justify-content:center;
  padding:6px 8px;
  border-radius:999px;
  background:#eef5fb;
  color:var(--navy);
  font-size:var(--npe-font-meta);
  font-weight:900;
}

.npe-trend-body p{
  margin:0 0 8px;
}
.npe-trend-body p:last-child{
  margin-bottom:0;
}

.npe-trend-table{
  width:100%;
  border-collapse:collapse;
  min-width:520px;
  background:#fff;
}

.npe-trend-table th,
.npe-trend-table td{
  border:1px solid #d7e2ec;
  padding:10px 8px;
  text-align:left;
  font-size:var(--npe-font-explain);
}

.npe-trend-table th{
  background:#f6f8fb;
  font-weight:900;
}

.npe-trend-question-card{
  background:#fff;
  border:1px solid #d7e2ec;
  border-radius:16px;
  padding:16px;
  box-shadow:0 8px 22px rgba(16,36,61,.05);
}

.npe-trend-question-stem{
  color:var(--text);
  font-size:var(--npe-font-question);
  font-weight:800;
  line-height:1.45;
  margin-bottom:14px;
}

.npe-trend-options{
  display:grid;
  gap:10px;
}

.npe-trend-option{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 14px;
  border:1px solid #d7e2ec;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.npe-trend-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.npe-trend-bullet{
  width:18px;
  height:18px;
  border:2px solid #7f95ab;
  border-radius:50%;
  background:#fff;
  position:relative;
  flex:0 0 18px;
  margin-top:1px;
}

.npe-trend-option.is-selected{
  border-color:#1b4b7a;
  background:#f4f9fd;
  box-shadow:0 0 0 2px rgba(27,75,122,.10);
}

.npe-trend-option.is-selected .npe-trend-bullet::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#1b4b7a;
}

.npe-trend-option.is-correct{
  background:rgba(29,143,87,.16);
  border-color:#1d8f57;
  box-shadow:0 0 0 2px rgba(29,143,87,.14);
}

.npe-trend-option.is-correct .npe-trend-bullet{
  border-color:#1d8f57;
}

.npe-trend-option.is-correct .npe-trend-bullet::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#1d8f57;
}

.npe-trend-option.is-incorrect{
  background:rgba(191,60,43,.16);
  border-color:#bf3c2b;
  box-shadow:0 0 0 2px rgba(191,60,43,.12);
}

.npe-trend-option.is-incorrect .npe-trend-bullet{
  border-color:#bf3c2b;
}

.npe-trend-option.is-incorrect .npe-trend-bullet::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#bf3c2b;
}

.npe-trend-option.is-locked{
  cursor:default;
}

.npe-trend-option-text{
  font-size:var(--npe-font-option);
  line-height:1.45;
  color:var(--text);
}

@media (max-width: 1100px){
  .npe-trend-entry{
    grid-template-columns:64px 1fr;
    gap:10px;
  }
}


.npe-trend-options-sata{
  gap:12px;
}

.npe-trend-option-sata .npe-trend-box{
  width:20px;
  height:20px;
  border:2px solid #7f95ab;
  border-radius:6px;
  background:#fff;
  position:relative;
  flex:0 0 20px;
  margin-top:1px;
}

.npe-trend-option-sata .npe-trend-box::after{
  content:"";
  position:absolute;
  left:5px;
  top:1px;
  width:5px;
  height:10px;
  border:solid #1b4b7a;
  border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(0);
  transition:transform .18s ease;
}

.npe-trend-option-sata.is-selected .npe-trend-box{
  border-color:#1b4b7a;
  background:#f4f9fd;
}

.npe-trend-option-sata.is-selected .npe-trend-box::after{
  transform:rotate(45deg) scale(1);
}

.npe-trend-option-sata.is-correct{
  background:rgba(29,143,87,.16);
  border-color:#1d8f57;
  box-shadow:0 0 0 2px rgba(29,143,87,.14);
}

.npe-trend-option-sata.is-correct .npe-trend-box{
  border-color:#1d8f57;
  background:#eaf8f1;
}

.npe-trend-option-sata.is-correct .npe-trend-box::after{
  border-color:#1d8f57;
  transform:rotate(45deg) scale(1);
}

.npe-trend-option-sata.is-incorrect{
  background:rgba(191,60,43,.16);
  border-color:#bf3c2b;
  box-shadow:0 0 0 2px rgba(191,60,43,.12);
}

.npe-trend-option-sata.is-incorrect .npe-trend-box{
  border-color:#bf3c2b;
  background:#fdeeee;
}

.npe-trend-option-sata.is-incorrect .npe-trend-box::after{
  border-color:#bf3c2b;
  transform:rotate(45deg) scale(1);
}

.npe-trend-option-sata.is-missed{
  background:#f4fcf7;
  border-color:#1d8f57;
  box-shadow:0 0 0 2px rgba(29,143,87,.10);
}

.npe-trend-option-sata.is-missed .npe-trend-box{
  border-color:#1d8f57;
  background:#f4fcf7;
}

.npe-trend-option-sata.is-missed .npe-trend-box::after{
  border-color:#1d8f57;
  transform:rotate(45deg) scale(1);
}


/* Highlight Text shell */
.npe-highlight-text-shell{
  display:grid;
  gap:14px;
}

.npe-highlight-text-card{
  border:1px solid #d7e2ec;
  border-radius:16px;
  background:#fff;
  padding:16px;
  box-shadow:0 8px 22px rgba(16,36,61,.05);
}

.npe-highlight-text-stem{
  color:var(--text);
  font-size:var(--npe-font-question);
  font-weight:800;
  line-height:1.45;
  margin-bottom:14px;
}

.npe-highlight-text-prompt{
  margin:0 0 14px;
  font-size:var(--npe-font-meta);
  font-weight:800;
  color:#45627d;
}

.npe-highlight-text-block{
  display:flex;
  flex-wrap:wrap;
  gap:10px 8px;
  line-height:1.9;
}

.npe-highlight-text-segment{
  display:inline-block;
  border:1.5px solid #d7e2ec;
  border-radius:12px;
  background:#fff;
  color:#18324d;
  padding:10px 12px;
  font-size:var(--npe-font-option);
  line-height:1.5;
  cursor:pointer;
  user-select:none;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.npe-highlight-text-segment:hover{
  border-color:#175a85;
  background:#eef4fa;
}

.npe-highlight-text-segment.is-selected{
  border-color:#175a85;
  background:#eaf3fb;
  box-shadow:0 0 0 2px rgba(23,90,133,.08);
}

.npe-highlight-text-segment.is-correct{
  border-color:var(--success);
  background:#eaf8f1;
  box-shadow:0 0 0 2px rgba(29,143,87,.14);
}

.npe-highlight-text-segment.is-incorrect{
  border-color:var(--danger);
  background:#fdeeee;
  box-shadow:0 0 0 2px rgba(191,60,43,.12);
}

.npe-highlight-text-segment.is-missed{
  border-color:#1d8f57;
  background:#f4fcf7;
  box-shadow:0 0 0 2px rgba(29,143,87,.10);
}

.npe-highlight-text-segment.is-locked{
  cursor:default;
}

.npe-highlight-text-segment.is-locked:hover{
  background:#fff;
}

.npe-highlight-text-segment.is-selected.is-locked:hover{
  background:#eaf3fb;
}

.npe-highlight-text-segment.is-correct.is-locked:hover{
  background:#eaf8f1;
}

.npe-highlight-text-segment.is-incorrect.is-locked:hover{
  background:#fdeeee;
}

.npe-highlight-text-segment.is-missed.is-locked:hover{
  background:#f4fcf7;
}

@media (max-width: 640px){
  .npe-highlight-text-card{
    padding:12px;
  }

  .npe-highlight-text-segment{
    width:100%;
    padding:12px 12px;
    font-size:calc(var(--npe-font-option) - 1px);
  }
}


/* Highlight Text (inline note style) */
.npe-highlight-inline{
  border:1px solid #cfd9e4;
  border-radius:6px;
  background:#fff;
  padding:10px 12px;
  line-height:1.65;
  font-size:var(--npe-font-option);
}

.npe-highlight-inline .npe-highlight-token{
  cursor:pointer;
  user-select:none;
  padding:2px 2px;
  border-radius:4px;
}

.npe-highlight-inline .npe-highlight-token.is-selected{
  background:#ffe9a6;
}

.npe-highlight-inline .npe-highlight-token.is-correct{
  background:#c9f1d9;
}

.npe-highlight-inline .npe-highlight-token.is-incorrect{
  background:#ffd0d0;
}

.npe-highlight-inline .npe-highlight-token.is-missed{
  outline:2px solid rgba(29,143,87,.35);
  background:#eaf8f1;
}

.npe-highlight-inline .npe-highlight-token.is-locked{
  cursor:default;
}


/* Highlight Table shell */
.npe-highlight-table-shell{display:grid;gap:14px}
.npe-highlight-table-card{border:1px solid #d7e2ec;border-radius:16px;background:#fff;padding:16px;box-shadow:0 8px 22px rgba(16,36,61,.05)}
.npe-highlight-table-stem{color:var(--text);font-size:var(--npe-font-question);font-weight:800;line-height:1.45;margin-bottom:14px}
.npe-highlight-table-prompt{margin:0 0 14px;font-size:var(--npe-font-meta);font-weight:800;color:#45627d}
.npe-highlight-table-wrap{overflow:auto;border:1px solid #d7e2ec;border-radius:14px;background:#fff}
.npe-highlight-table-grid{width:100%;border-collapse:collapse;min-width:760px;background:#fff}
.npe-highlight-table-grid th,.npe-highlight-table-grid td{border:1px solid #d7e2ec;padding:12px 10px;vertical-align:middle;text-align:center;font-size:var(--npe-font-explain);line-height:1.4}
.npe-highlight-table-grid thead th{background:#f6f8fb;color:#1b2d42;font-weight:900}
.npe-highlight-table-head-label,.npe-highlight-table-row-label{text-align:left !important}
.npe-highlight-table-row-label{min-width:230px;color:#233d56;font-size:var(--npe-font-option);font-weight:700}
.npe-highlight-table-cell{background:#fff;color:#233d56;transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease}
.npe-highlight-table-cell.is-selectable{cursor:pointer}
.npe-highlight-table-cell.is-selectable:hover{background:#eef4fa}
.npe-highlight-table-cell.is-selected{background:#eaf3fb;box-shadow:inset 0 0 0 2px rgba(23,90,133,.12)}
.npe-highlight-table-cell.is-correct{background:#eaf8f1;box-shadow:inset 0 0 0 2px rgba(29,143,87,.35)}
.npe-highlight-table-cell.is-incorrect{background:#fdeeee;box-shadow:inset 0 0 0 2px rgba(191,60,43,.35)}
.npe-highlight-table-cell.is-missed{background:#f4fcf7;box-shadow:inset 0 0 0 2px rgba(29,143,87,.28)}
.npe-highlight-table-cell.is-locked{cursor:default}
@media (max-width:640px){.npe-highlight-table-card{padding:12px}.npe-highlight-table-grid{min-width:680px}}


/* Highlight Table layout fix */
.npe-ngn-shell-highlight-table{
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.45fr);
  align-items:start;
}

.npe-ngn-shell-highlight-table .npe-ngn-left,
.npe-ngn-shell-highlight-table .npe-highlight-table-right{
  min-width:0;
}

.npe-ngn-shell-highlight-table .npe-highlight-table-right{
  padding:18px 18px 20px;
}

.npe-ngn-shell-highlight-table .npe-highlight-table-shell{
  gap:12px;
}

.npe-ngn-shell-highlight-table .npe-highlight-table-card{
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  box-shadow:none;
}

.npe-ngn-shell-highlight-table .npe-highlight-table-wrap{
  border:1px solid #d7e2ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(16,36,61,.05);
}

.npe-ngn-shell-highlight-table .npe-highlight-table-grid{
  min-width:640px;
}

.npe-ngn-shell-highlight-table .npe-highlight-table-grid th,
.npe-ngn-shell-highlight-table .npe-highlight-table-grid td{
  padding:12px 12px;
}

.npe-ngn-shell-highlight-table .npe-highlight-table-row-label{
  min-width:190px;
}

.npe-ngn-shell-highlight-table .npe-ngn-submit-wrap{
  margin-top:14px;
}

@media (max-width: 980px){
  .npe-ngn-shell-highlight-table{
    grid-template-columns:1fr;
  }

  .npe-ngn-shell-highlight-table .npe-ngn-left{
    border-right:none;
    border-bottom:1px solid #d7e2ec;
  }
}

@media (max-width: 640px){
  .npe-ngn-shell-highlight-table .npe-highlight-table-grid{
    min-width:620px;
  }

  .npe-ngn-shell-highlight-table .npe-highlight-table-row-label{
    min-width:170px;
  }
}


/* Grouped Multiple Response shell */
.npe-gmr-shell{display:grid;gap:14px}
.npe-gmr-group{border:1px solid #d7e2ec;border-radius:16px;background:#fff;overflow:hidden}
.npe-gmr-group-title{background:#f6f8fb;border-bottom:1px solid #d7e2ec;padding:12px 14px;font-weight:900;color:#1b2d42}
.npe-gmr-options{display:grid;gap:10px;padding:12px 14px}
.npe-gmr-option{position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 12px;border:1.5px solid #c9d6e2;border-radius:14px;background:#fff;cursor:pointer;user-select:none;transition:border-color .18s ease, background-color .18s ease}
.npe-gmr-option:hover{border-color:#175a85;background:#eef4fa}
.npe-gmr-option input{position:absolute;opacity:0;pointer-events:none}
.npe-gmr-box{width:20px;height:20px;margin-top:2px;border:2px solid #98abc0;border-radius:6px;background:#fff;flex:0 0 20px;position:relative}
.npe-gmr-box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #175a85;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .18s ease}
.npe-gmr-text{font-size:var(--npe-font-option);line-height:1.5;color:#0c2340}
.npe-gmr-option.is-selected{border-color:#175a85;background:#eaf3fb}
.npe-gmr-option.is-selected .npe-gmr-box{border-color:#175a85;background:#eaf3fb}
.npe-gmr-option.is-selected .npe-gmr-box::after{transform:rotate(45deg) scale(1)}
.npe-gmr-option.is-correct{border-color:var(--success);background:#eaf8f1}
.npe-gmr-option.is-incorrect{border-color:var(--danger);background:#fdeeee}
.npe-gmr-option.is-missed{border-color:#2e8b57;background:#f4fcf7;box-shadow:0 0 0 1px rgba(29,143,87,.12) inset}
.npe-gmr-option.is-locked{cursor:default}
.npe-gmr-option.is-locked:hover{background:#fff}
.npe-gmr-option.is-selected.is-locked:hover{background:#eaf3fb}
.npe-gmr-option.is-correct.is-locked:hover{background:#eaf8f1}
.npe-gmr-option.is-incorrect.is-locked:hover{background:#fdeeee}
.npe-gmr-option.is-missed.is-locked:hover{background:#f4fcf7}


/* Grouped MR tick visibility for review states */
.npe-gmr-option.is-correct .npe-gmr-box{
  border-color:var(--success);
  background:#eaf8f1;
}

.npe-gmr-option.is-correct .npe-gmr-box::after{
  border-color:var(--success);
  transform:rotate(45deg) scale(1);
}

.npe-gmr-option.is-incorrect .npe-gmr-box{
  border-color:var(--danger);
  background:#fdeeee;
}

.npe-gmr-option.is-incorrect .npe-gmr-box::after{
  border-color:var(--danger);
  transform:rotate(45deg) scale(1);
}

.npe-gmr-option.is-missed .npe-gmr-box{
  border-color:#2e8b57;
  background:#f4fcf7;
}

.npe-gmr-option.is-missed .npe-gmr-box::after{
  border-color:#2e8b57;
  transform:rotate(45deg) scale(1);
}


/* Select N Multiple Response shell */
.npe-ngn-shell-selectn{
  grid-template-columns:minmax(320px,.96fr) minmax(0,1.12fr);
  align-items:start;
}

.npe-ngn-shell-selectn .npe-ngn-left,
.npe-ngn-shell-selectn .npe-selectn-right{
  min-width:0;
}

.npe-selectn-helper{
  margin:0 0 10px;
  font-size:var(--npe-font-meta);
  font-weight:800;
  color:#45627d;
}

.npe-selectn-counter{
  margin:0 0 14px;
  font-size:var(--npe-font-meta);
  font-weight:900;
  color:#1b2d42;
}

.npe-selectn-options{display:grid;gap:12px}
.npe-selectn-option{position:relative;display:flex;align-items:flex-start;gap:14px;min-height:56px;padding:14px 16px;border:1.5px solid #c9d6e2;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .18s ease, background-color .18s ease;user-select:none}
.npe-selectn-option:hover{border-color:#175a85;background:#eef4fa}
.npe-selectn-option input{position:absolute;opacity:0;pointer-events:none}
.npe-selectn-box{width:20px;height:20px;margin-top:2px;border:2px solid #98abc0;border-radius:6px;background:#fff;flex:0 0 20px;position:relative}
.npe-selectn-box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #175a85;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .18s ease}
.npe-selectn-text{font-size:var(--npe-font-option);line-height:1.5;color:#0c2340}
.npe-selectn-option.is-selected{border-color:#175a85;background:#eaf3fb}
.npe-selectn-option.is-selected .npe-selectn-box{border-color:#175a85;background:#eaf3fb}
.npe-selectn-option.is-selected .npe-selectn-box::after{transform:rotate(45deg) scale(1)}
.npe-selectn-option.is-correct{border-color:var(--success);background:#eaf8f1}
.npe-selectn-option.is-correct .npe-selectn-box{border-color:var(--success);background:#eaf8f1}
.npe-selectn-option.is-correct .npe-selectn-box::after{border-color:var(--success);transform:rotate(45deg) scale(1)}
.npe-selectn-option.is-incorrect{border-color:var(--danger);background:#fdeeee}
.npe-selectn-option.is-incorrect .npe-selectn-box{border-color:var(--danger);background:#fdeeee}
.npe-selectn-option.is-incorrect .npe-selectn-box::after{border-color:var(--danger);transform:rotate(45deg) scale(1)}
.npe-selectn-option.is-missed{border-color:#2e8b57;background:#f4fcf7;box-shadow:0 0 0 1px rgba(29,143,87,.12) inset}
.npe-selectn-option.is-missed .npe-selectn-box{border-color:#2e8b57;background:#f4fcf7}
.npe-selectn-option.is-missed .npe-selectn-box::after{border-color:#2e8b57;transform:rotate(45deg) scale(1)}
.npe-selectn-option.is-locked{cursor:default}
.npe-selectn-option.is-locked:hover{background:#fff}
.npe-selectn-option.is-selected.is-locked:hover{background:#eaf3fb}
.npe-selectn-option.is-correct.is-locked:hover{background:#eaf8f1}
.npe-selectn-option.is-incorrect.is-locked:hover{background:#fdeeee}
.npe-selectn-option.is-missed.is-locked:hover{background:#f4fcf7}
.npe-selectn-option.is-disabled-choice{opacity:.6}

@media (max-width: 980px){
  .npe-ngn-shell-selectn{grid-template-columns:1fr}
  .npe-ngn-shell-selectn .npe-ngn-left{border-right:none;border-bottom:1px solid #d7e2ec}
}


/* SATA review-state check visibility */
.npe-sata-option.is-correct .npe-sata-box{
  border-color:var(--success);
  background:#eaf8f1;
}

.npe-sata-option.is-correct .npe-sata-box::after{
  border-color:var(--success);
  transform:rotate(45deg) scale(1);
}

.npe-sata-option.is-incorrect .npe-sata-box{
  border-color:var(--danger);
  background:#fdeeee;
}

.npe-sata-option.is-incorrect .npe-sata-box::after{
  border-color:var(--danger);
  transform:rotate(45deg) scale(1);
}

.npe-sata-option.is-missed .npe-sata-box{
  border-color:#2e8b57;
  background:#f4fcf7;
}

.npe-sata-option.is-missed .npe-sata-box::after{
  border-color:#2e8b57;
  transform:rotate(45deg) scale(1);
}

/* Drag-and-Drop Cloze shell */
.npe-ngn-shell-ddc{
  grid-template-columns:minmax(320px,.96fr) minmax(0,1.12fr);
  align-items:start;
}

.npe-ngn-shell-ddc .npe-ngn-left,
.npe-ngn-shell-ddc .npe-ddc-right{
  min-width:0;
}

.npe-ddc-sentence-card{
  border:1px solid #d7e2ec;
  border-radius:16px;
  background:#fff;
  padding:16px;
  box-shadow:0 8px 22px rgba(16,36,61,.05);
}

.npe-ddc-sentence{
  font-size:var(--npe-font-option);
  line-height:1.7;
  color:#0c2340;
}

.npe-ddc-blank{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  min-height:44px;
  margin:0 6px 6px 0;
  padding:8px 12px;
  border:1.5px dashed #b9cad7;
  border-radius:12px;
  background:#fbfdff;
  color:#1b2d42;
  cursor:pointer;
  vertical-align:middle;
}

.npe-ddc-blank:hover{
  border-color:#175a85;
  background:#eef4fa;
}

.npe-ddc-blank.is-filled{
  border-style:solid;
  background:#f2f8fc;
  box-shadow:inset 0 0 0 2px rgba(27,75,122,.10);
}

.npe-ddc-blank.is-correct{
  border-style:solid;
  border-color:var(--success);
  background:#eaf8f1;
  box-shadow:inset 0 0 0 2px rgba(29,143,87,.16);
}

.npe-ddc-blank.is-incorrect{
  border-style:solid;
  border-color:var(--danger);
  background:#fdeeee;
  box-shadow:inset 0 0 0 2px rgba(191,60,43,.12);
}

.npe-ddc-blank.is-locked{cursor:default;}

.npe-ddc-blank-text{
  font-size:15px;
  font-weight:800;
  line-height:1.35;
  color:#163956;
  text-align:center;
}

.npe-ddc-bank{
  margin-top:14px;
  border:1px solid #d7e2ec;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}

.npe-ddc-bank-title{
  background:#f6f8fb;
  border-bottom:1px solid #d7e2ec;
  padding:12px 14px;
  font-weight:900;
  color:#1b2d42;
}

.npe-ddc-choices{
  display:grid;
  gap:10px;
  padding:12px 14px;
}

.npe-ddc-choice{
  width:100%;
  text-align:center;
  border:1.5px solid #c9d6e2;
  border-radius:12px;
  background:#fff;
  padding:12px 14px;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  color:#163956;
  cursor:grab;
  user-select:none;
}

.npe-ddc-choice:hover{
  border-color:#175a85;
  background:#eef4fa;
}

.npe-ddc-choice.is-active{
  border-color:#175a85;
  background:#eaf3fb;
  box-shadow:0 0 0 2px rgba(23,90,133,.08) inset;
}

.npe-ddc-choice.is-used,
.npe-ddc-choice:disabled{
  opacity:.55;
  cursor:not-allowed;
  background:#f6f9fc;
}

@media (max-width: 980px){
  .npe-ngn-shell-ddc{grid-template-columns:1fr;}
  .npe-ngn-shell-ddc .npe-ngn-left{border-right:none;border-bottom:1px solid #d7e2ec;}
}

@media (max-width: 640px){
  .npe-ddc-blank{min-width:130px;width:auto;display:inline-flex;}
  .npe-ddc-choice{font-size:14px;}
}


/* SATA tick visibility for Select N review states */
.npe-sata-option.is-correct .npe-sata-box{
  border-color:var(--success);
  background:#eaf8f1;
}

.npe-sata-option.is-correct .npe-sata-box::after{
  border-color:var(--success);
  transform:rotate(45deg) scale(1);
}

.npe-sata-option.is-incorrect .npe-sata-box{
  border-color:var(--danger);
  background:#fdeeee;
}

.npe-sata-option.is-incorrect .npe-sata-box::after{
  border-color:var(--danger);
  transform:rotate(45deg) scale(1);
}

.npe-sata-option.is-missed .npe-sata-box{
  border-color:#2e8b57;
  background:#f4fcf7;
}

.npe-sata-option.is-missed .npe-sata-box::after{
  border-color:#2e8b57;
  transform:rotate(45deg) scale(1);
}



/* Case Study shell */
.npe-case-shell{
  display:grid;
  gap:14px;
}
.npe-case-head{
  display:grid;
  gap:12px;
  border:1px solid #d7e2ec;
  border-radius:16px;
  background:#fff;
  padding:16px 18px;
}
.npe-case-title{
  font-size:var(--npe-font-question);
  font-weight:900;
  color:#14283b;
}
.npe-case-client{
  margin-top:4px;
  color:#45627d;
  font-size:var(--npe-font-explain);
}
.npe-case-progress{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  pointer-events:none;
  user-select:none;
}
.npe-case-breadcrumb-step{
  min-height:46px;
  border:1px solid #d7e2ec;
  border-radius:12px;
  background:#f7fafc;
  color:#6a7c8f;
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:center;
  text-align:center;
  padding:8px 10px;
  font-size:13px;
  font-weight:800;
  cursor:default;
  box-shadow:none;
}
.npe-case-breadcrumb-step.is-active{
  border-color:#175a85;
  background:#eaf3fb;
  color:#175a85;
}
.npe-case-breadcrumb-step.is-done{
  border-color:#9bcfb4;
  background:#eef8f1;
  color:#1d8f57;
}

.npe-case-breadcrumb-step span:last-child{
  pointer-events:none;
}
.npe-case-breadcrumb-index{
  pointer-events:none;
}
.npe-case-breadcrumb-index{
  width:22px;
  height:22px;
  border-radius:999px;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
}
.npe-case-body{
  display:grid;
  grid-template-columns:minmax(320px,.95fr) minmax(0,1.18fr);
  min-height:480px;
  border:1px solid #d7e2ec;
  background:#fff;
}
.npe-case-left,
.npe-case-right{
  min-width:0;
  padding:18px 20px;
}
.npe-case-left{
  border-right:1px solid #d7e2ec;
}
.npe-case-tabs{
  display:flex;
  align-items:flex-end;
  gap:0;
  flex-wrap:nowrap;
  overflow:auto;
  border-bottom:1px solid #d7e2ec;
}
.npe-case-tab{
  border:1px solid #c9d6e2;
  border-bottom:none;
  background:#f6f8fb;
  color:#233d56;
  padding:10px 14px;
  font-size:var(--npe-font-meta);
  font-weight:800;
  cursor:pointer;
  position:relative;
  white-space:nowrap;
}
.npe-case-tab.is-active{
  background:#fff;
}
.npe-case-tab-badge{
  margin-left:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:18px;
  padding:0 6px;
  border-radius:999px;
  background:#1b7fc4;
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.npe-case-tabpanel{
  border:1px solid #d7e2ec;
  border-top:none;
  min-height:260px;
  max-height:420px;
  overflow:auto;
  background:#fff;
  padding:16px;
}
.npe-case-step-meta{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.npe-case-step-title{
  font-size:var(--npe-font-explain);
  font-weight:900;
  color:#1b2d42;
}
.npe-case-step-rule{
  color:#45627d;
  font-size:var(--npe-font-meta);
  font-weight:800;
}
.npe-case-step-stem{
  margin-top:12px;
  font-size:var(--npe-font-option);
  line-height:1.55;
  color:#233d56;
  font-weight:800;
}
.npe-case-step-card{
  margin-top:14px;
}
.npe-case-step-footer{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.npe-case-step-result{
  font-size:var(--npe-font-meta);
  font-weight:900;
  color:#5f7287;
}
.npe-case-step-result.correct{color:var(--success)}
.npe-case-step-result.partial{color:var(--warn)}
.npe-case-step-result.incorrect{color:var(--danger)}
.npe-case-note-entry{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.npe-case-note-entry:last-child{
  border-bottom:none;
  padding-bottom:0;
}
.npe-case-note-time{
  display:inline-flex;
  align-items:flex-start;
  justify-content:center;
  padding:6px 8px;
  border-radius:999px;
  background:#eef5fb;
  color:var(--navy);
  font-size:var(--npe-font-meta);
  font-weight:900;
}
.npe-case-note-body{
  color:#233d56;
  line-height:1.7;
  font-size:var(--npe-font-explain);
}
.npe-case-tablewrap{
  overflow:auto;
}
.npe-case-data-table{
  width:100%;
  border-collapse:collapse;
  min-width:420px;
}
.npe-case-data-table th,
.npe-case-data-table td{
  border:1px solid #d7e2ec;
  padding:10px 8px;
  text-align:left;
  font-size:14px;
}
.npe-case-data-table th{
  background:#f6f8fb;
  font-weight:900;
  color:#1b2d42;
}
.npe-case-highlight{
  border:1px solid #cfd9e4;
  border-radius:12px;
  background:#fff;
  padding:14px;
  line-height:1.9;
}
.npe-case-cloze-text{
  font-size:var(--npe-font-option);
  line-height:1.8;
  color:#0c2340;
}
@media (max-width: 1100px){
  .npe-case-progress{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width: 980px){
  .npe-case-body{
    grid-template-columns:1fr;
  }
  .npe-case-left{
    border-right:none;
    border-bottom:1px solid #d7e2ec;
  }
}
@media (max-width: 640px){
  .npe-case-progress{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .npe-case-left,
  .npe-case-right{
    padding:14px;
  }
  .npe-case-note-entry{
    grid-template-columns:1fr;
    gap:8px;
  }
}


/* Case Study live UI cleanup */
.npe-case-progress{
  display:none !important;
}

.npe-case-head{
  gap:6px;
}

/* Case Study highlight interactions */
.npe-case-highlight{
  display:flex;
  flex-wrap:wrap;
  gap:10px 8px;
  line-height:1.9;
}

.npe-case-highlight .npe-highlight-token{
  display:inline-block;
  border:1.5px solid #d7e2ec;
  border-radius:12px;
  background:#fff;
  color:#18324d;
  padding:10px 12px;
  font-size:var(--npe-font-option);
  line-height:1.5;
  cursor:pointer;
  user-select:none;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.npe-case-highlight .npe-highlight-token:hover{
  border-color:#175a85;
  background:#eef4fa;
}

.npe-case-highlight .npe-highlight-token.is-selected{
  border-color:#175a85;
  background:#eaf3fb;
  box-shadow:0 0 0 2px rgba(23,90,133,.08);
}

.npe-case-highlight .npe-highlight-token.is-correct{
  border-color:var(--success);
  background:#eaf8f1;
  box-shadow:0 0 0 2px rgba(29,143,87,.14);
}

.npe-case-highlight .npe-highlight-token.is-incorrect{
  border-color:var(--danger);
  background:#fdeeee;
  box-shadow:0 0 0 2px rgba(191,60,43,.12);
}

.npe-case-highlight .npe-highlight-token.is-missed{
  border-color:#1d8f57;
  background:#f4fcf7;
  box-shadow:0 0 0 2px rgba(29,143,87,.10);
}

.npe-case-highlight .npe-highlight-token.is-locked{
  cursor:default;
}

/* make matrix labels clearly clickable inside case study */
.npe-case-step-card .npe-matrix-choice{
  cursor:pointer;
}
/* =========================================================
   NPE PROFESSIONAL CLINICAL UI/UX OVERRIDE PATCH
   Paste at the very end of the current CSS
   ========================================================= */

.npe-practice-frame{
  --navy:#165d86;
  --cyan:#34a8cc;
  --bg:#f8f9fa;
  --panel:#ffffff;
  --line:#dee2e6;
  --text:#212529;
  --muted:#495057;
  --accent:#2d9cdb;
  --success:#2f9e44;
  --danger:#c92a2a;
  --warn:#f08c00;
  --highlight:#fff3bf;

  --npe-font-base:16px;
  --npe-font-question:22px;
  --npe-font-option:17px;
  --npe-font-explain:16px;
  --npe-font-meta:13px;

  background:var(--bg);
  border:1px solid var(--line);
  border-radius:4px;
  box-shadow:none;
  max-width:1360px;
  color:var(--text);
}

/* universal flattening */
.npe-practice-frame *,
.npe-practice-frame *::before,
.npe-practice-frame *::after{
  box-sizing:border-box;
}

.npe-workspace-card,
.npe-modalbox,
.npe-calc,
.npe-summary-card,
.npe-rationale-item,
.npe-adbar,
.npe-ngn-shell,
.npe-case-head,
.npe-case-body,
.npe-ordered-panel,
.npe-hotspot-board,
.npe-graphic-panel,
.npe-highlight-text-card,
.npe-highlight-table-card,
.npe-gmr-group,
.npe-ddc-sentence-card,
.npe-ddc-bank,
.npe-bowtie-bank{
  border-radius:4px !important;
  box-shadow:none !important;
}

/* top header */
.npe-topbar{
  min-height:58px;
  background:var(--navy);
  padding:10px 18px;
  gap:10px;
}

.npe-brand{
  font-size:15px;
  font-weight:700;
  letter-spacing:.01em;
}

.npe-logo{
  width:24px;
  height:24px;
  border-radius:4px;
  border:1px solid rgba(255,255,255,.45);
  background:#e9f2f7;
}

.npe-topic-title{
  font-size:16px;
  font-weight:700;
  max-width:none;
}

.npe-mode-label{
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  color:rgba(255,255,255,.86);
}

.npe-righthead{
  gap:14px;
  font-size:13px;
  font-weight:600;
}

/* toolbar */
.npe-subbar{
  min-height:44px;
  background:var(--cyan);
  padding:6px 16px;
}

.npe-toolbar-left,
.npe-toolbar-right{
  gap:14px;
}

.npe-iconbtn{
  width:24px;
  height:24px;
}

.npe-iconbtn.active{
  background:rgba(255,255,255,.12);
  border-radius:4px;
}

/* overall body */
.npe-app{
  background:var(--bg);
  padding:16px;
}

.npe-workspace-shell{
  gap:10px;
}

.npe-workspace-card{
  border:1px solid var(--line);
  background:var(--panel);
}

.npe-workspace-head{
  justify-content:space-between;
  padding:12px 24px 0;
  gap:12px;
}

.npe-eyebrow{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#6c757d;
  letter-spacing:.02em;
}

.npe-statuspill{
  border:1px solid var(--line);
  background:#f8f9fa;
  color:#495057;
  border-radius:4px;
  padding:5px 10px;
  font-size:12px;
  font-weight:600;
}

.npe-workspace-scroll{
  padding:24px;
}

.npe-q-section{
  margin-bottom:24px;
}

.npe-q-label{
  margin-bottom:10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#6c757d;
}

.npe-question-stem{
  font-size:var(--npe-font-question);
  line-height:1.5;
  font-weight:600;
  color:var(--text);
  margin:0;
}

.npe-question-instruction,
.npe-fib-instruction,
.npe-selectn-helper,
.npe-selectn-counter,
.npe-ngn-review-why,
.npe-hotspot-note,
.npe-case-step-rule,
.npe-matrix-validation-note,
.npe-bowtie-validation-note{
  color:var(--muted);
  font-weight:500;
}

/* buttons */
.npe-btn{
  border:1px solid var(--line);
  border-radius:4px;
  background:#fff;
  color:#343a40;
  padding:10px 16px;
  min-height:40px;
  font-size:14px;
  font-weight:600;
  box-shadow:none;
}

.npe-btn:hover{
  background:#f8f9fa;
}

.npe-btn.npe-primary{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}

.npe-btn.npe-primary:hover{
  filter:brightness(.97);
}

.npe-navbtn{
  min-width:120px;
}

/* reveal / rationale */
.npe-reveal-shell{
  border-top:1px solid var(--line);
  background:#fff;
  padding:24px;
}

.npe-result-head{
  font-size:20px;
  font-weight:700;
  margin-bottom:12px;
}

.npe-meta-pill{
  border:1px solid var(--line);
  background:#f8f9fa;
  border-radius:4px;
  padding:8px 10px;
  color:#495057;
  font-weight:600;
}

.npe-rationale-item{
  border:1px solid var(--line);
  background:#fff;
  padding:16px;
  font-size:15px;
  line-height:1.65;
}

.npe-rationale-item strong{
  font-weight:700;
  color:var(--text);
}

/* question list / modal flattening */
.npe-modalhead{
  padding:14px 18px;
  border-bottom:1px solid var(--line);
  font-weight:700;
}

.npe-modalbody{
  padding:18px;
}

.npe-summary-card{
  border:1px solid var(--line);
  background:#fff;
  padding:14px;
}

.npe-summary-card .lab{
  color:#6c757d;
  font-weight:600;
}

.npe-summary-card .val{
  color:var(--text);
  font-weight:700;
  font-size:22px;
}

.npe-qbtn{
  border:1px solid var(--line);
  border-radius:4px;
  font-weight:600;
}

.npe-qbtn.current{
  box-shadow:none;
  border-color:var(--accent);
}

/* classic options — lighter list-row style */
.npe-mcq-options,
.npe-sata-options,
.npe-selectn-options,
.npe-gmr-options,
.npe-trend-options,
.npe-trend-options-sata{
  gap:0;
}

.npe-mcq-option,
.npe-sata-option,
.npe-selectn-option,
.npe-gmr-option,
.npe-trend-option,
.npe-trend-option-sata{
  min-height:auto;
  padding:12px 0;
  border:none !important;
  border-bottom:1px solid var(--line) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  gap:12px;
}

.npe-mcq-option:hover,
.npe-sata-option:hover,
.npe-selectn-option:hover,
.npe-gmr-option:hover,
.npe-trend-option:hover,
.npe-trend-option-sata:hover{
  background:rgba(45,156,219,.04) !important;
}

.npe-mcq-option:last-child,
.npe-sata-option:last-child,
.npe-selectn-option:last-child,
.npe-gmr-option:last-child,
.npe-trend-option:last-child,
.npe-trend-option-sata:last-child{
  border-bottom:none !important;
}

.npe-mcq-option-text,
.npe-sata-option-text,
.npe-selectn-text,
.npe-gmr-text,
.npe-trend-option-text{
  font-size:16px;
  line-height:1.55;
  color:var(--text);
}

/* selection / review states — calmer */
.npe-mcq-option.is-selected,
.npe-sata-option.is-selected,
.npe-selectn-option.is-selected,
.npe-gmr-option.is-selected,
.npe-trend-option.is-selected,
.npe-trend-option-sata.is-selected{
  background:rgba(45,156,219,.07) !important;
}

.npe-mcq-option.is-correct,
.npe-sata-option.is-correct,
.npe-selectn-option.is-correct,
.npe-gmr-option.is-correct,
.npe-trend-option.is-correct,
.npe-trend-option-sata.is-correct{
  background:rgba(47,158,68,.10) !important;
}

.npe-mcq-option.is-incorrect,
.npe-sata-option.is-incorrect,
.npe-selectn-option.is-incorrect,
.npe-gmr-option.is-incorrect,
.npe-trend-option.is-incorrect,
.npe-trend-option-sata.is-incorrect{
  background:rgba(201,42,42,.08) !important;
}

.npe-mcq-option.is-missed,
.npe-sata-option.is-missed,
.npe-selectn-option.is-missed,
.npe-gmr-option.is-missed,
.npe-trend-option-sata.is-missed{
  background:rgba(47,158,68,.06) !important;
}

/* bullets / checks */
.npe-mcq-bullet,
.npe-sata-box,
.npe-selectn-box,
.npe-gmr-box,
.npe-trend-bullet,
.npe-trend-box{
  border-color:#868e96;
  background:#fff;
}

/* inputs */
.npe-fib-input,
.npe-ngn-select,
.npe-notearea,
.npe-field textarea,
.npe-field select{
  border:1px solid var(--line);
  border-radius:4px;
  background:#fff;
  color:var(--text);
}

.npe-fib-input:focus,
.npe-ngn-select:focus,
.npe-notearea:focus,
.npe-field textarea:focus,
.npe-field select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(45,156,219,.10);
  outline:none;
}

/* professional split-pane for NGN / trend / case */
.npe-ngn-shell,
.npe-case-body{
  grid-template-columns:minmax(0,60%) minmax(320px,40%);
  border:1px solid var(--line);
  border-radius:4px !important;
  min-height:520px;
}

.npe-ngn-left,
.npe-ngn-right,
.npe-case-left,
.npe-case-right{
  padding:24px;
}

.npe-ngn-left,
.npe-case-left{
  border-right:1px solid var(--line);
}

.npe-ngn-scenario-title,
.npe-case-title{
  font-size:14px;
  font-weight:600;
  color:#495057;
  line-height:1.45;
}

.npe-ngn-scenario-subtitle,
.npe-case-client{
  margin-top:4px;
  font-size:13px;
  color:#6c757d;
}

.npe-ngn-item-label{
  margin-top:10px;
  font-size:13px;
  font-weight:600;
  color:var(--text);
}

/* tabs */
.npe-ngn-tabs,
.npe-case-tabs,
.npe-exhibit-tabs{
  margin-top:16px;
  border-bottom:1px solid var(--line);
  gap:0;
}

.npe-ngn-tab,
.npe-case-tab,
.npe-exhibit-tab{
  border:1px solid var(--line);
  border-bottom:none;
  background:#f1f3f5;
  color:#495057;
  border-radius:0 !important;
  padding:10px 14px;
  font-size:13px;
  font-weight:600;
  margin:0 4px -1px 0;
  min-height:auto;
}

.npe-ngn-tab.is-active,
.npe-case-tab.is-active,
.npe-exhibit-tab.is-active{
  background:#fff;
  color:var(--text);
  border-color:var(--line);
  position:relative;
  z-index:2;
}

.npe-case-tab-badge{
  border-radius:4px;
  min-width:28px;
  min-height:16px;
  background:var(--accent);
  font-size:10px;
  font-weight:700;
}

/* tab content panels */
.npe-ngn-tabpanel,
.npe-case-tabpanel,
.npe-exhibit-panel{
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 4px 4px !important;
  background:#fff;
  padding:18px;
  line-height:1.7;
  color:var(--muted);
}

/* right interaction panels */
.npe-ngn-right-title,
.npe-case-step-title,
.npe-trend-question-stem,
.npe-highlight-text-stem,
.npe-highlight-table-stem{
  color:var(--text);
  font-size:18px;
  font-weight:600;
  line-height:1.5;
  margin-bottom:16px;
}

.npe-case-step-stem,
.npe-ngn-row-label{
  color:var(--text);
  font-weight:500;
}

/* case progression header feel */
.npe-case-head{
  border:1px solid var(--line);
  background:#fff;
  padding:14px 18px;
}

.npe-case-progress{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  margin-top:4px;
}

.npe-case-breadcrumb-step{
  min-height:34px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#f8f9fa;
  color:#6c757d;
  font-size:12px;
  font-weight:600;
  padding:6px 8px;
}

.npe-case-breadcrumb-step.is-active{
  border-color:var(--accent);
  background:#fff;
  color:var(--text);
}

.npe-case-breadcrumb-step.is-done{
  border-color:#ced4da;
  background:#f8f9fa;
  color:#495057;
}

.npe-case-breadcrumb-index{
  width:18px;
  height:18px;
  border-radius:4px;
  font-size:11px;
  background:#fff;
  border:1px solid var(--line);
}

/* matrix styling */
.npe-matrix-table,
.npe-highlight-table-grid,
.npe-trend-table,
.npe-case-data-table,
.npe-exhibit-table{
  border:1px solid var(--line);
}

.npe-matrix-table th,
.npe-matrix-table td,
.npe-highlight-table-grid th,
.npe-highlight-table-grid td,
.npe-trend-table th,
.npe-trend-table td,
.npe-case-data-table th,
.npe-case-data-table td,
.npe-exhibit-table th,
.npe-exhibit-table td{
  border:1px solid var(--line);
  padding:10px 10px;
}

.npe-matrix-table thead th,
.npe-highlight-table-grid thead th,
.npe-trend-table th,
.npe-case-data-table th,
.npe-exhibit-table thead th{
  background:#f8f9fa;
  color:var(--text);
  font-weight:600;
}

.npe-matrix-row-label,
.npe-highlight-table-row-label{
  color:var(--text);
  font-weight:600;
}

/* ordered response */
.npe-ordered-panel,
.npe-ordered-slot,
.npe-ordered-slot-card,
.npe-ordered-bank-card,
.npe-ordered-bank-empty{
  border-radius:4px !important;
}

.npe-ordered-panel{
  border:1px solid var(--line);
  background:#fff;
  padding:18px;
}

.npe-ordered-panel-title{
  color:#6c757d;
  font-size:12px;
  font-weight:700;
}

.npe-ordered-bank-key,
.npe-ordered-slot-key{
  border-radius:4px;
  background:#f1f3f5;
  color:#495057;
}

/* highlight / draggable / hotspot */
.npe-highlight-text-card,
.npe-ddc-sentence-card,
.npe-hotspot-board,
.npe-graphic-panel{
  border:1px solid var(--line);
  background:#fff;
  padding:18px;
}

.npe-highlight-text-segment,
.npe-case-highlight .npe-highlight-token,
.npe-ddc-choice,
.npe-ddc-blank,
.npe-bowtie-option,
.npe-bowtie-slot,
.npe-bowtie-chip{
  border-radius:4px !important;
}

/* bowtie soften */
.npe-bowtie-bank,
.npe-bowtie-bank-head,
.npe-bowtie-slot,
.npe-bowtie-option{
  border-color:var(--line);
}

.npe-bowtie-bank-head{
  background:#f8f9fa;
  color:var(--text);
  font-weight:600;
}

.npe-bowtie-slot{
  background:#fff;
}

.npe-bowtie-option{
  background:#fff;
  color:var(--text);
}

.npe-bowtie-option.is-selected{
  background:rgba(45,156,219,.07);
  box-shadow:none;
  border-color:var(--accent);
}

.npe-bowtie-remove{
  border-radius:4px;
}

/* ad bar */
.npe-adbar{
  border:1px solid var(--line);
  background:#fff;
  color:#6c757d;
  min-height:52px;
  border-radius:4px;
  font-weight:600;
}

/* footer */
.npe-footer{
  min-height:58px;
  background:#fff;
  border-top:1px solid var(--line);
  padding:10px 18px;
}

/* mobile */
@media (max-width: 980px){
  .npe-ngn-shell,
  .npe-case-body{
    grid-template-columns:1fr;
  }

  .npe-ngn-left,
  .npe-case-left{
    border-right:none;
    border-bottom:1px solid var(--line);
  }

  .npe-case-progress{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .npe-app{
    padding:10px;
  }

  .npe-workspace-scroll,
  .npe-ngn-left,
  .npe-ngn-right,
  .npe-case-left,
  .npe-case-right,
  .npe-reveal-shell{
    padding:14px;
  }

  .npe-topbar{
    grid-template-columns:1fr;
    text-align:center;
  }

  .npe-brand,
  .npe-righthead{
    justify-content:center;
  }

  .npe-question-stem,
  .npe-ngn-right-title,
  .npe-case-step-title,
  .npe-trend-question-stem{
    font-size:18px;
  }

  .npe-case-progress{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .npe-footer{
    grid-template-columns:1fr;
  }

  .npe-footer-left,
  .npe-footer-right{
    justify-content:stretch;
  }

  .npe-navbtn{
    width:100%;
  }
}




/* ===== NPE CONSOLIDATED FINAL PATCH ===== */

/* hide non-user-facing helper labels */
.npe-eyebrow,
.npe-q-label,
.npe-case-tab-badge{
  display:none !important;
}

/* overall frame + spacing */
.npe-practice-frame{
  max-width:1360px !important;
}

.npe-app{
  padding:4px 6px 6px !important;
}

.npe-workspace-shell{
  gap:4px !important;
}

.npe-workspace-head{
  padding:4px 8px 0 !important;
}

.npe-workspace-scroll{
  padding:6px 8px 8px !important;
}

.npe-q-section{
  margin-bottom:12px !important;
}

.npe-check-row{
  margin-top:12px !important;
  display:flex !important;
  justify-content:flex-start !important;
}

.npe-statuspill{
  border-radius:4px !important;
  padding:4px 8px !important;
}

.npe-adbar{
  min-height:42px !important;
  border-radius:4px !important;
}

.npe-workspace-shell > .npe-adbar{
  margin-top:0 !important;
}

/* zoom system */
.npe-question-workspace{
  font-size:var(--npe-font-base) !important;
}

.npe-question-workspace .npe-placeholder-box,
.npe-question-workspace .npe-answer-zone,
.npe-question-workspace .npe-ngn-left,
.npe-question-workspace .npe-ngn-right,
.npe-question-workspace .npe-case-left,
.npe-question-workspace .npe-case-right{
  font-size:inherit;
}

.npe-question-stem,
.npe-ngn-scenario-title,
.npe-ngn-right-title,
.npe-case-title,
.npe-case-step-title,
.npe-trend-question-stem,
.npe-highlight-text-stem,
.npe-highlight-table-stem{
  font-size:var(--npe-font-question) !important;
  line-height:1.5 !important;
}

.npe-mcq-option-text,
.npe-sata-option-text,
.npe-selectn-text,
.npe-gmr-text,
.npe-trend-option-text,
.npe-ngn-scenario-subtitle,
.npe-ngn-row-label,
.npe-ngn-tabpanel,
.npe-case-client,
.npe-case-step-stem,
.npe-case-tabpanel,
.npe-case-note-body,
.npe-case-cloze-text,
.npe-highlight-inline,
.npe-highlight-text-segment,
.npe-case-highlight .npe-highlight-token,
.npe-ddc-choice,
.npe-ddc-blank-text,
.npe-bowtie-option,
.npe-bowtie-slot-value,
.npe-ordered-bank-text,
.npe-ordered-slot-text,
.npe-fib-input,
.npe-fib-unit,
.npe-ngn-select,
.npe-exhibit-panel,
.npe-trend-body{
  font-size:var(--npe-font-explain) !important;
  line-height:1.6 !important;
}

.npe-q-label,
.npe-question-instruction,
.npe-fib-instruction,
.npe-selectn-helper,
.npe-selectn-counter,
.npe-ngn-item-label,
.npe-ngn-review-why,
.npe-hotspot-note,
.npe-case-step-rule,
.npe-matrix-validation-note,
.npe-bowtie-validation-note,
.npe-trend-time,
.npe-case-note-time{
  font-size:var(--npe-font-meta) !important;
}

.npe-matrix-table th,
.npe-matrix-table td,
.npe-highlight-table-grid th,
.npe-highlight-table-grid td,
.npe-trend-table th,
.npe-trend-table td,
.npe-case-data-table th,
.npe-case-data-table td,
.npe-exhibit-table th,
.npe-exhibit-table td{
  font-size:var(--npe-font-explain) !important;
}

.npe-ngn-select,
.npe-fib-input,
.npe-field select,
.npe-field textarea,
.npe-notearea{
  font-size:var(--npe-font-base) !important;
}

/* classic option rows: no divider lines */
.npe-mcq-option,
.npe-sata-option,
.npe-selectn-option,
.npe-gmr-option,
.npe-trend-option,
.npe-trend-option-sata{
  border-bottom:none !important;
}

.npe-mcq-option::after,
.npe-sata-option::after,
.npe-selectn-option::after,
.npe-gmr-option::after,
.npe-trend-option::after,
.npe-trend-option-sata::after{
  display:none !important;
  content:none !important;
}

/* NGN / case shell spacing and layout */
.npe-ngn-shell,
.npe-case-body,
.npe-ngn-shell-highlight-table,
.npe-ngn-shell-trend,
.npe-ngn-shell-matrix,
.npe-ngn-shell-selectn,
.npe-ngn-shell-ddc{
  min-height:0 !important;
  height:auto !important;
  align-items:start !important;
}

.npe-ngn-shell{
  grid-template-columns:minmax(280px,46%) minmax(520px,54%) !important;
}

.npe-case-body{
  grid-template-columns:minmax(280px,46%) minmax(520px,54%) !important;
}

.npe-ngn-shell-highlight-table{
  grid-template-columns:minmax(260px,44%) minmax(560px,56%) !important;
}

.npe-ngn-shell-trend,
.npe-ngn-shell-matrix{
  grid-template-columns:minmax(260px,44%) minmax(560px,56%) !important;
}

.npe-ngn-shell-selectn,
.npe-ngn-shell-ddc{
  grid-template-columns:minmax(300px,48%) minmax(460px,52%) !important;
}

.npe-ngn-left,
.npe-ngn-right,
.npe-case-left,
.npe-case-right{
  min-width:0 !important;
  padding:10px 12px !important;
}

.npe-ngn-scenario-title,
.npe-ngn-scenario-subtitle,
.npe-ngn-item-label,
.npe-case-title,
.npe-case-client{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.npe-ngn-tabs,
.npe-case-tabs,
.npe-exhibit-tabs{
  margin-top:8px !important;
}

.npe-ngn-tabpanel,
.npe-case-tabpanel,
.npe-exhibit-panel{
  min-height:0 !important;
  max-height:none !important;
  padding:10px 12px !important;
}

.npe-case-tabpanel,
.npe-ngn-tabpanel{
  overflow:visible !important;
}

.npe-ngn-right-title{
  margin-bottom:10px !important;
}

.npe-ngn-submit-wrap{
  margin-top:10px !important;
}

/* cloze sentence layout */
.npe-ngn-shell .npe-ngn-right{
  align-content:start;
}

.npe-ngn-rows{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

.npe-ngn-row{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  grid-template-columns:none !important;
  gap:8px !important;
}

.npe-ngn-row-label{
  flex:0 1 auto !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  line-height:1.5 !important;
}

.npe-ngn-select{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:140px !important;
  max-width:220px !important;
}

/* trend / case time pills */
.npe-trend-time,
.npe-case-note-time{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:46px !important;
  height:24px !important;
  padding:0 8px !important;
  border-radius:4px !important;
  background:#f3f6f9 !important;
  border:1px solid #d7e0e8 !important;
  color:#35516b !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;
}

.npe-trend-entry,
.npe-case-note-entry{
  grid-template-columns:56px 1fr !important;
  gap:10px !important;
  padding:10px 0 !important;
}

/* case header */
.npe-case-head{
  padding:10px 14px !important;
  gap:4px !important;
}

.npe-case-progress{
  display:none !important;
}

.npe-case-step-meta{
  gap:8px !important;
}

.npe-case-step-stem{
  margin-top:8px !important;
}

.npe-case-step-card{
  margin-top:12px !important;
}

.npe-case-step-footer{
  margin-top:12px !important;
}

/* buttons */
.npe-ngn-submit,
.npe-check-row .npe-btn,
#npeCasePrimaryBtn{
  min-width:118px !important;
  min-height:38px !important;
  padding:8px 14px !important;
}

/* final table wrapper behavior */
.npe-matrix-wrap,
.npe-highlight-table-wrap,
.npe-case-tablewrap,
.npe-trend-tabpanel{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  max-width:100% !important;
  margin:0 !important;
  -webkit-overflow-scrolling:touch;
}

/* FINAL MATRIX SYMMETRY LOCK */
.npe-matrix-table{
  width:100% !important;
  min-width:620px !important;
  max-width:none !important;
  table-layout:fixed !important;
  border-collapse:collapse !important;
}

.npe-matrix-table th,
.npe-matrix-table td{
  padding:0 !important;
  vertical-align:middle !important;
  text-align:center !important;
}

.npe-matrix-table thead th{
  padding:10px 8px !important;
}

.npe-matrix-head-label,
.npe-matrix-row-label{
  text-align:left !important;
}

.npe-matrix-row-label{
  width:40% !important;
  min-width:220px !important;
  padding:10px 12px !important;
  line-height:1.4 !important;
}

.npe-matrix-cell{
  width:20% !important;
  min-width:84px !important;
  padding:0 !important;
  vertical-align:middle !important;
  text-align:center !important;
}

.npe-matrix-choice{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
  padding:0 !important;
  position:relative !important;
  cursor:pointer !important;
}

.npe-matrix-choice input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.npe-matrix-radio,
.npe-matrix-check{
  display:block !important;
  width:18px !important;
  height:18px !important;
  margin:0 auto !important;
  position:relative !important;
  top:0 !important;
  left:0 !important;
}

.npe-matrix-radio{
  border-radius:50% !important;
}

.npe-matrix-check{
  border-radius:4px !important;
}

.npe-case-step-card .npe-matrix-table{
  width:100% !important;
  min-width:620px !important;
  table-layout:fixed !important;
}

.npe-case-step-card .npe-matrix-row-label{
  width:40% !important;
  min-width:220px !important;
}

.npe-case-step-card .npe-matrix-cell{
  width:20% !important;
  min-width:84px !important;
}

.npe-case-step-card .npe-matrix-choice{
  min-height:46px !important;
}

/* responsive collapse */
@media (max-width:1180px){
  .npe-ngn-shell,
  .npe-case-body,
  .npe-ngn-shell-highlight-table,
  .npe-ngn-shell-trend,
  .npe-ngn-shell-matrix,
  .npe-ngn-shell-selectn,
  .npe-ngn-shell-ddc{
    grid-template-columns:1fr !important;
  }

  .npe-ngn-left,
  .npe-case-left{
    border-right:none !important;
    border-bottom:1px solid var(--line) !important;
  }
}

@media (max-width:640px){
  .npe-app{
    padding:8px !important;
  }

  .npe-workspace-scroll,
  .npe-ngn-left,
  .npe-ngn-right,
  .npe-case-left,
  .npe-case-right,
  .npe-reveal-shell{
    padding:12px !important;
  }
}


/* ===== MATRIX CENTERING FINAL REINFORCEMENT ===== */
.npe-matrix-table{
  table-layout:fixed !important;
}
.npe-matrix-table tbody tr{
  height:auto !important;
}
.npe-matrix-table tbody td{
  height:1px;
}
.npe-matrix-cell{
  padding:0 !important;
  vertical-align:middle !important;
}
.npe-matrix-choice{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  min-height:52px !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.npe-matrix-choice input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.npe-matrix-radio,
.npe-matrix-check{
  width:18px !important;
  height:18px !important;
  margin:0 auto !important;
  position:relative !important;
  flex:0 0 18px !important;
}
.npe-matrix-radio::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  transform:translate(-50%,-50%) scale(0);
  background:currentColor;
}
.npe-matrix-choice input:checked + .npe-matrix-radio::after{
  transform:translate(-50%,-50%) scale(1) !important;
}
.npe-matrix-check::after{
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-58%) rotate(45deg) scale(0) !important;
}
.npe-matrix-choice input:checked + .npe-matrix-check::after{
  transform:translate(-50%,-58%) rotate(45deg) scale(1) !important;
}
.npe-case-step-card .npe-matrix-choice{
  height:100% !important;
  min-height:52px !important;
}



/* ===== NPE CLEAN 3-FILE FULLSCREEN PATCH ===== */
html, body{
  margin:0;
  min-height:100%;
  background:#f8f9fa;
}
body{
  overflow-x:hidden;
}
.npe-practice-frame{
  width:100% !important;
  max-width:none !important;
  min-height:100vh;
  margin:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  border-radius:0 !important;
}
.npe-app{
  min-height:calc(100vh - 102px);
}
.npe-workspace-card{
  min-height:calc(100vh - 180px);
}
.npe-iconbtn{
  font-size:14px;
  font-weight:800;
}
.npe-modal-backdrop[style*="flex"]{
  display:flex;
}


/* ===== NPE TOOLBAR PREMIUM POLISH ===== */
.npe-subbar.npe-toolbar-premium{
  min-height:50px !important;
  padding:7px 16px !important;
  background:linear-gradient(180deg,#36abc9 0%,#2fa4c2 100%) !important;
  border-top:1px solid rgba(255,255,255,.18) !important;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.08) !important;
}
.npe-toolbar-premium .npe-toolbar-left,
.npe-toolbar-premium .npe-toolbar-right{
  gap:8px !important;
  align-items:center !important;
}
.npe-toolbar-premium .npe-iconbtn{
  width:36px !important;
  height:32px !important;
  border-radius:8px !important;
  border:1px solid transparent !important;
  background:transparent !important;
  color:#ffffff !important;
  opacity:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition:background-color .16s ease,border-color .16s ease,transform .12s ease,box-shadow .16s ease !important;
}
.npe-toolbar-premium .npe-iconbtn:hover{
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.10) inset !important;
}
.npe-toolbar-premium .npe-iconbtn:active{
  transform:translateY(1px) !important;
}
.npe-toolbar-premium .npe-iconbtn svg{
  width:20px !important;
  height:20px !important;
  stroke:#ffffff !important;
  stroke-width:2.15 !important;
  fill:none !important;
}
.npe-toolbar-premium #npeMarkTopBtn svg{
  stroke-width:1.9 !important;
}
.npe-toolbar-premium .npe-iconbtn.active,
.npe-toolbar-premium .npe-iconbtn.marked{
  background:rgba(255,255,255,.20) !important;
  border-color:rgba(255,255,255,.32) !important;
}
.npe-toolbar-premium .npe-iconbtn.active svg,
.npe-toolbar-premium .npe-iconbtn.marked svg{
  stroke:#fff2a8 !important;
}
.npe-toolbar-premium .npe-iconbtn.marked svg{
  fill:#fff2a8 !important;
}
.npe-toolbar-premium .npe-fontbtn{
  width:42px !important;
  font-size:15px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}
.npe-toolbar-premium .npe-fontbtn span{
  transform:translateY(-1px);
}
@media (max-width:640px){
  .npe-subbar.npe-toolbar-premium{
    padding-inline:10px !important;
  }
  .npe-toolbar-premium .npe-iconbtn{
    width:34px !important;
    height:31px !important;
  }
  .npe-toolbar-premium .npe-toolbar-left,
  .npe-toolbar-premium .npe-toolbar-right{
    gap:5px !important;
  }
}


/* ===== NPE TOOLBAR REFERENCE MATCH — ONLY TOOLBAR ===== */
.npe-subbar.npe-toolbar-reference{
  min-height:38px !important;
  height:38px !important;
  padding:0 12px !important;
  background:#31aac8 !important;
  border-top:0 !important;
  box-shadow:none !important;
}
.npe-toolbar-reference .npe-toolbar-left,
.npe-toolbar-reference .npe-toolbar-right{
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:nowrap !important;
}
.npe-toolbar-reference .npe-iconbtn{
  width:18px !important;
  height:38px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#ffffff !important;
  opacity:.98 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}
.npe-toolbar-reference .npe-iconbtn:hover,
.npe-toolbar-reference .npe-iconbtn:active,
.npe-toolbar-reference .npe-iconbtn.active,
.npe-toolbar-reference .npe-iconbtn.marked{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
}
.npe-toolbar-reference .npe-iconbtn svg{
  width:14px !important;
  height:14px !important;
  stroke:#ffffff !important;
  stroke-width:2 !important;
  fill:none !important;
}
.npe-toolbar-reference #npeMarkTopBtn.marked svg,
.npe-toolbar-reference #npeMarkTopBtn svg{
  fill:none !important;
  stroke:#ffffff !important;
}
.npe-toolbar-reference .npe-symbolbtn{
  width:18px !important;
  font-family:Inter,Segoe UI,Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
.npe-toolbar-reference .npe-symbolbtn span{
  transform:translateY(-1px) !important;
  display:block !important;
}
@media (max-width:640px){
  .npe-subbar.npe-toolbar-reference{
    padding-inline:10px !important;
  }
  .npe-toolbar-reference .npe-toolbar-left,
  .npe-toolbar-reference .npe-toolbar-right{
    gap:12px !important;
  }
  .npe-toolbar-reference .npe-iconbtn{
    width:18px !important;
    height:38px !important;
  }
}


/* ===== NPE MARK BUTTON CLICKED STATE — ONLY MARK BUTTON ===== */
.npe-toolbar-reference #npeMarkTopBtn.marked{
  width:22px !important;
  height:24px !important;
  border-radius:4px !important;
  background:rgba(255,255,255,.95) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.10) !important;
}
.npe-toolbar-reference #npeMarkTopBtn.marked svg{
  stroke:#1686a4 !important;
  fill:#1686a4 !important;
}
.npe-toolbar-reference #npeMarkTopBtn.marked:hover{
  background:#ffffff !important;
}
.npe-toolbar-reference #npeMarkTopBtn.marked::after{
  content:"";
  position:absolute;
  bottom:6px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 0 0 1px rgba(22,134,164,.35);
  transform:translateY(13px);
}
