.pv-player{--pv-gold:#c2a667;--pv-path:#479c9d}
.pv-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:var(--bg);border:1px solid var(--line);border-radius:17px;margin-bottom:15px}
.pv-tabs button{font:inherit;font-size:14px;font-weight:600;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer}
.pv-tabs button[aria-pressed=true]{background:var(--surface);color:var(--primary);border-color:var(--line);box-shadow:0 2px 8px #00000005}
.pv-stage{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:21px;background:linear-gradient(155deg,var(--primary-3),var(--surface));padding-top:33px}
.pv-illustration{display:block;width:100%;height:310px;stroke-linecap:round;stroke-linejoin:round}
.pv-view,.pv-counter{position:absolute;top:14px;font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:600;z-index:1}
.pv-view{left:16px;text-transform:uppercase}.pv-counter{right:15px;padding:5px 8px;margin-top:-5px;border:1px solid var(--line);border-radius:18px;letter-spacing:0;background:var(--surface);font-variant-numeric:tabular-nums}
.pv-courtyard{fill:var(--surface);opacity:.65}.pv-orbit-guide{fill:none;stroke:var(--pv-path);stroke-width:17;opacity:.07}.pv-route{fill:none;stroke:var(--pv-path);stroke-width:2;stroke-dasharray:3 6;opacity:.4}.pv-trace{fill:none;stroke:var(--pv-path);stroke-width:4;stroke-dasharray:0 1;opacity:.8}
.pv-hatim{fill:none;stroke:var(--pv-gold);stroke-width:5;opacity:.75}.pv-kaaba{fill:#34313b;stroke:#24212c;stroke-width:1}.pv-kaaba-band{stroke:var(--pv-gold);stroke-width:6}.pv-kaaba-detail{fill:var(--pv-gold);stroke:none}.pv-kaaba-label{fill:#fff;font:12px system-ui,sans-serif;letter-spacing:.04em}.pv-black-stone{fill:#16131d;stroke:var(--pv-gold);stroke-width:2}.pv-start-line{fill:none;stroke:var(--pv-gold);stroke-width:1.3;stroke-dasharray:3 4}.pv-direction{fill:none;stroke:var(--pv-path);stroke-width:2.5}
.pv-place{fill:var(--ink);font:600 12px system-ui,sans-serif}.pv-small-label{fill:var(--muted);font:10px system-ui,sans-serif}.pv-dot{fill:var(--pv-path);stroke:var(--surface);stroke-width:2}.pv-dot-halo{fill:var(--pv-path);opacity:.15}.pv-corridor{fill:var(--surface);stroke:var(--line);stroke-width:1;opacity:.85}.pv-lane{fill:none;stroke:var(--pv-path);stroke-width:1;opacity:.12}.pv-hill{fill:var(--primary-3);stroke:var(--primary);stroke-width:1.5;opacity:.5}.pv-endpoint{fill:var(--surface);stroke:var(--pv-path);stroke-width:2}
.pv-stage-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 16px 15px;color:var(--muted);font-size:10px}.pv-key{display:inline-flex;align-items:center;gap:6px}.pv-key i{width:6px;height:6px;border-radius:50%;background:var(--pv-path)}
.pv-current{min-height:123px;text-align:center;padding:18px 0 4px}.pv-route-label{font-size:10px;letter-spacing:.03em;color:var(--primary);font-weight:600}.pv-current h3{font-size:24px;margin:8px 0}.pv-current p{max-width:370px;margin:auto;font-size:14px;line-height:1.7}.pv-controls{margin:10px 0 18px}.pv-laps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.pv-laps button{font:inherit;font-size:12px;font-variant-numeric:tabular-nums;min-height:44px;min-width:0;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);cursor:pointer}.pv-laps button.is-complete{background:var(--primary-3);color:var(--primary)}.pv-laps button[aria-pressed=true]{border-color:var(--primary);color:var(--primary);background:var(--primary-3);font-weight:650}.pv-player .pv-footnote{font-size:11px;line-height:1.6;margin-top:15px;text-align:center;color:var(--muted)}
/* Motion is driven only by the opt-in player; reduced motion keeps manual diagrams. */
.pv-player[data-reduced=true] .pv-traveller,.pv-player[data-reduced=true] .pv-trace{transition:none!important;animation:none!important}
@media(max-width:480px){.pv-illustration{height:275px}.pv-view{left:12px;font-size:9px}.pv-current{min-height:133px}.pv-laps{gap:4px}.pv-laps button{border-radius:10px}.pv-controls .lv-play{min-width:142px}.pv-stage-caption{padding:2px 12px 13px}}
@media(prefers-reduced-motion:reduce){.pv-player *{animation:none!important;transition:none!important}}
