/*! © 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.3.0-5243ab1 · c2e4060350 */

.fr-svg { width: 100%; height: auto; display: block; margin: 0.2rem 0 0.1rem; }
.fr-grid { stroke: var(--border); stroke-width: 1; }
.fr-ax { fill: var(--text3); font-size: 9px; text-anchor: middle; font-family: var(--mono, monospace); }
.fr-lab { fill: var(--text3); font-size: 9px; }
.fr-band { fill: color-mix(in srgb, var(--accent) 22%, transparent); stroke: color-mix(in srgb, var(--accent) 55%, transparent); stroke-width: 1; }
.fr-swing { stroke: var(--text3); stroke-width: 2; stroke-dasharray: 2 3; stroke-linecap: round; }
.fr-own { stroke: var(--text2); stroke-width: 1.5; stroke-dasharray: 3 2; }
.fr-dot { fill: var(--accent); stroke: var(--bg2); stroke-width: 2; }
.fr-key { display: flex; flex-wrap: wrap; gap: 0.3rem 0.9rem; font-size: 0.7rem; color: var(--text3); margin: 0 0 0.5rem; }
.fr-key span::before { content: ''; display: inline-block; vertical-align: middle; margin-right: 0.35rem; }
.fr-key .d::before { width: 9px; height: 9px; border-radius: 50%; background: var(--accent); }
.fr-key .bd::before { width: 16px; height: 9px; border-radius: 5px; background: color-mix(in srgb, var(--accent) 22%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); }
.fr-key .sw::before { width: 16px; border-top: 2px dotted var(--text3); }
.fr-key .o::before { height: 10px; border-left: 1.5px dashed var(--text2); }
.fr-say { font-size: 0.86rem; color: var(--text2); margin-bottom: 0.7rem; }
.fr-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0.6rem 1rem; }
.fr-rows { display: grid; gap: 0.4rem; margin-bottom: 0.4rem; }
.fr-row { background: var(--bg3); border-radius: 8px; padding: 0.5rem 0.65rem; }
.fr-row-top { display: flex; justify-content: space-between; align-items: baseline; gap: 0.6rem; flex-wrap: wrap; font-size: 0.86rem; }
.fr-row-top span { font-size: 0.72rem; color: var(--text3); }
.fr-row.b .fr-row-top span { color: var(--amber); }
.fr-row.a .fr-row-top span { color: var(--green); }
.fr-row-vals { font-size: 0.76rem; color: var(--text2); margin-top: 0.15rem; }
.fr-none { font-size: 0.8rem; color: var(--text2); margin-bottom: 0.4rem; }
.fr-note { font-size: 0.88rem; color: var(--text2); padding: 0.55rem 0.8rem; margin: 0 0 0.9rem; border-left: 3px solid color-mix(in srgb, var(--accent) 60%, transparent); background: var(--bg2); border-radius: 0 8px 8px 0; }
.fr-note b { color: var(--text); }
.fr-note a { color: var(--accent); margin-left: 0.3rem; white-space: nowrap; }
