:root {
  color-scheme: light;
  --ink: #232524;
  --text: #414645;
  --muted: #626967;
  --line: #e0e5e3;
  --sky: #e5f5fb;
  --blue: #007a99;
  --orange: #ff6837;
  --yellow: #f9bd36;
  --green: #7c9e2d;
  --mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--text);
  background: #fff;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; font-size: 15px; line-height: 1.65; }
button, input { font: inherit; }
button, a, input, summary { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { opacity: .6; cursor: wait; }
a { color: inherit; text-underline-offset: 4px; }
button:focus-visible, a:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
[hidden] { display: none !important; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { color: var(--ink); }
.wrap { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.wordmark { display: flex; align-items: baseline; gap: 13px; font-size: 29px; font-weight: 780; letter-spacing: -1.1px; text-decoration: none; color: var(--ink); }
.beta { color: var(--muted); font-size: 11px; font-weight: 450; letter-spacing: 0; }
.header nav { display: flex; gap: 28px; align-items: center; font-size: 13px; font-weight: 550; }
.header nav a { text-decoration: none; }
.header nav a:hover { text-decoration: underline; }
.back-tools { border: 1px solid var(--line); border-radius: 6px; padding: 8px 14px; }
.hero-art { border-radius: 10px; overflow: hidden; background: var(--sky); }
.hero-art img { display: block; width: 100%; height: 280px; object-fit: cover; object-position: center 70%; }
.hero-intro { text-align: center; padding: 35px 20px 22px; }
.eyebrow { font-size: 11px; font-weight: 650; letter-spacing: 1.7px; color: var(--muted); margin: 0 0 13px; }
h1 { font-size: clamp(35px, 4.1vw, 52px); line-height: 1.12; letter-spacing: -1.9px; font-weight: 750; margin-bottom: 18px; }
.hero-copy { font-size: 16px; line-height: 1.8; color: var(--muted); margin: 0; }
.scan-panel { max-width: 790px; margin: 0 auto; padding: 10px 0 0; }
.scan-panel h2 { font-size: 14px; font-weight: 650; margin-bottom: 10px; }
.input-row { display: flex; border: 1px solid #aebdbf; border-radius: 7px; padding: 5px; align-items: center; gap: 12px; }
.input-row:focus-within { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.input-icon { flex: 0 0 24px; margin-left: 12px; opacity: .65; }
input { font-family: var(--mono); font-size: 17px; background: transparent; min-width: 0; flex: 1; border: 0; padding: 11px 0; color: var(--ink); }
input:focus-visible { outline-offset: 0; outline-width: 2px; }
input::placeholder { color: #737d7a; }
.input-row button { display: flex; align-items: center; justify-content: center; gap: 22px; background: var(--blue); color: #fff; border: 0; border-radius: 4px; padding: 13px 22px; font-size: 14px; font-weight: 650; min-height: 49px; }
.input-row button img { filter: invert(1); }
.input-row button:hover { background: #00667f; }
#input-help { font-size: 11px; color: var(--muted); margin: 9px 0 0; }
.scan-footer { display: flex; justify-content: space-between; align-items: center; padding: 12px 0 0; font-size: 11px; color: var(--muted); gap: 16px; }
.scan-footer p { margin: 0; }
.scan-footer a { margin-left: 5px; }
.text-button { border: 0; padding: 4px 0; background: none; color: #006c85; font-size: 12px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.error { color: #99340f; background: #fff2ec; border: 1px solid #efc8b7; padding: 12px 16px; border-radius: 6px; font-size: 13px; margin: 15px 0 0; }
.overview { padding-top: 59px; }
.section-top { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 28px; }
.section-top .eyebrow { margin-bottom: 9px; }
.section-top h2, .explain h2 { font-size: 29px; font-weight: 700; letter-spacing: -.8px; margin: 0; line-height: 1.25; }
.section-top > p { font-size: 12px; color: var(--muted); margin: 0; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 28px; }
.feature-grid article { padding: 22px 0 25px; border-top: 3px solid var(--sky); }
.feature-grid article:nth-child(4n+2) { border-color: #ffdbcb; }
.feature-grid article:nth-child(4n+3) { border-color: #fce8b4; }
.feature-grid article:nth-child(4n+4) { border-color: #dce8c1; }
.feature-index { font: 10px var(--mono); letter-spacing: .5px; color: var(--muted); }
.feature-grid h3 { font-size: 16px; margin: 11px 0 7px; }
.feature-grid p { font-size: 13px; color: var(--muted); line-height: 1.75; margin-bottom: 11px; }
.weight { font: 11px var(--mono); color: #536629; }
.explain { display: grid; grid-template-columns: 1.1fr 1fr; gap: 76px; padding: 50px 0 44px; margin-top: 14px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.explain h2 { margin-bottom: 20px; }
.explain p { font-size: 13px; color: var(--muted); }
.score-guide { padding-top: 2px; }
.score-guide > div:not(.rating-key) { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.score-guide p { font-size: 11px; margin: 13px 0 16px; }
.rating-key { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; text-align: center; font-size: 14px; font-weight: 650; }
.rating-key span { padding-top: 10px; border-top: 14px solid var(--orange); }
.rating-key span:nth-child(2) { border-color: var(--yellow); }
.rating-key span:nth-child(3) { border-color: var(--green); }
.badge { font-size: 11px; line-height: 1.5; font-weight: 600; display: inline-flex; align-items: center; border-radius: 4px; padding: 4px 9px; white-space: nowrap; width: fit-content; }
.pass { background: #edf4e0; color: #476319; }
.warn { background: #fff2cb; color: #77520b; }
.fail { background: #ffeadf; color: #a03913; }
.unknown { background: #eceeee; color: #555f5c; }
.notes { padding: 15px 0 35px; }
.notes details { border-bottom: 1px solid var(--line); padding: 17px 0; font-size: 13px; }
.notes summary { font-weight: 600; cursor: pointer; color: var(--ink); }
.notes p { font-size: 12px; color: var(--muted); max-width: 900px; margin: 12px 0 0; }
.footer { padding: 22px 0 35px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-links { display: flex; gap: 20px; }
.footer .wordmark { font-size: 21px; }
.footer p, .footer-links { font-size: 11px; color: var(--muted); margin: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip { position: fixed; top: -80px; left: 20px; padding: 10px; background: white; z-index: 9; }
.skip:focus { top: 10px; }
.muted { color: var(--muted); font-size: 12px; }
.secondary { padding: 9px 14px; border: 1px solid #cbd3d0; border-radius: 5px; background: #fff; color: var(--ink); font-size: 12px; min-height: 40px; }
.secondary:hover { background: #f2f7f8; border-color: #abbab6; }
.progress-panel { max-width: 790px; margin: 24px auto 0; padding: 25px 28px; border: 1px solid #cbdfe6; background: #f4fbfe; border-radius: 8px; }
.progress-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.progress-top .eyebrow { margin-bottom: 6px; }
#progress-message { margin: 0; font-size: 17px; color: var(--ink); }
progress { width: 100%; height: 6px; accent-color: var(--blue); margin-top: 20px; }
.phases { display: flex; justify-content: space-between; gap: 10px; font: 10px var(--mono); color: var(--muted); margin: 12px 0 20px; }
.phases [data-active] { color: #006a85; font-weight: 750; }
.progress-panel > .muted { margin: 0; }
/* Keep the check input available while prioritizing the completed report. */
.has-report .hero-art { display: none; }
.has-report .hero-intro { padding: 25px 20px 17px; }
.has-report .hero-intro .eyebrow, .has-report .hero-copy { display: none; }
.has-report h1 { font-size: 33px; margin: 0; letter-spacing: -1px; }
#report { padding-top: 42px; }
.report-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.report-top h2 { font-size: 25px; letter-spacing: -.5px; margin: 0; overflow-wrap: anywhere; }
.report-top p { font-size: 11px; margin: 3px 0 0; color: var(--muted); }
.report-top .eyebrow { font-size: 10px; letter-spacing: 1.2px; margin-bottom: 5px; }
.actions { display: flex; gap: 7px; flex-wrap: wrap; }
.summary-panel { padding: 35px 42px 0; text-align: center; }
.score-title { font-size: 11px; font-weight: 650; letter-spacing: 1.4px; color: var(--muted); }
.big-score { font-size: 86px; line-height: 1.15; letter-spacing: -4px; font-weight: 750; color: var(--ink); margin: 8px 0 6px; }
.big-score span { font-size: 24px; letter-spacing: -.5px; color: var(--muted); font-weight: 450; }
.rating-heading { font-size: 24px; letter-spacing: -.6px; margin: 7px 0; line-height: 1.3; }
.rating-description { color: var(--muted); font-size: 13px; max-width: 640px; margin: 0 auto; }
.rating-scale { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px auto 25px; max-width: 760px; }
.rating-band { position: relative; padding-top: 21px; }
.band-color { display: block; height: 20px; background: var(--orange); }
.rating-band:first-child .band-color { border-radius: 5px 0 0 5px; }
[data-band="good"] .band-color { background: var(--yellow); }
[data-band="great"] .band-color { background: var(--green); border-radius: 0 5px 5px 0; }
.band-name { display: block; color: var(--ink); font-size: 19px; padding-top: 12px; }
.rating-pointer { display: none; position: absolute; top: 0; left: calc(50% - 19px); width: 38px; height: 38px; background: url('/assets/icons/caret-down.svg') center / contain no-repeat; filter: drop-shadow(0 3px 0 white) drop-shadow(2px 0 0 white) drop-shadow(-2px 0 0 white); }
[data-rating="needs-work"] [data-band="needs-work"] .rating-pointer,
[data-rating="good"] [data-band="good"] .rating-pointer,
[data-rating="great"] [data-band="great"] .rating-pointer { display: block; }
[data-rating="needs-work"] [data-band="needs-work"] .band-name,
[data-rating="good"] [data-band="good"] .band-name,
[data-rating="great"] [data-band="great"] .band-name { font-weight: 750; }
[data-rating="incomplete"] .band-color { background: #d8dfdc; }
[data-rating="incomplete"] .band-name { color: var(--muted); }
.report-health { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; }
.status-counts { display: flex; gap: 22px; flex-wrap: wrap; font-size: 12px; color: var(--muted); }
.status-counts b { display: block; font-weight: 700; font-size: 22px; color: var(--ink); line-height: 1.3; }
.count-pass b { color: #58791d; }.count-warn b { color: #956409; }.count-fail b { color: #c3481c; }.count-unknown b { color: #69716e; }
.coverage { width: 210px; flex-shrink: 0; font-size: 12px; }
.coverage > span { display: flex; justify-content: space-between; gap: 20px; }
.coverage strong { color: var(--ink); font-weight: 700; }
.coverage p { font-size: 10px; color: var(--muted); margin: 5px 0 0; }
.coverage meter { display: block; width: 100%; height: 9px; margin-top: 6px; accent-color: var(--green); }
.coverage meter::-webkit-meter-bar { background: #edf0e7; border: 0; }
.coverage meter::-webkit-meter-optimum-value { background: var(--green); }
.coverage meter::-moz-meter-bar { background: var(--green); }
.priority { border-left: 4px solid var(--yellow); background: #fffbef; border-radius: 0 6px 6px 0; padding: 22px 26px; margin-top: 28px; }
.priority h3 { font-size: 17px; margin: 0 0 12px; }
.priority ol { margin: 0; padding-left: 20px; }
.priority li { font-size: 13px; margin: 10px 0; line-height: 1.75; padding-left: 5px; }
.priority li a { font-weight: 650; color: #704813; }
.report-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin: 27px 0 18px; }
.report-toolbar h3 { font-size: 22px; letter-spacing: -.4px; margin: 0; }
.filters { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.filters button { padding: 7px 13px; border: 0; border-radius: 3px; background: none; color: var(--muted); font-size: 12px; min-height: 33px; }
.filters button[aria-pressed=true] { background: #e3f3f7; color: #005c73; font-weight: 650; }
.category { border: 1px solid var(--line); border-radius: 7px; background: #fff; margin-bottom: 12px; overflow: hidden; }
.category > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 20px 24px; cursor: pointer; list-style: none; }
.category > summary::-webkit-details-marker { display: none; }
.category > summary::after { content: ''; width: 16px; height: 16px; background: url('/assets/icons/caret-down.svg') center / contain no-repeat; opacity: .55; flex-shrink: 0; }
.category[open] > summary::after { transform: rotate(180deg); }
.category-title { display: flex; align-items: center; gap: 16px; flex: 1; min-width: 0; }
.category-num { font: 11px var(--mono); color: var(--muted); }
.category-title strong { font-size: 15px; color: var(--ink); font-weight: 650; }
.category-points { font: 11px var(--mono); color: var(--muted); }
.category-body { padding: 0 24px 24px; border-top: 1px solid var(--line); }
.check { display: grid; grid-template-columns: 1fr 1.7fr; gap: 28px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.check:last-child { border: 0; }
.check-heading h4 { font-size: 14px; font-weight: 650; margin: 0 0 9px; }
.check-heading small { font: 10px var(--mono); color: var(--muted); margin-left: 8px; }
.evidence { white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.8 var(--mono); margin: 0; color: var(--text); }
.fix { font-size: 13px; line-height: 1.75; color: var(--muted); margin: 10px 0 0; }
.fix strong { color: #006a85; font-weight: 650; }
.technical { margin-top: 16px; background: #f7f9f8; border: 1px solid var(--line); border-radius: 5px; padding: 14px 16px; font-size: 12px; }
.technical > summary { cursor: pointer; color: var(--ink); font-weight: 650; }
.technical h4 { margin: 15px 0 8px; font-size: 12px; overflow-wrap: anywhere; }
.table-wrap { overflow: auto; margin-top: 13px; }
table { border-collapse: collapse; width: 100%; font-size: 11px; text-align: left; }
th { color: var(--muted); font-weight: 600; border-bottom: 1px solid #cbd6d0; padding: 9px 10px; }
td { padding: 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
td.value { font-family: var(--mono); min-width: 180px; overflow-wrap: anywhere; max-width: 560px; white-space: pre-wrap; }
.dns-name { font: 10px var(--mono); overflow-wrap: anywhere; }
.chain { margin: 15px 0 20px; }
.chain > p { font: 11px var(--mono); color: var(--muted); overflow-wrap: anywhere; margin-bottom: 8px; }
.chain ol { list-style: none; margin: 0; padding: 0; border-left: 2px solid #d1e3e9; }
.chain li { display: flex; gap: 13px; align-items: start; padding: 7px 0 7px 15px; font: 11px/1.7 var(--mono); overflow-wrap: anywhere; }
.code { padding: 1px 6px; border-radius: 3px; background: #e1eff2; color: var(--ink); flex-shrink: 0; }
.chain li span:last-child { min-width: 0; }
.technical pre { white-space: pre-wrap; overflow-wrap: anywhere; font: 11px/1.8 var(--mono); margin: 10px 0 0; max-height: 380px; overflow: auto; }
.metadata-list { display: grid; grid-template-columns: minmax(90px, 150px) 1fr; gap: 8px 20px; font-size: 11px; margin: 16px 0 0; }
.metadata-list dt { font-family: var(--mono); color: var(--muted); }
.metadata-list dd { margin: 0; overflow-wrap: anywhere; }
.social-preview { max-width: 430px; background: #fff; border: 1px solid var(--line); border-radius: 6px; margin-top: 15px; overflow: hidden; }
.social-image { padding: 25px 20px; background: var(--sky); font: 10px/1.8 var(--mono); color: #3c5c66; overflow-wrap: anywhere; }
.social-copy { padding: 16px; }.social-copy h4 { font-size: 15px; margin: 6px 0; }.social-copy p { font-size: 12px; margin: 0; }
.report-scope { font-size: 12px; color: var(--muted); margin: 24px 0 0; padding: 18px 22px; background: #f4f7f6; border-radius: 6px; }
.report-scope summary { cursor: pointer; font-weight: 650; color: var(--ink); }.report-scope ul { padding-left: 18px; }.report-scope li { margin-top: 8px; }
.empty-filter { padding: 20px; border: 1px solid var(--line); border-radius: 6px; font-size: 13px; }
.copy-status { font-size: 12px; color: #536c28; min-height: 0; margin: 10px 0 0; }.copy-status:empty { display: none; }
@media (max-width: 950px) {
  .hero-art img { height: 210px; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); gap: 0 32px; }
  .explain { gap: 36px; }.header nav { gap: 20px; }.beta { display: none; }
  .report-top { align-items: start; flex-direction: column; gap: 14px; }.summary-panel { padding-inline: 10px; }
}
@media (max-width: 650px) {
  .wrap { width: calc(100% - 36px); }.header-inner { min-height: 74px; gap: 12px; }
  .wordmark { font-size: 26px; }.header nav { font-size: 12px; gap: 15px; }
  .header nav a:first-child, .back-tools { display: none; }
  .hero-art { border-radius: 6px; }.hero-art img { height: 145px; }
  .hero-intro { padding: 28px 0 18px; }.hero-intro .eyebrow { font-size: 9px; letter-spacing: 1.1px; }
  h1 { font-size: 37px; letter-spacing: -1.3px; max-width: 420px; margin: 0 auto 15px; }
  .hero-copy { font-size: 13px; }.hero-copy br { display: none; }
  .scan-panel { padding-top: 5px; }.scan-panel h2 { font-size: 13px; }
  .input-row { flex-wrap: wrap; gap: 5px; }.input-icon { margin-left: 9px; width: 22px; height: 22px; flex-basis: 22px; }
  input { font-size: 15px; padding: 12px 6px; }.input-row button { width: 100%; justify-content: space-between; padding: 11px 17px; }
  .scan-footer { flex-direction: column; align-items: start; gap: 5px; font-size: 10px; padding-top: 9px; }
  #input-help { font-size: 10px; line-height: 1.7; }.overview { padding-top: 40px; }
  .section-top > p { display: none; }.section-top h2, .explain h2 { font-size: 25px; }
  .feature-grid { gap: 0 22px; }.feature-grid article { padding: 18px 0 20px; }.feature-grid h3 { font-size: 14px; }.feature-grid p { font-size: 12px; }.feature-index { font-size: 9px; }
  .explain { grid-template-columns: 1fr; gap: 18px; padding: 35px 0 30px; }.footer { flex-wrap: wrap; padding-bottom: 25px; }.footer p { order: 3; flex-basis: 100%; }
  .has-report .hero-art img { height: 100px; }.has-report .hero-intro { padding: 20px 0 16px; }.has-report h1 { font-size: 27px; }
  #report { padding-top: 32px; }.report-top h2 { font-size: 23px; }.actions { gap: 6px; }.actions button { padding: 8px 10px; font-size: 11px; }
  .summary-panel { padding: 27px 0 0; }.big-score { font-size: 76px; }.rating-heading { font-size: 22px; }.rating-description { font-size: 12px; }
  .rating-scale { gap: 6px; margin: 20px 0; }.band-color { height: 17px; }.band-name { font-size: 16px; padding-top: 10px; }
  .rating-pointer { width: 33px; height: 33px; left: calc(50% - 16.5px); top: 3px; }
  .report-health { flex-direction: column; align-items: stretch; padding: 20px 0; gap: 20px; }.status-counts { justify-content: space-between; gap: 8px; font-size: 11px; }.status-counts b { font-size: 22px; }
  .coverage { width: 100%; }.coverage meter { height: 10px; }.coverage p { font-size: 10px; }
  .category > summary { padding: 17px 13px; gap: 8px; }.category-title { gap: 8px; }.category-title strong { font-size: 12px; }.category-points { font-size: 9px; }
  .category > summary > .badge { font-size: 10px; padding: 3px 6px; }.category-body { padding: 0 15px 15px; }.category-num { display: none; }
  .check { grid-template-columns: 1fr; gap: 12px; }.technical { padding: 11px; }.report-toolbar { flex-wrap: wrap; }.report-toolbar h3 { font-size: 21px; }
  .priority { padding: 18px 18px 18px 20px; }.priority li { font-size: 12px; }.progress-panel { padding: 20px; }.progress-top { align-items: start; }#progress-message { font-size: 14px; }
  .phases { flex-wrap: wrap; justify-content: start; gap: 8px 15px; }.metadata-list { grid-template-columns: 1fr; gap: 3px; }.metadata-list dd { margin-bottom: 10px; }
  .report-scope { padding: 15px; }.chain li { font-size: 10px; gap: 7px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  body { background: #fff; color: #000; }.header, .hero, .scan-panel, .overview, .explain, .notes, .footer, .actions, .filters, .report-toolbar, .priority, .report-scope, .copy-status { display: none !important; }
  .wrap { width: 100%; }#report { padding: 0; }.summary-panel { break-inside: avoid; padding: 20px 10px; }.rating-scale { print-color-adjust: exact; }.category { break-inside: avoid; }
  .category-body { display: block !important; }.technical[open] > summary { margin-bottom: 10px; }.report-top h2 { font-size: 20px; }a { text-decoration: none; }
}

.document { max-width: 800px; padding-block: 48px; min-height: 60vh; }
.document h1 { font-size: clamp(32px, 4vw, 46px); }
.document h2 { margin-top: 34px; font-size: 23px; }
.document p { overflow-wrap: anywhere; }

.deduction { font: 11px var(--mono); white-space: nowrap; }

.launch-guide { padding: 42px 0 30px; }
.guide-steps, .tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.guide-steps { list-style: decimal-leading-zero; padding-left: 28px; margin: 0; }
.guide-steps li { padding-left: 5px; }
.guide-steps li::marker { color: var(--blue); font: 12px var(--mono); }
.guide-steps h3, .tool-grid h3 { font-size: 17px; margin: 0 0 10px; }
.guide-steps p, .guide-note, .tool-grid p { font-size: 13px; color: var(--muted); }
.guide-note { max-width: 850px; margin: 22px 0 0; }
.related-tools { padding: 26px 0 30px; border-bottom: 1px solid var(--line); }
.tool-grid article { padding: 22px 0 10px; border-top: 3px solid #dce8c1; }
.tool-grid article:nth-child(2) { border-color: #fce8b4; }
.tool-grid article:nth-child(3) { border-color: var(--sky); }
.tool-grid h3 { margin-top: 10px; }
.tool-grid h3 a { text-decoration-thickness: 1px; }
.tool-grid h3 a:hover { color: var(--blue); }
.tool-grid h3 span[aria-hidden] { font-size: 14px; color: var(--muted); }
@media (max-width: 650px) {
  .guide-steps, .tool-grid { grid-template-columns: 1fr; gap: 14px; }
  .launch-guide { padding-top: 32px; }
  .tool-grid article { padding-top: 18px; }
}
@media print { .launch-guide, .related-tools { display: none !important; } }

.scan-diagnosis { padding: 22px 26px; margin: 24px 0 0; background: #eef6fa; border-left: 4px solid #38809b; border-radius: 0 6px 6px 0; overflow-wrap: anywhere; }
.scan-diagnosis h3 { font-size: 19px; margin: 0 0 10px; }
.scan-diagnosis p:not(.eyebrow) { font-size: 13px; line-height: 1.75; }
@media print { .scan-diagnosis button { display: none; } }

/* Action list: compact summaries, explicit evidence and copy-ready repair tasks. */
.action-list { margin: 30px 0; padding: 26px; border: 1px solid var(--line); border-radius: 8px; background: #f7faf9; }
.action-list-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.action-list h3 { font-size: 24px; margin: 0; letter-spacing: -.5px; }
.action-list h3 span, .action-group h4 span { color: var(--muted); font-weight: 400; margin-left: 8px; }
.action-group { margin-top: 24px; }
.action-group h4 { font-size: 16px; margin: 0 0 5px; }
.action-card { background: #fff; border: 1px solid var(--line); border-radius: 6px; margin-top: 10px; overflow: hidden; }
.action-card > details > summary { cursor: pointer; padding: 17px 20px; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.action-card summary .badge { margin-right: 10px; }
.action-body { border-top: 1px solid var(--line); padding: 4px 20px 18px; font-size: 13px; overflow-wrap: anywhere; }
.action-body h5 { margin: 18px 0 8px; font-size: 12px; }
.action-body ol { padding-left: 20px; }
.action-body li { margin: 8px 0; }
.action-body pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.action-card-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px 20px; background: #fbfcfb; border-top: 1px solid var(--line); font-size: 12px; }
.action-card-footer button { font-size: 12px; }
.prompt-preview { margin-top: 16px; }
.prompt-preview summary { cursor: pointer; font-weight: 600; }
.action-copy-status { font-size: 13px; margin: 14px 0 0; }
.action-copy-status:empty { display: none; }
#action-copy-fallback { margin-top: 15px; }
#action-copy-fallback label { display: block; font-size: 13px; margin-bottom: 8px; }
#action-copy-text { width: 100%; font: 12px var(--mono); padding: 12px; box-sizing: border-box; }
.action-empty { font-size: 14px; }
@media (max-width: 650px) { .action-list { padding: 18px 14px; }.action-list h3 { font-size: 22px; }.action-card > details > summary { padding: 14px 12px; }.action-body, .action-card-footer { padding-left: 12px; padding-right: 12px; } }
@media print { .action-list button, .action-card-footer, .prompt-preview, #action-copy-fallback, .action-copy-status { display: none !important; }.action-list { padding: 0; border: 0; }.action-card { break-inside: avoid; } }

.use-disclaimer { font-size: 11px; line-height: 1.65; color: var(--muted); margin: 9px 0 0; }
