/* Resume Keyword Matcher. Mobile first. Uses tokens.css and the .btn, .pill, .hero-slab, .eyebrow,
   .sec-title, .sec-sub and .kit-form patterns in site.css. Gradients on this page are violet only
   (#dabcfc to #c596fe), never mixed with green or blue, per the page's own design rule. A flat
   solid fill on a small element (a step card, a chip) is not a gradient and is fine in green or blue. */
/* Several elements on this page set their own display (flex/grid/inline-flex) while starting
   hidden via the HTML hidden attribute. An author rule that sets display wins the cascade over
   the UA stylesheet's [hidden]{display:none} at equal specificity, so without this, those
   elements would show before any JS ever reveals them. Mirrors check.css's #qz-app [hidden] rule. */
body[data-tool="resume-keyword-matcher"] [hidden]{display:none!important}
.rkm-main{overflow-x:clip}
/* padding-top/bottom only, never the padding shorthand: these classes sit on the same element
   as .wrap, and a shorthand here would zero out .wrap's own horizontal padding (0 24px),
   collapsing the page's side gutter and clipping anything positioned near a card's edge. */
.rkm-section{padding-top:48px;padding-bottom:48px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- hero ---------- */
.rkm-hero{padding-top:40px;padding-bottom:24px;position:relative}
/* Two faint brand color glows behind the hero, matching the design reference. This is a
   deliberate exception to the sitewide "one soft shape at most" rule, scoped to this hero only,
   per the owner's explicit reference image. */
.rkm-hero-glow{position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none;z-index:0}
.rkm-hero-glow-violet{width:360px;height:360px;top:-140px;right:-120px;background:radial-gradient(closest-side,rgba(197,150,254,.6),rgba(197,150,254,0))}
.rkm-hero-glow-green{width:320px;height:320px;bottom:-120px;left:-120px;background:radial-gradient(closest-side,rgba(181,245,87,.5),rgba(181,245,87,0))}
@media (min-width:640px){
  .rkm-hero-glow{filter:blur(60px)}
  .rkm-hero-glow-violet{width:780px;height:780px;top:-320px;right:-260px;background:radial-gradient(closest-side,rgba(197,150,254,.7),rgba(197,150,254,0))}
  .rkm-hero-glow-green{width:680px;height:680px;bottom:-260px;left:-260px;background:radial-gradient(closest-side,rgba(181,245,87,.6),rgba(181,245,87,0))}
}
.rkm-hero-grid{position:relative;z-index:1;display:grid;gap:40px}
.rkm-hero-copy h1{font-size:clamp(34px,6vw,56px);line-height:1.02;letter-spacing:-.03em;color:var(--ink);margin:0}
.rkm-hero-copy .lede{margin-top:20px;font-size:clamp(16px,1.6vw,18px);line-height:1.6;color:var(--muted);max-width:520px}
.rkm-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px}
.rkm-sample-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--navy);font:700 15px/1 "DM Sans",sans-serif;text-decoration:none}
.rkm-sample-link:hover{text-decoration:underline;text-decoration-color:var(--violet)}
.rkm-sample-link:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
.rkm-caption{margin-top:18px;font-size:13px;line-height:1.5;color:rgba(14,14,16,.6)}

