/* Internalisation fit checker */
.ck-head { padding: 40px 0 22px; }
.ck-head h1 { font-size: 26px; line-height: 1.45; margin-bottom: 14px; }
.ck-head p { font-size: 14.5px; line-height: 1.9; margin-bottom: 12px; }
.ck-head .meta { font-size: 12.5px; color: var(--fg-sub); margin: 0; }

.progress-wrap {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--border);
  padding: 11px 0;
  margin-bottom: 28px;
}
.progress-inner { display: flex; align-items: center; gap: 14px; }
.progress-bar { flex: 1; height: 6px; background: var(--border); border-radius: 999px; overflow: hidden; }
.progress-fill { height: 100%; width: 0; background: var(--accent); border-radius: 999px; transition: width .25s; }
.progress-txt { font-size: 12.5px; color: var(--fg-sub); white-space: nowrap; font-variant-numeric: tabular-nums; }

.qa { border: 1px solid var(--border); border-radius: 8px; padding: 20px 22px; margin-bottom: 14px; }
.qa.answered { border-color: rgba(26,95,74,.35); }
.qa-q { font-size: 15px; font-weight: 700; color: var(--fg); margin-bottom: 4px; line-height: 1.6; }
.qa-q .n {
  display: inline-block;
  min-width: 22px; height: 22px; line-height: 22px;
  border-radius: 50%;
  background: var(--bg-sub); color: var(--fg-sub);
  font-size: 11.5px; text-align: center; margin-right: 8px;
}
.qa.answered .qa-q .n { background: var(--accent); color: #fff; }
.qa-note { font-size: 12.5px; color: var(--fg-sub); margin: 0 0 14px 30px; line-height: 1.7; }
.opts { display: flex; flex-direction: column; gap: 7px; margin-left: 30px; }
.opt {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 13px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 13.5px;
  line-height: 1.65;
  cursor: pointer;
  transition: border-color .12s, background .12s;
}
.opt:hover { border-color: var(--accent); }
.opt input { margin-top: 3px; accent-color: var(--accent); flex-shrink: 0; }
.opt.sel { border-color: var(--accent); background: rgba(26,95,74,.05); }

.ck-actions { margin: 26px 0 10px; text-align: center; }
.ck-btn {
  background: var(--accent); color: #fff;
  padding: 14px 40px; border: none; border-radius: 6px;
  font-size: 15px; font-weight: 500; font-family: inherit; cursor: pointer;
}
.ck-btn:disabled { background: #bcbcb6; cursor: not-allowed; }
.ck-btn:not(:disabled):hover { background: var(--accent-hover); }
.ck-actions .sub { font-size: 12.5px; color: var(--fg-sub); margin-top: 11px; }

/* Result */
.result { display: none; margin-top: 34px; }
.result.show { display: block; }
.verdict { border: 2px solid var(--accent); border-radius: 10px; padding: 28px 26px; text-align: center; }
.verdict.mid  { border-color: #d9a343; }
.verdict.low  { border-color: #9a9a92; }
.verdict-tag {
  display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: .06em;
  color: var(--fg-sub); margin-bottom: 10px;
}
.verdict h2 { font-size: 22px; margin-bottom: 14px; line-height: 1.45; }
.verdict .lead { font-size: 14.5px; line-height: 1.95; margin: 0 auto; max-width: 520px; }

.gauge { margin: 20px auto 4px; max-width: 420px; }
.gauge-bar { height: 10px; background: var(--border); border-radius: 999px; overflow: hidden; }
.gauge-fill { height: 100%; border-radius: 999px; background: var(--accent); transition: width .5s; }
.gauge.mid .gauge-fill { background: #d9a343; }
.gauge.low .gauge-fill { background: #9a9a92; }
.gauge-lbl { display: flex; justify-content: space-between; font-size: 11px; color: var(--fg-sub); margin-top: 7px; }

.breakdown { margin-top: 30px; }
.breakdown h3 { font-size: 14px; margin-bottom: 12px; }
.bd-col { border: 1px solid var(--border); border-radius: 8px; padding: 16px 18px; margin-bottom: 12px; }
.bd-col h4 { font-size: 12.5px; margin-bottom: 9px; letter-spacing: .03em; }
.bd-col.pos h4 { color: var(--accent); }
.bd-col.neg h4 { color: #a1512c; }
.bd-col ul { list-style: none; margin: 0; padding: 0; }
.bd-col li {
  font-size: 13px; line-height: 1.75; color: var(--fg-sub);
  padding: 3px 0 3px 15px; position: relative;
}
.bd-col.pos li::before { content: '+'; position: absolute; left: 0; color: var(--accent); font-weight: 700; }
.bd-col.neg li::before { content: '−'; position: absolute; left: 0; color: #a1512c; font-weight: 700; }

.next-step { margin-top: 26px; padding: 22px 24px; background: var(--bg-sub); border-radius: 8px; }
.next-step h3 { font-size: 14px; margin-bottom: 10px; }
.next-step p { font-size: 13.5px; line-height: 1.9; margin-bottom: 10px; }
.next-step p:last-child { margin-bottom: 0; }

.res-cta { margin-top: 26px; text-align: center; }
.res-cta .cta {
  display: inline-block; background: var(--accent); color: #fff;
  padding: 13px 32px; border-radius: 6px; text-decoration: none;
  font-weight: 500; font-size: 15px;
}
.res-cta .cta.ghost { background: #fff; color: var(--fg); border: 1px solid var(--border); }
.res-cta .note { font-size: 12.5px; color: var(--fg-sub); margin-top: 12px; line-height: 1.7; }
.res-cta .btn-row { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 640px) {
  .ck-head h1 { font-size: 21px; }
  .qa { padding: 16px 15px; }
  .qa-note, .opts { margin-left: 0; }
  .verdict { padding: 22px 18px; }
  .verdict h2 { font-size: 18px; }
}
