/* Firewall platforms page */
.fp-chip .t{font-size:14px}
.fo-st .t{font-size:13px}
.motion-svg .fo-st .s{font-size:10px}
.motion-svg .fo-cmd{font-family:var(--font-mono);font-size:12px}
.fp-vendors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.fp-vendors button{white-space:normal;padding:.45rem .5rem}
.fp-vocab{margin-top:24px}
.fp-big td,.fp-big th{min-width:120px}
.fp-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.fp-panel h3{font-size:var(--fs-h3);margin:18px 0 10px}
.fp-facts{margin:0 0 18px;padding-left:1.1rem;display:grid;gap:.5rem;max-width:90ch}
.fp-panel code,.ff-case code,.fp-rules code{font-size:.85em;word-break:break-word}
.motion-svg .fr{font-size:13px;fill:var(--ink);text-anchor:start}
.motion-svg .fr.ok{fill:#15803D;font-weight:600}
.motion-svg .fr.no{fill:#BE123C;font-weight:600}
.motion-svg .fr.bad{fill:#BE123C}
.motion-svg .fr.mono{font-family:var(--font-mono);font-size:12px}
.motion-svg .fr-h{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;fill:var(--subtle);text-anchor:start}
.fp-cap{fill:none;stroke:var(--orange);stroke-width:3}
.fp-sim{margin:26px 0}
.fp-sim h3{font-size:var(--fs-h4);margin:0 0 6px}
.fp-sim-intro{color:var(--muted);margin:0 0 14px}
.fp-sim-controls{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;margin-bottom:14px}
.fp-sim-controls label{display:grid;gap:6px;font-size:.88rem;font-weight:600;color:var(--ink);min-width:min(100%,22rem)}
.fp-sim-controls select{font:inherit;font-size:.95rem;font-weight:500;padding:.5rem .65rem;border:1px solid var(--line-strong);border-radius:.6rem;background:var(--surface);color:var(--ink);width:100%}
.fp-sim-controls .fp-check{display:flex;align-items:center;gap:8px;min-width:0;padding-bottom:.55rem}
.fp-sim-controls input[type=checkbox]{width:18px;height:18px;accent-color:var(--orange)}
.fp-sim-controls select:focus-visible,.fp-sim-controls input:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.fp-rules tr.is-hit td{background:var(--orange-tint);font-weight:600}
.fp-rules tr.is-shadow td{color:var(--subtle);text-decoration:line-through}
.fp-sim-out{margin:14px 0 0;padding:12px 16px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line)}
.fp-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:8px}
.fp-two > div{min-width:0}
.fp-upg{gap:.6rem}
.fp-adv p{margin:0 0 10px;color:var(--text)}.fp-adv p:last-child{margin:0}
.fp-finder{display:grid;gap:12px}
.ff-cases{display:grid;gap:14px}
.ff-case{padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}
.ff-case h4{margin:0 0 8px;font-size:1rem}
.ff-case p{margin:0 0 10px}
.ff-cmds{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:.45rem 1rem;margin:0}
.ff-cmds dt{font-weight:600;color:var(--ink)}
.ff-cmds dd{margin:0;color:var(--text)}
.no-js .fp-finder .fp-sim-controls{display:none}
@media (max-width:900px){.fp-two{grid-template-columns:1fr}.fp-vendors,.fp-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ff-cmds{grid-template-columns:1fr;gap:.15rem}.ff-cmds dd{margin-bottom:.5rem}}
.no-js .fp-tabs{display:none}.no-js .fp-panel[hidden]{display:block}.no-js .fp-panel+.fp-panel{margin-top:24px}
.fp-asym{margin-top:24px}
.fp-legend{font-size:.9rem;color:var(--subtle);margin-top:8px}
