/* Auto-apply helper (rebuilt 2026-10-03). Site tokens from tools.css; nothing here outside .aa-* except form boxes. */
.aa-wrap { padding-top: 20px; }
.aa-wrap > nav[aria-label="Breadcrumb"] ol { flex-wrap: wrap; row-gap: 2px; }
.aa-wrap > nav[aria-label="Breadcrumb"] li { white-space: nowrap; }
.aa-hero { margin: 26px 0 22px; }
.aa-hero .sub { max-width: 680px; }

.aa-steps { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin: 0 0 26px; padding: 0; font-size: 14px; color: var(--ink-2); }
.aa-steps li { display: inline-flex; align-items: center; gap: 8px; }
.aa-steps b, .aa-n { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-ink); font-size: 12.5px; font-weight: 700; flex: none; }

.aa-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.aa-card { padding: 22px; min-width: 0; }
.aa-card-h { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.aa-card-h h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 18px; }
.aa-saved { font-size: 12.5px; color: var(--ink-3); }
.aa-p { font-size: 14.5px; color: var(--ink-2); line-height: 1.55; margin: 0 0 12px; }
.aa-h3 { font-size: 15.5px; font-weight: 650; color: var(--ink); margin: 22px 0 6px; padding-top: 18px; border-top: 1px solid var(--hair); }

/* form boxes */
.aa-card label, .aa-practice label { font-size: 12.5px; margin-bottom: 4px; }
.aa-card input[type="text"], .aa-card input[type="email"], .aa-card input[type="tel"], .aa-card input[type="url"], .aa-card select, .aa-card textarea {
  width: 100%; font-family: var(--sans); font-size: 14.5px; color: var(--ink); background: var(--paper); border: 1px solid var(--hair-2);
  border-radius: var(--r-sm); padding: 9px 12px; min-height: 42px;
}
.aa-card input:focus, .aa-card select:focus, .aa-card textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.aa-card input[type="file"] { font-size: 13.5px; width: 100%; }
.aa-fs { border: 0; margin: 0 0 14px; padding: 0; min-width: 0; }
.aa-fs legend { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 8px; padding: 0; }
.aa-fs legend span { font-weight: 500; color: var(--ink-3); margin-left: 6px; }
.aa-fs > div, .aa-row > div, .aa-practice > div, .aa-app-box > div { margin-bottom: 10px; min-width: 0; }
.aa-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.aa-row3 { grid-template-columns: 1fr 1fr 1fr; }
.aa-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }

