/* ============================================================
   LockLeed — Résumé Score (/rate-my-resume) scoped styles
   Loads AFTER styles.css. Tokens come from styles.css :root.
   Prefix: .sc-  (résumé builder uses .rb- — keep them separate)
   ============================================================ */

/* ---------- intake card ---------- */
.sc{max-width:920px;margin:0 auto;}
.sc-card{background:#fff;border:1px solid var(--line);padding:34px 34px 30px;}
.sc-card + .sc-card{margin-top:20px;}

.sc-drop{border:2px dashed var(--line);background:var(--soft);padding:34px 26px;text-align:center;transition:border-color .18s,background .18s;}
.sc-drop.is-over{border-color:var(--red);background:var(--red-l);}
.sc-drop__icon{width:40px;height:40px;margin:0 auto 14px;stroke:var(--ink-4);fill:none;stroke-width:1.6;display:block;}
.sc-drop__lead{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--ink);letter-spacing:-0.01em;}
.sc-drop__sub{font-size:14px;color:var(--ink-3);margin-top:6px;}
.sc-drop__row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:18px;}
.sc-drop__name{font-family:var(--mono);font-size:12px;color:var(--ink-2);word-break:break-all;}
.sr-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.sc-paste{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;}
.sc-paste > summary{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;font-weight:500;}
.sc-paste > summary:hover{color:var(--red);}
.sc-paste textarea{width:100%;min-height:190px;margin-top:14px;padding:14px 16px;border:1px solid var(--line);
  font-family:var(--sans);font-size:14.5px;line-height:1.6;color:var(--ink);background:#fff;resize:vertical;}
.sc-paste textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-l);}

.sc-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:22px;}
.sc-actions .btn[disabled]{opacity:.55;cursor:not-allowed;}
.sc-privacy{font-size:12.5px;color:var(--ink-3);line-height:1.55;max-width:46ch;}
.sc-privacy strong{color:var(--ink-2);font-weight:600;}

.sc-status{margin-top:14px;font-family:var(--mono);font-size:12px;letter-spacing:.03em;min-height:1.2em;}
.sc-status--busy{color:var(--ink-2);}
.sc-status--busy::before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border:2px solid var(--ink-4);
  border-top-color:var(--red);border-radius:50%;animation:sc-spin .7s linear infinite;vertical-align:-1px;}
.sc-status--err{color:var(--red);font-family:var(--sans);font-size:13.5px;letter-spacing:0;line-height:1.55;}
@keyframes sc-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.sc-status--busy::before{animation:none;}}

/* ---------- results ---------- */
.sc-out{margin-top:26px;}
.sc-out[hidden]{display:none;}

.sc-head{display:flex;gap:26px;align-items:center;background:#fff;border:1px solid var(--line);
  border-left:4px solid var(--red);padding:30px 32px;}
