/* Browser fingerprint test (tools/browser-fingerprint-test). Loaded only on that page; builds on site.css tokens. */
.fp-hero{padding:clamp(112px,11vw,140px) 0 0}
.fp-hero .h-xl{max-width:none;font-size:clamp(38px,5.2vw,64px)}
.fp-hero .lede{max-width:760px;margin-top:18px}
#results.sec.tight{padding-top:clamp(32px,4vw,48px)}
.fp-privacy{display:flex;gap:10px;align-items:flex-start;max-width:760px}
.fp-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;border:1px solid var(--g200);border-radius:16px;padding:28px;background:#fff}
.fp-summary h2{font-size:15px;font-weight:500;color:var(--g500);letter-spacing:0;margin-bottom:8px}
.fp-idbox{font:500 clamp(22px,3.4vw,30px)/1.2 var(--mono);letter-spacing:.02em;word-break:break-all;min-height:1.2em}
.fp-verdict{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:500;font-size:17px;min-height:1.6em}
.fp-verdict::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--g300)}
.fp-verdict.fp-ok::before{background:var(--ok)}
.fp-verdict.fp-warn::before{background:#d97706}
.fp-findings{margin-top:8px;color:var(--g600);font-size:15px;min-height:4.8em}
.fp-progress-row{margin-top:18px;font-size:14px;color:var(--g500)}
.fp-progress-row progress{display:block;width:100%;height:6px;margin-bottom:6px;appearance:none;-webkit-appearance:none;border:0;border-radius:99px;background:var(--g100);overflow:hidden}
.fp-progress-row progress::-webkit-progress-bar{background:var(--g100)}
.fp-progress-row progress::-webkit-progress-value{background:var(--ink)}
.fp-progress-row progress::-moz-progress-bar{background:var(--ink)}
.fp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.fp-actions button{cursor:pointer}
.fp-actions button.btn-ghost{background:#fff}
.fp-actions button:disabled{opacity:.45;cursor:default}
.fp-action-status{min-height:1.5em;margin-top:10px;font-size:14px;color:var(--g600)}
.fp-sources{list-style:none;display:grid;gap:10px;min-height:16em;font-size:15px;color:var(--g600)}
.fp-sources li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:baseline}
.fp-sources b{color:var(--ink);font-weight:500;word-break:break-word}
.fp-level{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--g200);border-radius:99px;padding:2px 8px;text-align:center}
.fp-strong{border-color:var(--ink);color:var(--ink)}
.fp-medium{color:var(--g600)}
.fp-weak{color:var(--g400)}
.fp-note{margin-top:14px;font-size:13.5px;color:var(--g500)}

.fp-sec-intro{max-width:760px;color:var(--g600);margin:-8px 0 22px}
.fp-list{border-top:1px solid var(--g200)}
.fp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:6px 28px;padding:14px 0;border-bottom:1px solid var(--g200)}
.fp-row dt{font-weight:500}
.fp-row dt small{display:block;font-weight:400;color:var(--g500);font-size:14px;margin-top:2px}
.fp-row dd{font:13.5px/1.55 var(--mono);color:var(--ink);word-break:break-word;min-height:1.55em}
.fp-row dd .fp-na{font-family:var(--sans);color:var(--g400)}
.fp-row dd[data-k="fonts.found"]{min-height:4.65em}
.fp-pending{color:var(--g400);font-family:var(--sans)}

.fp-checks{list-style:none;border-top:1px solid var(--g200)}
.fp-check{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 20px;padding:18px 0;border-bottom:1px solid var(--g200);scroll-margin-top:96px}
.fp-check h3{font-size:17px;font-weight:500;letter-spacing:-.01em}
.fp-check .fp-why{color:var(--g500);font-size:14.5px;margin-top:4px}
.fp-detail{margin-top:8px;font-size:15px;min-height:1.5em;word-break:break-word}
.fp-status{display:inline-block;align-self:start;justify-self:start;font-size:12.5px;font-weight:500;border-radius:99px;padding:3px 10px;border:1px solid var(--g200);color:var(--g500);background:#fff;white-space:nowrap}
.fp-status.fp-ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.fp-status.fp-warn{border-color:#fcd34d;background:#fffbeb;color:#92400e}
.fp-status.fp-info{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}
.fp-status.fp-skip{color:var(--g500)}

.fp-compare textarea{width:100%;min-height:140px;font:13px/1.5 var(--mono);padding:12px 14px;border:1px solid var(--g300);border-radius:10px;background:#fff;color:var(--ink);resize:vertical}
.fp-compare label{display:block;font-weight:500;margin-bottom:8px}
.fp-compare .fp-file{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--g600)}
.fp-compare input[type=file]{font:inherit;font-size:14px;max-width:100%}
.fp-compare-out{margin-top:18px;font-size:15px}
.fp-compare-out p+p,.fp-compare-out p+div{margin-top:10px}
.fp-err{color:#b91c1c}
.fp-diff-wrap{overflow-x:auto;border:1px solid var(--g200);border-radius:10px}
.fp-diff{border-collapse:collapse;width:100%;font-size:13.5px}
.fp-diff th,.fp-diff td{text-align:left;vertical-align:top;padding:8px 12px;border-bottom:1px solid var(--g100);word-break:break-word}
.fp-diff thead th{font-weight:500;color:var(--g500);background:var(--g50)}
.fp-diff td{font-family:var(--mono);min-width:140px}

.fp-cards-note{margin-top:18px;color:var(--g500);font-size:14.5px}

@media (max-width:760px){
  .fp-summary{grid-template-columns:minmax(0,1fr);padding:20px;gap:22px}
  .fp-row{grid-template-columns:minmax(0,1fr)}
  .fp-check{grid-template-columns:minmax(0,1fr)}
  .fp-sources{min-height:22em}
}
