.cm-progress-bar{height:4px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:12px;}
.cm-progress-fill{height:100%;background:var(--blue);border-radius:4px;width:10%;transition:width .4s ease;}
.cm-progress-text{font-size:.78rem;color:var(--muted);text-align:center;margin-bottom:28px;}
.cm-question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r24);padding:40px;max-width:700px;margin:0 auto;text-align:center;}
.cm-q-number{font-family:'DM Serif Display',serif;font-size:2.5rem;color:var(--blue);margin-bottom:8px;opacity:.4;}
.cm-q-text{font-family:'DM Serif Display',serif;font-size:clamp(1.2rem,2.2vw,1.6rem);color:var(--head);line-height:1.45;margin-bottom:14px;}
.cm-q-frameworks{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:24px;}
.cm-fw-tag{padding:3px 10px;border-radius:var(--r4);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.cm-fw-soc2{background:rgba(59,130,246,.1);color:#3B82F6;}
.cm-fw-hipaa{background:rgba(16,185,129,.1);color:#10B981;}
.cm-fw-iso{background:rgba(167,139,250,.1);color:#A78BFA;}
.cm-fw-gdpr{background:rgba(245,158,11,.1);color:#F59E0B;}
.cm-fw-pci{background:rgba(239,68,68,.1);color:#EF4444;}
.cm-options{display:flex;flex-direction:column;gap:8px;}
.cm-option{
  padding:14px 18px;border-radius:var(--r8);border:1.5px solid var(--border);
  background:var(--bg);cursor:pointer;text-align:left;
  font-size:.9rem;color:var(--body);transition:all .15s;font-family:inherit;
}
.cm-option:hover{border-color:var(--blue);background:var(--blue-l);color:var(--head);}
.cm-scores{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:36px;}
.cm-score-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r16);padding:24px;text-align:center;transition:box-shadow .2s,transform .2s;}
.cm-score-card:hover{box-shadow:var(--s2);transform:translateY(-2px);}
.cm-score-ring{position:relative;width:80px;height:80px;margin:0 auto 10px;}
.cm-score-ring svg{width:100%;height:100%;}
.cm-score-ring-bg{fill:none;stroke:var(--border);stroke-width:6;}
.cm-score-ring-fill{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s ease,stroke .5s;transform:rotate(-90deg);transform-origin:center;}
.cm-score-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--head);}
.cm-score-fw{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.cm-score-label{font-size:.78rem;font-weight:600;margin-top:4px;}
.cm-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cm-detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r12);padding:20px;}
.cm-detail-title{font-size:.875rem;font-weight:700;color:var(--head);margin-bottom:10px;}
.cm-detail-item{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--body);margin-bottom:6px;}
.cm-detail-item:last-child{margin-bottom:0;}
.cm-detail-pass{color:var(--green);font-weight:700;}
.cm-detail-fail{color:#DC2626;font-weight:700;}
@media(max-width:1024px){.cm-scores{grid-template-columns:repeat(3,1fr);}}
@media(max-width:768px){.cm-scores{grid-template-columns:1fr 1fr;}.cm-detail-grid{grid-template-columns:1fr;}.cm-question-card{padding:28px 20px;}}
@media(max-width:480px){
  .cm-scores{grid-template-columns:1fr;gap:12px;}
  .cm-score-card{padding:18px;}
  .cm-score-ring{width:60px;height:60px;}
  .cm-score-num{font-size:1rem;}
  .cm-q-number{font-size:2rem;}
  .cm-question-card{padding:22px 16px;border-radius:var(--r16);}
  .cm-option{padding:12px 14px;font-size:.84rem;}
  .cm-fw-tag{font-size:.58rem;}
}
