.fvx{--fvx-accent:#3fd0ff;--fvx-them:#ffb547;--fvx-quiet:#a9b2bf;--fvx-good:#57d98c;grid-template-columns:minmax(0,1fr);gap:1.1rem;margin-block:1.25rem 2rem;display:grid}.fvx-kicker{font:700 .78rem/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffff9e}.fvx-hint{color:var(--fvx-quiet);font-size:.88rem}.fvx-controls{border:1px solid var(--line);background:radial-gradient(80% 140% at 0% 0%, color-mix(in srgb, var(--fvx-accent) 12%, transparent), transparent 60%), var(--panel-2);border-radius:14px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr);gap:1rem 1.4rem;padding:1rem 1.15rem;display:grid}.fvx-field{align-content:start;gap:.4rem;min-width:0;display:grid}.fvx-field select,.fvx-value input[type=number],.fvx-res input{border:1px solid var(--line);min-height:2.6rem;color:var(--text);font:700 .95rem/1.2 var(--font-body);background:#0b1017;border-radius:10px;padding:.4rem .6rem}.fvx-field select{width:100%}.fvx-value{grid-template-columns:minmax(0,1fr) 5.2rem;align-items:center;gap:.6rem;display:grid}.fvx-value input[type=range]{width:100%;accent-color:var(--fvx-accent)}.fvx-value input[type=number]{font-family:var(--font-mono);text-align:center}.fvx-value input:disabled{opacity:.55}.fvx-seg{flex-wrap:wrap;gap:.35rem;display:flex}.fvx-seg button{border:1px solid var(--line);min-height:2.3rem;color:var(--text);font:700 .9rem/1 var(--font-mono);cursor:pointer;background:#0d131c;border-radius:999px;padding:.3rem .7rem}.fvx-seg button[aria-pressed=true]{background:var(--fvx-accent);border-color:var(--fvx-accent);color:#06121a}.fvx-res{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.fvx-res input{width:5.6rem;font-family:var(--font-mono)}.fvx-stage{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.fvx-view{gap:.5rem;display:grid}.fvx-view canvas{border:1px solid var(--line);background:#05080d;border-radius:14px;width:100%;height:auto}.fvx-legend{color:var(--text-2);flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.92rem;display:flex}.fvx-key{align-items:center;gap:.45rem;display:inline-flex}.fvx-key i{border-top:3px solid var(--fvx-accent);width:1.6rem;height:0}.fvx-key-them i{border-top:3px dashed var(--fvx-them)}.fvx-dot i{background:var(--fvx-accent);width:.7rem;height:.7rem;box-shadow:0 0 10px var(--fvx-accent);border:0;border-radius:50%}.fvx-dot-them i{background:var(--fvx-them);box-shadow:0 0 10px var(--fvx-them)}.fvx-side{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;gap:.8rem;padding:1rem 1.1rem;display:grid}.fvx-read{gap:.2rem;display:grid}.fvx-read strong{font:800 clamp(1.45rem, 7.2vw, 2rem)/1.1 var(--font-mono);color:var(--text);white-space:nowrap}.fvx-fan{width:100%;height:auto}.fvx-fan-you{fill:url(#fvx-fan-glow);stroke:var(--fvx-accent);stroke-width:1.5px}.fvx-fan-them{fill:none;stroke:var(--fvx-them);stroke-width:2px;stroke-dasharray:5 4}.fvx-fan-eye{fill:#e9eef5}.fvx-fan-label{fill:#e9eef5;font-family:var(--font-mono);font-weight:800}.fvx-why{color:var(--text-2);margin:0;font-size:.92rem;line-height:1.55}.fvx-table{border:1px solid var(--line);background:#0b1017;border-radius:14px;overflow-x:auto}.fvx-table table{border-collapse:collapse;width:100%;font-size:.94rem}.fvx-table th,.fvx-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.65rem .8rem}.fvx-table thead th{font:700 .78rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fvx-quiet)}.fvx-table tbody tr{cursor:pointer;transition:background .15s}.fvx-table tbody tr:hover,.fvx-table tbody tr:focus-visible{background:#3fd0ff0f;outline:none}.fvx-table tbody tr.is-target{box-shadow:inset 3px 0 0 var(--fvx-them);background:#ffb54714}.fvx-table th b{color:var(--text);font-weight:700}.fvx-num{font:800 1.35rem/1 var(--font-mono);color:var(--fvx-accent)}.fvx-table tr[data-kind=fixed] .fvx-num,.fvx-table tr[data-kind^=clamped] .fvx-num{color:var(--fvx-them)}.fvx-shown{font:700 .92rem/1.2 var(--font-mono);color:var(--text);display:block}.fvx-note{color:var(--fvx-quiet);font-size:.88rem;display:block}.fvx-table tr[data-kind=exact] .fvx-note{color:var(--fvx-good)}.fvx-foot{color:var(--fvx-quiet);margin:0;font-size:.88rem;line-height:1.5}.fvx-how{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem;display:grid}.fvx-how>div{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;align-content:start;gap:.6rem;padding:1rem 1.1rem;display:grid}.fvx-how h2{font:800 1.15rem/1.3 var(--font-display);color:var(--text);margin:0}.fvx-how p{color:var(--text-2);margin:0;font-size:.94rem;line-height:1.55}.fvx-links{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.fvx-links a{color:var(--fvx-accent);font-weight:700;text-decoration:none}.fvx-links a:hover{text-decoration:underline}@media (width<=960px){.fvx-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fvx-controls .fvx-field:first-child{grid-column:1/-1}.fvx-stage,.fvx-how{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.fvx-controls{grid-template-columns:minmax(0,1fr)}.fvx-table thead{display:none}.fvx-table tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:.2rem .8rem;padding:.6rem .8rem;display:grid}.fvx-table th,.fvx-table td{border:0;padding:0}.fvx-table td:nth-child(2){grid-row:span 2;align-self:center}.fvx-table td:nth-child(3){color:var(--fvx-quiet);grid-column:1;font-size:.88rem}.fvx-table td:nth-child(4){grid-column:1/-1}}
