.vtgvg-dashboard,.vtgvg-player-shell,.vtgvg-login{--navy:#0b1f3a;--blue:#0f5fbd;--yellow:#f2bd12;--paper:#fff;--ink:#172033;max-width:1240px;margin:24px auto;padding:0 18px;color:var(--ink);font-family:Arial,Helvetica,sans-serif;box-sizing:border-box}.vtgvg-dashboard *,.vtgvg-player-shell *,.vtgvg-login *{box-sizing:border-box}.vtgvg-hero{display:flex;justify-content:space-between;gap:28px;align-items:center;background:linear-gradient(135deg,#071a33,#0d4f98);color:#fff;padding:34px;border-radius:22px;box-shadow:0 16px 40px rgba(8,32,65,.2)}.vtgvg-hero h1{font-size:clamp(32px,5vw,56px);line-height:1;margin:6px 0 14px;color:#fff}.vtgvg-hero p{font-size:18px;max-width:720px;margin:0}.vtgvg-eyebrow{font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#ffd95e!important}.vtgvg-hero-actions{display:flex;flex-direction:column;gap:12px;min-width:230px}.vtgvg-button{appearance:none;border:0;border-radius:10px;background:var(--yellow);color:#10213a!important;font-size:16px;font-weight:800;line-height:1.25;min-height:48px;padding:13px 18px;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 0 #b48500;transition:.15s transform,.15s filter}.vtgvg-button:hover{filter:brightness(1.04);transform:translateY(-1px)}.vtgvg-button:active{transform:translateY(2px);box-shadow:0 2px 0 #b48500}.vtgvg-button:disabled{opacity:.55;cursor:wait}.vtgvg-button.vtgvg-secondary{background:#fff;color:#123f72!important;box-shadow:0 4px 0 #b8c6d5;border:1px solid #d6e0ea}.vtgvg-tabs,.vtgvg-category-pills{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.vtgvg-tabs button,.vtgvg-category-pills button{border:2px solid #d7e0eb;background:#fff;border-radius:999px;min-height:44px;padding:8px 18px;font-size:16px;font-weight:800;color:#1c3555;cursor:pointer}.vtgvg-tabs button.is-active,.vtgvg-category-pills button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}.vtgvg-game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.vtgvg-game-card{background:#fff;border:1px solid #d9e2ec;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(23,44,76,.1)}.vtgvg-game-card[hidden]{display:none}.vtgvg-card-art{height:170px;position:relative;overflow:hidden;background:linear-gradient(#55bff4 0 48%,#3fa856 48% 100%)}.vtgvg-road{position:absolute;left:50%;bottom:-10px;width:70%;height:135px;background:#43464d;clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);transform:translateX(-50%)}.vtgvg-road:after{content:"";position:absolute;left:49%;top:10%;height:90%;width:2%;background:repeating-linear-gradient(#fff 0 18px,transparent 18px 34px)}.vtgvg-car-icon{position:absolute;left:50%;bottom:20px;font-size:58px;transform:translateX(-50%);filter:drop-shadow(0 8px 5px rgba(0,0,0,.35))}.vtgvg-card-body{padding:22px}.vtgvg-card-body h2{font-size:25px;line-height:1.15;margin:4px 0 10px;color:#0d2949}.vtgvg-card-category{font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#0f5fbd;margin:0}.vtgvg-stats{display:flex;gap:10px;margin:16px 0}.vtgvg-stats span{background:#eef5fc;border-radius:7px;padding:7px 10px;font-weight:700}.vtgvg-card-actions{display:grid;gap:10px}.vtgvg-favorite-toggle[aria-pressed="true"]{background:#0f5fbd;color:#fff!important;box-shadow:0 4px 0 #073663}.vtgvg-empty,.vtgvg-notice,.vtgvg-login{background:#fff;border:2px solid #dbe5ef;border-radius:18px;padding:35px;text-align:center}.vtgvg-controller-panel{margin:22px 0}.vtgvg-controller-test{background:#f8fafc;border:2px solid #cbd5e1;border-radius:18px;padding:24px}.vtgvg-controller-title{display:flex;align-items:center;gap:16px}.vtgvg-controller-title h3{font-size:24px;margin:0 0 4px;color:#0b1f3a}.vtgvg-controller-title p{margin:0}.vtgvg-controller-led{width:34px;height:34px;border-radius:50%;background:#dc2626;box-shadow:0 0 20px rgba(220,38,38,.75);flex:0 0 auto}.vtgvg-controller-led.is-connected{background:#16a34a;box-shadow:0 0 20px rgba(22,163,74,.85)}.vtgvg-controller-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.vtgvg-controller-guide{background:#fff;border-radius:12px;padding:14px 18px;border:1px solid #dbe5ef}.vtgvg-controller-guide p{margin:8px 0}.vtgvg-controller-readout{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:16px}.vtgvg-controller-readout>div{background:#0b1f3a;color:#fff;border-radius:10px;padding:12px}.vtgvg-controller-readout strong,.vtgvg-controller-readout span{display:block}.vtgvg-controller-readout span{font-size:13px;margin-top:5px;overflow-wrap:anywhere}.vtgvg-button-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.vtgvg-button-grid span{font:700 12px monospace;background:#dbe5ef;border-radius:6px;padding:6px}.vtgvg-button-grid span.is-active{background:#16a34a;color:#fff}.vtgvg-player-heading{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.vtgvg-player-heading h1{font-size:clamp(28px,4vw,46px);margin:6px 0;color:#0b1f3a}.vtgvg-racing-setup{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr)) auto auto;gap:12px;align-items:end;background:#eef5fc;border:1px solid #cbddea;padding:16px;border-radius:14px;margin-bottom:15px}.vtgvg-racing-setup label{font-weight:800}.vtgvg-racing-setup select{width:100%;display:block;min-height:50px;border:2px solid #9fb3c8;border-radius:9px;padding:8px 12px;font-size:16px;background:#fff}.vtgvg-game-stage{position:relative;background:#0f172a;border-radius:16px;overflow:hidden;box-shadow:0 16px 35px rgba(0,0,0,.25)}#vtgvg-racing-canvas{display:block;width:100%;height:auto;aspect-ratio:16/9}.vtgvg-hud{position:absolute;left:12px;right:12px;top:12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;pointer-events:none}.vtgvg-hud span{background:rgba(4,16,35,.82);color:#fff;border-radius:7px;padding:8px 12px;font-weight:900;text-shadow:0 1px 2px #000}.vtgvg-countdown{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);background:rgba(4,16,35,.86);color:#fff;padding:20px 30px;border-radius:14px;font-size:clamp(25px,5vw,56px);font-weight:900;text-align:center;min-width:260px}.vtgvg-controls-help{background:#fff7d6;border:1px solid #e6bd3f;border-radius:10px;padding:14px;margin-top:14px}.vtgvg-touch-controls{display:none;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.vtgvg-touch-controls button{min-height:58px;font-size:18px;font-weight:900;border:0;border-radius:10px;background:#0b1f3a;color:#fff}.vtgvg-error{border-color:#dc2626;color:#991b1b}@media(max-width:780px){.vtgvg-hero,.vtgvg-player-heading{align-items:stretch;flex-direction:column}.vtgvg-hero-actions{min-width:0}.vtgvg-racing-setup{grid-template-columns:1fr}.vtgvg-touch-controls{display:grid}.vtgvg-hud{font-size:12px}.vtgvg-hud span{padding:6px 8px}.vtgvg-dashboard,.vtgvg-player-shell{padding:0 10px}.vtgvg-hero{padding:24px}.vtgvg-game-grid{grid-template-columns:1fr}}

.vtgvg-racing-setup{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.vtgvg-racing-setup .vtgvg-button{width:100%}.vtgvg-demo-admin .vtgvg-player-shell{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.vtgvg-demo-admin .vtgvg-game-stage{max-width:1100px}.vtgvg-demo-admin .vtgvg-controls-help{max-width:1100px}
.vtgvg-controller-quick-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.vtgvg-connection-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.vtgvg-connection-method{border:2px solid #9fb3c8;border-radius:14px;background:#fff;min-height:112px;padding:16px;text-align:left;cursor:pointer;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.vtgvg-connection-method>span{font-size:32px;grid-row:1/3}.vtgvg-connection-method strong,.vtgvg-connection-method small{display:block}.vtgvg-connection-method strong{font-size:20px;color:#0b1f3a}.vtgvg-connection-method small{font-size:14px;color:#4b5f75}.vtgvg-connection-method.is-selected{border-color:#0f5fbd;background:#eaf4ff;box-shadow:0 0 0 3px rgba(15,95,189,.15)}.vtgvg-connection-steps section{background:#f7fafc;border:1px solid #cfd9e5;border-left:5px solid #0f5fbd;border-radius:10px;padding:16px 20px;margin:14px 0}.vtgvg-connection-steps h4{font-size:20px;margin:0 0 10px}.vtgvg-connection-steps li{margin:8px 0}.vtgvg-controller-readout{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:800px){.vtgvg-connection-methods,.vtgvg-controller-readout{grid-template-columns:1fr}.vtgvg-controller-quick-actions{justify-content:stretch}.vtgvg-controller-quick-actions .vtgvg-button{width:100%}}

.vtgvg-bluetooth-chip-check{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#eaf4ff;border:1px solid #9fc5ed;border-radius:12px;padding:16px 18px;margin:16px 0}.vtgvg-bluetooth-chip-check p{margin:5px 0 0}.vtgvg-bluetooth-chip-actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}@media(max-width:800px){.vtgvg-bluetooth-chip-check{align-items:stretch;flex-direction:column}.vtgvg-bluetooth-chip-actions{flex-direction:column}.vtgvg-bluetooth-chip-actions .vtgvg-button{width:100%}}


.vtgvg-help-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.vtgvg-controller-map{margin:14px 0;padding:14px;border:1px solid #d7e1f5;border-radius:14px;background:#f8fbff}
.vtgvg-controller-map h4{margin:0 0 6px;font-size:16px}
.vtgvg-controller-map p{margin:0 0 12px}
.vtgvg-controller-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.vtgvg-controller-map-grid>div{background:#fff;border:1px solid #e3e9f6;border-radius:10px;padding:10px}
.vtgvg-controller-map-grid strong{display:block;color:#063970;margin-bottom:3px}
.vtgvg-controller-map-grid span{display:block;color:#334155}

.vtgvg-controls-help .vtgvg-controller-map{margin-top:12px}
.vtgvg-controls-help .vtgvg-controller-map-grid{font-size:.92rem}

.vtgvg-button-grid span{white-space:normal;line-height:1.25;max-width:260px}

/* Version 2.0 racing presentation */
.vtgvg-card-art-photo{height:240px;background:#050608}
.vtgvg-card-art-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;image-rendering:auto}
.vtgvg-racing-cover{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:22px;align-items:center;margin:18px 0;padding:16px;background:linear-gradient(135deg,#05080e,#0d2340);border:1px solid #294a71;border-radius:18px;color:#fff;box-shadow:0 18px 42px rgba(3,15,32,.24)}
.vtgvg-racing-cover img{width:100%;max-height:560px;object-fit:contain;display:block;border-radius:13px;background:#050505;image-rendering:auto}
.vtgvg-racing-cover h2{color:#fff;font-size:clamp(24px,3.5vw,42px);line-height:1.05;margin:6px 0 12px}
.vtgvg-racing-cover p{font-size:17px;line-height:1.55}
.vtgvg-car-picker-panel{margin:16px 0;padding:18px;background:#07182c;border:1px solid #21486f;border-radius:16px;color:#fff}
.vtgvg-car-picker-panel h2{margin:0 0 5px;color:#fff;font-size:28px}.vtgvg-car-picker-panel>p{margin:0 0 15px;color:#c8d8e9}
.vtgvg-car-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.vtgvg-car-choice{appearance:none;border:2px solid #2d4f72;border-radius:12px;background:#0c2038;color:#fff;padding:8px;text-align:left;cursor:pointer;overflow:hidden;transition:transform .15s,border-color .15s,box-shadow .15s}
.vtgvg-car-choice:hover{transform:translateY(-2px);border-color:#67b3ff}.vtgvg-car-choice.is-selected{border-color:#f2bd12;box-shadow:0 0 0 3px rgba(242,189,18,.22)}
.vtgvg-car-choice img{display:block;width:100%;aspect-ratio:16/7.5;object-fit:cover;border-radius:8px;background:#111;image-rendering:auto}
.vtgvg-car-choice strong,.vtgvg-car-choice span{display:block}.vtgvg-car-choice strong{font-size:15px;margin:8px 2px 3px}.vtgvg-car-choice span{font-size:12px;color:#b8cce0;margin:0 2px 3px}
#vtgvg-racing-canvas{image-rendering:auto;backface-visibility:hidden;transform:translateZ(0);will-change:contents}
.vtgvg-game-stage{contain:layout paint style}
@media(max-width:850px){.vtgvg-racing-cover{grid-template-columns:1fr}.vtgvg-card-art-photo{height:190px}.vtgvg-car-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Version 2.1 camera, frame-pacing, and sharp-rendering controls */
.vtgvg-racing-setup label:has(#vtgvg-camera-view),
.vtgvg-racing-setup label:has(#vtgvg-quality-mode){background:#fff;border:1px solid #c7d8e9;border-radius:10px;padding:8px 10px}
#vtgvg-cycle-camera{background:#eaf4ff!important;color:#0a3d70!important;box-shadow:0 4px 0 #9ebbd6!important}
.vtgvg-game-stage{max-width:1200px;margin-left:auto;margin-right:auto;border:1px solid #2b4767;background:#020812}
#vtgvg-racing-canvas{width:100%;height:auto;aspect-ratio:16/9;background:#0a1625;touch-action:none;image-rendering:auto}
.vtgvg-hud{align-items:flex-start;justify-content:flex-start}.vtgvg-hud span{backdrop-filter:blur(5px);box-shadow:0 2px 8px rgba(0,0,0,.25)}
#vtgvg-fps{margin-left:auto}#vtgvg-camera-label{background:rgba(12,61,112,.9)}#vtgvg-gear{background:rgba(130,77,0,.9)}
.vtgvg-countdown{max-width:min(90%,680px);line-height:1.1;box-shadow:0 12px 40px rgba(0,0,0,.4)}
.vtgvg-controls-help{line-height:1.55}
@media(max-width:900px){.vtgvg-hud{gap:4px}.vtgvg-hud span{font-size:11px;padding:5px 7px}#vtgvg-fps{margin-left:0}.vtgvg-countdown{min-width:0;width:80%}}

/* Version 2.2 fullscreen racing and adaptive high-DPI presentation */
.vtgvg-fullscreen-button{background:linear-gradient(180deg,#1d8cff,#0560bf)!important;color:#fff!important;box-shadow:0 4px 0 #003f82!important;border:1px solid #5cb0ff!important}
.vtgvg-fullscreen-hint{display:none;position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:8;background:rgba(2,8,18,.82);color:#fff;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:8px 16px;font-weight:800;font-size:13px;white-space:nowrap;pointer-events:none;backdrop-filter:blur(7px)}
.vtgvg-game-stage:fullscreen,.vtgvg-game-stage:-webkit-full-screen{width:100vw;height:100vh;max-width:none;margin:0;border:0;border-radius:0;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vtgvg-game-stage:fullscreen #vtgvg-racing-canvas,.vtgvg-game-stage:-webkit-full-screen #vtgvg-racing-canvas{width:min(100vw,177.7778vh);height:min(100vh,56.25vw);max-width:100vw;max-height:100vh;aspect-ratio:16/9;background:#000}
.vtgvg-game-stage:fullscreen .vtgvg-hud,.vtgvg-game-stage:-webkit-full-screen .vtgvg-hud{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));z-index:7}
.vtgvg-game-stage:fullscreen .vtgvg-countdown,.vtgvg-game-stage:-webkit-full-screen .vtgvg-countdown{z-index:9}
.vtgvg-game-stage:fullscreen .vtgvg-fullscreen-hint,.vtgvg-game-stage:-webkit-full-screen .vtgvg-fullscreen-hint{display:block}
.vtgvg-game-stage.is-fullscreen{box-shadow:none}
@media(max-width:700px){.vtgvg-fullscreen-hint{font-size:11px;bottom:8px;padding:6px 10px}.vtgvg-game-stage:fullscreen .vtgvg-hud span,.vtgvg-game-stage:-webkit-full-screen .vtgvg-hud span{font-size:10px;padding:5px 6px}}

.vtgvg-racing-cover p{max-width:760px}.vtgvg-racing-setup{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.vtgvg-racing-setup .vtgvg-button{width:100%}.vtgvg-hud span#vtgvg-score,.vtgvg-hud span#vtgvg-grade,.vtgvg-hud span#vtgvg-percent{background:rgba(9,28,56,.9)}.vtgvg-hud span#vtgvg-hits{background:rgba(120,11,28,.9)}.vtgvg-hud span#vtgvg-passes{background:rgba(13,75,43,.9)}

/* Version 3.5 state learning, weather, police-chase, and dashboard controls */
.vtgvg-dashboard-racing-feature{margin:24px 0;padding:22px;border-radius:20px;background:linear-gradient(135deg,#061b35,#104f92);color:#fff;box-shadow:0 16px 36px rgba(7,31,60,.2);display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:22px;align-items:center}
.vtgvg-dashboard-racing-feature h2{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:6px 0 12px}.vtgvg-dashboard-racing-feature p{font-size:17px;line-height:1.55}.vtgvg-dashboard-racing-actions{display:flex;flex-wrap:wrap;gap:10px}.vtgvg-dashboard-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vtgvg-dashboard-preview-grid img{width:100%;height:260px;object-fit:cover;object-position:top;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:#fff}
.vtgvg-safety-disclaimer{margin:14px 0;padding:15px 18px;border:2px solid #d97706;border-left-width:8px;border-radius:12px;background:#fff7d6;color:#653600;font-size:16px;line-height:1.5}
.vtgvg-state-information{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:16px 0;padding:22px;border:2px solid #8db5dc;border-radius:16px;background:#f4f9ff;box-shadow:0 12px 28px rgba(13,57,97,.12)}.vtgvg-state-information[hidden]{display:none}.vtgvg-state-information h2{font-size:30px;color:#092c52;margin:4px 0 10px}.vtgvg-state-information p{font-size:16px;line-height:1.6}.vtgvg-state-information ul{columns:2;column-gap:30px;margin:12px 0;padding-left:22px}.vtgvg-state-information li{break-inside:avoid;margin:7px 0}.vtgvg-state-info-actions{display:flex;flex-direction:column;gap:10px;min-width:170px}
.vtgvg-history-button{background:linear-gradient(180deg,#ffd84c,#e8aa00)!important}.vtgvg-racing-setup label:has(#vtgvg-state-select),.vtgvg-racing-setup label:has(#vtgvg-road-type-select),.vtgvg-racing-setup label:has(#vtgvg-area-select),.vtgvg-racing-setup label:has(#vtgvg-weather-select){background:#fff;border:1px solid #c7d8e9;border-radius:10px;padding:8px 10px}
#vtgvg-weather-label{background:rgba(18,79,116,.92)}#vtgvg-police-status{background:rgba(112,12,28,.92)}
@media(max-width:900px){.vtgvg-dashboard-racing-feature{grid-template-columns:1fr}.vtgvg-dashboard-preview-grid img{height:210px}.vtgvg-state-information{grid-template-columns:1fr}.vtgvg-state-info-actions{flex-direction:row;flex-wrap:wrap}.vtgvg-state-information ul{columns:1}}
@media(max-width:620px){.vtgvg-dashboard-preview-grid{grid-template-columns:1fr}.vtgvg-dashboard-preview-grid img{height:auto}.vtgvg-state-info-actions .vtgvg-button{width:100%}}

/* Version 4.0.0 Three.js/WebGL graphics layer */
.vtgvg-game-stage{isolation:isolate;min-height:180px;aspect-ratio:16/9}
#vtgvg-webgl-canvas,#vtgvg-racing-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;aspect-ratio:16/9}
#vtgvg-webgl-canvas{z-index:1;background:#8fb6d0}
#vtgvg-racing-canvas{z-index:2;background:transparent!important;pointer-events:none}
.vtgvg-game-stage:not(.vtgvg-webgl-active) #vtgvg-webgl-canvas{display:none}
.vtgvg-game-stage.vtgvg-webgl-active{background:#0a1420}
.vtgvg-game-stage .vtgvg-hud,.vtgvg-game-stage .vtgvg-countdown,.vtgvg-game-stage .vtgvg-fullscreen-hint{z-index:5}
.vtgvg-webgl-status{position:absolute;right:12px;bottom:12px;z-index:6;background:rgba(4,16,35,.82);color:#dff4ff;border:1px solid rgba(116,201,255,.38);border-radius:999px;padding:7px 11px;font:800 11px/1 Arial,Helvetica,sans-serif;pointer-events:none;backdrop-filter:blur(5px)}
.vtgvg-game-stage:fullscreen #vtgvg-webgl-canvas,.vtgvg-game-stage:fullscreen #vtgvg-racing-canvas,.vtgvg-game-stage:-webkit-full-screen #vtgvg-webgl-canvas,.vtgvg-game-stage:-webkit-full-screen #vtgvg-racing-canvas{width:100vw;height:100vh;object-fit:contain}

/* 10.6.6 graphics mode controls */
.vtgvg-screenshot-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.vtgvg-screenshot-controls small{flex-basis:100%;font-size:12px;line-height:1.35}.vtgvg-game-stage canvas{image-rendering:auto}.vtgvg-racing-controls select#vtgvg-quality-mode{min-width:220px;font-weight:700}


/* 10.7.0 Real Road Photo Mode — entire game stage uses the real photograph */
.vtgvg-game-stage::before{content:'REAL ROAD PHOTO MODE · 4K HIGH-DPI';position:absolute;z-index:8;top:0;left:0;right:0;padding:9px 14px;text-align:center;background:linear-gradient(90deg,rgba(2,12,27,.92),rgba(0,91,138,.88),rgba(2,12,27,.92));color:#fff;font:800 clamp(11px,1.4vw,16px)/1.2 system-ui,sans-serif;letter-spacing:.12em;pointer-events:none;backdrop-filter:blur(4px)}
.vtgvg-game-stage canvas{image-rendering:auto;width:100%!important;height:100%!important;object-fit:cover!important}

/* 10.7.5: crisp Learn USA History control; preserves the existing dashboard design. */
#vtgvg-learn-history.vtgvg-history-button{
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  white-space:nowrap;
}

/* 10.7.6: My Online Friend add-on. Keeps the existing 4K dashboard and controls unchanged. */
.vtgvg-online-friend-button {
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* Version 10.8.2: three-image dashboard gallery with same-page enlargement. */
.vtgvg-dashboard-image-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.vtgvg-dashboard-image-button{appearance:none;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:#071a31;color:#fff;padding:0;overflow:hidden;cursor:pointer;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .18s,box-shadow .18s,border-color .18s}
.vtgvg-dashboard-image-button:hover,.vtgvg-dashboard-image-button:focus-visible{transform:translateY(-3px);border-color:#ffd33d;box-shadow:0 12px 30px rgba(0,0,0,.34);outline:none}
.vtgvg-dashboard-image-button img{width:100%;height:230px;object-fit:cover;object-position:center;border:0;border-radius:0;background:#02070e}
.vtgvg-dashboard-image-button span{display:block;padding:10px 12px;font-weight:800;font-size:13px}
.vtgvg-image-lightbox[hidden]{display:none!important}.vtgvg-image-lightbox{position:fixed;inset:0;z-index:1000000;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:24px}
.vtgvg-image-lightbox-dialog{position:relative;width:min(96vw,1500px);max-height:94vh;display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 14px 14px;border:2px solid #16b8ff;border-radius:16px;background:#03101e;box-shadow:0 28px 90px #000}
.vtgvg-image-lightbox-dialog img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:8px;background:#000}
.vtgvg-image-lightbox-x{position:absolute;right:12px;top:10px;width:34px;height:34px;border:1px solid #8c6500;border-radius:7px;background:#f3bd28;color:#071427;font:900 22px/1 Arial;cursor:pointer}
.vtgvg-image-lightbox-close{min-width:150px;background:linear-gradient(180deg,#ffd84c,#e8aa00)!important;color:#13223a!important}
html.vtgvg-image-lightbox-open{overflow:hidden}
@media(max-width:900px){.vtgvg-dashboard-image-gallery{grid-template-columns:1fr}.vtgvg-dashboard-image-button img{height:auto}.vtgvg-image-lightbox{padding:8px}.vtgvg-image-lightbox-dialog{max-height:98vh}}

#vtgvg-license-plate{min-width:230px}.vtgvg-racing-setup label:has(#vtgvg-license-plate){min-width:250px}

/* Version 10.8.7: fast responsive 4K dashboard preview. */
.vtgvg-dashboard-4k-preview{position:relative;margin:22px 0 24px;border:2px solid #10b8ff;border-radius:20px;overflow:hidden;background:#02070e;box-shadow:0 18px 46px rgba(0,20,48,.28);contain:layout paint}
.vtgvg-dashboard-4k-preview picture,.vtgvg-dashboard-4k-preview img{display:block;width:100%;height:auto;aspect-ratio:3/2}
.vtgvg-dashboard-4k-preview img{object-fit:cover;object-position:center;background:#02070e;image-rendering:auto}
.vtgvg-dashboard-4k-badge{position:absolute;z-index:2;top:12px;left:12px;padding:8px 12px;border:1px solid #ffd33d;border-radius:999px;background:rgba(2,10,23,.9);color:#ffd33d;font:900 12px/1.1 system-ui,sans-serif;letter-spacing:.1em;backdrop-filter:blur(6px)}
.vtgvg-dashboard-4k-copy{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 17px;background:linear-gradient(90deg,#061b35,#104f92);color:#fff}
.vtgvg-dashboard-4k-copy strong{color:#ffd33d;font-size:15px}.vtgvg-dashboard-4k-copy span{font-size:13px;line-height:1.35;text-align:right}
@media(max-width:700px){.vtgvg-dashboard-4k-badge{top:7px;left:7px;font-size:9px;padding:6px 8px}.vtgvg-dashboard-4k-copy{display:block}.vtgvg-dashboard-4k-copy span{display:block;margin-top:5px;text-align:left}}

/* Version 10.8.8: 4K startup poster inside the actual game stage. */
.vtgvg-game-stage-poster{position:absolute;inset:0;z-index:7;display:grid;place-items:center;background:#02070e;overflow:hidden;transition:opacity .22s ease,visibility .22s ease}
.vtgvg-game-stage-poster.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.vtgvg-game-stage-poster picture,.vtgvg-game-stage-poster img{display:block;width:100%;height:100%}
.vtgvg-game-stage-poster img{object-fit:cover;object-position:center;image-rendering:auto;transform:translateZ(0);backface-visibility:hidden}
.vtgvg-game-stage-poster-label{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:8px 14px;border:1px solid #18c8ff;border-radius:999px;background:rgba(0,8,18,.84);color:#fff;font-weight:900;letter-spacing:.08em;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.45)}
@media(max-width:700px){.vtgvg-game-stage-poster-label{font-size:10px;bottom:8px;padding:6px 9px}}

/* Version 10.9.1 fast launch feedback */
#vtgvg-start-race.is-ready{box-shadow:0 0 0 2px rgba(255,255,255,.35),0 0 22px rgba(255,193,7,.45)}
.vtgvg-game-stage.is-launching{outline:3px solid #18c8ff;outline-offset:3px;transition:outline-color .45s ease}
.vtgvg-game-stage canvas{content-visibility:auto;contain-intrinsic-size:960px 540px}


/* Version 10.9.2 instant Play feedback and stable stage launch */
[data-vtgvg-start].is-launching,
[data-vtgvg-start][aria-busy="true"] { cursor: progress; opacity: .88; }
.vtgvg-game-stage.is-launching { contain: layout paint; content-visibility: visible; }
.vtgvg-game-stage canvas { transform: translateZ(0); backface-visibility: hidden; }

/* Version 10.9.3 additive Play Music launcher under Play Mode */
.vtgvg-play-mode-group{display:flex;flex-direction:column;gap:8px;min-width:0}.vtgvg-play-mode-group label{display:block}.vtgvg-play-mode-group .vtgvg-play-music-button{width:100%;min-height:44px;background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff!important;box-shadow:0 4px 0 #4c1d95}.vtgvg-play-mode-group small{font-size:11px;line-height:1.35;color:#41546d;font-weight:600}.vtgvg-play-music-button:focus-visible{outline:3px solid #f2bd12;outline-offset:2px}

/* Version 10.9.9: non-blocking external Apple Music launcher status. */
.vtgvg-apple-music-launch-status{display:block;margin-top:7px;max-width:220px;font-size:11px;line-height:1.35;color:#185b2a;font-weight:700}
.vtgvg-apple-music-launch-status.is-error{color:#a21616}


/* Version 10.10.9 controller and movement diagnostic panel. */
.vtgvg-motion-diagnostics{position:relative;z-index:45;margin:12px 0;border:2px solid #1d4ed8;border-radius:12px;background:#071226;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.28);overflow:hidden}
.vtgvg-motion-diagnostics-toggle{width:100%;padding:11px 14px;border:0;background:#0b5ed7;color:#fff;font-weight:900;font-size:15px;cursor:pointer;text-align:left}
.vtgvg-motion-diagnostics-body{padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 12px}
.vtgvg-motion-diagnostics-body[hidden]{display:none}
.vtgvg-motion-diagnostics-body strong,.vtgvg-motion-diagnostics-body small{grid-column:1/-1}
.vtgvg-motion-diagnostics-body span{background:#111827;border:1px solid #334155;border-radius:8px;padding:8px}
.vtgvg-motion-diagnostics-body b{color:#fde047}

/* Version 10.10.17: cleaner, evenly spaced racing-dashboard controls. */
.vtgvg-racing-setup{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  column-gap:18px!important;
  row-gap:18px!important;
  align-items:stretch!important;
  padding:22px!important;
  border-radius:16px!important;
}
.vtgvg-racing-setup>label,
.vtgvg-racing-setup>.vtgvg-play-mode-group,
.vtgvg-racing-setup>.vtgvg-screenshot-controls{
  grid-column:span 2;
  min-width:0!important;
  margin:0!important;
}
.vtgvg-racing-setup>.vtgvg-real-map-planner{
  grid-column:1/-1;
  min-width:0;
}
.vtgvg-racing-setup>label,
.vtgvg-play-mode-group>label{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  min-height:82px;
  padding:12px!important;
  border:1px solid #cad9e8;
  border-radius:12px;
  background:#f8fbff;
  color:#17365d;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.25!important;
  overflow:visible!important;
}
.vtgvg-racing-setup select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:8px 34px 8px 11px!important;
  border:2px solid #9db4cc!important;
  border-radius:9px!important;
  background-color:#fff!important;
  color:#14243a!important;
  font-size:14px!important;
  line-height:1.25!important;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(20,36,58,.06);
}
.vtgvg-racing-setup select:focus{
  border-color:#0f78d1!important;
  outline:3px solid rgba(15,120,209,.18)!important;
  outline-offset:1px;
}
.vtgvg-play-mode-group{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.vtgvg-play-mode-group>label{min-height:auto}
.vtgvg-play-mode-group .vtgvg-play-music-button{margin:0!important}
.vtgvg-play-mode-group small{display:block;max-width:none!important;margin:0!important;padding:0 2px}
.vtgvg-screenshot-controls{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-content:start!important;
  padding:12px!important;
  border:1px solid #cad9e8;
  border-radius:12px;
  background:#f8fbff;
}
.vtgvg-screenshot-controls button{width:100%!important;min-height:46px!important;margin:0!important}
.vtgvg-screenshot-controls small{margin:0!important;font-size:11px!important;line-height:1.4!important;color:#42556d}
.vtgvg-racing-setup>.vtgvg-button{
  grid-column:span 2;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 12px!important;
  white-space:normal!important;
  line-height:1.2!important;
}
#vtgvg-license-plate,
.vtgvg-racing-setup label:has(#vtgvg-license-plate),
.vtgvg-racing-controls select#vtgvg-quality-mode{
  min-width:0!important;
  width:100%!important;
}
@media(max-width:1180px){
  .vtgvg-racing-setup{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .vtgvg-racing-setup>label,
  .vtgvg-racing-setup>.vtgvg-play-mode-group,
  .vtgvg-racing-setup>.vtgvg-screenshot-controls,
  .vtgvg-racing-setup>.vtgvg-button{grid-column:span 2}
}
@media(max-width:820px){
  .vtgvg-racing-setup{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:16px!important;gap:14px!important}
  .vtgvg-racing-setup>label,
  .vtgvg-racing-setup>.vtgvg-play-mode-group,
  .vtgvg-racing-setup>.vtgvg-screenshot-controls,
  .vtgvg-racing-setup>.vtgvg-button{grid-column:span 1}
  .vtgvg-racing-setup>.vtgvg-real-map-planner{grid-column:1/-1}
}
@media(max-width:560px){
  .vtgvg-racing-setup{grid-template-columns:1fr!important;padding:14px!important}
  .vtgvg-racing-setup>*{grid-column:1/-1!important}
}

/* Version 10.10.34: readable dropdown labels + less clutter on the play dashboard. */
.vtgvg-racing-setup{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
}
.vtgvg-racing-setup>label,
.vtgvg-play-mode-group>label{
  min-width:220px!important;
  overflow:visible!important;
}
.vtgvg-racing-setup select,
.vtgvg-racing-setup input[type="text"],
#vtgvg-map-start,
#vtgvg-map-destination,
#vtgvg-history-mode,
#vtgvg-self-drive-mode{
  text-overflow:clip!important;
  overflow:visible!important;
  white-space:normal!important;
  height:auto!important;
  min-height:48px!important;
  line-height:1.35!important;
  font-size:15px!important;
  font-weight:700!important;
}
.vtgvg-racing-setup select option{
  white-space:normal;
  font-size:14px;
}
.vtgvg-real-map-planner label,
.vtgvg-navigator-panel label{
  font-size:15px!important;
  font-weight:800!important;
}
.vtgvg-pro-modal[hidden],
.vtgvg-pro-modal:not(.is-open){
  display:none!important;
  pointer-events:none!important;
}
body.vtgvg-modal-open .vtgvg-game-stage{
  filter:none;
}
.vtgvg-route-hud{
  max-width:min(280px,42vw);
  font-size:13px;
  line-height:1.35;
}
.vtgvg-route-hud [data-route-provider]{
  opacity:.85;
}
.vtgvg-play-guides-head h2,
.vtgvg-player-heading h1,
.vtgvg-dashboard h1,
.vtgvg-dashboard h2{
  font-family:Georgia,"Times New Roman",serif;
}
#vtgvg-build-real-route{
  background:#f2bd12!important;
  color:#10213a!important;
  border:2px solid transparent!important;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
#vtgvg-build-real-route:hover,
#vtgvg-build-real-route:focus-visible{
  background:#59bdf2!important;
  color:#fff!important;
  border-color:#1b78b5!important;
  box-shadow:0 4px 0 #176394,0 0 0 3px rgba(89,189,242,.28)!important;
  filter:none!important;
}
#vtgvg-build-real-route:active{
  background:#359ed8!important;
  color:#fff!important;
  transform:translateY(2px)!important;
  box-shadow:0 2px 0 #176394!important;
}

.vtgvg-dashboard-live-shell{margin:18px 0 22px;padding:0;background:transparent;border:0;box-shadow:none;max-width:none}
.vtgvg-dashboard-live-shell .vtgvg-play-guides{margin-top:0}
.vtgvg-play-guides{margin:18px 0 22px;padding:18px;background:linear-gradient(135deg,#05080e,#0d2340);border:1px solid #294a71;border-radius:18px;color:#fff;box-shadow:0 18px 42px rgba(3,15,32,.24)}
.vtgvg-play-guides-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.vtgvg-play-guides-head h2{color:#fff;font-size:clamp(24px,3.5vw,40px);line-height:1.08;margin:6px 0 10px}
.vtgvg-play-guides-head p{margin:0;max-width:760px;line-height:1.5;color:#d7e6f7}
.vtgvg-guide-action-status{min-width:220px;max-width:320px;padding:10px 12px;border-radius:10px;background:rgba(15,95,189,.22);border:1px solid #3d6ea3;color:#fff;font-size:14px}
.vtgvg-play-guide-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.vtgvg-play-guide-tab{appearance:none;border:1px solid #3d6ea3;background:#0c2038;color:#fff;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:700;cursor:pointer}
.vtgvg-play-guide-tab.is-active,.vtgvg-play-guide-tab[aria-selected="true"]{background:#f2bd12;color:#10213a;border-color:#f2bd12}
.vtgvg-hotspot-stage{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#050505;border:1px solid #294a71}
.vtgvg-hotspot-stage img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.vtgvg-live-hotspot-stage{border-width:2px;border-color:#3d6ea3;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.vtgvg-hotspot{position:absolute;z-index:2;border:2px solid transparent;border-radius:8px;background:transparent;color:transparent;font-size:0;cursor:pointer;padding:0;transition:background .15s,box-shadow .15s,border-color .15s}
.vtgvg-live-app .vtgvg-hotspot{animation:vtgvg-hotspot-pulse 2.8s ease-in-out infinite}
.vtgvg-hotspot:hover,.vtgvg-hotspot:focus-visible{background:rgba(242,189,18,.28);box-shadow:0 0 0 3px rgba(242,189,18,.35);border-color:#fff;outline:none;animation:none}
.vtgvg-hotspot-accent{border-color:rgba(192,132,252,.45);background:rgba(124,58,237,.12)}
.vtgvg-hotspot-accent:hover,.vtgvg-hotspot-accent:focus-visible{background:rgba(192,132,252,.35);box-shadow:0 0 0 3px rgba(192,132,252,.35)}
.vtgvg-hotspot-arrow{border-color:rgba(242,189,18,.55);background:rgba(242,189,18,.12);border-radius:999px}
.vtgvg-hotspot-arrow:hover,.vtgvg-hotspot-arrow:focus-visible{background:rgba(242,189,18,.4)}
@keyframes vtgvg-hotspot-pulse{0%,100%{box-shadow:0 0 0 0 rgba(242,189,18,0)}50%{box-shadow:0 0 0 2px rgba(242,189,18,.18)}}
.vtgvg-hotspot-legend{margin-top:10px;font-size:13px;color:#b8cce0}
.vtgvg-dual-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.vtgvg-live-app-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.vtgvg-live-primary-card{min-width:0}
.vtgvg-dual-guide-card h3{margin:0 0 10px;color:#fff;font-size:20px;font-weight:800}
.vtgvg-live-app-companions{margin-top:16px;padding:14px;border-radius:14px;background:rgba(7,24,44,.92);border:1px solid #21486f}
.vtgvg-live-companion-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.vtgvg-live-car-label{display:block;margin:0 0 10px;color:#d7e6f7;font-weight:700}
.vtgvg-live-car-label select{display:block;width:100%;max-width:420px;margin-top:6px;padding:10px 12px;border-radius:10px;border:1px solid #3d6ea3;background:#0c2038;color:#fff}
.vtgvg-live-car-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:8px}
.vtgvg-live-car-gallery .vtgvg-car-choice{appearance:none;border:2px solid #2d4f72;border-radius:12px;background:#0c2038;color:#fff;padding:8px;cursor:pointer;text-align:center}
.vtgvg-live-car-gallery .vtgvg-car-choice img{display:block;width:100%;height:64px;object-fit:contain;margin-bottom:6px}
.vtgvg-live-car-gallery .vtgvg-car-choice span{display:block;font-size:12px;font-weight:700;line-height:1.25}
.vtgvg-live-car-gallery .vtgvg-car-choice.is-selected{border-color:#f2bd12;box-shadow:0 0 0 3px rgba(242,189,18,.22)}
.vtgvg-live-car-status{margin:10px 0 0;color:#ffd95e;font-weight:700}
.vtgvg-live-shortcode-hint{margin:12px 0 0;color:#b8cce0;font-size:13px}
.vtgvg-live-shortcode-hint code{color:#fff;background:rgba(15,95,189,.28);padding:2px 6px;border-radius:6px}
.vtgvg-controller-choice{margin:0 0 14px;padding:14px;border-radius:14px;background:rgba(7,24,44,.9);border:1px solid #21486f}
.vtgvg-controller-choice h3{margin:0 0 6px;color:#fff;font-size:24px}
.vtgvg-controller-choice>p{margin:0 0 12px;color:#c8d8e9}
.vtgvg-controller-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vtgvg-controller-choice-card{appearance:none;text-align:left;border:2px solid #2d4f72;border-radius:14px;background:#0c2038;color:#fff;padding:16px;cursor:pointer}
.vtgvg-controller-choice-card strong{display:block;font-size:18px;margin-bottom:6px}
.vtgvg-controller-choice-card small{display:block;color:#b8cce0;line-height:1.4}
.vtgvg-controller-choice-card.is-selected{border-color:#f2bd12;box-shadow:0 0 0 3px rgba(242,189,18,.22);background:#132b49}
.vtgvg-input-panels .vtgvg-hotspot-stage{margin-top:12px}
@media(max-width:850px){
  .vtgvg-controller-choice-grid{grid-template-columns:1fr}
  .vtgvg-dual-guide-grid,.vtgvg-live-app-grid{grid-template-columns:1fr}
  .vtgvg-play-guides-head{flex-direction:column}
  .vtgvg-guide-action-status{max-width:none}
  .vtgvg-live-companion-actions{flex-direction:column}
}
/* Version 10.10.41: five-image dashboard guide gallery. */
.vtgvg-dashboard-image-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vtgvg-dashboard-image-gallery .vtgvg-dashboard-image-button:last-child{grid-column:1/-1;max-width:900px;width:100%;justify-self:center}
.vtgvg-dashboard-image-button img{height:auto;aspect-ratio:16/10;object-fit:cover}
.vtgvg-dashboard-image-button:last-child img{aspect-ratio:16/9}
@media(max-width:900px){.vtgvg-dashboard-image-gallery{grid-template-columns:1fr}.vtgvg-dashboard-image-gallery .vtgvg-dashboard-image-button:last-child{grid-column:auto}}

/* Version 10.10.42: remove yellow hotspot/highlighter overlays from dashboard artwork.
 * Hotspots remain clickable and keyboard accessible, but no colored layer covers text.
 */
.vtgvg-hotspot,
.vtgvg-hotspot-accent,
.vtgvg-hotspot-arrow,
.vtgvg-live-app .vtgvg-hotspot {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  animation: none !important;
  opacity: 1 !important;
}
.vtgvg-hotspot:hover,
.vtgvg-hotspot:focus,
.vtgvg-hotspot:focus-visible,
.vtgvg-hotspot-accent:hover,
.vtgvg-hotspot-accent:focus-visible,
.vtgvg-hotspot-arrow:hover,
.vtgvg-hotspot-arrow:focus-visible {
  background: transparent !important;
  border-color: rgba(41,182,255,.9) !important;
  box-shadow: 0 0 0 2px rgba(41,182,255,.32) !important;
  outline: 0 !important;
  animation: none !important;
}
.vtgvg-hotspot:active {
  background: rgba(41,182,255,.08) !important;
}
/* Keep the full dashboard artwork readable and prevent theme overlays. */
.vtgvg-hotspot-stage::before,
.vtgvg-hotspot-stage::after,
.vtgvg-live-hotspot-stage::before,
.vtgvg-live-hotspot-stage::after {
  content: none !important;
  display: none !important;
}
.vtgvg-hotspot-stage img,
.vtgvg-live-hotspot-stage img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Version 10.11.1: gameplay stability and no-bounce layout */
.vtgvg-player-shell,.vtgvg-game-stage,.vtgvg-dashboard-gallery{overflow-anchor:none}
.vtgvg-game-stage{min-height:clamp(320px,56.25vw,675px);scroll-margin-top:120px}
#vtgvg-racing-canvas{background:#020812;transform:translateZ(0);will-change:contents}
.vtgvg-game-stage img{max-width:100%;height:auto}

/* 10.11.2 duplicate-layer and stable-stage protection */
.vtgvg-game-stage{isolation:isolate;contain:layout paint;min-height:clamp(320px,56.25vw,700px);overflow-anchor:none}
.vtgvg-game-stage>.vtgvg-moving-clouds~.vtgvg-moving-clouds,
.vtgvg-game-stage>.vtgvg-moving-scenery~.vtgvg-moving-scenery{display:none!important}
.vtgvg-game-stage canvas{backface-visibility:hidden;transform:translateZ(0)}


/* 10.11.4 global top dashboard image — visible above every plugin public view. */
.vtgvg-global-game-banner{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:0;margin:0 0 24px;border:1px solid rgba(56,189,248,.38);border-radius:22px;overflow:hidden;background:#07111f;color:#f8fafc;box-shadow:0 18px 50px rgba(2,6,23,.28);scroll-margin-top:24px;contain:layout paint style}
.vtgvg-global-game-banner-media{position:relative;min-height:330px;overflow:hidden;background:#020617}
.vtgvg-global-game-banner-media img{display:block;width:100%;height:100%;min-height:330px;object-fit:cover;object-position:center;transform:scale(1.015);animation:vtgvgHeroDrive 16s ease-in-out infinite alternate;will-change:transform;filter:saturate(1.04) contrast(1.03)}
.vtgvg-global-game-banner-motion{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 0 54%,rgba(255,255,255,.06) 61%,transparent 69%),linear-gradient(180deg,transparent 60%,rgba(2,6,23,.44));background-size:220% 100%,100% 100%;animation:vtgvgHeroLight 7s linear infinite;mix-blend-mode:screen}
.vtgvg-global-game-banner-copy{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:28px;background:linear-gradient(145deg,#0f172a,#06111f)}
.vtgvg-global-game-banner-copy h2{margin:0;color:#fff;font-size:clamp(1.55rem,2.5vw,2.6rem);line-height:1.08}
.vtgvg-global-game-banner-copy p{margin:0;color:#dbeafe;font-size:1rem;line-height:1.6}
.vtgvg-global-game-banner-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:5px}
.vtgvg-global-game-banner-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border-radius:10px;text-decoration:none;white-space:normal;text-align:center}
.vtgvg-global-game-banner-urls{margin-top:8px;padding:10px 12px;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:rgba(15,23,42,.68)}
.vtgvg-global-game-banner-urls summary{cursor:pointer;font-weight:700;color:#bae6fd}
.vtgvg-global-game-banner-urls ul{margin:10px 0 0 20px;color:#e2e8f0}
.vtgvg-global-game-banner-urls code{white-space:normal;overflow-wrap:anywhere;color:#f8fafc;background:#111827}
@keyframes vtgvgHeroDrive{0%{transform:scale(1.015) translate3d(-.5%,0,0)}100%{transform:scale(1.075) translate3d(.7%,-.8%,0)}}
@keyframes vtgvgHeroLight{from{background-position:220% 0,0 0}to{background-position:-120% 0,0 0}}
@media(max-width:900px){.vtgvg-global-game-banner{grid-template-columns:1fr}.vtgvg-global-game-banner-media,.vtgvg-global-game-banner-media img{min-height:220px}.vtgvg-global-game-banner-copy{padding:20px}}
@media(prefers-reduced-motion:reduce){.vtgvg-global-game-banner-media img,.vtgvg-global-game-banner-motion{animation:none!important}}

/* 10.11.5 single-render and stable-media repair */
.vtgvg-global-game-banner-media{aspect-ratio:3/2;min-height:0!important}
.vtgvg-global-game-banner-media picture{display:block;width:100%;height:100%}
.vtgvg-global-game-banner-media img{width:100%;height:100%;min-height:0!important;object-fit:cover;transform:none!important;animation:none!important;will-change:auto!important;filter:none!important}
.vtgvg-global-game-banner-motion{display:none!important}
[data-vtgvg-duplicate-disabled="1"]{display:none!important}
.vtgvg-lazy-section{content-visibility:auto;contain-intrinsic-size:800px}
.vtgvg-runtime-diagnostic{margin:12px 0;padding:12px 14px;border:1px solid #f59e0b;border-radius:10px;background:#fff7ed;color:#7c2d12;font:600 14px/1.45 system-ui,sans-serif}
.vtgvg-runtime-diagnostic.is-ok{border-color:#22c55e;background:#f0fdf4;color:#14532d}

/* 10.11.6 boot recovery and duplicate-render protection */
.vtgvg-boot-diagnostic {
  box-sizing: border-box;
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px solid #b42318;
  border-radius: 8px;
  background: #fff4f2;
  color: #7a271a;
  font-weight: 700;
  line-height: 1.4;
}
.vtgvg-boot-diagnostic.is-ok {
  border-color: #067647;
  background: #ecfdf3;
  color: #05603a;
}
[data-vtgvg-duplicate-root-disabled="1"] { display: none !important; }
.vtgvg-game-stage { overflow-anchor: none; }

/* 10.11.7 live engine boot explanation */
.vtgvg-engine-explanation{margin:0 0 16px;padding:14px 16px;border:1px solid #93c5fd;border-left:5px solid #0f5fbd;border-radius:10px;background:#eff6ff;color:#10213a;line-height:1.55}.vtgvg-engine-explanation strong{color:#0b3f7a}.vtgvg-boot-diagnostic{margin:0 0 14px;padding:12px 14px;border-radius:9px;border:1px solid #f59e0b;background:#fffbeb;color:#7c2d12;font-weight:700}.vtgvg-boot-diagnostic.is-ok{border-color:#16a34a;background:#f0fdf4;color:#14532d}

/* 10.11.8 feature-page and live-image controls */
.vtgvg-feature-page{max-width:1180px;margin:24px auto;padding:24px;background:#07182d;color:#fff;border-radius:14px;box-sizing:border-box}.vtgvg-feature-page h1{color:#fff;margin-top:0}.vtgvg-feature-page .button{display:inline-block;background:#f2bd22;color:#07182d;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:700}.vtgvg-hotspot-stage{aspect-ratio:3/2;position:relative;overflow:hidden}.vtgvg-hotspot-stage>img{width:100%;height:100%;object-fit:contain;display:block}.vtgvg-hotspot{background:transparent!important;box-shadow:none!important;color:transparent!important}.vtgvg-hotspot:hover,.vtgvg-hotspot:focus-visible{outline:2px solid #21a8ff!important;outline-offset:-2px;background:rgba(33,168,255,.08)!important}
