/* instant scan (/scan/ and the home hero). Tokens from site.css / DESIGN.md. */
.scanlog{background:var(--sunk);border-radius:var(--r-lg);padding:22px 22px 18px;font:.86rem/1.75 var(--mono);min-height:160px;overflow:hidden}
.scanlog .bar{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.scanlog .bar .label:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}
.scanlog p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scanlog p b{font-weight:500}
.scanlog .dim,.readout.live .dim{color:var(--muted)}
.scanlog .ok-line,.readout.live .ok-line{color:var(--green)}
.readout.live{min-height:0}
.scan .btn:disabled{cursor:progress;font-family:var(--mono);font-feature-settings:"tnum";min-width:9.5ch}
.paste-hint{margin-top:10px;font:.82rem/1.5 var(--mono);color:var(--muted)}
.paste-hint code{background:var(--sunk);border-radius:4px;padding:1px 5px;color:var(--ink)}
#scanResult:empty{display:none}
#scanResult{margin-top:40px}
.scan-report{margin-top:0;outline:0;scroll-margin-top:84px}
.res-head{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:24px;border-bottom:1px solid var(--line);background:var(--sunk)}
.res-head h2{font:700 clamp(1.4rem,2.4vw,2rem)/1.1 var(--display);letter-spacing:-.02em;max-width:none;margin-top:8px}
.res-head .mono{font-size:.82rem;color:var(--muted);line-height:1.6;margin-top:10px;overflow-wrap:anywhere}
.grade-l{font-weight:800}
.grade-l.bad{color:var(--red)}
.grade-l.good{color:var(--green)}
.dial{position:relative;width:132px;height:132px}
.dial-svg{width:100%;height:100%;display:block}
.dial-n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.dial-n strong{font:500 2.4rem/1 var(--mono);font-feature-settings:"tnum"}
.dial-n span{font:.72rem/1 var(--mono);color:var(--muted);margin-top:4px}
.nogo{width:96px;height:96px;border-radius:50%;border:12px solid var(--line);display:flex;align-items:center;justify-content:center}
.nogo strong{font:500 2rem/1 var(--mono);color:var(--muted)}
.scan-report .frow p.why{color:#3a3d3f!important;font-size:.95rem;margin-top:6px!important}
.scan-report .frow pre{background:var(--sunk);border-radius:var(--r-sm);padding:10px 12px;font-family:var(--mono)}
.guide-link{display:inline-block;margin-top:10px;font:600 .92rem/1.4 var(--body);text-underline-offset:4px}
.guide-link::after{content:" →"}
.caveat{padding:18px 24px;font:.8rem/1.6 var(--mono);color:var(--muted);border-top:1px solid var(--line)}
.res-cta{margin-top:24px;display:grid;grid-template-columns:1fr 1.15fr;gap:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raised);overflow:hidden}
.res-cta>div{padding:26px 24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.res-cta>div:first-child{background:var(--ink);color:var(--paper)}
.res-cta>div:first-child .label{color:#8c8f8c}
.res-cta>div:first-child p{color:#c9cbc8}
.res-cta>div:first-child .btn{background:var(--paper);color:var(--ink);margin-top:6px}
.res-cta>div:first-child .btn:hover{background:#e9e7df}
.res-cta h3{font:800 1.5rem/1.05 var(--display);letter-spacing:-.02em}
.res-cta p{font-size:.97rem;color:#3a3d3f}
.lead-wrap{width:100%}
.scan.lead{max-width:none;width:100%}
.scan.lead .btn{padding:0 18px}
.share{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font:.85rem/1.4 var(--mono)}
.share a{overflow-wrap:anywhere;text-underline-offset:3px}
.copy{font:500 .78rem/1 var(--mono);background:transparent;border:1px solid var(--ink);border-radius:var(--r-sm);padding:7px 10px;cursor:pointer;color:var(--ink)}
.copy:hover{background:var(--sunk)}
@media (max-width:1023px){.res-cta{grid-template-columns:1fr}}
@media (max-width:767px){
  .res-head{grid-template-columns:1fr;gap:16px;padding:20px}
  .dial{width:112px;height:112px}
  .scan.lead{flex-wrap:wrap}
  .scan.lead .btn{width:100%;padding:16px}
  .scan-report .frow{padding:18px 18px}
  .caveat{padding:16px 18px}
}
/* scan page */
.scan-page{padding-top:72px;padding-bottom:48px}
.scan-page h1{font-size:clamp(2.75rem,7vw,5.5rem);max-width:13ch}
.scan-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start;margin-top:40px}
.scan-grid>*{min-width:0}
@media (max-width:1023px){.scan-grid{grid-template-columns:1fr;gap:28px}}
.scan-about{border-top:1px solid var(--line)}
.scan-about .cols{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;margin-top:32px}
.scan-about ul{list-style:none;border-top:1px solid var(--line)}
.scan-about li{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:72px 1fr;gap:12px}
.scan-about li .label{line-height:1.7}
.scan-about li a{font-weight:600;text-underline-offset:4px}
.scan-about p{color:#3a3d3f;margin-top:12px;max-width:60ch}
@media (max-width:767px){.scan-about .cols{grid-template-columns:1fr;gap:28px}.scan-page{padding-top:48px;padding-bottom:32px}}
/* progress readout while scanning (busy state) */
.progress{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raised);padding:22px 24px}
.progress-top{display:flex;justify-content:space-between;gap:12px}
.progress-top .label:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.progress-top .label:last-child{font-feature-settings:"tnum"}
.progress ol{list-style:none;margin-top:16px;display:grid;gap:8px;font:.9rem/1.5 var(--mono)}
.progress li{display:grid;grid-template-columns:3.2em 1fr;gap:10px;color:var(--muted)}
.progress li.active{color:var(--ink)}
.progress li.active .n::after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:.45em;border-radius:50%;background:var(--ink);animation:fs-blink 1s ease-in-out infinite;vertical-align:middle}
.progress li.done{color:var(--green)}
.progress li.done .n::before{content:"✓ "}
.progress li .t{overflow-wrap:anywhere}
.pbar{height:4px;margin-top:16px;border-radius:2px;background:var(--sunk);overflow:hidden}
.pbar i{display:block;height:100%;width:8%;background:var(--ink);transition:width .32s ease-out}
@keyframes fs-blink{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.progress li.active .n::after{animation:none}.pbar i{transition:none}}
/* peer benchmarks */
.bench-overall{margin-top:10px;font:500 1rem/1.45 var(--body);max-width:62ch}
.bench-overall a{font-weight:600;text-underline-offset:3px;white-space:nowrap}
.bench-overall a::after{content:" →"}
.scan-report .frow p.bench{font:.84rem/1.55 var(--mono);color:var(--ink)!important;margin-top:8px!important}
.scan-report .frow p.bench .label{margin-right:4px}
/* error / empty actions */
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px}
.acts .ghost{padding:6px 0;font-size:.9rem}
.scan-report.fail .nogo strong{color:var(--ink)}
/* share and keep */
.keep{margin-top:18px}
.keep-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font:.85rem/1.4 var(--mono)}
.keep-row a{overflow-wrap:anywhere;text-underline-offset:3px}
.keep .fine{margin-top:8px;max-width:72ch}
.copy{min-height:32px}
/* free side by side with one competitor */
.compare{margin-top:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raised);padding:26px 24px}
.compare h3{font:800 1.5rem/1.05 var(--display);letter-spacing:-.02em;margin-top:8px}
.compare .sub{color:#3a3d3f;margin:8px 0 16px;font-size:.97rem}
.scan.vs{max-width:520px}
.vs-out:not(:empty){margin-top:18px}
.vs-verdict{font:500 1rem/1.45 var(--body);margin-bottom:12px}
.vs-scroll{overflow-x:auto}
.vs-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font:.86rem/1.45 var(--mono);font-feature-settings:"tnum"}
.vs-table th,.vs-table td{white-space:normal;overflow-wrap:break-word;text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.vs-table thead th{font:500 .72rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);overflow-wrap:anywhere}
.vs-table tbody th{font:400 .84rem/1.35 var(--body);letter-spacing:0;text-transform:none;color:#3a3d3f;width:44%}
.vs-table td.dim{color:var(--muted)}
.vs-table b{font-weight:500;font-size:1.05rem}
.vs-more{margin-top:14px}
/* CTA additions */
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.res-cta>div:first-child .cta-row .btn{margin-top:0}
.res-cta>div:first-child .btn.btn-line{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1.5px var(--paper)}
.res-cta>div:first-child .btn.btn-line:hover{background:#2A2D30}
.res-cta .credit{font:.8rem/1.55 var(--mono);color:#a9aca8!important;margin-top:4px}
.print-only{display:none}
@media (max-width:767px){
  .progress{padding:18px}
  .compare{padding:20px 18px}
  .scan.vs{flex-wrap:wrap}
  .scan.vs .btn{width:100%;padding:16px}
  .cta-row .btn{width:100%}
  .vs-table th,.vs-table td{padding:8px 6px}
}
/* Save as PDF: a clean 1 to 2 page report */
@media print{
  @page{margin:16mm 14mm}
  html{font-size:12.5px}
  html,body{background:#fff}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  header,footer,.scan-about,.crumbs,.scan-page>h1,.scan-page>.lede,.scan-grid,.hero>h1,.hero>.lede,.hero-grid,
  body>main>*:not(.wrap):not(.scan-page),.keep,.res-cta,.compare .sub,.compare form,.compare .form-msg,.vs-more,.progress,.guide-link::after{display:none!important}
  main>.wrap.hero~*{display:none!important}
  .scan-page,.hero{padding:0!important}
  #scanResult{margin-top:0!important}
  .print-only{display:block}
  .print-head{display:flex!important;justify-content:space-between;align-items:center;gap:16px;padding:0 0 12px;margin-bottom:14px;border-bottom:1.5px solid #121416}
  .print-head .logo{font-size:1.2rem}
  .print-head .logo svg{width:22px;height:22px}
  .print-head div{text-align:right;font:.78rem/1.45 var(--mono);color:#5E615F}
  .print-head div strong{display:block;font:700 1rem/1.3 var(--display);color:#121416}
  .scan-report{border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible}
  .res-head{background:#fff!important;padding:0 0 14px!important;border-bottom:1px solid #E3E0D5}
  .dial{width:104px;height:104px}
  .scan-report .frow{padding:12px 0!important;break-inside:avoid}
  .scan-report .frow pre{white-space:pre-wrap;font-size:.72rem}
  .guide-link{font-size:.8rem}
  .guide-link::before{content:"Guide: fireshift.ai" attr(href) " · "}
  .caveat{padding:12px 0!important}
  .compare{border:0;padding:0;margin-top:14px}
  .compare .vs-out:empty{display:none}
  .compare:has(.vs-out:empty){display:none}
  .print-next{break-inside:avoid;border-top:1.5px solid #121416;padding-top:12px;margin-top:18px}
  .compare{break-inside:auto}
  .vs-table tr{break-inside:avoid}
  .print-next h3{font:800 1.15rem/1.2 var(--display)}
  .print-next ol{margin:8px 0 8px 1.2em;font-size:.88rem;line-height:1.5}
  .print-next p{font:.75rem/1.4 var(--mono);color:#5E615F}
  a{color:inherit}
}
.vs-table tbody th::first-letter{text-transform:uppercase}
