/*! © 2026 Noxx Labs. All rights reserved. Noxx™ and Noxx Labs™ are trademarks of Noxx Labs. Proprietary: no licence is granted to copy, modify, host or redistribute any part of this code. noxxreplays.co.uk · build 6.1.0-f984a20 · 3d818a9198 */

.fl-svg { width: 100%; height: auto; display: block; margin: 0.3rem 0 0.1rem; overflow: visible; }
.fl-grid { stroke: var(--border); stroke-width: 1; }
.fl-ax { fill: var(--text3); font-size: 9px; text-anchor: middle; font-family: var(--mono, monospace); }
.fl-lab { fill: var(--text2); font-size: 9px; letter-spacing: 0.04em; }
.fl-band { fill: color-mix(in srgb, var(--accent) 13%, transparent); stroke: color-mix(in srgb, var(--accent) 45%, transparent); stroke-width: 1; }
.fl-med { stroke: var(--accent); stroke-width: 1.5; stroke-dasharray: 3 3; }
.fl-dot { fill: var(--bg3); stroke: var(--text3); stroke-width: 1.4; cursor: pointer; }
.fl-dot.bad { fill: color-mix(in srgb, var(--red) 40%, var(--bg2)); stroke: var(--red); }
.fl-dot.last { stroke: var(--text); stroke-width: 1.8; }
.fl-ring { fill: none; stroke: var(--text); stroke-width: 1.4; pointer-events: none; }
.fl-key { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; font-size: 0.72rem; color: var(--text3); margin: 0.1rem 0 0.6rem; }
.fl-key span::before { content: ''; display: inline-block; width: 0.6rem; height: 0.6rem; border-radius: 50%; margin-right: 0.35rem; vertical-align: -1px; box-sizing: border-box; }
.fl-key .r::before { background: color-mix(in srgb, var(--red) 40%, var(--bg2)); border: 1.5px solid var(--red); }
.fl-key .n::before { background: var(--bg3); border: 1.5px solid var(--text3); }
.fl-key .o::before { background: transparent; border: 1.5px solid var(--text); box-shadow: 0 0 0 2px var(--bg2), 0 0 0 3px var(--text); width: 0.45rem; height: 0.45rem; }
.fl-key .bd::before { width: 1rem; height: 0.55rem; border-radius: 3px; background: color-mix(in srgb, var(--accent) 13%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); }
.fl-say { font-size: 0.86rem; color: var(--text2); margin: 0.2rem 0 0.7rem; }
.fl-say b { color: var(--text); }
.fl-drvs { display: flex; flex-direction: column; gap: 0.5rem; margin: 0.35rem 0 0.75rem; }
.fl-drv { background: var(--bg3); border-radius: 8px; padding: 0.55rem 0.7rem; border-left: 3px solid var(--red); }
.fl-drv-top { display: flex; justify-content: space-between; gap: 0.6rem; flex-wrap: wrap; align-items: baseline; }
.fl-drv-top b { font-size: 0.88rem; color: var(--text); font-weight: 600; }
.fl-drv-top .bad { font-size: 0.74rem; color: #fca5a5; }
.fl-drv-vals { font-size: 0.8rem; color: var(--text2); margin-top: 0.15rem; font-variant-numeric: tabular-nums; }
.fl-drv-vals .b { color: #fca5a5; font-weight: 600; }
.fl-drv-vals span:not(.b) { color: var(--text); font-weight: 600; }
.fl-tip { font-size: 0.76rem; color: var(--text3); margin-top: 0.25rem; }
.fl-none { font-size: 0.8rem; color: var(--text3); margin: 0.2rem 0 0.7rem; }
.fl-ctxs { display: flex; flex-direction: column; gap: 0.3rem; margin: 0.35rem 0 0.75rem; }
.fl-ctx { font-size: 0.82rem; color: var(--text2); }
.fl-ctx b { color: var(--text); font-weight: 600; }
.fl-lift { font-size: 0.84rem; color: var(--text2); padding: 0.55rem 0.7rem; border-radius: 8px; border: 1px dashed var(--border2, var(--border)); margin: 0.2rem 0 0.4rem; }
.fl-lift b { color: var(--text); }
.fl-lift a { color: var(--accent); margin-left: 0.2rem; white-space: nowrap; }
@media (max-width: 560px) {
  .fl-card .pl-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fl-card .pl-stats .pl-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.fl-card .pl-stat { align-content: start; }
