.ctkd-revision-tool {
  --rt-navy: var(--ctkd-navy, #071b3a);
  --rt-red: var(--ctkd-red, #e30613);
  --rt-blue: var(--ctkd-blue, #0057b8);
  --rt-soft: var(--ctkd-soft, #f4f7fb);
  --rt-light-blue: var(--ctkd-light-blue, #eaf2ff);
  color: var(--rt-navy);
}
.ctkd-revision-tool *, .ctkd-revision-tool *::before, .ctkd-revision-tool *::after { box-sizing: border-box; }
.ctkd-revision-tool [hidden] { display: none !important; }
.ctkd-revision-tabs { display:grid; grid-template-columns:repeat(3,minmax(150px,210px)); gap:10px; margin:0 0 22px; }
.ctkd-revision-tabs button, .ctkd-revision-tool button {
  min-height:50px; margin:0; padding:0 22px; border:0; border-radius:12px;
  font:inherit; font-weight:800; text-transform:uppercase; cursor:pointer;
}
.ctkd-revision-tabs button { width:100%; background:var(--rt-soft); color:var(--rt-navy); border:2px solid rgba(7,27,58,.15); }
.ctkd-revision-tabs button.is-active { background:var(--rt-navy); color:#fff; border-color:var(--rt-navy); }
.ctkd-revision-config, .ctkd-revision-stage, .ctkd-revision-results, .ctkd-pattern-library, .ctkd-knowledge-library {
  width:100%; padding:clamp(22px,4vw,34px); border:3px solid var(--rt-navy); border-radius:24px;
  background:#fff; box-shadow:9px 9px 0 var(--rt-blue);
}
.ctkd-revision-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ctkd-revision-grid label, .ctkd-pattern-picker { display:grid; gap:7px; font-weight:800; }
.ctkd-revision-grid label>span, .ctkd-pattern-picker>span { font-size:13px; letter-spacing:.04em; text-transform:uppercase; }
.ctkd-revision-tool select { width:100%; min-height:48px; margin:0; padding:8px 12px; border:2px solid rgba(7,27,58,.18); border-radius:10px; background:#fff; color:var(--rt-navy); font:inherit; }
.ctkd-revision-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:22px; }
.ctkd-revision-primary, .ctkd-revision-reveal, .ctkd-revision-secondary { background:var(--rt-blue); color:#fff; }
.ctkd-revision-correct { background:var(--rt-red); color:#fff; }
.ctkd-revision-missed, .ctkd-revision-outline { color:var(--rt-navy); background:#fff; border:2px solid rgba(7,27,58,.18)!important; }
.ctkd-revision-help, .ctkd-revision-error { margin:18px 0 0; }
.ctkd-revision-error { color:#a30000; font-weight:700; }
.ctkd-revision-progress-row { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.ctkd-revision-progress { height:10px; margin:12px 0 24px; overflow:hidden; border-radius:999px; background:#e6ebf2; }
.ctkd-revision-progress span { display:block; width:0; height:100%; border-radius:inherit; background:var(--rt-red); transition:width .2s ease; }
.ctkd-revision-question { padding:clamp(22px,4vw,34px); border-radius:20px; background:var(--rt-soft); text-align:center; }
.ctkd-revision-direction, .ctkd-revision-kicker { margin:0 0 8px; color:var(--rt-blue); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ctkd-revision-question h3 { margin:0 0 18px; color:var(--rt-navy); font-size:clamp(34px,6vw,58px); line-height:1.05; }
.ctkd-revision-answer { gap:8px; margin:20px 0 0; padding:18px; border:2px solid #a9caf7; border-radius:16px; background:var(--rt-light-blue); }
.ctkd-revision-answer>span { font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ctkd-revision-answer strong { font-size:clamp(24px,4vw,34px); line-height:1.25; }
.ctkd-revision-answer.is-long strong { font-size:clamp(18px,2.7vw,24px); }
.ctkd-revision-marking { flex-wrap:wrap; gap:12px; justify-content:center; margin-top:20px; }
.ctkd-revision-results h3, .ctkd-pattern-card h3, .ctkd-pattern-intro h3, .ctkd-pattern-theory h3, .ctkd-pattern-theory h4 { color:var(--rt-navy); }
.ctkd-revision-result-score { font-size:clamp(32px,5vw,48px); font-weight:900; }
.ctkd-revision-review ul { list-style:none; margin:18px 0 0; padding:0; }
.ctkd-revision-review li { display:grid; gap:4px; padding:12px 0; border-bottom:1px solid rgba(7,27,58,.12); }
.ctkd-pattern-intro { margin-bottom:22px; }
.ctkd-pattern-picker { max-width:720px; margin-bottom:22px; }
.ctkd-pattern-card { padding-top:8px; }
.ctkd-pattern-heading { display:flex; justify-content:space-between; gap:22px; align-items:flex-start; }
.ctkd-pattern-facts { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.ctkd-pattern-facts span { padding:8px 12px; border-radius:999px; background:var(--rt-light-blue); font-weight:800; }
.ctkd-pattern-summary-grid { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); gap:24px; margin:22px 0; }
.ctkd-pattern-image { overflow:hidden; aspect-ratio:1 / 1; min-height:0; align-self:start; border-radius:18px; background:var(--rt-soft); }
.ctkd-pattern-image img { display:block; width:100%; height:100%; object-fit:contain; }
.ctkd-pattern-meaning { padding:22px; border-radius:18px; background:var(--rt-light-blue); }
.ctkd-pattern-meaning h4 { margin-top:0; }
.ctkd-movement-stepper { padding:clamp(20px,3vw,28px); border-radius:18px; background:var(--rt-navy); color:#fff; }
.ctkd-movement-topline { color:#a9caf7; text-transform:uppercase; letter-spacing:.05em; font-size:13px; }
.ctkd-movement-stepper p { margin:14px 0 0; font-size:clamp(19px,2.6vw,26px); line-height:1.4; }
.ctkd-movement-stepper .ctkd-revision-outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.4)!important; }
.ctkd-movement-stepper button:disabled { opacity:.42; cursor:default; }
.ctkd-pattern-all { margin-top:18px; }
.ctkd-pattern-all summary { cursor:pointer; font-weight:800; }
.ctkd-pattern-all ol { margin-top:14px; }
.ctkd-pattern-all li { margin-bottom:8px; }
.ctkd-pattern-theory { margin-top:28px; padding-top:26px; border-top:2px solid rgba(7,27,58,.12); }
.ctkd-theory-heading { display:flex; justify-content:space-between; gap:22px; align-items:flex-end; margin-bottom:18px; }
.ctkd-theory-heading h3 { margin-bottom:0; }
.ctkd-theory-stat { display:grid; grid-template-columns:auto auto; align-items:center; gap:12px; min-width:220px; padding:14px 18px; border-radius:16px; background:var(--rt-navy); color:#fff; }
.ctkd-theory-stat span { font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.ctkd-theory-stat strong { font-size:40px; line-height:1; }
.ctkd-theory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ctkd-theory-grid article { padding:20px; border-radius:18px; background:var(--rt-soft); }
.ctkd-theory-grid h4 { margin-top:0; }
@media(max-width:849px){ .ctkd-revision-grid,.ctkd-pattern-summary-grid,.ctkd-theory-grid{grid-template-columns:1fr}.ctkd-pattern-heading,.ctkd-theory-heading{display:grid}.ctkd-pattern-facts{justify-content:flex-start}.ctkd-theory-stat{min-width:0;max-width:280px} }
@media(max-width:549px){ .ctkd-revision-config,.ctkd-revision-stage,.ctkd-revision-results,.ctkd-pattern-library{padding:18px;border-radius:18px;box-shadow:6px 6px 0 var(--rt-blue)}.ctkd-revision-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.ctkd-revision-progress-row{align-items:flex-start}.ctkd-revision-question{padding:20px 14px}.ctkd-revision-marking{display:grid}.ctkd-revision-marking button{width:100%} }

.ctkd-knowledge-intro { margin-bottom:22px; }
.ctkd-knowledge-intro h3, .ctkd-knowledge-card h4, .ctkd-knowledge-next h4 { color:var(--rt-navy); }
.ctkd-knowledge-intro h3 { margin-bottom:8px; }
.ctkd-knowledge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:18px; }
.ctkd-knowledge-card { padding:22px; border-radius:18px; background:var(--rt-soft); }
.ctkd-knowledge-card-blue { background:var(--rt-light-blue); }
.ctkd-knowledge-card h4 { margin:0 0 10px; font-size:22px; }
.ctkd-knowledge-card p:last-child { margin-bottom:0; }
.ctkd-knowledge-card ol { margin-bottom:0; }
.ctkd-knowledge-card li { margin-bottom:7px; }
.ctkd-knowledge-wide { margin-top:18px; }
.ctkd-knowledge-heading-row { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.ctkd-knowledge-source { margin:0; font-size:14px; opacity:.75; }
.ctkd-knowledge-badge { flex:0 0 auto; padding:7px 11px; border-radius:999px; background:var(--rt-navy); color:#fff; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ctkd-council-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin-top:18px; }
.ctkd-council-grid>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:10px 0; border-bottom:1px solid rgba(7,27,58,.12); }
.ctkd-council-grid span { white-space:nowrap; }
.ctkd-knowledge-footnote { margin:18px 0 0; padding-top:14px; border-top:1px solid rgba(7,27,58,.12); font-size:14px; opacity:.8; }
.ctkd-knowledge-next { margin-top:22px; padding:22px; border:2px dashed rgba(7,27,58,.2); border-radius:18px; }
.ctkd-knowledge-next h4 { margin:0 0 8px; }
@media(max-width:849px){ .ctkd-knowledge-grid,.ctkd-council-grid{grid-template-columns:1fr}.ctkd-knowledge-heading-row{display:grid}.ctkd-council-grid>div{grid-template-columns:1fr auto} }
@media(max-width:549px){ .ctkd-revision-config,.ctkd-revision-stage,.ctkd-revision-results,.ctkd-pattern-library,.ctkd-knowledge-library{padding:18px;border-radius:18px;box-shadow:6px 6px 0 var(--rt-blue)}.ctkd-revision-tabs{grid-template-columns:1fr}.ctkd-council-grid>div{grid-template-columns:1fr}.ctkd-council-grid span{white-space:normal} }

/* 2.3.6 — three equal revision tabs */
.ctkd-revision-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;max-width:660px!important;gap:10px!important;align-items:stretch!important}
.ctkd-revision-tabs button{width:100%!important;min-width:0!important;min-height:52px!important;height:52px!important;margin:0!important;padding:8px 14px!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1.15!important;text-align:center!important;white-space:nowrap!important}
@media(max-width:549px){.ctkd-revision-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}.ctkd-revision-tabs button{min-height:48px!important;height:48px!important;padding:6px 5px!important;font-size:12px!important;white-space:normal!important}}