.rkm-hero-visual{position:relative;z-index:1;display:flex;justify-content:center}
.rkm-hero-frame{position:relative;width:100%;max-width:440px;padding:14px;border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--violet-2),var(--violet));box-shadow:var(--shadow-lg)}
.rkm-hero-card{position:relative;background:#fff;border-radius:calc(var(--radius-lg) - 14px);padding:24px;isolation:isolate;overflow:hidden}
@media (min-width:480px){
  .rkm-hero-frame{padding:20px}
  .rkm-hero-card{border-radius:calc(var(--radius-lg) - 20px)}
}
.rkm-hc-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rkm-hc-eyebrow{font:700 11px/16px "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rkm-hc-remote{display:inline-flex;align-items:center;min-height:26px;padding:0 12px;border-radius:var(--radius-pill);background:var(--green-2);color:var(--ink);font:700 12px/1 "DM Sans",sans-serif}
.rkm-hc-posting{margin:16px 0 0;font-size:16px;line-height:1.6;color:var(--ink)}
.rkm-hl{background:var(--violet);border-radius:4px;padding:1px 4px;white-space:nowrap;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.rkm-hc-divider{height:1px;background:var(--line);margin:18px 0}
.rkm-hc-match{display:flex;align-items:center;gap:16px}
.rkm-hc-ring{position:relative;flex:none;width:88px;height:88px}
.rkm-hc-pct{position:absolute;inset:0;display:grid;place-items:center;font:700 22px/1 "Syne","DM Sans",sans-serif;color:var(--ink)}
.rkm-hc-chips{min-width:0}
.rkm-hc-label{margin:0 0 8px;font:700 13px/18px "DM Sans",sans-serif;color:var(--ink)}
.rkm-hc-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.rkm-hc-chiprow:last-child{margin-bottom:0}
.rkm-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:var(--radius-pill);font:500 13px/1 "DM Sans",sans-serif;white-space:nowrap}
.rkm-chip-found{background:var(--green-2);color:var(--ink)}
.rkm-chip-missing{background:#fff;color:var(--navy);border:1.5px dashed var(--navy)}

/* Below 480px the ring and chips no longer fit side by side without crowding: ring gets its
   own centered row on top, chips wrap in a row that uses the card's full width underneath. */
@media (max-width:479px){
  .rkm-hc-match{flex-direction:column;align-items:center;gap:14px}
  .rkm-hc-chips{width:100%}
  .rkm-hc-label{text-align:center}
  .rkm-hc-chiprow{justify-content:center}
}

/* Preppy sits inline right after "Matcher", at the end of the heading, small. Sized in em so it
   scales with the h1's own clamp(). Only transform animates (bob, plus an occasional bigger hop
   on the celebration dialog), so the text layout never shifts. vertical-align (not transform)
   sets the resting position, since transform must stay reserved for the animation only. */
.rkm-preppy{display:inline-block;height:.6em;width:auto;vertical-align:0;margin-left:.16em;transform-origin:50% 70%;animation:rkmBob 3.4s ease-in-out infinite;pointer-events:none}
@keyframes rkmBob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6%) rotate(2deg)}}
.rkm-preppy.rkm-hop{animation:rkmHop .6s ease}
@keyframes rkmHop{0%,100%{transform:translateY(0) rotate(-2deg)}30%{transform:translateY(-32%) rotate(8deg)}60%{transform:translateY(0) rotate(-5deg)}}
@media (prefers-reduced-motion:reduce){.rkm-preppy{animation:none}}

@media (min-width:900px){
  .rkm-hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:48px}
  .rkm-hero-visual{justify-content:flex-end}
}

/* ---------- how it works ---------- */
.rkm-steps{display:grid;gap:16px;margin-top:28px}
.rkm-step{position:relative;display:flex;flex-direction:column;gap:10px;min-height:120px;padding:24px;border-radius:var(--radius-md);text-decoration:none;color:var(--ink);transition:transform .2s cubic-bezier(.4,0,.2,1)}
.rkm-step:hover{transform:translateY(-3px)}
.rkm-step:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.rkm-step-num{font:700 13px/1 "DM Sans",sans-serif;letter-spacing:.04em;color:var(--navy);opacity:.7}
.rkm-step-title{font:700 18px/26px "Syne","DM Sans",sans-serif;letter-spacing:-.01em}
.rkm-step-arrow{position:absolute;right:20px;bottom:20px}
.rkm-step-violet{background:var(--violet-2)}
.rkm-step-green{background:var(--green-2)}
.rkm-step-blue{background:rgba(108,124,255,.16)}
@media (min-width:768px){.rkm-steps{grid-template-columns:repeat(3,1fr)}}

