/* Biosecurity self-check: page styles. Builds on site.css (the OutbreakLens site stylesheet). */
.tool-intro{padding-top:28px}
.tool-intro p{max-width:44rem}
.tool-intro .disclaimer-box{margin-top:0}
.print-only{display:none}
code{font-size:.9em;background:rgba(31,56,100,.08);padding:1px 5px;border-radius:4px}

/* questions */
.qgroup{margin:34px 0 0}
.qgroup>h3{font-family:var(--font-head);font-weight:800;font-size:1.25rem;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--navy)}
.tag{display:block;font-family:var(--font);font-weight:400;font-size:.8125rem;color:var(--muted);margin-top:2px;letter-spacing:0}
fieldset.q{border:1px solid var(--line);background:var(--card);border-radius:var(--radius);margin:0 0 12px;padding:14px 16px 12px;min-width:0}
fieldset.q legend{padding:0;float:left;width:100%;margin:0 0 10px;font-size:1rem;line-height:1.5;display:flex;gap:10px;font-weight:500}
fieldset.q legend+*{clear:both}
.qn{flex:none;min-width:1.7em;height:1.7em;border-radius:50%;background:var(--navy);color:#fff;font-size:.8125rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1.5px solid var(--navy);border-radius:999px;color:var(--navy);font-weight:600;font-size:.9375rem;cursor:pointer;background:#fff;line-height:1.2}
.pill:hover{background:rgba(31,56,100,.07)}
input.vh:checked+.pill{background:var(--navy);color:#fff}
input.vh:focus-visible+.pill{outline:3px solid var(--accent);outline-offset:2px}
.choices{display:grid;gap:4px}
.choice{display:flex;align-items:center;gap:10px;min-height:44px}
.choice input{width:20px;height:20px;accent-color:var(--navy);flex:none}
.choice label{cursor:pointer;flex:1;padding:6px 0}
.numrow{display:flex;align-items:center;gap:10px}
.numrow input{width:6.5rem;min-height:44px;padding:8px 12px;font:inherit;border:1.5px solid var(--navy);border-radius:8px;background:#fff;color:var(--ink)}
.numrow .unit{color:var(--muted)}
.why{margin-top:10px;font-size:.9375rem}
.why summary{cursor:pointer;color:var(--navy);font-weight:600;min-height:32px;display:flex;align-items:center}
.why p{margin:6px 0 0;color:var(--ink2)}
.why .src{font-size:.875rem;color:var(--muted)}
.run-row{margin:28px 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.run-row .note{margin:0}
.note{color:var(--muted);font-size:.875rem}

/* results */
.results{margin:48px 0 0;padding:36px 0 56px;background:#fff;border-top:3px solid var(--navy)}
.results[hidden]{display:none}
.results-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.results-head h2{font-family:var(--font-head);font-weight:800;margin:0;font-size:1.75rem}
.relative-note{background:var(--paper);border-left:4px solid var(--accent);padding:12px 16px;margin:0 0 24px;border-radius:0 8px 8px 0;font-size:.9375rem}
.res-grid{display:grid;gap:24px;margin:0 0 36px}
@media(min-width:860px){.res-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}
.diagram{margin:0}
.diagram svg{display:block;width:100%;max-width:520px;margin:0 auto;height:auto}
.diagram figcaption{font-size:.8125rem;color:var(--muted);text-align:center;margin-top:6px}
.dg-box{fill:var(--navy)}
.dg-birds{fill:#fff;font-family:var(--font-head);font-weight:800;font-size:17px}
.dg-arrow line{stroke:var(--navy);opacity:.5}
.dg-arrow polygon{fill:var(--navy);opacity:.5}
.dg-arrow.hot line{stroke:var(--accent);opacity:1}
.dg-arrow.hot polygon{fill:var(--accent);opacity:1}
.dg-arrow.zero line{stroke-dasharray:4 4;opacity:.3}
.dg-arrow.zero polygon{opacity:.3}
.dg-badge circle{fill:var(--navy)}
.dg-badge.hot circle{fill:var(--accent)}
.dg-badge text{fill:#fff;font-weight:600;font-size:12.5px}
.dg-name{fill:var(--ink);font-size:12px;font-weight:600}
.dg-score{fill:var(--navy);font-size:12px;font-weight:600}
.dg-range{fill:var(--muted);font-size:10.5px}
.res-side h3,.changes h3,.tornado-block h3,.legal h3{font-family:var(--font-head);font-weight:800;font-size:1.25rem;margin:0 0 10px}
.ranked,.changes-list{list-style:none;margin:0 0 12px;padding:0;counter-reset:none}
.ranked li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.ranked .rk{flex:none;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}
.ranked li.top .rk{background:var(--accent)}
.ranked li div{min-width:0}
.ranked strong{display:block}
.ranked .sc{display:block;color:var(--navy);font-weight:600}
.ranked .rg{font-weight:400;color:var(--muted);font-size:.875rem}
.ranked .ty{display:block;color:var(--muted);font-size:.875rem}
.changes{margin:0 0 36px}
.changes-list li{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:14px 16px;margin:0 0 10px}
.changes-list li strong{display:block;margin-bottom:6px}
.changes-list .red,.changes-list .aff,.changes-list .src{display:block;font-size:.9375rem;color:var(--ink2)}
.changes-list .src{color:var(--muted);font-size:.875rem}
.changes-list li.none{border-left-color:var(--navy)}
.advice{margin-top:14px;padding:12px 16px;background:var(--paper);border-radius:8px}
.advice h4{margin:0 0 6px;font-family:var(--font-head);font-weight:700;font-size:1rem;color:var(--navy)}
.advice ul{margin:0;padding-left:20px}
.tornado-block{margin:0 0 36px}
.trow{display:grid;grid-template-columns:minmax(0,1fr) 42%;grid-template-areas:"l l" "b v";gap:2px 10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}
.trow .tl{grid-area:l;font-size:.9375rem}
.trow .tbar{grid-area:b;position:relative;height:16px;background:rgba(31,56,100,.06);border-radius:3px;grid-column:1/2}
.trow .tv{grid-area:v;font-variant-numeric:tabular-nums;font-size:.875rem;color:var(--muted)}
.trow{grid-template-columns:1fr 3.2rem}
.trow .tl{grid-column:1/3}
.trow .tbar{grid-column:1/2}
.trow .tv{grid-column:2/3}
.tbar .mid{position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--muted)}
.tbar .fill{position:absolute;top:0;bottom:0;border-radius:2px}
.tbar .fill.pos{background:var(--navy)}
.tbar .fill.neg{background:var(--accent)}
.tkey{margin-top:8px}
.legal{margin:0 0 28px;padding:18px 20px;border:2px solid var(--navy);border-radius:var(--radius)}
.legal ul{margin:0;padding-left:20px}
.legal li{margin:0 0 8px}
.sources{margin-top:36px}
.sources h2,.review-box h2{font-family:var(--font-head);font-weight:800;font-size:1.25rem;margin:0 0 10px}
.sources ul{margin:0;padding-left:20px}
.sources li{margin:0 0 8px;font-size:.9375rem}
.review-box{box-sizing:border-box;width:calc(100% - 32px);max-width:736px;margin:28px auto 40px;padding:18px 20px;border:2px solid var(--accent);border-radius:var(--radius);background:var(--paper,#FAF7F1)}
.review-box p{margin:0}
.check-note{margin:6px 0 0}
.params{margin:0}
.params>summary{cursor:pointer;font-weight:600;color:var(--navy);min-height:44px;display:flex;align-items:center}
.params h4{margin:20px 0 8px;font-family:var(--font-head);font-weight:700;color:var(--navy)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ptable{border-collapse:collapse;width:100%;min-width:620px;font-size:.875rem}
.ptable th,.ptable td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--line)}
.ptable th{background:var(--paper);font-weight:600}
.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8125rem;font-weight:600;border:1px solid var(--navy);color:var(--navy)}
.chip.placeholder{background:var(--accent);border-color:var(--accent);color:#fff}
.chip.expert{background:#f3e9d2;border-color:#d9c79a;color:#5b4a1c}
.chip.modelled{background:#e3ebf7;border-color:#b5c6e3}
.chip.measured{background:#e1f1e2;border-color:#9ccaa0;color:#1d5a22}

/* print: one clean page of results */
@media print{
  @page{size:A4;margin:11mm}
  html,body{background:#fff!important;font-size:9.5pt;line-height:1.4}
  .skip,.site-header,.site-footer,.sources,.review-box,.page-head,.tool-intro,#form,.no-print,.no-print-block,.diagram figcaption,.note,.tkey{display:none!important}
  main,.wrap{max-width:none!important;padding:0!important}
  .results{margin:0;padding:0;border:0;background:#fff}
  .print-only{display:block}
  .results-head{margin:0 0 4px}
  .results-head h2{font-size:15pt}
  .print-meta{margin:0 0 6px;font-size:9pt;color:#444}
  .relative-note{margin:0 0 8px;padding:5px 8px;font-size:8.5pt}
  .res-grid{grid-template-columns:7.2cm 1fr;gap:10px;margin:0 0 8px;align-items:start}
  .diagram svg{max-width:7.2cm}
  .ranked li{padding:4px 0}
  .ranked .ty{display:none}
  .ranked .rk{width:20px;height:20px;font-size:8pt}
  .res-side h3,.changes h3,.legal h3{font-size:10.5pt;margin:0 0 4px}
  .changes{margin:0 0 8px}
  .changes-list li{padding:5px 8px;margin:0 0 4px;break-inside:avoid;font-size:8.5pt}
  .changes-list .red,.changes-list .aff,.changes-list .src{font-size:8.5pt;display:inline}
  .changes-list .src{display:none}
  .advice{display:none!important}
  .legal{margin:0 0 6px;padding:6px 10px;border-width:1px;font-size:8.5pt;break-inside:avoid}
  .legal li{margin:0 0 2px}
  .disclaimer-print{font-size:7.5pt;color:#444;margin:4px 0 0}
  .dg-arrow line,.dg-arrow polygon,.dg-box,.dg-badge circle,.ranked .rk,.relative-note{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a{color:#000;text-decoration:none}
}

/* situation, status and interpretation */
.official{margin:12px 0 6px;padding:12px 16px;background:var(--paper);border-left:4px solid var(--navy);border-radius:0 8px 8px 0;font-size:.9375rem}
.how-used{margin:0 0 4px}
.zone-help{margin:8px 0 0}
.legal-tag{margin:0 0 10px;padding:3px 10px;display:inline-block;background:var(--accent);color:#fff;font-size:.8125rem;font-weight:600;border-radius:999px}
.legal-tag[hidden]{display:none}
.interp{margin:0 0 28px}
.interp-lead{font-size:1.0625rem;font-weight:500;margin:0 0 12px}
.interp-sub{margin:14px 0 6px}
.interp-list{margin:0 0 8px;padding-left:22px}
.interp-list li{margin:0 0 8px}
@media print{.official,.how-used{display:none!important}.interp{margin:0 0 6px;font-size:8.5pt}.interp h3{font-size:10.5pt}.interp-lead{font-size:9pt}.official-note{display:block}.interp-list li{margin:0 0 3px}}
fieldset.q .legal-tag+*{clear:both}

/* Flock size */
.numrow{flex-wrap:wrap}
.numrow .notsure{display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer}
.numrow .notsure input{width:20px;min-height:0;accent-color:var(--navy)}
.numrow input:disabled{background:var(--paper,#faf7f1);opacity:.6}
.req{font-weight:400;color:var(--muted)}
.size-error{color:var(--accent);font-weight:600}
.assume{margin:6px 0 0}
.ranked .as{display:block;color:var(--accent);font-size:.875rem}
.type-error{color:var(--accent);font-weight:600}
fieldset.is-na legend,fieldset.is-na .numrow,fieldset.is-na .assume,fieldset.is-na .why{display:none}
.na-note{display:none;margin:0}
fieldset.is-na .na-note{display:block}
.prior{font-size:.9375rem}
.type-error{color:var(--accent);font-weight:600}
fieldset.is-na legend,fieldset.is-na .numrow,fieldset.is-na .assume,fieldset.is-na .why{display:none}
.na-note{display:none;margin:0}
fieldset.is-na .na-note{display:block}
.prior{font-size:.9375rem}
