.fpv-guide { min-width:0; }
.fpv-controller-choices { border:0;margin:0 0 24px;padding:0;min-width:0; }
.fpv-controller-choices legend { font-size:22px;font-weight:700;color:var(--color-emphasized);margin-bottom:18px; }
.fpv-controller-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.fpv-controller-card { position:relative;display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--border-color-base);border-radius:8px;background:var(--color-surface-1);cursor:pointer;min-width:0; }
.fpv-controller-heading { display:flex;align-items:start;gap:10px;min-height:44px;cursor:pointer; }
.fpv-controller-heading::after { content:"";position:absolute;inset:0; }
.fpv-controller-heading input { accent-color:#ef5754;margin-top:5px;flex:none; }
.fpv-controller-card img { display:block;width:100%;height:130px;object-fit:contain;background:var(--color-surface-2);border-radius:4px; }
.fpv-card-copy { display:grid;gap:6px;font-size:14px;line-height:1.5; }
.fpv-card-copy ul { margin:6px 0 10px;padding-left:20px;list-style:disc; }
.fpv-card-copy li { margin:4px 0; }
.fpv-card-copy strong { font-weight:700;color:inherit; }
.fpv-pros { color:light-dark(#23783d,#72da91); }
.fpv-cons { color:light-dark(#a52632,#f18d97); }
.fpv-controller-card:has(input:checked) { border-color:#ef5754;box-shadow:inset 0 0 0 1px #ef5754; }
.fpv-controller-card:focus-within { outline:2px solid var(--color-progressive);outline-offset:4px; }
.fpv-controller-choices:has(input:checked) .fpv-controller-card:not(:has(input:checked)) { background:var(--color-surface-0);color:var(--color-subtle); }
.fpv-controller-choices:has(input:checked) .fpv-controller-card:not(:has(input:checked)) img { opacity:.5; }
.fpv-reading-layout { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr);gap:28px;align-items:start; }
.fpv-reference-column { position:sticky;top:16px;min-width:0; }
.fpv-apply-reminder { background:var(--color-surface-1);border:1px solid var(--border-color-base);border-radius:6px;padding:14px;margin:0 0 16px; }
.fpv-reminder-heading { display:flex;gap:8px;align-items:start;justify-content:space-between; }
.fpv-reminder-heading strong { color:var(--color-emphasized);font-size:15px; }
.fpv-reminder-heading button { flex:none;width:24px;height:24px;font-size:22px; }
.fpv-apply-reminder p { font-size:13px;line-height:1.55;margin:9px 0 0; }
.fpv-reference-column .guide-visual img { max-height:calc(100vh - 300px);object-fit:contain;object-position:top; }
.fpv-guide .guide-copy>.citizen-section:first-child>.section-heading { margin-top:0; }
.fpv-guide .guide-copy .section-heading h3 { font-size:18px; }
.fpv-guide .guide-copy .section-content { font-size:15px;line-height:1.65; }
.fpv-guide[data-controller="transmitter"] section[aria-labelledby="gamepad-setup"],
.fpv-guide[data-controller="gamepad"] section[aria-labelledby="fpv-transmitter-setup"] { color:var(--color-subtle); }
.fpv-guide[data-controller="gamepad"] section[aria-labelledby="gamepad-setup"],
.fpv-guide[data-controller="transmitter"] section[aria-labelledby="fpv-transmitter-setup"] { border-left:2px solid #ef5754;padding-left:14px; }
.mw-parser-output .fpv-diagram,.mw-parser-output .fpv-controller-photo { float:none;display:block;width:100%;max-width:none;margin:18px 0 24px;padding:0;overflow:hidden; }
.mw-parser-output .fpv-diagram { background:transparent;border:0;border-radius:0; }
.mw-parser-output .fpv-controller-photo { background:var(--color-surface-1);border:1px solid var(--border-color-base);border-radius:6px; }
.fpv-plot { position:relative; }
.fpv-diagram-link { display:block;width:100%;padding:0;border:0;background:transparent; }
.fpv-diagram-link>img,.fpv-diagram-link>svg { display:block;width:100%;height:auto; }
.fpv-diagram-link>img { aspect-ratio:auto;object-fit:contain; }
.fpv-diagram-link:focus-visible { outline:2px solid var(--color-progressive);outline-offset:3px; }
.fpv-rate-overlay { position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
.fpv-curve-measure { fill:none;stroke:none;visibility:hidden; }
.fpv-marker { fill:var(--color-surface-0);stroke:#51b8f5;stroke-width:4; }
.fpv-marker-1 { stroke:#72dc84; }
.fpv-marker-2 { stroke:#edc665; }
[data-fpv-demo="rc-rates"] .fpv-marker-0 { stroke:#f07878; }
.fpv-probe { stroke:#dedbd7;stroke-opacity:.5;stroke-width:1.5;stroke-dasharray:5 6;fill:none; }
.fpv-stick-control { display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 0 12px;color:var(--color-base); }
.fpv-stick-control>.fpv-stick { width:132px;height:132px;flex:none; }
.fpv-stick { color:var(--color-subtle);touch-action:none;cursor:grab;user-select:none;overflow:visible;outline:none; }
.fpv-stick:focus { outline:none; }
.fpv-stick:active { cursor:grabbing; }
.fpv-stick[data-keyboard-focus] .fpv-stick-ring { stroke:var(--color-emphasized);stroke-width:4; }
.fpv-stick[data-keyboard-focus] .fpv-stick-inner { stroke:var(--color-emphasized);stroke-width:3; }
.fpv-stick-hit { fill:transparent; }
.fpv-stick-ring { fill:none;stroke:currentColor;stroke-width:2.5; }
.fpv-stick-inner { stroke-width:1.4; }
.fpv-stick-axes { fill:none;stroke:currentColor;stroke-width:1.4;stroke-dasharray:6 6; }
.fpv-stick-thumb { fill:var(--color-surface-1);stroke:currentColor;stroke-width:2.5; }
.fpv-stick-dot { fill:none;stroke:light-dark(#23783d,#72dc84); }
.fpv-stick-value { width:6ch;flex:0 0 6ch;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap; }
html[data-theme="light"] .fpv-diagram-link { filter:brightness(.58); }
html[data-theme="light"] .fpv-marker { stroke:#236e96; }
html[data-theme="light"] .fpv-marker-1 { stroke:#23783d; }
html[data-theme="light"] .fpv-marker-2 { stroke:#816119; }
html[data-theme="light"] [data-fpv-demo="rc-rates"] .fpv-marker-0 { stroke:#a33535; }
html[data-theme="light"] .fpv-probe { stroke:#555; }
.fpv-marker[data-scenario="beginner"] { stroke:light-dark(#23783d,#72dc84); }
.fpv-marker[data-scenario="experienced"] { stroke:light-dark(#816119,#edc665); }
.fpv-marker[data-scenario="professional"] { stroke:light-dark(#a33535,#f07878); }
html[data-theme="light"] .fpv-marker[data-scenario="beginner"] { stroke:#23783d; }
html[data-theme="light"] .fpv-marker[data-scenario="experienced"] { stroke:#816119; }
html[data-theme="light"] .fpv-marker[data-scenario="professional"] { stroke:#a33535; }
.mw-parser-output .fpv-diagram figcaption,.mw-parser-output .fpv-controller-photo figcaption { display:block;margin:0;padding:8px 14px;font-size:12px;color:var(--color-subtle);text-align:center; }
.mw-parser-output .fpv-diagram figcaption { padding-top:4px; }
.mw-parser-output .fpv-controller-photo figcaption { border-top:1px solid var(--border-color-base); }
.fpv-diagram figcaption a { color:var(--color-subtle); }
.fpv-controller-photo .image-button { display:block;width:100%;padding:0; }
.fpv-controller-photo img { display:block;width:100%;height:auto;max-height:300px;object-fit:contain; }
.fpv-tilt-videos { display:block; }
.fpv-tilt-videos .article-video { margin:20px 0; }
.mw-parser-output .fpv-tilt-videos figcaption { margin:0;padding:5px 8px;text-align:center;font-size:12px; }
.fpv-guide [hidden] { display:none!important; }
.bc-toc [hidden] { display:none!important; }
@media(max-width:1000px) { .fpv-reading-layout { grid-template-columns:minmax(0,1fr); }.fpv-reference-column { position:static; }.fpv-reference-column .guide-visual img { max-height:none;max-width:650px;margin:auto; } }
@media(max-width:620px) { .fpv-controller-grid { grid-template-columns:minmax(0,1fr); }.fpv-controller-heading { min-height:0; }.fpv-controller-card { padding:16px; }.fpv-controller-choices legend { font-size:20px; }.fpv-controller-card img { height:115px; } }
@media(min-width:1001px) and (max-height:720px) { .fpv-reference-column { position:static; }.fpv-reference-column .guide-visual img { max-height:none; } }
