.fd-stage{display:grid;gap:14px}.fd-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--line);width:min(100%,28rem)}.fd-view-switch button{border:none;background:transparent;border-radius:10px;padding:10px 8px;font-weight:700;cursor:pointer;color:var(--muted)}.fd-view-switch button[aria-selected=true]{background:var(--ink);color:var(--lime)}.fd-scene-frame{position:relative;min-height:clamp(360px,52vh,640px);border-radius:18px;overflow:hidden;border:1px solid #222833;background:#12161c}.fd-pursuit{position:relative;width:100%;height:clamp(360px,52vh,640px)}.fd-pursuit canvas{display:block;width:100%!important;height:100%!important}.fd-loading{position:absolute;inset:0;display:grid;place-content:center;gap:10px;color:#c5ccd8;font-size:13px;background:#12161c}.fd-loading span{width:28px;height:28px;margin:0 auto;border-radius:50%;border:2px solid #3a4558;border-top:2px solid var(--lime);animation:fd-spin .8s linear infinite}@keyframes fd-spin{to{transform:rotate(1turn)}}.fd-world-label{border:none;background:rgba(18,20,26,.88);color:#f4f6fa;border-radius:10px;padding:6px 8px;gap:2px;min-width:88px;text-align:left;box-shadow:0 6px 16px rgba(0,0,0,.28)}.fd-world-label strong{font-size:12px}.fd-world-label span{font-size:11px;color:#aeb6c7}.fd-world-label.selected,.fd-world-label.you{outline:1px solid var(--lime)}.fd-controls{display:grid;gap:10px}.fd-controls label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.fd-controls input[type=range]{width:100%;accent-color:var(--lime-deep)}.fd-facing{display:flex;flex-wrap:wrap;gap:8px}.fd-facing button{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:650}.fd-facing button[aria-pressed=true]{background:var(--ink);color:var(--lime);border-color:var(--ink)}.fd-note{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.fd-inspector{background:linear-gradient(160deg,rgba(183,242,85,.35),rgba(255,255,255,.95));border:1px solid var(--line);border-radius:16px;padding:14px;gap:6px}.fd-inspector h2{margin:0;font-size:20px}.fd-inspector strong{font-family:var(--font-display),"Bebas Neue",sans-serif;font-size:42px;line-height:.9;font-weight:400}.fd-inspector strong small{font-family:var(--font-body),"DM Sans",sans-serif;font-size:16px;color:var(--muted)}.fd-inspector p{margin:0;color:var(--muted);font-size:14px}.fd-roster-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}.fd-roster-head h3{margin:0;font-size:16px}.fd-roster-head span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.fd-path{display:grid;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px}.fd-path-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fd-path-tools button{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:650}.fd-path-tools button[aria-pressed=true]{background:var(--ink);color:var(--lime);border-color:var(--ink)}.fd-path-pan{display:flex;align-items:center;gap:8px;flex:1;min-width:160px;font-size:12px;color:var(--muted)}.fd-path-pan input{flex:1;accent-color:var(--lime-deep)}.fd-path-svg{width:100%;height:auto;display:block;background:linear-gradient(180deg,#eef3ea,#f7f8fa);border-radius:14px}.fd-path-road{fill:#d7e0d2}.fd-path-axis{stroke:#7d8b7a;stroke-width:3;stroke-linecap:round}.fd-path-tick{stroke:#a3b0a0;stroke-width:1.5}.fd-path-tick-label{fill:#6b7568;font-size:11px;text-anchor:end}.fd-path-dot{fill:#6f8f82;stroke:#12141a;stroke-width:1.5}.fd-path-dot.you{fill:var(--lime)}.fd-path-dot.selected{fill:#f4b183}.fd-path-connector{stroke:#9aa390;stroke-width:1}.fd-path-label{fill:#12141a;font-size:12px;font-weight:700}.fd-path-label.you{fill:#4d7a00}.fd-path-sub{fill:#5c6578;font-size:10px}.sp-roster button.selected{background:rgba(183,242,85,.22)}.fd-field-head,.fd-field-layout{display:grid;gap:12px}.fd-field-head{grid-template-columns:1fr auto;align-items:end}.fd-field-head h2{margin:0;font-size:40px;letter-spacing:-.04em}.fd-readout{display:grid;justify-items:end;gap:2px;min-width:9rem}.fd-readout span{white-space:nowrap}.fd-readout strong{font-size:36px;letter-spacing:-.04em;line-height:1}.fd-inspector small,.fd-readout small,.fd-readout span{color:var(--muted);font-size:12px}.fd-field-layout{grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr)}.fd-scene-frame{min-height:clamp(420px,55vh,640px);width:100%;background:#404346}.fd-lanes{display:grid;gap:8px;color:#f4f4f1}.fd-camera,.fd-lane-tools,.fd-looks,.fd-replay{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fd-camera button,.fd-inspector button,.fd-lane-tools button,.fd-replay button{border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;border-radius:2px;padding:6px 8px;cursor:pointer}.fd-lane-svg{width:100%;height:auto;touch-action:pan-y;background:#404346}.lane-ground{fill:#404346}.lane-strip{fill:rgba(255,255,255,.03)}.lane-yours{fill:rgba(249,123,71,.16)}.lane-rule{stroke:rgba(255,255,255,.18)}.lane-heading,.lane-start,.lane-tick,.lane-unit{fill:#f2f2ef;font-size:11px}.lane-heading-you{fill:#f97b47}.lane-dot{fill:#e9d076}.lane-you{fill:#f97b47}.lane-selected{stroke:#fff;stroke-width:3}.lane-ghost{fill:none;stroke:#fff;stroke-dasharray:3 2}.fd-lane-note{margin:0;color:#d0d0cc;font-size:12px}.fd-live-world{position:relative;min-height:clamp(460px,58vh,680px);width:100%;background:#d5d6d3}.fd-live-world canvas{width:100%;height:clamp(460px,58vh,680px);display:block}.fd-world-label{position:absolute;transform:translate(-50%,-120%);border:0;background:#fff;color:#28282a;padding:4px 8px;border-radius:2px;display:grid;cursor:pointer}.fd-world-label.is-selected{outline:2px solid #ef6635}.fd-inspector{display:grid;align-content:start;gap:8px;color:var(--ink)}.fd-inspector h3{margin:0}.fd-inspector strong{font-size:32px}.fd-looks button{width:28px;height:28px;border-radius:2px;border:1px solid #28282a}.fd-replay{color:#f4f4f1;padding:0 8px 8px}.fd-replay input{width:100%}.fd-camera{position:absolute;z-index:2;top:8px;left:8px}@media (max-width:800px){.fd-field-head,.fd-field-layout{grid-template-columns:1fr}}