.sc-ring{--p:0;width:112px;height:112px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  background:conic-gradient(var(--c,#b91c1c) calc(var(--p)*3.6deg),#e6eaf0 0);}
.sc-ring > span{width:88px;height:88px;border-radius:50%;background:#fff;display:grid;place-items:center;
  align-content:center;gap:0;line-height:1;}
.sc-ring strong{font-family:var(--serif);font-size:34px;font-weight:800;color:var(--ink);letter-spacing:-0.03em;}
.sc-ring small{font-family:var(--mono);font-size:10px;color:var(--ink-4);letter-spacing:.08em;margin-top:3px;}
.sc-head__txt{min-width:0;}
.sc-band{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;}
.sc-head__txt h3{font-size:clamp(21px,2.4vw,27px);margin-top:8px;}
.sc-head__txt p{font-size:15px;line-height:1.65;color:var(--ink-2);margin-top:9px;}

/* ---------- category bars ---------- */
.sc-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-top:none;}
.sc-cat{background:#fff;padding:20px 22px 18px;}
.sc-cat__top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.sc-cat__lbl{font-weight:600;font-size:13.5px;color:var(--ink);line-height:1.3;}
.sc-cat__num{font-family:var(--mono);font-size:15px;font-weight:500;color:var(--ink);flex:none;}
.sc-cat__num i{font-style:normal;font-size:11px;color:var(--ink-4);}
.sc-bar{height:6px;background:var(--soft-2);margin-top:11px;overflow:hidden;}
.sc-bar__fill{height:100%;width:0;transition:width .55s cubic-bezier(.22,1,.36,1);}
@media (prefers-reduced-motion:reduce){.sc-bar__fill{transition:none;}}
.sc-cat__note{font-size:12px;line-height:1.5;color:var(--ink-3);margin-top:10px;}

/* Desktop: all five categories on one row so the whole breakdown reads at a glance.
   auto-fit above would only fit four in the 920px container and orphan the fifth.
   At ~184px per column the label and number no longer sit side by side, so the cell
   becomes a stat tile — number first (order:-1), label under it. */
@media (min-width:900px){
  .sc-cats{grid-template-columns:repeat(5,1fr);}
  .sc-cat{padding:18px 16px 17px;}
  .sc-cat__top{flex-direction:column;align-items:flex-start;gap:1px;}
  .sc-cat__num{order:-1;font-size:20px;line-height:1.1;}
  .sc-cat__lbl{font-size:12.5px;line-height:1.32;}
  .sc-bar{margin-top:10px;}
  .sc-cat__note{font-size:11.5px;line-height:1.45;margin-top:9px;}
}

/* ---------- blocks ---------- */
.sc-block{background:#fff;border:1px solid var(--line);border-top:none;padding:28px 32px;}
.sc-h4{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--ink);display:flex;flex-wrap:wrap;
  align-items:baseline;gap:12px;}
.sc-h4 em{font-family:var(--mono);font-style:normal;font-size:10.5px;font-weight:400;letter-spacing:.12em;
  text-transform:uppercase;color:var(--red);background:var(--red-l);padding:4px 9px;}
.sc-block__sub{font-size:14px;line-height:1.65;color:var(--ink-2);margin-top:9px;}

/* ---------- prioritized fixes ---------- */
.sc-fixes{list-style:none;counter-reset:scf;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;}
.sc-fixes li{counter-increment:scf;position:relative;padding:16px 18px 16px 52px;background:var(--soft);}
.sc-fixes li::before{content:counter(scf);position:absolute;left:18px;top:16px;font-family:var(--mono);font-size:12px;
  font-weight:500;color:#fff;background:var(--red);width:21px;height:21px;display:grid;place-items:center;}
.sc-fix__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.sc-fix__lbl{font-weight:600;font-size:14.5px;color:var(--ink);line-height:1.35;}
.sc-fix__pts{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--red);flex:none;white-space:nowrap;}
.sc-fix__detail{font-size:13.5px;line-height:1.6;color:var(--ink-2);margin-top:6px;}
.sc-fix__how{font-size:13.5px;line-height:1.6;color:var(--ink-3);margin-top:5px;}
.sc-perfect{font-size:15px;font-weight:600;color:#146239;}   /* 7.4:1 on white — 15px/600 is not WCAG "large text" */
.sc-perfect a{color:var(--red);text-decoration:underline;}

/* ---------- jargon table ---------- */
.sc-tbl{width:100%;border-collapse:collapse;margin-top:18px;font-size:13.5px;}
.sc-tbl th{text-align:left;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);padding:0 14px 9px 0;border-bottom:1px solid var(--line);}
.sc-tbl td{padding:11px 14px 11px 0;border-bottom:1px solid var(--soft-2);vertical-align:top;line-height:1.55;
  color:var(--ink-2);}
.sc-tbl tr:last-child td{border-bottom:none;}
.sc-tbl td:first-child{width:38%;}
.sc-tbl code{font-family:var(--mono);font-size:12.5px;background:var(--red-l);color:var(--red-d);padding:2px 7px;
  font-weight:500;display:inline-block;margin:0 3px 3px 0;}
.sc-tbl__n{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);margin-left:5px;}
.sc-tbl a{color:var(--red);font-weight:600;text-decoration:underline;}

/* ---------- AI closer read ---------- */
.sc-ai__wait{color:var(--ink-3);font-style:italic;}
.sc-ai__verdict{font-size:15px;line-height:1.7;color:var(--ink-2);margin-top:12px;}
.sc-ai__lbl{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin-top:22px;}
.sc-ai__caveat{font-size:12.5px;line-height:1.6;color:var(--ink-3);margin-top:14px;padding-left:12px;
  border-left:2px solid var(--line);}

.sc-ba{display:flex;flex-direction:column;gap:14px;margin-top:18px;}
.sc-ba__row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.sc-ba__col{background:#fff;padding:15px 17px;}
.sc-ba__col--before{background:var(--soft);}
.sc-ba__col--after{background:#F4FBF6;}
.sc-ba__tag{font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-4);display:block;margin-bottom:7px;}
.sc-ba__tag--after{color:#146239;}   /* 9.5px caps on the #F4FBF6 panel — needs the darker green */
.sc-ba__col p{font-size:13.5px;line-height:1.6;color:var(--ink-2);}
.sc-ba__col--after p{color:var(--ink);}

.sc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;}
.sc-chip{font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;background:var(--soft-2);color:var(--ink-2);
  padding:6px 11px;border:1px solid var(--line);}

/* ---------- disclaimer ---------- */
.sc-disclaimer{background:var(--dark);color:rgba(255,255,255,.66);font-size:12.5px;line-height:1.7;
  padding:22px 32px;border:1px solid var(--dark);}
.sc-disclaimer strong{color:#fff;font-weight:600;}

/* ---------- next steps ---------- */
.sc-next{background:var(--soft);border:1px solid var(--line);border-top:none;padding:30px 32px;}
.sc-next__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:22px;}
.sc-next__card{background:#fff;border:1px solid var(--line);padding:22px 22px 24px;display:flex;
  flex-direction:column;gap:9px;}
.sc-next__card h5{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-0.01em;}
.sc-next__card p{font-size:13.5px;line-height:1.6;color:var(--ink-2);flex:1;}
.sc-next__card .btn{align-self:flex-start;}

/* ---------- send-to-recruiter form ---------- */
.sc-send{background:#fff;border:1px solid var(--line);border-top:none;padding:30px 32px;}
.sc-send[hidden]{display:none;}
.sc-send__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;}
.sc-field{display:flex;flex-direction:column;gap:6px;}
.sc-field > span{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);}
.sc-field input{padding:12px 14px;border:1px solid var(--line);font-family:var(--sans);font-size:14.5px;color:var(--ink);
  background:#fff;}
.sc-field input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-l);}
.sc-send__foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:20px;}
.sc-send__status{font-family:var(--mono);font-size:12px;color:var(--ink-2);}
.sc-send__done{font-size:15px;line-height:1.7;color:var(--ink-2);}
.sc-send__done strong{color:#146239;}
.sc-send__done a{color:var(--red);font-weight:600;}
.sc-send__note{font-size:12.5px;line-height:1.6;color:var(--ink-3);margin-top:16px;}

/* ---------- how it works ---------- */
.sc-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);}
.sc-step{background:#fff;padding:30px 28px 32px;}
.sc-step__n{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;color:var(--red);}
.sc-step h3{font-size:19px;margin-top:14px;}
.sc-step p{font-size:14px;line-height:1.7;color:var(--ink-2);margin-top:10px;}

/* ---------- rubric table (what we check) ---------- */
.sc-rubric{border:1px solid var(--line);background:#fff;}
.sc-rubric__row{display:grid;grid-template-columns:minmax(190px,1fr) 62px 2fr;gap:20px;padding:19px 26px;
  border-bottom:1px solid var(--line);align-items:start;}
.sc-rubric__row:last-child{border-bottom:none;}
.sc-rubric__row--head{background:var(--soft);font-family:var(--mono);font-size:10.5px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:13px 26px;}
.sc-rubric__cat{font-weight:600;font-size:14.5px;color:var(--ink);line-height:1.35;}
.sc-rubric__pts{font-family:var(--mono);font-size:15px;color:var(--red);font-weight:500;}
.sc-rubric__what{font-size:13.5px;line-height:1.65;color:var(--ink-2);}

/* ---------- FAQ ---------- */
.sc-faq{max-width:820px;margin:0 auto;border-top:1px solid var(--line);}
.sc-faq details{border-bottom:1px solid var(--line);}
.sc-faq summary{padding:20px 42px 20px 0;font-family:var(--serif);font-weight:700;font-size:16.5px;color:var(--ink);
  cursor:pointer;position:relative;list-style:none;line-height:1.45;}
.sc-faq summary::-webkit-details-marker{display:none;}
.sc-faq summary::after{content:"+";position:absolute;right:8px;top:19px;font-family:var(--mono);font-size:20px;
  font-weight:400;color:var(--red);line-height:1;}
.sc-faq details[open] summary::after{content:"–";}
.sc-faq summary:hover{color:var(--red);}
.sc-faq p{padding:0 0 22px;font-size:14.5px;line-height:1.75;color:var(--ink-2);max-width:70ch;}
.sc-faq p + p{padding-top:0;margin-top:-8px;}
.sc-faq a{color:var(--red);font-weight:600;text-decoration:underline;}

/* ---------- responsive ---------- */
@media (max-width:820px){
  .sc-card{padding:24px 20px 22px;}
  .sc-head{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 22px;}
  .sc-block,.sc-next,.sc-send,.sc-disclaimer{padding:24px 22px;}
  .sc-ba__row{grid-template-columns:1fr;}
  .sc-send__grid{grid-template-columns:1fr;}
  .sc-rubric__row{grid-template-columns:1fr 56px;gap:10px 16px;padding:16px 20px;}
  .sc-rubric__what{grid-column:1 / -1;}
  .sc-rubric__row--head{display:none;}
  .sc-tbl td:first-child{width:42%;}
}
@media (max-width:560px){
  .sc-drop{padding:26px 16px;}
  .sc-ring{width:92px;height:92px;}
  .sc-ring > span{width:72px;height:72px;}
  .sc-ring strong{font-size:28px;}
  .sc-fixes li{padding:14px 14px 14px 46px;}
  .sc-fixes li::before{left:14px;}
  .sc-actions{flex-direction:column;align-items:stretch;}
  .sc-actions .btn{justify-content:center;}
}