.aa-ready { background: var(--paper); border: 1px solid var(--hair-2); border-radius: var(--r-sm); padding: 10px 12px; margin-bottom: 14px; font-size: 14px; color: var(--ink-2); }
.aa-ready.good { background: #f0fdf4; border-color: #bbf7d0; }
.aa-ready-miss { font-size: 12.5px; color: var(--ink-3); margin-top: 2px; }
.aa-example-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; background: #fff7e6; border: 1px solid #f5c26b; color: #5b3b00; border-radius: var(--r-sm); padding: 10px 12px; margin-bottom: 14px; font-size: 13.5px; }
.aa-example-bar[hidden], .aa-report[hidden], .aa-ext-status[hidden], .aa-ans-note[hidden], .aa-reset[hidden] { display: none; }

/* bookmark */
.aa-bm-row { margin: 6px 0 8px; }
.aa-bm { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; background: var(--accent-soft); border: 1.5px dashed var(--accent); color: var(--accent-ink); font-weight: 650; font-size: 14.5px; text-decoration: none; cursor: grab; }
.aa-bm:hover { background: #e0e7ff; }
.aa-bm-status { font-size: 13.5px; color: var(--ink-2); margin: 0 0 6px; min-height: 1.4em; }
.aa-bm-status.warn { color: #92400e; }
.aa-phone-note { display: none; font-size: 13px; color: var(--ink-3); margin: 0 0 8px; }
.aa-ext { margin-top: 10px; border: 1px solid var(--hair-2); border-radius: var(--r-sm); padding: 0 14px; background: var(--paper); }
.aa-ext summary { cursor: pointer; font-weight: 600; font-size: 14px; padding: 12px 0; color: var(--ink); }
.aa-ext p, .aa-ext ol { font-size: 13.5px; color: var(--ink-2); line-height: 1.55; }
.aa-ext ol { padding-left: 20px; margin: 10px 0 12px; }
.aa-ext-msg { font-size: 13px; color: var(--ink-3); margin-left: 8px; }
.aa-ext-status { background: #f0fdf4; border: 1px solid #bbf7d0; color: #14532d; border-radius: 8px; padding: 8px 10px; }

/* practice form */
.aa-practice { background: var(--paper); border: 1px dashed var(--hair-3, #cbd5e1); border-radius: var(--r-sm); padding: 14px; margin-bottom: 10px; }
.aa-practice input[type="text"], .aa-practice input[type="email"], .aa-practice input[type="tel"], .aa-practice select, .aa-practice textarea { background: var(--surface); }
.aa-report { margin-top: 12px; font-size: 14px; line-height: 1.55; }
.aa-report p { margin: 0 0 8px; }
.aa-ok { color: #14532d; }
.aa-warn { color: #92400e; }
.aa-note { color: var(--ink-3); font-size: 13px; }

/* answers */
.aa-answers { margin-top: 20px; }
.aa-app-box { background: var(--paper); border: 1px solid var(--hair-2); border-radius: var(--r-sm); padding: 14px; margin-bottom: 16px; }
.aa-track-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.aa-track-row select { width: auto; min-width: 200px; }
.aa-inline { display: inline; margin: 0; }
.aa-track-msg { font-size: 13.5px; margin: 8px 0 0; color: var(--ink-2); min-height: 1.2em; }
.aa-track-msg.ok { color: #14532d; }
.aa-track-msg.warn { color: #92400e; }
.aa-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.aa-ans { border: 1px solid var(--hair-2); border-radius: var(--r-sm); padding: 14px; background: var(--surface); min-width: 0; }
.aa-q { font-size: 15px; font-weight: 650; color: var(--ink); margin: 0 0 6px; line-height: 1.35; }
.aa-ans-note { font-size: 12.5px; color: var(--ink-3); margin: 0 0 8px; line-height: 1.45; }
.aa-ans-row { margin-top: 8px; }
.aa-ans-h { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.aa-ans-h label { margin: 0 auto 0 0; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); }
.aa-blanks { font-size: 12px; font-weight: 600; color: #92400e; }
.aa-ans textarea { min-height: 42px; resize: vertical; font-size: 14px; line-height: 1.5; }
.aa-ans .btn-copy { height: 32px; padding: 0 12px; }

/* the guide */
.aa-guide { margin-top: 48px; max-width: 820px; }
.aa-guide h2 { font-size: 24px; font-weight: 700; color: var(--ink); margin: 40px 0 14px; letter-spacing: -.01em; line-height: 1.3; }
.aa-guide h3 { font-size: 17px; font-weight: 650; color: var(--ink); margin: 20px 0 8px; }
.aa-guide p, .aa-guide li { font-size: 15.5px; line-height: 1.65; color: var(--ink-2); }
.aa-guide p { margin: 0 0 14px; }
.aa-howto, .aa-list { padding-left: 22px; margin: 0 0 16px; }
.aa-howto li, .aa-list li { margin-bottom: 8px; }
.aa-faq { margin-bottom: 48px; }
.aa-next { background: var(--paper-2, #f4f4f8); border: 1px solid var(--hair-2); border-radius: var(--r-md); padding: 22px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.aa-next-k { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--accent); letter-spacing: .08em; }
.aa-next h3 { font-size: 18px; margin: 4px 0; }
.aa-next p { font-size: 14px; color: var(--ink-3); margin: 0; }
.aa-wrap .bridge-card { margin-top: 40px; }

@media (max-width: 900px) {
  .aa-grid, .aa-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .aa-row, .aa-row3 { grid-template-columns: minmax(0, 1fr); }
  .aa-card { padding: 16px; }
  .aa-phone-note { display: block; }
  .aa-guide h2 { font-size: 21px; }
  .aa-track-row select { min-width: 0; flex: 1; }
}

/* ClapAssist Apply (wave 1c, 2026-10-03): setup, confirm list, run view. Everything under .ap / #ap-app. */
.ap { padding: 22px; margin: 0 0 30px; min-width: 0; }
.ap [hidden] { display: none !important; }
.ap-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; align-items: flex-start; }
.ap-top-l { flex: 1 1 340px; min-width: 0; }
.ap h2 { margin: 0 0 6px; font-size: 21px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.ap-tag { font-size: 12px; font-weight: 650; color: var(--accent-ink); background: var(--accent-soft); border: 1px solid var(--accent-line); border-radius: 999px; padding: 2px 10px; }
.ap-lede { margin: 0; font-size: 15px; color: var(--ink-2); line-height: 1.5; }
.ap-soon { flex: 0 1 340px; min-width: 0; margin: 0; font-size: 13.5px; line-height: 1.5; color: #5b3b00; background: var(--warn-soft); border: 1px solid var(--warn-line); border-radius: var(--r-sm); padding: 10px 12px; }
.ap-phone { display: none; margin: 12px 0 0; font-size: 13.5px; color: var(--ink-2); background: var(--paper); border: 1px solid var(--hair-2); border-radius: var(--r-sm); padding: 9px 12px; }
.ap-msg { margin: 12px 0 0; font-size: 14px; color: #92400e; background: var(--warn-soft); border: 1px solid var(--warn-line); border-radius: var(--r-sm); padding: 9px 12px; }
.ap-view { margin-top: 18px; }
.ap-banner { background: var(--accent-soft); border: 1px solid var(--accent-line); border-radius: var(--r-sm); padding: 10px 14px; margin-bottom: 14px; font-size: 14px; color: var(--ink); }
.ap-banner p { margin: 4px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.ap-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ap-step { border: 1px solid var(--hair-2); border-radius: var(--r-sm); background: var(--surface); padding: 12px 16px; min-width: 0; }
.ap-step.open { border-color: var(--accent-line); box-shadow: 0 0 0 3px var(--accent-soft); }
.ap-step-h { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.ap-step-h h3 { margin: 0; font-size: 16px; font-weight: 650; color: var(--ink); }
.ap-step.done .aa-n { background: var(--ok-soft); color: var(--ok); font-size: 0; }
.ap-step.done .aa-n::before { content: "\2713"; font-size: 13px; }
.ap-step.done { padding-top: 9px; padding-bottom: 9px; background: var(--paper); }
.ap-step.done h3 { font-size: 15px; font-weight: 600; color: var(--ink-2); }
/* the journey: "Step 2 of 4" and a thin bar */
.ap-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 12px; font-size: 14px; color: var(--ink-2); }
.ap-bar { flex: 1; max-width: 220px; height: 6px; border-radius: 99px; background: var(--hair-2); overflow: hidden; }
.ap-bar i { display: block; height: 100%; min-width: 8px; background: var(--accent); border-radius: 99px; }
.ap-have { font-size: 13px; color: var(--ok); }
.ap-have::before { content: "\2713\00a0"; }
.ap .ap-lead { font-size: 16px; color: var(--ink); margin-bottom: 4px; }
.ap-state { margin-left: auto; font-size: 13px; color: var(--ink-3); display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; overflow-wrap: anywhere; }
.ap-step-b { margin-top: 10px; }
.ap-step-b > p, .ap-view p { font-size: 14.5px; line-height: 1.55; color: var(--ink-2); margin: 0 0 10px; }
.ap-change { background: none; border: 0; padding: 4px 2px; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--accent-ink); text-decoration: underline; cursor: pointer; }
.ap-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.ap-saved { font-size: 13px; color: var(--ok); }
.ap .ap-note { font-size: 13px; color: var(--ink-3); }
.ap .ap-warn { color: #92400e; background: var(--warn-soft); border: 1px solid var(--warn-line); border-radius: var(--r-sm); padding: 9px 12px; }
.ap .ap-ok { color: #14532d; }
.ap .ap-fixed { font-size: 13px; color: var(--ink-3); }
.ap-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; margin: 10px 0 12px; }
.ap-grid > .ap-note { grid-column: 1 / -1; margin: 0; }
.ap-f { min-width: 0; }
.ap-f label { display: block; font-size: 12.5px; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.ap-f label span { font-weight: 500; color: var(--ink-3); }
.ap input[type="text"], .ap input[type="email"], .ap input[type="tel"], .ap input[type="url"], .ap select, .ap textarea {
  width: 100%; font-family: var(--sans); font-size: 15px; color: var(--ink); background: var(--paper); border: 1px solid var(--hair-2);
  border-radius: var(--r-sm); padding: 9px 12px; min-height: 44px; box-sizing: border-box;
}
.ap input:focus, .ap select:focus, .ap textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.ap-blank input, .ap-q.ap-blank, .ap-resume.ap-blank, .ap-a.ap-blank { border-color: #f5c26b; background: #fffaf0; }
.ap-resume { border: 1px dashed var(--hair-3); border-radius: var(--r-sm); padding: 10px 14px; background: var(--paper); }
.ap-resume.has { border-style: solid; }
.ap-resume p { margin: 0 0 6px; font-size: 14px; color: var(--ink-2); overflow-wrap: anywhere; }
.ap-resume p span { color: var(--ink-3); font-size: 13px; }
.ap-std { display: grid; gap: 10px; margin: 6px 0 12px; }
.ap-q { border: 1px solid var(--hair-2); border-radius: var(--r-sm); padding: 10px 12px; background: var(--surface); min-width: 0; }
.ap .ap-q-l { font-size: 14.5px; font-weight: 650; color: var(--ink); margin: 0 0 8px; }
.ap-q-l span { font-weight: 500; color: var(--ink-3); font-size: 13px; }
.ap-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.ap-chips { margin-top: 8px; }
.ap-opt { font: inherit; font-size: 14px; font-weight: 600; min-height: 44px; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--hair-2); background: var(--surface); color: var(--ink-2); cursor: pointer; max-width: 100%; overflow-wrap: anywhere; text-align: left; }
.ap-opt:hover { border-color: var(--accent-line); }
.ap-opt[aria-pressed="true"] { background: var(--accent-soft); border-color: var(--accent); color: var(--accent-ink); }
.ap-opt[aria-pressed="true"]::before { content: "\2713\00a0"; }
.ap-chips .ap-opt { min-height: 40px; padding: 6px 12px; font-size: 13.5px; }
.ap-sal { display: grid; grid-template-columns: minmax(0, 1fr) 96px auto; gap: 8px; align-items: center; }
.ap-ready { background: var(--ok-soft); border: 1px solid #bbf7d0; border-radius: var(--r-sm); padding: 18px 20px; }
.ap .ap-ready-h { font-size: 20px; font-weight: 700; color: var(--ink); margin: 0 0 4px; }
.ap-ready .btn-lg { margin: 4px 0 2px; }
.ap .ap-ready-links { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 10px 0 4px; }
.ap .ap-ready-links .ap-change { padding: 4px 0; }
.ap .ap-pace { font-size: 14px; color: var(--ink); font-weight: 600; margin: 10px 0 2px; }
.ap-privacy { margin: 18px 0 0; font-size: 13px; color: var(--ink-3); line-height: 1.5; }
.ap-c-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 12px; margin-bottom: 6px; }
.ap-c-head h3 { margin: 0; font-size: 18px; color: var(--ink); }
.ap .ap-c-sum { font-weight: 600; color: var(--ink); }
.ap-ask { border: 1px solid var(--warn-line); background: var(--warn-soft); border-radius: var(--r-sm); padding: 12px 14px; margin: 0 0 14px; display: grid; gap: 10px; }
.ap-ask h4 { margin: 0; font-size: 15px; color: var(--ink); }
.ap-rows { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.ap-row { border: 1px solid var(--hair-2); border-radius: var(--r-sm); background: var(--surface); padding: 12px 14px; min-width: 0; }
.ap-row-h { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; }
.ap-row-h b { display: block; font-size: 15.5px; color: var(--ink); }
.ap-row-h span { font-size: 14px; color: var(--ink-2); }
.ap-row-a { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; font-size: 13.5px; }
.ap .ap-we { margin: 8px 0 4px; font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); }
.ap-ans { margin: 0; display: grid; gap: 6px; }
.ap-a { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 4px 12px; padding: 6px 8px; border-radius: 8px; border: 1px solid transparent; }
.ap-a dt { font-size: 13.5px; color: var(--ink-3); overflow-wrap: anywhere; }
.ap-a dd { margin: 0; font-size: 14px; color: var(--ink); overflow-wrap: anywhere; min-width: 0; }
.ap-a dd .ap-btns { margin-top: 6px; }
.ap-draft { font-style: normal; font-size: 12px; font-weight: 650; color: var(--accent-ink); background: var(--accent-soft); border-radius: 999px; padding: 1px 8px; }
.ap .ap-wait { font-size: 13.5px; color: #92400e; margin: 8px 0 0; }
.ap-left { border: 1px solid var(--hair-2); border-radius: var(--r-sm); padding: 0 14px; margin: 0 0 14px; background: var(--paper); }
.ap-left summary { cursor: pointer; padding: 10px 0; font-weight: 600; font-size: 14px; color: var(--ink); }
.ap-left ul { margin: 0 0 8px; padding-left: 20px; font-size: 14px; color: var(--ink-2); line-height: 1.5; }
.ap-show { display: block; margin-top: 4px; font-size: 12.5px; color: var(--ink-3); }
.ap-ask-t { display: flex; gap: 8px; align-items: center; }
.ap-ask-t input { flex: 1; min-width: 0; }
.ap-a textarea { margin-top: 6px; }
.ap-reading { border: 1px dashed var(--hair-3); border-radius: var(--r-sm); padding: 10px 14px; margin: 0 0 14px; background: var(--paper); }
.ap-reading ul { margin: 0 0 8px; padding-left: 20px; font-size: 14px; color: var(--ink-2); }
.ap-send { border-top: 1px solid var(--hair); padding-top: 14px; }
.ap .ap-privacy-s { font-size: 13px; color: var(--ink-3); }
.ap .ap-run-sum { font-size: 16px; font-weight: 650; color: var(--ink); }
.ap-runlist { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; }
.ap-r { border: 1px solid var(--hair-2); border-left-width: 4px; border-radius: var(--r-sm); padding: 10px 12px; background: var(--surface); min-width: 0; }
.ap-r div b { font-size: 15px; color: var(--ink); margin-right: 8px; }
.ap-r div span { font-size: 14px; color: var(--ink-2); }
.ap .ap-r p { margin: 4px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.ap-r.k-sent { border-left-color: var(--ok); }
.ap-r.k-not { border-left-color: var(--ink-4); }
.ap-r.k-paused { border-left-color: var(--warn); }
.ap-r.k-working { border-left-color: var(--accent); }
/* "Report a wrong answer" on a sent job (2026-10-04) */
.ap-r > .ap-change { margin-top: 2px; }
.ap-rep { margin-top: 8px; border-top: 1px solid var(--hair); padding-top: 10px; min-width: 0; }
.ap-rep-l { display: block; margin-top: 10px; font-size: 14px; font-weight: 600; color: var(--ink); }
.ap-rep-l span { font-weight: 500; color: var(--ink-3); }
.ap-rep-l textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 6px; font: inherit; font-size: 14px; }
.ap .ap-r .ap-rep-done { color: var(--ink-3); font-size: 13.5px; }
/* the free bookmark: a separate tool for people without the extension, closed until asked for (2026-10-04) */
.aa-free { margin: 48px 0 0; padding: 22px; border: 1px dashed var(--hair-3, #cbd5e1); border-radius: var(--r-md); background: var(--paper); min-width: 0; }
.aa-free-h { font-size: 21px; margin: 0 0 6px; color: var(--ink); line-height: 1.3; }
.aa-free-p { max-width: 720px; margin: 0 0 14px; font-size: 15px; color: var(--ink-2); line-height: 1.55; }
.aa-free-d > summary { list-style: none; display: inline-flex; cursor: pointer; }
.aa-free-d > summary::-webkit-details-marker { display: none; }
.aa-free-d[open] > summary { margin-bottom: 18px; }
.aa-free-d .aa-steps { justify-content: flex-start; }
@media (max-width: 700px) {
  .ap-phone { display: block; }
}
@media (max-width: 560px) {
  .ap { padding: 16px; }
  .aa-free { padding: 16px; }
  .ap-ready { padding: 14px 16px; }
  .ap-grid { grid-template-columns: minmax(0, 1fr); }
  .ap-sal { grid-template-columns: minmax(0, 1fr) 96px; }
  .ap-sal .ap-opt { grid-column: 1 / -1; }
  .ap-a { grid-template-columns: minmax(0, 1fr); }
  .ap-state { margin-left: 34px; width: 100%; }
}
/* Someone who already has ClapAssist Apply in this Chrome never reads "coming to the Chrome Web Store" (apply.js sets .ap-ext). */
.ap-ext [data-prelaunch] { display: none !important; }
/* Review and send has the privacy line at its Send button: the card's own copy of it would say it twice. */
#ap-confirm:not([hidden]) ~ .ap-privacy { display: none; }