/* ---------- tool frame ---------- */
.rkm-frame{position:relative;min-width:0;margin:0 auto;padding:2px;border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--violet-2),var(--violet));box-shadow:var(--shadow-md)}
.rkm-frame-in{min-width:0;background:#fff;border-radius:calc(var(--radius-lg) - 2px);padding:20px;display:flex;flex-direction:column;gap:24px}
@media (min-width:768px){.rkm-frame-in{padding:32px}}

.rkm-field{display:flex;flex-direction:column;gap:8px}
.rkm-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rkm-label{font:700 14px/20px "DM Sans",sans-serif;color:var(--ink)}
.rkm-count{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--radius-pill);background:var(--bg-alt);font:500 12px/1 "DM Sans",sans-serif;color:var(--muted)}
.rkm-count.ok{background:var(--green-2);color:var(--ink)}
.rkm-help{margin:0;font-size:12px;line-height:16px;color:var(--muted)}
.rkm-err{display:flex;align-items:flex-start;gap:8px;margin:0;font:500 14px/20px "DM Sans",sans-serif;color:var(--error)}
.rkm-err svg{flex:none;margin-top:2px}

.rkm-area{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:400 16px/24px "DM Sans",sans-serif;padding:12px 16px;resize:vertical;min-height:160px;transition:border-color .2s ease,box-shadow .2s ease}
.rkm-area:hover{border-color:var(--violet)}
.rkm-area:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(197,150,254,.45)}
.rkm-area.bad{border-color:var(--error)}

.rkm-seg{display:inline-flex;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--bg-alt);border:1px solid var(--line);align-self:flex-start}
.rkm-seg-btn{min-height:40px;padding:0 18px;border-radius:var(--radius-pill);border:0;background:transparent;font:500 14px/1 "DM Sans",sans-serif;color:var(--muted);cursor:pointer;transition:background .2s ease,color .2s ease}
.rkm-seg-btn:hover{color:var(--ink);background:var(--violet-2)}
.rkm-seg-btn[aria-pressed="true"]{background:var(--violet);color:var(--ink)}
.rkm-seg-btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}

.rkm-dz{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:150px;padding:24px 16px;text-align:center;border-radius:16px;border:2px dashed var(--line);background:var(--bg-alt);transition:border-color .2s ease,background .2s ease}
.rkm-dz:hover,.rkm-dz:focus-within{border-color:var(--violet);background:#fff}
.rkm-dz:focus-within{box-shadow:0 0 0 3px rgba(197,150,254,.45)}
.rkm-dz-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--violet-2),var(--violet))}
.rkm-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.rkm-browse{text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:3px}
.rkm-chip-file{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 8px 8px 16px;margin-top:12px;border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm)}
.rkm-chip-file.bad{border-color:var(--error)}
.rkm-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 14px/20px "DM Sans",sans-serif}
.rkm-x{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:background .2s ease}
.rkm-x:hover{background:var(--violet-2)}
.rkm-spin{animation:rkmSpin .8s linear infinite}
@keyframes rkmSpin{to{transform:rotate(360deg)}}

.rkm-actions{display:flex;flex-direction:column-reverse;gap:12px}
@media (min-width:640px){.rkm-actions{flex-direction:row;justify-content:space-between}}

/* ---------- result ---------- */
.rkm-result{margin-top:8px}
.rkm-result-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.rkm-h2{font:700 24px/30px "Syne","DM Sans",sans-serif;letter-spacing:-.02em;margin:0}
.rkm-h3{font:700 18px/24px "Syne","DM Sans",sans-serif;letter-spacing:-.01em;margin:0}
.rkm-tag-sample{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--radius-pill);background:var(--ink);color:#fff;font:500 12px/1 "DM Sans",sans-serif}

