/* MotoVibe Explorer — scoped styling, themed to the homepage light sections.
   All selectors live under .mv-explorer; no global resets. */
.mv-explorer{padding:0;position:relative;z-index:auto;--mv-accent:#dc3545;--mv-accent-2:#d63384;--mv-bg:#ffffff;--mv-text:#1e1e26;--mv-muted:#5c5c66;--mv-border:rgba(10,10,15,0.12);color:var(--mv-text);background:var(--mv-bg);border:1px solid var(--mv-border);border-radius:22px;overflow:hidden;font:15px/1.5 inherit;font-family:var(--font-display,system-ui,sans-serif);width:100%;min-width:0;box-shadow:0 30px 70px -45px rgba(10,10,15,0.35)}
.mv-explorer *{box-sizing:border-box}
.mv-explorer button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--mv-border);background:#fff;border-radius:999px;min-height:44px;padding:8px 15px;touch-action:manipulation;transition:border-color .2s,background .2s,color .2s}
.mv-explorer button:hover{border-color:rgba(10,10,15,0.24)}
.mv-explorer button:focus-visible,.mv-explorer input:focus-visible{outline:2px solid var(--mv-accent);outline-offset:3px}
.mv-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px}
.mv-header strong{font-family:var(--font-mono,monospace);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--mv-text)}
.mv-header [role=tablist]{display:flex;gap:6px}
.mv-header [role=tab]{font-family:var(--font-mono,monospace);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px}
.mv-explorer [aria-selected=true],.mv-explorer [aria-pressed=true]{border-color:transparent;background:linear-gradient(95deg,var(--mv-accent),var(--mv-accent-2));color:#fff}
.mv-stage{height:clamp(300px,42vw,430px);position:relative;background:radial-gradient(ellipse at 50% 35%,#ffffff,#e9e9ed 72%)}
.mv-stage canvas{display:block;width:100%;height:100%}
.mv-overview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(80% 70% at 50% 40%,#fff,#eeeef1);container-type:size}
.mv-map{position:relative;width:min(100cqw,100cqh);height:min(100cqw,100cqh)}
.mv-map>img{width:100%;height:100%;display:block;object-fit:contain;user-select:none}
.mv-explorer .mv-hotspot{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;background:transparent;border:none;box-shadow:none}
.mv-hotspot i{position:relative;width:26px;height:26px;background:#fff;border:1px solid rgba(10,10,15,0.18);border-radius:50%;box-shadow:0 4px 14px -6px rgba(10,10,15,0.45);display:grid;place-items:center;transition:background .2s,border-color .2s}
.mv-hotspot i::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mv-accent)}
.mv-hotspot i::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1px solid rgba(220,53,69,0.45);animation:pulse-ring 2.4s ease-out infinite}
.mv-hotspot:hover i,.mv-hotspot:focus-visible i{background:linear-gradient(95deg,var(--mv-accent),var(--mv-accent-2));border-color:transparent;box-shadow:0 8px 22px -8px rgba(220,53,69,0.7)}
.mv-hotspot:hover i::before,.mv-hotspot:focus-visible i::before{background:#fff}
.mv-hotspot:hover i::after{animation:none;opacity:0}
.mv-hotspot span{position:absolute;left:50%;bottom:calc(100% - 4px);transform:translateX(-50%);border-radius:999px;padding:5px 9px;background:#0a0a0f;color:#fff;white-space:nowrap;font-family:var(--font-mono,monospace);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;opacity:0;transition:opacity .2s}
.mv-hotspot:hover span,.mv-hotspot:focus-visible span{opacity:1}
.mv-hotspot-tire span{left:4px;transform:none}
.mv-hotspot-disc span{bottom:auto;top:calc(100% - 4px)}
.mv-toolbar{position:absolute;bottom:12px;right:12px;display:flex;gap:6px}
.mv-toolbar button{width:44px;font-size:18px;padding:4px;border-radius:12px;background:rgba(255,255,255,0.92)}
.mv-caption{position:absolute;left:16px;top:12px;font-family:var(--font-mono,monospace);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mv-muted);pointer-events:none}
.mv-controls{border-top:1px solid var(--mv-border);padding:16px}
.mv-controls p{font-size:13.5px;margin:0 0 12px;color:var(--mv-muted)}
.mv-controls small{font-family:var(--font-mono,monospace);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mv-muted)}
.mv-range{display:flex;gap:12px;align-items:center;font-family:var(--font-mono,monospace);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mv-muted);flex-wrap:wrap}
.mv-range input{accent-color:var(--mv-accent);flex:1;min-width:120px}
.mv-range output{color:var(--mv-text)}
.mv-parts{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.mv-parts button{font-family:var(--font-mono,monospace);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:8px 13px}
.mv-live{font-size:13.5px;color:var(--mv-text)}
.mv-loading{padding:30px;font-size:13.5px;color:var(--mv-muted)}
.mv-explorer .loading{padding:30px;font-size:13.5px;color:var(--mv-muted)}
