.pth-exam{max-width:850px;margin:20px auto;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#172033}.pth-exam-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:14px}.pth-exam-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;color:#2563eb}.pth-exam h2{font-size:28px;margin:4px 0}.pth-score{min-width:100px;text-align:center;border:1px solid #d9e0ea;border-radius:10px;padding:8px 12px}.pth-score span{font-size:12px;display:block}.pth-score strong{font-size:20px}.pth-progressbar{height:8px;background:#e9eef5;border-radius:999px;overflow:hidden}.pth-progressbar span{display:block;height:100%;width:0;background:#2563eb;transition:width .2s}.pth-progressmeta{display:flex;justify-content:space-between;color:#64748b;font-size:13px;margin:7px 0 20px}.pth-qcard{background:#fff;border:1px solid #dce2ea;border-radius:12px;padding:26px 28px;margin:0 0 24px;box-shadow:0 4px 8px rgba(15,23,42,.06)}.pth-section{display:inline-block;background:#e0e7ff;color:#2563eb;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:800;text-transform:uppercase}.pth-qcard h3{font-size:18px;line-height:1.5;margin:16px 0}.pth-options{display:grid;gap:10px}.pth-option{width:100%;display:flex;align-items:flex-start;gap:14px;text-align:left;background:#f9fafb;border:1px solid #dfe4ea;border-radius:8px;padding:14px 18px;font:inherit;cursor:pointer}.pth-option:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd;transform:translateX(3px)}.pth-option span{font-weight:800;color:#64748b;min-width:20px}.pth-option em{font-style:normal}.pth-option.is-correct{background:#d1fae5;border-color:#10b981}.pth-option.is-wrong{background:#fee2e2;border-color:#ef4444}.pth-feedback{margin-top:16px;padding:14px 18px;border-radius:8px;background:#fffbeb;border-left:4px solid #f59e0b}.pth-feedback h4{margin:0 0 8px;color:#b45309}.pth-explanation p,.pth-inline-tip p{margin:5px 0}.pth-inline-tip{margin-top:10px;padding-top:10px;border-top:1px dashed #e5c75d}.pth-exam-actions{margin:22px 0}.pth-exam-actions button{border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:10px 15px;font-weight:700;cursor:pointer}.pth-empty{padding:18px;border:1px solid #ddd;border-radius:10px}.pth-public-list{display:grid;gap:8px}.pth-public-list a{display:flex;justify-content:space-between;text-decoration:none;border:1px solid #dce2ea;border-radius:9px;padding:10px 12px}.pth-public-list span{color:#64748b}@media(max-width:640px){.pth-exam{margin:14px}.pth-qcard{padding:18px}.pth-exam-top{align-items:flex-start}.pth-exam h2{font-size:24px}}

/* Study Center 2.2 */
.pth-study{max-width:1440px;margin:0 auto}.pth-study-hero{background:linear-gradient(135deg,#0b4261,#2563eb);color:#fff;border-radius:18px;padding:28px 30px;margin-bottom:20px}.pth-study-hero h2{font-size:32px;margin:6px 0}.pth-study-hero p{margin:0;opacity:.9}.pth-study-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.pth-study-tools button{border:1px solid #d8dee8;background:#fff;border-radius:12px;padding:16px;text-align:left;font-weight:700;color:#17213a;cursor:pointer}.pth-study-tools button.is-active{border:2px solid #2563eb;background:#eef4ff;color:#2563eb}.pth-study-filter{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px}.pth-study-filter select{margin-left:8px;padding:8px 10px;border:1px solid #d8dee8;border-radius:8px}.pth-study-item{background:#fff;border:1px solid #d8dee8;border-radius:14px;padding:22px;margin-bottom:16px;box-shadow:0 4px 12px rgba(15,23,42,.05)}.pth-study-item h3{font-size:18px;line-height:1.45}.pth-reveal{border:0;border-radius:9px;background:#2563eb;color:#fff;font-weight:700;padding:10px 14px;cursor:pointer}.pth-study-answer{margin-top:14px;background:#f8fafc;border-left:4px solid #10b981;border-radius:8px;padding:14px 16px}.pth-study-tip{margin-top:10px;background:#fff9e8;border-radius:8px;padding:10px 12px}.pth-flashcard{min-height:220px;position:relative;transform-style:preserve-3d;transition:transform .45s;cursor:pointer}.pth-flashcard.is-flipped{transform:rotateY(180deg)}.pth-flash-front,.pth-flash-back{position:absolute;inset:0;backface-visibility:hidden;border:1px solid #d8dee8;border-radius:14px;padding:28px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#f8fbff}.pth-flash-front small,.pth-flash-back small{color:#2563eb;font-weight:800;letter-spacing:.8px}.pth-flash-front strong,.pth-flash-back strong{font-size:24px;margin:12px 0}.pth-flash-front span{color:#64748b}.pth-flash-back{transform:rotateY(180deg);background:#eefbf5}.pth-study-tipgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pth-study-tipgrid>div{background:#eef5ff;border:1px solid #d8dee8;border-radius:12px;padding:14px}.pth-study-tipgrid .warn{background:#fff9e8}.pth-study-tipgrid p{margin:8px 0 0;color:#475569;line-height:1.5}@media(max-width:800px){.pth-study-tools,.pth-study-tipgrid{grid-template-columns:1fr}.pth-study-hero{padding:22px}.pth-study-filter{align-items:flex-start;gap:10px;flex-direction:column}}
.pth-feedback-toggle-list{display:grid;gap:8px;margin-top:10px}.pth-feedback-detail{border:1px solid #e2e8f0;border-radius:9px;background:#fff;overflow:hidden}.pth-feedback-detail summary{cursor:pointer;padding:10px 12px;font-weight:700;color:#334155;list-style:none}.pth-feedback-detail summary::-webkit-details-marker{display:none}.pth-feedback-detail summary:after{content:'+';float:right;color:#64748b;font-size:18px;line-height:1}.pth-feedback-detail[open] summary:after{content:'–'}.pth-feedback-detail>div{padding:0 12px 10px;color:#334155}.pth-feedback-detail>div p{margin:5px 0}

/* PTH 2.4 — Library / lesson / live sample */
.pth-live-sample{border-color:#bfdbfe;background:#f8fbff}
.pth-live-sample summary{font-weight:800;color:#0f4c81}
.pth-read-more{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-weight:800;text-decoration:none}
.pth-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.pth-library-grid article{background:#fff;border:1px solid #dbe3ee;border-radius:14px;padding:18px;box-shadow:0 3px 10px rgba(15,23,42,.05)}
.pth-library-grid small{font-weight:800;color:#2563eb;text-transform:uppercase;letter-spacing:.05em}
.pth-library-grid h3{margin:6px 0 8px}
.pth-library-grid a{font-weight:800;text-decoration:none}
.pth-lesson{max-width:900px;margin:0 auto;background:#fff;border:1px solid #dbe3ee;border-radius:16px;padding:28px}
.pth-lesson h1{margin-top:8px}.pth-lesson-lead{font-size:1.05em;color:#475569}.pth-lesson-body h2,.pth-lesson-body h3{scroll-margin-top:100px}.pth-lesson-source{margin-top:30px;padding-top:16px;border-top:1px solid #e5e7eb;color:#64748b}
@media(max-width:760px){.pth-library-grid{grid-template-columns:1fr}.pth-lesson{padding:18px;border-radius:12px}}

.pth-study-layout{display:grid;grid-template-columns:minmax(0,65fr) minmax(300px,35fr);gap:22px;align-items:start}.pth-study-side{position:sticky;top:90px}.pth-study-side .pth-study-tools{grid-template-columns:1fr}.pth-study-side .pth-study-filter{display:block;background:#fff;border:1px solid #d8dee8;border-radius:10px;padding:14px}.pth-study-side-note{margin-top:12px;color:#64748b;font-size:12px;line-height:1.5}@media(max-width:900px){.pth-study-layout{grid-template-columns:1fr}.pth-study-side{position:relative;top:auto;order:-1}.pth-study-side .pth-study-tools{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.pth-study-side .pth-study-tools{grid-template-columns:1fr}}

/* PTH 2.7.0 — clickable glossary terms + compact definition popover */
.pth-glossary-term{appearance:none;border:0;background:#fff9cf;padding:0 3px;margin:0 1px;color:#0f766e;font:inherit;font-weight:700;cursor:pointer;border-bottom:1px dotted rgba(15,118,110,.6);text-decoration:none;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:color .15s ease,background-color .15s ease}
.pth-glossary-term:hover,.pth-glossary-term:focus{color:#c62828;background:#fff1b8;outline:0;border-bottom-color:#c62828}
.pth-glossary-popover{position:fixed;z-index:99999;width:min(360px,calc(100vw - 28px));background:#fff;border:1px solid #b7d8d5;border-radius:10px;box-shadow:0 16px 36px rgba(15,23,42,.18);padding:14px 15px;color:#1f2937;font-size:14px;line-height:1.5}
.pth-glossary-popover[hidden]{display:none!important}.pth-glossary-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.pth-glossary-popover-term{font-weight:800;color:#0f766e;font-size:16px}.pth-glossary-popover-close{border:0;background:#eef5f4;color:#46615e;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:18px;line-height:1}.pth-glossary-popover-definition{color:#334155}.pth-glossary-popover-status{margin-top:8px;font-size:12px;color:#64748b}

/* PTH 2.8.6 — softer glossary marker */
.pth-glossary-term{padding:0 2px;margin:0 1px;background:#fff9cf;border-radius:2px;box-shadow:inset 0 -1px 0 rgba(217,170,0,.12)}
.pth-glossary-term:hover,.pth-glossary-term:focus{color:#c62828;background:#fff1b8}

/* PTH 2.17.0 — SIMTEST-style glossary study card */
.pth-glossary-popover-study{width:min(430px,calc(100vw - 28px));border-color:#dbe4ee;border-radius:16px;padding:20px 22px;box-shadow:0 22px 50px rgba(15,23,42,.24);font-size:15px;line-height:1.6}
.pth-glossary-popover-study .pth-glossary-popover-head{align-items:center;margin-bottom:10px}
.pth-glossary-popover-study .pth-glossary-popover-term{font-size:20px;color:#2563eb;font-weight:800}
.pth-glossary-popover-study .pth-glossary-popover-close{width:34px;height:34px;font-size:24px;background:#f1f5f9;color:#94a3b8}
.pth-glossary-popover-study .pth-glossary-popover-close:hover{background:#e2e8f0;color:#475569}
.pth-glossary-popover-study .pth-glossary-popover-definition{font-size:16px;color:#475569;line-height:1.65}
.pth-glossary-popover-section{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:14px}
.pth-glossary-popover-label{font-weight:800;color:#0f172a;font-size:15px;margin-bottom:6px}
.pth-glossary-popover-example-copy,.pth-glossary-popover-tip-copy{color:#475569;font-size:14px;line-height:1.55}
.pth-glossary-popover-example-copy p{margin:.35em 0}.pth-glossary-popover-example-copy ul,.pth-glossary-popover-example-copy ol{margin:.5em 0 .5em 1.2em;padding:0}
.pth-glossary-popover-more{margin-top:8px;border:0;background:transparent;padding:0;color:#2563eb;font-weight:800;cursor:pointer}
.pth-glossary-popover-more:hover{text-decoration:underline}
.pth-glossary-popover-study .pth-glossary-popover-status{margin-top:10px;color:#94a3b8;font-size:11px}


/* 2.23.2 — canonical KEY WORDS frontend */
.pth-keywords-page{max-width:1240px;margin:0 auto}
.pth-keywords-hero{position:relative;padding:26px 28px;margin-bottom:18px;border-radius:16px;background:linear-gradient(120deg,#0b3657,#2458d7);color:#fff;box-shadow:0 14px 30px -22px rgba(15,23,42,.6)}
.pth-keywords-hero>span{display:block;font-size:11px;font-weight:900;letter-spacing:.8px;opacity:.9}
.pth-keywords-hero h1{margin:6px 0 7px;font-size:30px;line-height:1.15;color:#fff}
.pth-keywords-hero p{margin:0;max-width:760px;color:#dbeafe}
.pth-keywords-hero b{position:absolute;right:24px;top:24px;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.1);font-size:12px}
.pth-keywords-toolbar{background:#fff;border:1px solid #dbe3eb;border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:0 6px 20px -18px rgba(15,23,42,.35)}
.pth-keywords-search{display:grid;grid-template-columns:auto minmax(220px,1fr);align-items:center;gap:12px;margin-bottom:14px;font-weight:800;color:#0f172a}
.pth-keywords-search input{width:100%;height:42px;border:1px solid #cbd5e1;border-radius:9px;padding:0 12px;font:inherit;background:#fff}
.pth-keywords-search input:focus{outline:2px solid #bfdbfe;border-color:#2563eb}
.pth-keywords-alpha{display:flex;flex-wrap:wrap;gap:8px}
.pth-keywords-alpha button{min-width:38px;height:38px;padding:0 10px;border:1px solid #dbe3eb;border-radius:9px;background:#fff;color:#475569;font-weight:800;font-size:16px;cursor:pointer}
.pth-keywords-alpha button:hover:not(:disabled){border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.pth-keywords-alpha button.is-active{border-color:#2563eb;background:#2563eb;color:#fff}
.pth-keywords-alpha button:disabled{opacity:.35;cursor:not-allowed}
.pth-keywords-status{margin:12px 2px;color:#64748b;font-size:15px}
.pth-keywords-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pth-keywords-item{min-width:0}
.pth-keywords-term{display:flex!important;align-items:center;width:100%;min-height:90px;padding:14px 16px!important;margin:0!important;border:1px solid #dbe3eb!important;border-radius:12px!important;background:#fff!important;color:#0f172a!important;box-shadow:0 4px 14px -14px rgba(15,23,42,.45)!important;text-align:left}
.pth-keywords-term:hover,.pth-keywords-term:focus{border-color:#93c5fd!important;background:#f8fbff!important;color:#0f172a!important}
.pth-keywords-letter{flex:0 0 40px;height:40px;border-radius:10px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-weight:900;font-size:18px}
.pth-keywords-copy{display:block;min-width:0;padding:0 14px}
.pth-keywords-copy strong{display:block;color:#0f172a;font-size:17px;line-height:1.28}
.pth-keywords-copy small{display:block;margin-top:5px;color:#64748b;font-size:14px;line-height:1.5;font-weight:500}
.pth-keywords-open{margin-left:auto;color:#2563eb;font-size:26px;font-weight:400}
.pth-keywords-no-results,.pth-keywords-empty{padding:34px;text-align:center;background:#fff;border:1px solid #dbe3eb;border-radius:12px;color:#64748b}
@media(max-width:760px){.pth-keywords-list{grid-template-columns:1fr}.pth-keywords-hero b{position:static;display:inline-block;margin-top:14px}.pth-keywords-search{grid-template-columns:1fr;gap:6px}}


/* 2.23.5 — KEY WORDS route search panel + popular chips */
.pth-keywords-search-panel{
  margin:0 0 14px;
  padding:18px;
  border-radius:15px;
  background:linear-gradient(135deg,#0f4fb8,#123fa5);
  box-shadow:0 14px 28px -24px rgba(15,23,42,.6);
}
.pth-keywords-searchbox{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 60px;
  align-items:center;
  min-height:60px;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.35);
}
.pth-keywords-search-leading{
  display:grid;
  place-items:center;
  color:#94a3b8;
}
.pth-keywords-search-leading svg,
.pth-keywords-search-button svg{
  width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;
}
.pth-keywords-searchbox input{
  width:100%;
  height:60px;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  padding:0 10px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-size:19px;
}
.pth-keywords-searchbox input::placeholder{color:#64748b}
.pth-keywords-search-button{
  align-self:stretch;
  display:grid;
  place-items:center;
  border:0;
  border-left:1px solid #e2e8f0;
  background:#1260f5;
  color:#fff;
  cursor:pointer;
}
.pth-keywords-search-button:hover{background:#0b55df}
.pth-keywords-popular{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  color:#bfdbfe;
  font-size:15px;
}
.pth-keywords-popular>span{white-space:nowrap}
.pth-keywords-popular-list{display:flex;flex-wrap:wrap;gap:7px}
.pth-keywords-popular-list button{
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  padding:8px 12px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font:inherit;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}
.pth-keywords-popular-list button:hover{background:rgba(255,255,255,.2)}
.pth-keywords-toolbar{margin-top:0}
.pth-keywords-search{display:none!important}
@media(max-width:760px){
  .pth-keywords-search-panel{padding:13px}
  .pth-keywords-searchbox{grid-template-columns:38px minmax(0,1fr) 52px}
  .pth-keywords-popular{align-items:flex-start;flex-direction:column;gap:7px}
}


/* 2.23.6 — KEY WORDS cards + provided pagination pattern */
.pth-keywords-term{
  border-color:#b9ded8!important;
}
.pth-keywords-item.is-odd .pth-keywords-term{
  background:#ffffff!important;
}
.pth-keywords-item.is-even .pth-keywords-term{
  background:#eef8ff!important;
}
.pth-keywords-item.is-odd .pth-keywords-term:hover,
.pth-keywords-item.is-even .pth-keywords-term:hover{
  background:#e8f7f5!important;
  border-color:#7fc9bd!important;
}
.pth-keywords-letter{
  background:#eaf8f6!important;
  color:#0f766e!important;
}
.pth-keywords-open{color:#0f8f86!important}

/* Definition popup: blue-green surface with readable contrast */
.pth-glossary-popover-study{
  background:linear-gradient(145deg,#e8f7f5 0%,#eaf4ff 100%)!important;
  border-color:#8fcfc6!important;
  box-shadow:0 24px 54px rgba(15,76,92,.24)!important;
}
.pth-glossary-popover-study .pth-glossary-popover-term{
  color:#0b6f73!important;
}
.pth-glossary-popover-study .pth-glossary-popover-definition{
  color:#244154!important;
}
.pth-glossary-popover-study .pth-glossary-popover-close{
  background:rgba(255,255,255,.72)!important;
  color:#4b7180!important;
}
.pth-glossary-popover-study .pth-glossary-popover-close:hover{
  background:#fff!important;
  color:#0b6f73!important;
}

/* Pagination copied in spirit from the supplied pagnition.html:
   centered 40x40 controls, active blue page, ellipsis, previous/next arrows. */
.pth-keywords-pagination-wrapper{
  display:flex;
  justify-content:center;
  padding:24px 0 4px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.pth-keywords-pagination{
  display:flex;
  align-items:center;
  gap:8px;
  list-style:none;
  padding:0;
  margin:0;
}
.pth-keywords-page-item{margin:0}
.pth-keywords-page-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 8px;
  font-size:16px;
  font-weight:500;
  color:#475569;
  text-decoration:none;
  border-radius:8px;
  border:1px solid #e2e8f0;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:all .2s cubic-bezier(.4,0,.2,1);
  cursor:pointer;
}
.pth-keywords-page-link:hover:not(:disabled){
  color:#2563eb;
  border-color:#bfdbfe;
  background:#eff6ff;
  transform:translateY(-1px);
}
.pth-keywords-page-link.is-active{
  color:#fff;
  background:#2563eb;
  border-color:#2563eb;
  font-weight:600;
  box-shadow:0 4px 10px rgba(37,99,235,.25);
}
.pth-keywords-page-link.prev-next{
  font-size:20px;
  color:#64748b;
}
.pth-keywords-page-link:disabled{
  opacity:.38;
  cursor:not-allowed;
  transform:none;
}
.pth-keywords-page-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:42px;
  color:#94a3b8;
  font-size:20px;
  letter-spacing:2px;
  user-select:none;
}
@media(max-width:560px){
  .pth-keywords-pagination{gap:5px}
  .pth-keywords-page-link{min-width:38px;height:38px}
  .pth-keywords-page-dots{width:26px;height:38px}
}


/* 2.23.7 — KEY WORDS final page surface */
.pth-keywords-page{
  max-width:none!important;
  width:100%;
}
.pth-keywords-search-panel{
  background:linear-gradient(135deg,#0b4d4a 0%,#0b4f63 42%,#123f86 100%)!important;
  border:1px solid rgba(14,116,144,.18);
}
.pth-keywords-status{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:10px 2px!important;
}
.pth-keywords-page-size{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#64748b;
  font-size:14px;
  font-weight:700;
}
.pth-keywords-page-size select{
  height:36px;
  min-width:68px;
  padding:0 28px 0 11px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#334155;
  font:inherit;
}
.pth-keywords-item .pth-keywords-term{
  background:#fff!important;
  border-color:#b9ded8!important;
}
.pth-keywords-item.is-odd .pth-keywords-term,
.pth-keywords-item.is-even .pth-keywords-term{
  background:#fff!important;
}
.pth-keywords-item .pth-keywords-term:hover,
.pth-keywords-item .pth-keywords-term:focus{
  background:#f6fcfb!important;
  border-color:#7fc9bd!important;
}
@media(max-width:600px){
  .pth-keywords-status{align-items:flex-start;flex-direction:column}
}