.rkm-bento{display:grid;gap:12px}
.rkm-tile{border-radius:16px;padding:20px;border:1px solid var(--line);background:#fff;min-width:0}
.rkm-tile-score{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
.rkm-ring{position:relative;width:112px;height:112px}
.rkm-ring-num{position:absolute;inset:0;display:grid;place-items:center;font:700 26px/1 "Syne","DM Sans",sans-serif}
.rkm-label-sm{margin:0;font:500 13px/18px "DM Sans",sans-serif;color:var(--muted)}
.rkm-no-resume-line{margin:0;padding:16px;border-radius:14px;background:var(--bg-alt);color:var(--muted);font-size:14px;text-align:center}
.rkm-tile-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border-color:transparent}
.rkm-tile-stat-found{background:linear-gradient(145deg,var(--green-2),var(--green))}
.rkm-tile-stat-missing{background:linear-gradient(145deg,var(--violet-2),var(--violet))}
.rkm-big{margin:0;font:700 36px/1 "Syne","DM Sans",sans-serif}
.rkm-top5{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.rkm-top5 li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.rkm-top5 li:first-child{border-top:0;padding-top:0}
.rkm-top5-rank{flex:none;width:26px;height:26px;border-radius:50%;background:var(--violet-2);display:grid;place-items:center;font:700 12px/1 "DM Sans",sans-serif}
.rkm-top5-word{flex:1;min-width:0;font:700 14px/20px "DM Sans",sans-serif}
.rkm-top5-bar{width:60px;height:6px;border-radius:var(--radius-pill);background:var(--bg-alt);overflow:hidden;flex:none}
.rkm-top5-bar span{display:block;height:100%;background:var(--violet)}
.rkm-top5-status{flex:none;font:700 12px/1 "DM Sans",sans-serif;padding:4px 8px;border-radius:var(--radius-pill)}
.rkm-top5-status.found{background:var(--green-2);color:var(--ink)}
.rkm-top5-status.missing{background:var(--bg-alt);color:var(--muted)}
.rkm-locked{display:flex;align-items:center;gap:10px;margin-top:14px;padding:14px;border-radius:14px;background:var(--bg-alt);color:var(--muted);font-size:13px}
.rkm-locked svg{flex:none}
@media (min-width:768px){
  .rkm-bento{grid-template-columns:repeat(3,1fr);grid-template-areas:"score found missing" "score top5 top5"}
  .rkm-tile-score{grid-area:score}
  .rkm-tile-stat-found{grid-area:found}
  .rkm-tile-stat-missing{grid-area:missing}
  .rkm-tile-top5{grid-area:top5}
  .rkm-no-resume-line{grid-column:1/-1}
}

.rkm-signals{margin:24px auto 0}
.rkm-signal-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}
.rkm-signals-empty{margin:16px 0 0;padding:16px;border-radius:14px;background:var(--bg-alt);color:var(--muted);font-size:14px;line-height:1.5}
.rkm-signal-list li{display:flex;gap:12px;align-items:flex-start}
.rkm-signal-ic{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,var(--violet-2),var(--violet))}
.rkm-signal-list li:nth-child(3n+2) .rkm-signal-ic{background:linear-gradient(145deg,var(--green-2),var(--green))}
.rkm-signal-list li:nth-child(3n) .rkm-signal-ic{background:rgba(108,124,255,.22)}
.rkm-signal-name{margin:0;font:700 14px/20px "DM Sans",sans-serif}
.rkm-signal-meaning{margin:2px 0 0;font-size:13px;line-height:18px;color:var(--muted)}

/* ---------- gate: moved to the shared .tg-gate-* rules in tool-guide.css (tool-gate.njk) ---------- */

