/* FWAi diagnostic report — shared by /s/<token>, /judging and the A4 print view.
   Two fonts only: Geist for the critique prose, Geist Mono for every system
   element. Sharp corners throughout; the only rounded thing on the page is
   nothing. Depends on site.css for the variables and the font import. */

.fwai-doc{background:#fff;color:var(--ink);border:1px solid var(--ink);max-width:860px;margin:0 auto}
.fwai-doc *{box-sizing:border-box}
.fwai-m{font-family:var(--mono);font-weight:500;letter-spacing:.05em;text-transform:uppercase}

/* ---------- header ---------- */
.fwai-head{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;padding:clamp(20px,3vw,32px)}
.fwai-head>div:first-child{min-width:0}
.fwai-brand{display:flex;align-items:center;gap:2px;color:var(--ink)}
.fwai-brand svg{height:28px;width:auto;display:block;--logo-inner:#fff}
.fwai-brand .i{font-family:var(--mono);font-weight:500;font-size:20px;line-height:1;letter-spacing:0;transform:translateY(-2px)}
.fwai-meta{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:10px}
.fwai-scoreblock{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end}
.fwai-score{font-family:var(--mono);font-weight:500;font-size:clamp(40px,6vw,64px);line-height:.9;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.fwai-band{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-top:10px;color:var(--ink)}
.fwai-band::before{content:"[ "}.fwai-band::after{content:" ]"}
.fwai-close{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--ink);background:#fff;border-radius:0;padding:7px 11px;cursor:pointer;color:var(--ink)}
.fwai-close:hover{background:var(--ink);color:#fff}
.fwai-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-bottom:12px}

/* ---------- filmstrip ---------- */
.fwai-strip{border-top:1px solid #000;border-bottom:1px solid #000;display:grid;grid-template-columns:repeat(3,1fr);background:#000;gap:1px}
.fwai-strip figure{border-left:0}
.fwai-strip figure{margin:0;aspect-ratio:4/3;background:var(--field);position:relative;border-left:1px solid #000}
.fwai-strip figure:first-child{border-left:0}
.fwai-strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fwai-cap{border-top:1px solid var(--ink);padding:8px clamp(20px,3vw,32px);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}

/* ---------- body ---------- */
.fwai-body{padding:clamp(20px,3vw,32px);border-top:1px solid var(--ink)}
.fwai-verdict{font-size:clamp(17px,1.5vw,21px);line-height:1.35;letter-spacing:-.02em;font-weight:600;margin:0 0 18px;max-width:56ch}
.fwai-prose{font-size:15px;line-height:1.6;color:#242424;max-width:68ch}
.fwai-prose p{margin:0 0 1em}
.fwai-prose p:last-child{margin-bottom:0}
.fwai-new{font-weight:500;color:var(--ink)}
.fwai-sec{margin-top:28px}
.fwai-h{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#242424;margin:0 0 10px}
.fwai-h::before{content:"// "}
.fwai-list{list-style:none;margin:0;padding:0}
.fwai-list li{display:flex;gap:10px;font-size:14.5px;line-height:1.5;padding:5px 0;max-width:68ch}
.fwai-list li::before{font-family:var(--mono);font-size:12px;font-weight:500;flex:none;padding-top:1px}
.fwai-list.plus li::before{content:"[+]"}
.fwai-list.minus li::before{content:"[-]"}
.fwai-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px}
.fwai-rule{border:0;border-top:1px solid var(--ink);margin:28px 0 0}
.fwai-tech{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:20px;line-height:1.6}

/* ---------- footer ---------- */
.fwai-foot{border-top:1px solid #000;background:#000;color:#fff;padding:16px clamp(20px,3vw,32px);display:flex;justify-content:space-between;gap:20px;align-items:baseline;flex-wrap:wrap}
.fwai-fine{font-family:var(--mono);font-size:10px;line-height:1.6;letter-spacing:.06em;text-transform:uppercase;color:#9a9a9a;max-width:62ch}
.fwai-id{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#fff;white-space:nowrap}

/* page furniture: screen shows a rule between the two halves, print shows the
   page header and footer instead */
.fwai-pagefoot,.fwai-pagehead{display:none;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#666}
.fwai-p2{border-top:1px solid #000}

@media (max-width:640px){
  .fwai-cols{grid-template-columns:1fr;gap:0}
  .fwai-head{flex-direction:column;gap:16px}
  .fwai-scoreblock{text-align:left;align-items:flex-start}
  .fwai-actions{justify-content:flex-start}
}

/* ---------- A4 print ---------- */
@media print{
  @page{size:A4;margin:14mm}
  html,body{background:#fff!important}
  body>*{display:none!important}
  body>.fwai-print,body>dialog[open]{display:block!important}
  dialog{position:static!important;border:0!important;padding:0!important;max-width:none!important;width:auto!important}
  dialog::backdrop{display:none}
  .fwai-doc{border:1px solid #000;max-width:none;margin:0;break-inside:avoid}
  .fwai-actions,.fwai-close,.fwai-download{display:none!important}
  .fwai-score{font-size:48pt}
  .fwai-prose{font-size:10.5pt;line-height:1.5;color:#000}
  .fwai-verdict{font-size:14pt}
  .fwai-list li{font-size:10pt;break-inside:avoid}
  /* Page 1: the trophy — seal, score, filmstrip, critique.
     Page 2: the audit — strengths, weaknesses, lineage, tech, fine print. */
  .fwai-p1{break-after:page;page-break-after:always}
  .fwai-p2{border-top:0}
  .fwai-strip{break-inside:avoid}
  .fwai-sec,.fwai-cols{break-inside:avoid}
  .fwai-pagefoot{display:block;border-top:1px solid #000;margin:10mm clamp(20px,3vw,32px) 0;padding-top:6px;text-align:right}
  .fwai-pagehead{display:block;border-bottom:1px solid #000;padding:10px clamp(20px,3vw,32px)}
  .fwai-doc{border:0}
  .fwai-p1,.fwai-p2{border:1px solid #000}
  .fwai-p1{display:flex;flex-direction:column;min-height:auto}
  .fwai-foot{background:#000!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .fwai-fine{color:#bbb!important}
  .fwai-id{color:#fff!important}
  .fwai-strip{background:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .fwai-fine,.fwai-tech,.fwai-cap,.fwai-meta{color:#555}
  a[href]::after{content:""}
}
