/* Report evidence and actions share primitives; audit and score keep distinct compositions. */
.ft-report { margin-top: 32px; }
.ft-report-header { display:flex; align-items:start; justify-content:space-between; gap:24px; padding-bottom:24px; border-bottom:1px solid var(--color-border); }
.ft-report-header h2 { font-size:clamp(26px,3vw,40px); font-weight:450; letter-spacing:-1.5px; margin-top:10px; max-width:650px; }
.ft-report-header .button { font-size:11px; white-space:nowrap; min-height:42px; padding:10px 16px; }
.ft-report-summary { display:grid; grid-template-columns:170px 1fr; align-items:center; gap:40px; padding-block:34px; }
.ft-report-summary-score { grid-template-columns:260px 1fr; gap:60px; padding-block:40px; }
.ft-report-ring { aspect-ratio:1; border-radius:50%; background:conic-gradient(var(--ft-ink) var(--report-score),var(--color-border) 0); padding:5px; position:relative; animation:ft-report-arrive .6s var(--ease-out); }
.ft-report-ring>div { height:100%; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:50%; background:var(--color-surface); }
.ft-report-ring strong { font-size:50px; font-weight:450; letter-spacing:-3px; }
.ft-report-ring span { font:11px monospace; color:var(--color-text-soft); margin-top:22px; }
.ft-report-ring p { position:absolute; bottom:30px; inset-inline:15px; text-align:center; font-size:9px; color:var(--color-text-muted); }
.ft-report-summary-score .ft-report-ring strong { font-size:80px; letter-spacing:-5px; }
.ft-report-summary-score .ft-report-ring p { bottom:52px; font-size:11px; }
.ft-report-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.ft-report-stats>div { padding-left:16px; border-left:1px solid var(--color-border); }
.ft-report-stats strong { display:block; font-size:36px; font-weight:450; letter-spacing:-1.7px; line-height:1.2; }
.ft-report-stats span { color:var(--color-text-soft); font-size:10px; display:block; margin-top:8px; }
.ft-report-overview>p { font-size:11px; color:var(--color-text-muted); line-height:1.8; max-width:650px; margin-top:25px; }
.ft-report-categories { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.ft-report-category { text-align:left; min-width:0; padding:18px; border:1px solid var(--color-border); border-radius:12px; color:var(--color-text); background:var(--color-bg); cursor:pointer; transition:border-color .2s,transform .2s; }
.ft-report-category>span { display:block; font-size:11px; line-height:1.5; color:var(--color-text-muted); }
.ft-report-category>span:first-child { min-height:34px; }
.ft-report-category strong { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; font-size:30px; font-weight:450; letter-spacing:-1px; margin-top:15px; }
.ft-report-category small { color:var(--color-text-soft); font-size:9px; font-weight:400; line-height:1.5; letter-spacing:0; }
.ft-report-category i { display:block; height:3px; background:linear-gradient(to right,var(--ft-ink) var(--category-score),var(--color-border) 0); border-radius:10px; margin-block:14px; }
.ft-report-category:is(:hover,[aria-pressed=true]) { border-color:var(--ft-hover); }
.ft-report-category:hover { transform:translateY(-3px); }
.ft-report-category[aria-pressed=true]>span:first-child { color:var(--ft-hover); }
.ft-report-method { border-bottom:1px solid var(--color-border); padding:20px 0; font-size:12px; }
.ft-report-method summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; gap:20px; list-style:none; }
.ft-report-method summary::-webkit-details-marker { display:none; }
.ft-report-method p { font-size:12px; line-height:1.9; color:var(--color-text-muted); max-width:900px; margin-block:18px; }
.ft-report-weights { display:grid; gap:9px; max-width:720px; }
.ft-report-weights>div { display:flex; justify-content:space-between; gap:20px; font-size:11px; }
.ft-report-weights strong { font-weight:500; text-align:right; }
.ft-report-priorities { padding-block:30px; }
.ft-report-section-title { display:flex; align-items:start; justify-content:space-between; gap:30px; margin-bottom:18px; }
.ft-report-section-title h3 { font-size:18px; font-weight:500; letter-spacing:-.5px; }
.ft-report-section-title p { color:var(--color-text-soft); font-size:11px; line-height:1.7; max-width:390px; }
.ft-report-next-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ft-report-next-grid button { display:flex; text-align:left; align-items:center; gap:12px; background:var(--color-bg); color:var(--color-text); border:1px solid var(--color-border); padding:18px; border-radius:10px; cursor:pointer; transition:border-color .2s,background .2s; }
.ft-report-next-grid button:hover { border-color:var(--ft-hover); background:color-mix(in srgb,var(--ft-hover) 4%,var(--color-bg)); }
.ft-report-next-number { color:var(--color-text-soft); font:12px monospace; }
.ft-report-next-grid button>span:nth-child(2) { flex:1; }
.ft-report-next-grid small { display:block; color:var(--color-text-soft); font-size:9px; margin-bottom:6px; }
.ft-report-next-grid strong { font-size:12px; font-weight:500; line-height:1.5; }
.ft-report-clear { font-size:12px; line-height:1.8; padding:18px; border:1px solid var(--color-border); border-radius:9px; }
.ft-report-filters { display:flex; gap:14px; align-items:end; padding:18px; background:var(--color-bg); border:1px solid var(--color-border); border-radius:12px; }
.ft-report-filters label { display:grid; gap:8px; font-size:10px; color:var(--color-text-muted); }
.ft-report-filters label:first-child { flex:1; }
.ft-report-filters :is(input,select) { font-size:12px; padding:11px 13px; }
.ft-report-filters button { font-size:11px; font-family:inherit; color:var(--color-text); background:var(--color-surface); border:1px solid var(--color-border); padding:12px; border-radius:8px; cursor:pointer; }
.ft-report-filters button:hover { color:var(--ft-hover); border-color:var(--ft-hover); }
.ft-report-visible { font:10px/1.5 monospace; color:var(--color-text-soft); margin:18px 0 12px; }
.ft-report-check { border:1px solid var(--color-border); border-radius:12px; margin-bottom:9px; overflow:hidden; background:var(--color-bg); scroll-margin-top:100px; }
.ft-report-check summary { display:flex; align-items:center; gap:14px; padding:18px 20px; list-style:none; cursor:pointer; }
.ft-report-check summary::-webkit-details-marker { display:none; }
.ft-report-check summary:hover { background:color-mix(in srgb,var(--ft-ink) 4%,transparent); }
.ft-report-status { flex:0 0 27px; height:27px; display:grid; place-items:center; font:12px monospace; border:1px solid var(--color-border); border-radius:50%; color:var(--color-text-muted); }
.ft-report-check[data-state=pass] .ft-report-status { color:#40b795; background:color-mix(in srgb,#40b795 8%,transparent); border-color:color-mix(in srgb,#40b795 30%,transparent); }
.ft-report-check[data-state=issue] .ft-report-status { color:#e87575; border-color:color-mix(in srgb,#e87575 40%,transparent); }
.ft-report-check[data-state=warning] .ft-report-status { color:#d0ab68; border-color:color-mix(in srgb,#d0ab68 40%,transparent); }
html[data-theme=light] .ft-report-check[data-state=pass] .ft-report-status { color:#087653; }
html[data-theme=light] .ft-report-check[data-state=issue] .ft-report-status { color:#b33939; }
html[data-theme=light] .ft-report-check[data-state=warning] .ft-report-status { color:#886012; }
.ft-report-check-name { flex:1; min-width:0; }
.ft-report-check-name small { font-size:9px; color:var(--color-text-soft); display:block; margin-bottom:5px; }
.ft-report-check-name strong { font-size:13px; font-weight:500; }
.ft-report-check-score { font:10px monospace; color:var(--color-text-soft); text-align:right; }
.ft-report-plus { font-size:18px; font-weight:300; color:var(--ft-ink); transition:transform .2s; }
.ft-report-check[open] .ft-report-plus { transform:rotate(45deg); }
.ft-report-check[open] { border-color:color-mix(in srgb,var(--ft-ink) 45%,var(--color-border)); }
.ft-report-check-body { border-top:1px solid var(--color-border); padding:22px; animation:ft-report-arrive .25s ease-out; }
.ft-report-observed { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; font-size:10px; color:var(--color-text-soft); }
.ft-report-observed strong { color:var(--color-text); font:12px monospace; overflow-wrap:anywhere; }
.ft-report-observed>span:last-child { margin-left:auto; }
.ft-report-explanation { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-block:24px; }
.ft-report :is(h4) { font-size:11px; font-weight:600; margin-bottom:8px; }
.ft-report-check-body p { font-size:12px; line-height:1.85; color:var(--color-text-muted); }
.ft-report pre { font:11px/1.9 monospace; white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; border:1px solid var(--color-border); border-radius:8px; background:var(--color-surface); color:var(--color-text-muted); padding:14px 16px; margin-block:10px; }
.ft-report-example { margin-top:20px; }
.ft-report-check-body .ft-report-weight-note { font-size:10px; margin-top:18px; }
.ft-report-compact .ft-report-next-grid { grid-template-columns:1fr; }
.ft-report-compact .ft-report-header h2 { font-size:25px; }
.ft-report-compact .ft-report-section-title { flex-direction:column; gap:8px; }
.ft-report-compact .ft-report-filters { flex-wrap:wrap; }
.ft-report-compact .ft-report-explanation { grid-template-columns:1fr; gap:18px; }
.ft-report [hidden] { display:none!important; }
.ft-report :is(button,summary):focus-visible { outline:2px solid var(--ft-hover); outline-offset:3px; }
@keyframes ft-report-arrive { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(max-width:900px) { .ft-report-categories { grid-template-columns:repeat(3,minmax(0,1fr)); } .ft-report-summary-score { grid-template-columns:200px 1fr; gap:25px; } .ft-report-summary-score .ft-report-ring strong { font-size:65px; } .ft-report-summary-score .ft-report-ring p { bottom:35px; } .ft-report-next-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .ft-report-header { flex-direction:column; gap:15px; } .ft-report-header h2 { letter-spacing:-.8px; } .ft-report-summary { grid-template-columns:1fr; gap:24px; padding-block:25px; } .ft-report-ring { width:175px; margin:auto; } .ft-report-summary-score .ft-report-ring { width:210px; } .ft-report-stats { grid-template-columns:repeat(2,1fr); gap:20px; } .ft-report-categories { grid-template-columns:repeat(2,minmax(0,1fr)); } .ft-report-category { padding:15px; } .ft-report-section-title { flex-direction:column; gap:10px; } .ft-report-filters { flex-wrap:wrap; padding:13px; } .ft-report-filters label:first-child { flex-basis:100%; } .ft-report-filters label:nth-child(2) { flex:1; } .ft-report-check summary { padding:14px 12px; gap:9px; } .ft-report-check-score { max-width:75px; line-height:1.6; } .ft-report-check-body { padding:16px; } .ft-report-explanation { grid-template-columns:1fr; gap:18px; } }
@media(prefers-reduced-motion:reduce) { .ft-report *, .ft-report *::before { animation:none!important; transition:none!important; } }
@media print { body.ft-print-report { --color-bg:#fff; --color-surface:#fff; --color-text:#151515; --color-text-muted:#444; --color-text-soft:#555; --color-border:#ddd; } .ft-print-report :is(.header,footer,.ft-guide,.ft-conversion,.ft-related,.ft-report-filters,.ft-report-visible,.ft-report-priorities,.ft-report-header>button,.ft-back,.ft-url-form,.ft-privacy,.ft-status,[data-owner-edit],[data-scroll-top],[data-cookie-banner],[data-cookie-modal]) { display:none!important; } .ft-print-report .free-tools { padding:0; overflow:visible; } .ft-print-report .ft-workbench { padding:0; border:0; box-shadow:none; } .ft-print-report .container { width:100%; max-width:none; } .ft-print-report .ft-hero { padding:0 0 15px; } .ft-print-report .ft-report-check { break-inside:avoid; } .ft-print-report .ft-report-check-body { display:block; } .ft-print-report .ft-report-ring { print-color-adjust:exact; -webkit-print-color-adjust:exact; } }