/* ---------- full report ---------- */
.rkm-report{margin:24px auto 0;display:flex;flex-direction:column;gap:16px}
.rkm-report-rank-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.rkm-rank-list{list-style:none;margin:0;padding:0}
.rkm-rank-list li{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.rkm-rank-list li:first-child{border-top:0;padding-top:0}
.rkm-rank-n{width:30px;height:30px;border-radius:50%;background:var(--violet-2);display:grid;place-items:center;font:700 13px/1 "DM Sans",sans-serif}
.rkm-rank-word{margin:0;font:700 17px/24px "Syne","DM Sans",sans-serif}
.rkm-rank-tags{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.rkm-rank-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--radius-pill);font:600 12px/1 "DM Sans",sans-serif;background:var(--bg-alt);border:1px solid var(--line)}
.rkm-rank-tag.high{background:var(--ink);color:#fff;border-color:transparent}
.rkm-rank-tag.medium{background:var(--violet);color:var(--ink);border-color:transparent}
.rkm-rank-tag.low{background:var(--violet-2);color:var(--ink);border-color:transparent}
.rkm-rank-tag.found{background:var(--green-2);color:var(--ink);border-color:transparent}
.rkm-rank-note{margin:0;font-size:13px;line-height:19px;color:var(--muted)}
.rkm-start-over{align-self:center;font:500 14px/1 "DM Sans",sans-serif;color:var(--muted);text-decoration:underline;text-underline-offset:3px}

/* ---------- industry keyword tabs ---------- */
.rkm-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.rkm-tab{min-height:40px;padding:0 16px;border-radius:var(--radius-pill);border:1px solid var(--line);background:#fff;color:var(--ink);font:500 14px/1 "DM Sans",sans-serif;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.rkm-tab:hover{border-color:var(--violet)}
.rkm-tab[aria-selected="true"]{background:var(--ink);color:#fff;border-color:transparent}
.rkm-tab:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.rkm-tab-panel{margin-top:20px}
.rkm-chip-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.rkm-industry-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:var(--radius-pill);font:500 13px/1 "DM Sans",sans-serif;background:var(--violet-2);color:var(--ink)}
.rkm-industry-chip:nth-child(3n+2){background:var(--green-2)}
.rkm-industry-chip:nth-child(3n){background:rgba(108,124,255,.16)}
/* Solid ink pill, deliberately different from the pale chip pills around it, so it reads as a
   button and not another keyword. */
.rkm-copy-solid{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--radius-pill);border:0;background:var(--ink);color:#fff;font:600 14px/1 "DM Sans",sans-serif;cursor:pointer;transition:background .2s ease,transform .2s ease}
.rkm-copy-solid:hover{background:var(--violet);color:var(--ink);transform:translateY(-2px)}
.rkm-copy-solid:focus-visible{outline:3px solid var(--blue);outline-offset:2px}

/* ---------- more tools ---------- */
.rkm-tools-grid{display:grid;gap:16px;margin-top:24px}
.rkm-tool-card{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--radius-md);border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
a.rkm-tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--violet)}
.rkm-tool-card.is-soon{opacity:.6;cursor:default}
.rkm-tool-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:4px}
.rkm-tool-ic-violet{background:linear-gradient(145deg,var(--violet-2),var(--violet))}
.rkm-tool-ic-green{background:linear-gradient(145deg,var(--green-2),var(--green))}
.rkm-tool-ic-blue{background:rgba(108,124,255,.22)}
.rkm-tool-name{font:700 16px/22px "Syne","DM Sans",sans-serif;margin:0}
.rkm-tool-desc{margin:0;font-size:14px;line-height:20px;color:var(--muted)}
.rkm-tool-go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font:600 14px/1 "DM Sans",sans-serif;color:var(--navy)}
.rkm-soon-tag{align-self:flex-start;margin-top:auto;display:inline-flex;align-items:center;min-height:22px;padding:0 10px;border-radius:var(--radius-pill);background:var(--bg-alt);color:var(--muted);font:600 11px/1 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.04em}
@media (min-width:640px){.rkm-tools-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.rkm-tools-grid{grid-template-columns:repeat(4,1fr)}}

/* ---------- final CTA ---------- */
/* Builds its own centered column instead of relying on the shared .center utility, which only
   centers text inside a box, not the box itself, when there is no .hero-slab-grid wrapper. */
.rkm-cta-slab{display:flex;flex-direction:column;align-items:center;text-align:center}
.rkm-cta-h{font-size:clamp(28px,4.2vw,44px);line-height:1.08;max-width:620px;margin:0 auto}
.rkm-cta-slab .lede{margin:16px auto 0;max-width:560px}
.rkm-cta-slab .btn{margin-top:28px}
.rkm-section-final{padding-bottom:88px}

/* ---------- celebration dialog + confetti ---------- */
.rkm-dialog-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(14,14,16,.5)}
.rkm-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.rkm-confetti span{position:absolute;top:-10px;width:8px;height:14px;border-radius:2px;opacity:.95;animation:rkmFall 1.8s ease-in forwards}
@keyframes rkmFall{to{transform:translateY(110vh) rotate(540deg);opacity:0}}
.rkm-dialog{position:relative;z-index:1;width:100%;max-width:420px;background:#fff;border-radius:var(--radius-lg);padding:32px;text-align:center;box-shadow:var(--shadow-lg)}
.rkm-dialog h2{margin:0;font:700 22px/28px "Syne","DM Sans",sans-serif;letter-spacing:-.01em}
.rkm-dialog p{margin:14px 0 24px;color:var(--muted);font-size:15px;line-height:23px}
@media (prefers-reduced-motion:reduce){.rkm-confetti{display:none}}

/* ---------- error state ---------- */
#rkm-jd.bad,#rkm-resume.bad{border-color:var(--error)}
