/* AUTO HACK vehicle workspace: model viewer, callouts, interior views and motion. */
/* Interactive 3D inspection map. The SVG map remains the no-WebGL fallback. */
 .ah-region-map {
  isolation:isolate
}
.ah-car-model,.ah-region-svg {
  grid-area:1/1
}
.ah-car-model {
  display:block;
  width:100%;
  height:355px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 72%,#172238 0,#05070a 43%,#000 72%);
  transition:opacity 400ms cubic-bezier(0,0,.2,1)
}
 .ah-region-map.is-3d-ready .ah-car-model {
  opacity:1;
  visibility:visible;
  pointer-events:auto
}
.ah-region-map.is-3d-ready .ah-region-svg {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  position:absolute
}
.ah-region-map.is-3d-failed .ah-car-model,.ah-region-map.is-3d-failed .ah-orbit-hint {
  display:none
}
 .ah-3d-loading {
  width:100%;
  height:100%;
  display:grid;
  place-content:center;
  gap:8px;
  text-align:center;
  background:#030405;
  color:#9aa8bd;
  font:11px ui-monospace,monospace;
  letter-spacing:1.2px
}
.ah-3d-loading small {
  color:#66758c;
  font-size:9px
}
 .ah-3d-hotspot {
  appearance:none;
  position:relative;
  min-width:82px;
  padding:7px 9px 6px;
  border:1px solid #526986;
  border-left:2px solid #197dff;
  border-radius:0;
  background:rgba(4,10,20,.84);
  box-shadow:0 5px 18px #0009;
  color:#d9e7fb;
  text-align:left;
  font:9px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.35px;
  white-space:nowrap;
  cursor:pointer;
  transform:translate(-50%,-50%);
  transition:background 120ms cubic-bezier(0,0,.38,.9),border-color 120ms cubic-bezier(0,0,.38,.9),box-shadow 250ms cubic-bezier(.25,.1,.25,1)
}
 .ah-3d-hotspot:before {
  content:'';
  position:absolute;
  left:-7px;
  top:50%;
  width:7px;
  height:1px;
  background:#6d8fbd
}
.ah-3d-hotspot:after {
  content:'';
  position:absolute;
  left:-10px;
  top:calc(50% - 3px);
  width:6px;
  height:6px;
  border:1px solid #96bfff;
  background:#101b2d;
  box-shadow:0 0 0 2px #07101d
}
.ah-3d-hotspot span,.ah-3d-hotspot small {
  display:block
}
.ah-3d-hotspot small {
  margin-top:4px;
  color:#8396b1;
  font-size:8px;
  letter-spacing:0
}
.ah-3d-hotspot[aria-pressed=true] {
  border-color:#83aff4;
  background:rgba(9,30,70,.94);
  box-shadow:0 0 0 1px #197dff55,0 0 20px #197dff44
}
.ah-3d-hotspot[aria-pressed=true]:after {
  background:#2f8dff;
  box-shadow:0 0 8px #197dff
}
.ah-3d-hotspot:hover,.ah-3d-hotspot:focus-visible {
  border-color:#bcd5ff;
  background:#10254b;
  color:#fff;
  outline:none
}
 .ah-3d-hotspot[data-region=vector] {
  transform:translate(-50%,-235%)
}
.ah-3d-hotspot[data-region=jeep-ivi] {
  transform:translate(-185%,-160%)
}
.ah-3d-hotspot[data-region=ev6] {
  transform:translate(55%,-155%)
}
.ah-3d-hotspot[data-region=can] {
  transform:translate(-180%,0)
}
.ah-3d-hotspot[data-region=ids] {
  transform:translate(55%,5%)
}
.ah-3d-hotspot[data-region=evse] {
  transform:translate(45%,75%)
}
 .ah-orbit-hint {
  display:none;
  grid-area:1/1;
  align-self:end;
  justify-self:center;
  z-index:3;
  margin-bottom:13px;
  padding:5px 9px;
  background:#02050a99;
  border:1px solid #29384f;
  color:#8090aa;
  font:8px ui-monospace,monospace;
  letter-spacing:1px;
  pointer-events:none
}
.ah-orbit-hint span {
  color:#7eb8ff;
  font-size:12px;
  margin-right:5px
}
.ah-region-map.is-3d-ready .ah-orbit-hint {
  display:block
}
 @media(min-width:1650px) {
  .ah-car-model {
    height:400px
  }
  
}
@media(max-width:1050px) {
  .ah-car-model {
    height:300px
  }
  
}
@media(max-width:767px) {
  .ah-car-model {
    height:310px
  }
  .ah-3d-hotspot {
    min-width:66px;
    padding:5px 6px;
    font-size:8px
  }
  .ah-3d-hotspot small {
    font-size:7px
  }
  .ah-3d-hotspot[data-region=vector] {
    transform:translate(-50%,-205%)
  }
  .ah-3d-hotspot[data-region=jeep-ivi] {
    transform:translate(-95%,-145%)
  }
  .ah-3d-hotspot[data-region=ev6] {
    transform:translate(12%,-145%)
  }
  .ah-3d-hotspot[data-region=can] {
    transform:translate(-100%,0)
  }
  .ah-3d-hotspot[data-region=ids] {
    transform:translate(15%,5%)
  }
  .ah-3d-hotspot[data-region=evse] {
    transform:translate(12%,70%)
  }
  .ah-orbit-hint {
    margin-bottom:8px
  }
  
}
 @media(prefers-reduced-motion:reduce) {
  .ah-car-model,.ah-3d-hotspot {
    transition:none
  }
  
}
 /* IVI focus mode: the exterior inspection camera resolves into a cockpit display. */
 .ah-interior-view {
  grid-area:1/1;
  align-self:stretch;
  position:relative;
  z-index:5;
  display:grid;
  grid-template-rows:auto 1fr;
  width:100%;
  height:355px;
  padding:14px 18px 16px;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% -5%,#26364f 0,#080b11 44%,#010203 78%);
  border-top:1px solid #4a5870;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(.96);
  transition:opacity 250ms cubic-bezier(0,0,.2,1),transform 400ms cubic-bezier(0,0,.2,1)
}
 .ah-region-map.is-interior .ah-car-model {
  opacity:0;
  transform:scale(1.1);
  pointer-events:none
}
.ah-region-map.is-interior .ah-orbit-hint {
  display:none
}
.ah-region-map.is-interior .ah-interior-view {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none
}
 .ah-cockpit-header {
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:9px;
  border-bottom:1px solid #39465a
}
.ah-cockpit-header span,.ah-cockpit-header small {
  display:block
}
.ah-cockpit-header span {
  color:#e2ebf9;
  font:10px ui-monospace,monospace;
  letter-spacing:1px
}
.ah-cockpit-header small {
  margin-top:3px;
  color:#7892b8;
  font:8px ui-monospace,monospace;
  letter-spacing:.7px
}
.ah-cockpit-header button {
  padding:5px 8px;
  border:1px solid #465c7c;
  background:#07101e;
  color:#91b7ee;
  font:9px "Apple SD Gothic Neo",sans-serif;
  cursor:pointer
}
.ah-cockpit-header button:hover,.ah-cockpit-header button:focus-visible {
  border-color:#8ab4f5;
  color:#fff;
  outline:none
}
 @keyframes ah-route-flow {
  to {
    stroke-dashoffset:-24
  }
  
}
 @media(prefers-reduced-motion:reduce) {
  .ah-interior-view {
    transition:none
  }
  
}
 /* 3D inspection: fixed track rails stay legible while their wires follow the model. */
 .ah-region-map {
  position:relative;
  overflow:hidden
}
 .ah-3d-wires,.ah-3d-callouts {
  position:absolute;
  inset:12px 12px 3px;
  z-index:2;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 220ms ease
}
 .ah-region-map.is-3d-ready .ah-3d-wires,.ah-region-map.is-3d-ready .ah-3d-callouts {
  opacity:1;
  visibility:visible
}
 .ah-3d-wires {
  inset:0;
  width:100%;
  height:100%;
  overflow:visible
}
 .ah-3d-wires path {
  fill:none;
  stroke:#55708f;
  stroke-width:1;
  stroke-dasharray:none;
  vector-effect:non-scaling-stroke;
  opacity:.58;
  transition:stroke 150ms ease,opacity 150ms ease,filter 150ms ease
}
 .ah-3d-wires path[data-active=true] {
  stroke:#2f7dff;
  stroke-width:1.5;
  opacity:1;
  filter:drop-shadow(0 0 4px #1c8fff)
}
 .ah-3d-callout {
  appearance:none;
  position:absolute;
  width:142px;
  min-height:52px;
  padding:10px 11px 9px;
  border:1px solid #3b4b61;
  border-radius:6px;
  background:linear-gradient(145deg,rgba(29,37,49,.94),rgba(7,11,17,.91));
  box-shadow:inset 0 1px rgba(235,243,255,.13),0 9px 24px rgba(0,0,0,.3);
  color:#e3ebf7;
  text-align:left;
  cursor:pointer;
  pointer-events:auto;
  transition:border-color 150ms ease,background 150ms ease,transform 150ms ease,box-shadow 150ms ease
}
 .ah-3d-callout:after {
  content:'';
  position:absolute;
  top:-1px;
  width:30px;
  height:1px;
  background:linear-gradient(90deg,transparent,#b9c6d8,transparent);
  opacity:.55
}
 .ah-3d-callout.is-left {
  left:8px
}
.ah-3d-callout.is-right {
  right:8px
}
.ah-3d-callout.is-left:after {
  right:8px
}
.ah-3d-callout.is-right:after {
  left:8px
}
 .ah-3d-callout.is-jeep,.ah-3d-callout.is-ev6 {
  top:27px
}
.ah-3d-callout.is-vector,.ah-3d-callout.is-ids {
  top:132px
}
.ah-3d-callout.is-can,.ah-3d-callout.is-evse {
  top:237px
}
 .ah-3d-callout span,.ah-3d-callout small,.ah-3d-callout b {
  display:block
}
.ah-3d-callout span {
  font:600 11px "Apple SD Gothic Neo",sans-serif;
  letter-spacing:.1px
}
.ah-3d-callout small {
  margin-top:3px;
  color:#8495aa;
  font:8px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.15px
}
.ah-3d-callout b {
  margin-top:7px;
  color:#9ba9bc;
  font:500 8px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.2px
}
 .ah-3d-callout[aria-pressed=true] {
  border-color:#397eea;
  background:linear-gradient(145deg,rgba(26,50,88,.96),rgba(6,15,31,.94));
  box-shadow:inset 0 1px rgba(213,231,255,.22),0 0 0 1px rgba(28,105,255,.13),0 10px 28px rgba(0,36,104,.35)
}
 .ah-3d-callout[aria-pressed=true] b {
  color:#78aaff
}
.ah-3d-callout:hover,.ah-3d-callout:focus-visible {
  border-color:#7daeff;
  transform:translateY(-1px);
  outline:none
}
 .ah-3d-hotspot,.ah-3d-hotspot[data-region] {
  width:11px;
  min-width:11px;
  height:11px;
  padding:0;
  border:1px solid #b9d4ff;
  border-radius:50%;
  background:#15263f;
  box-shadow:0 0 0 3px rgba(4,10,19,.72),0 0 7px rgba(84,138,225,.7);
  transform:translate(-50%,-50%);
  cursor:pointer
}
 .ah-3d-hotspot:before {
  display:none
}
.ah-3d-hotspot:after {
  content:'';
  position:absolute;
  inset:3px;
  width:auto;
  height:auto;
  border:0;
  border-radius:50%;
  background:#7daeff;
  box-shadow:none
}
 .ah-3d-hotspot span,.ah-3d-hotspot small {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important
}
 .ah-3d-hotspot[aria-pressed=true] {
  border-color:#dbeaff;
  background:#127dff;
  box-shadow:0 0 0 3px rgba(2,10,23,.78),0 0 12px #1c8fff
}
.ah-3d-hotspot[aria-pressed=true]:after {
  background:#fff;
  box-shadow:0 0 5px #fff
}
 .ah-region-map.is-interior .ah-3d-wires,.ah-region-map.is-interior .ah-3d-callouts {
  opacity:0;
  visibility:hidden
}
 /* IVI focus mode uses a real cockpit surface; UI is reduced to a live security readout. */
 .ah-interior-view {
  display:block;
  padding:0;
  background:linear-gradient(90deg,rgba(0,0,0,.25),transparent 30%,transparent 70%,rgba(0,0,0,.3)),url("ivi-cockpit.png") center center/cover no-repeat;
  border-top:1px solid #687384
}
 .ah-interior-view:after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.6),transparent 25%,transparent 72%,rgba(0,0,0,.3));
  box-shadow:inset 0 0 55px rgba(0,0,0,.48)
}
 .ah-cockpit-header {
  position:absolute;
  z-index:2;
  inset:0 0 auto;
  padding:12px 15px;
  border:0;
  background:linear-gradient(180deg,rgba(2,5,9,.9),rgba(2,5,9,.4),transparent)
}
 .ah-cockpit-header span {
  font-size:10px
}
.ah-cockpit-header small {
  color:#8ca4c5
}
.ah-cockpit-header button {
  border-color:#546276;
  border-radius:4px;
  background:linear-gradient(145deg,rgba(45,54,66,.88),rgba(10,14,20,.88));
  box-shadow:inset 0 1px rgba(255,255,255,.16);
  color:#d8e5f7
}
 .ah-real-ivi-readout {
  position:absolute;
  z-index:2;
  right:16px;
  bottom:15px;
  width:188px;
  padding:11px 12px;
  border:1px solid rgba(111,139,178,.65);
  border-radius:5px;
  background:linear-gradient(145deg,rgba(7,16,29,.9),rgba(2,7,13,.82));
  box-shadow:inset 0 1px rgba(235,244,255,.13),0 10px 28px rgba(0,0,0,.42);
  backdrop-filter:blur(8px);
  font-family:ui-monospace,SFMono-Regular,monospace
}
 .ah-real-ivi-readout>small,.ah-real-ivi-readout>strong,.ah-real-ivi-readout>span {
  display:block
}
.ah-real-ivi-readout>small {
  color:#83a9de;
  font-size:7px;
  letter-spacing:.8px
}
.ah-real-ivi-readout>strong {
  margin:5px 0 3px;
  color:#f0f5fc;
  font-size:14px;
  font-weight:500
}
.ah-real-ivi-readout>span {
  color:#9db0c8;
  font-size:7px;
  letter-spacing:.25px
}
.ah-real-ivi-readout>span i {
  display:inline-block;
  width:5px;
  height:5px;
  margin-right:5px;
  border-radius:50%;
  background:#2475ff;
  box-shadow:0 0 7px #2475ff
}
 .ah-real-ivi-readout>div {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4px;
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid rgba(92,112,140,.42)
}
.ah-real-ivi-readout b {
  color:#8296b0;
  font-size:6px;
  font-weight:500;
  white-space:nowrap
}
.ah-real-ivi-readout b:last-child {
  text-align:right;
  color:#75a8ff
}
 @media(min-width:1650px) {
  .ah-3d-callout.is-vector,.ah-3d-callout.is-ids {
    top:154px
  }
  .ah-3d-callout.is-can,.ah-3d-callout.is-evse {
    top:280px
  }
  .ah-real-ivi-readout {
    right:24px;
    bottom:22px
  }
  
}
 @media(min-width:768px) and (max-width:1050px) {
  .ah-3d-callout {
    width:108px;
    min-height:45px;
    padding:8px
  }
  .ah-3d-callout small {
    display:none
  }
  .ah-3d-callout.is-jeep,.ah-3d-callout.is-ev6 {
    top:20px
  }
  .ah-3d-callout.is-vector,.ah-3d-callout.is-ids {
    top:112px
  }
  .ah-3d-callout.is-can,.ah-3d-callout.is-evse {
    top:204px
  }
  
}
 @media(max-width:767px) {
  .ah-3d-callouts {
    inset:12px 0 0
  }
  .ah-3d-callout {
    width:100px;
    min-height:42px;
    padding:7px 8px
  }
  .ah-3d-callout.is-left {
    left:7px
  }
  .ah-3d-callout.is-right {
    right:7px
  }
  .ah-3d-callout small {
    display:none
  }
  .ah-3d-callout b {
    margin-top:4px;
    font-size:7px
  }
  .ah-3d-callout.is-jeep,.ah-3d-callout.is-ev6 {
    top:17px
  }
  .ah-3d-callout.is-vector,.ah-3d-callout.is-ids {
    top:108px
  }
  .ah-3d-callout.is-can,.ah-3d-callout.is-evse {
    top:199px
  }
  .ah-real-ivi-readout {
    right:10px;
    bottom:10px;
    width:165px;
    padding:9px
  }
  .ah-interior-view {
    background-position:center center
  }
  
}
 @media(prefers-reduced-motion:reduce) {
  .ah-3d-wires path,.ah-3d-callout {
    transition:none
  }
  
}
 .ah-region-map.is-camera-moving .ah-3d-hotspot[aria-pressed=true] {
  animation:ah-camera-lock 760ms ease-out
}
 @keyframes ah-camera-lock {
  0%,100% {
    box-shadow:0 0 0 3px rgba(2,10,23,.78),0 0 12px #1c8fff
  }
  45% {
    box-shadow:0 0 0 6px rgba(28,143,255,.18),0 0 22px #1c8fff
  }
  
}
 @media(prefers-reduced-motion:reduce) {
  .ah-region-map.is-camera-moving .ah-3d-hotspot[aria-pressed=true] {
    animation:none
  }
  
}
 /* The IVI window is framed as an installed center fascia, including vents and physical controls. */
 .ah-interior-view {
  width:min(470px,calc(100% - 38px));
  min-height:276px;
  padding:10px 43px 34px;
  border-color:#707a87;
  border-radius:11px 11px 18px 18px;
  background:linear-gradient(155deg,#3a414b 0,#151c25 9%,#080b10 50%,#131a23 91%,#343b45 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.3),inset 0 -1px rgba(255,255,255,.08),0 0 0 4px rgba(5,8,12,.92),0 24px 62px rgba(0,0,0,.78)
}
 .ah-interior-view:before {
  left:58px;
  right:58px;
  background:linear-gradient(90deg,transparent,#eef2f7 30%,#697480 72%,transparent);
  opacity:.72
}
 .ah-cockpit-header {
  height:42px;
  padding:7px 9px;
  margin:0 0 4px;
  border:1px solid #303a48;
  border-radius:5px 5px 0 0;
  background:linear-gradient(180deg,#151c25,#090d13);
  box-shadow:inset 0 1px rgba(255,255,255,.06)
}
 .ah-ivi-nav-stage {
  height:181px;
  border:1px solid #4d5c70;
  border-top-color:#8290a2;
  border-radius:0 0 4px 4px;
  box-shadow:inset 0 0 24px rgba(0,0,0,.62),0 0 0 3px #020407
}
 .ah-ivi-side-vent {
  position:absolute;
  z-index:3;
  top:55px;
  bottom:40px;
  width:25px;
  padding:8px 5px;
  border:1px solid #555e6b;
  border-radius:12px;
  background:linear-gradient(90deg,#07090c,#232f3d 48%,#07090c);
  box-shadow:inset 0 0 0 3px #0a0e13,inset 0 1px rgba(255,255,255,.18)
}
 .ah-ivi-side-vent.is-left {
  left:9px
}
.ah-ivi-side-vent.is-right {
  right:9px
}
.ah-ivi-side-vent i {
  display:block;
  height:2px;
  margin:10px 0;
  background:linear-gradient(90deg,#151c24,#6d7783,#151c24);
  box-shadow:0 1px #000;
  transform:rotate(-3deg)
}
.ah-ivi-side-vent.is-right i {
  transform:rotate(3deg)
}
 .ah-ivi-controls {
  position:absolute;
  left:44px;
  right:44px;
  bottom:5px;
  height:24px;
  display:grid;
  grid-template-columns:28px repeat(5,1fr) 28px;
  align-items:center;
  border-top:1px solid #414955;
  color:#8d98a8;
  font:6px ui-monospace,SFMono-Regular,monospace;
  text-align:center;
  letter-spacing:.25px
}
.ah-ivi-controls b {
  font-weight:500
}
.ah-ivi-controls em {
  color:#e64a55;
  font-size:12px;
  font-style:normal
}
.ah-ivi-controls span {
  justify-self:center;
  width:19px;
  height:19px;
  border:1px solid #59626e;
  border-radius:50%;
  background:linear-gradient(145deg,#343b44,#090c10);
  box-shadow:inset 0 1px rgba(255,255,255,.2)
}
.ah-ivi-controls span i {
  display:block;
  width:2px;
  height:5px;
  margin:3px auto 0;
  background:#748399
}
 .ah-region-map.is-interior {
  cursor:zoom-out
}
.ah-region-map.is-interior .ah-interior-view {
  cursor:default
}
 @media(min-width:1650px) {
  .ah-interior-view {
    width:520px;
    min-height:299px;
    padding-inline:48px
  }
  .ah-ivi-nav-stage {
    height:202px
  }
  .ah-ivi-controls {
    left:49px;
    right:49px
  }
  
}
 @media(max-width:767px) {
  .ah-interior-view {
    width:calc(100% - 16px);
    min-height:238px;
    padding:8px 33px 30px;
    border-radius:8px 8px 13px 13px
  }
  .ah-cockpit-header {
    height:38px;
    padding:6px
  }
  .ah-ivi-nav-stage {
    height:158px
  }
  .ah-ivi-side-vent {
    top:48px;
    bottom:35px;
    width:18px;
    padding:6px 3px
  }
  .ah-ivi-side-vent.is-left {
    left:7px
  }
  .ah-ivi-side-vent.is-right {
    right:7px
  }
  .ah-ivi-side-vent i {
    margin:8px 0
  }
  .ah-ivi-controls {
    left:34px;
    right:34px;
    bottom:3px;
    height:22px;
    grid-template-columns:22px repeat(5,1fr) 22px
  }
  .ah-ivi-controls span {
    width:16px;
    height:16px
  }
  .ah-ivi-controls b {
    font-size:5px
  }
  
}
 /* Keep the WebGL poster visible during startup; reveal the 2D map only on a real 3D failure. */
 .ah-car-model {
  opacity:1;
  visibility:visible;
  pointer-events:none
}
.ah-region-svg {
  position:absolute;
  opacity:0;
  visibility:hidden;
  pointer-events:none
}
.ah-region-map.is-3d-ready .ah-car-model {
  pointer-events:auto
}
.ah-region-map.is-3d-failed .ah-region-svg {
  position:relative;
  opacity:1;
  visibility:visible;
  pointer-events:auto
}
 .ah-region-map.is-xray .ah-car-model {
  background:radial-gradient(ellipse at 50% 56%,rgba(15,63,126,.25),#03070c 48%,#000 78%)
}
.ah-region-map.is-xray:after {
  content:'';
  position:absolute;
  z-index:1;
  left:29%;
  right:29%;
  top:17%;
  bottom:15%;
  border:1px solid rgba(63,143,255,.16);
  border-radius:45%;
  background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(35,117,255,.035) 8px 9px);
  filter:drop-shadow(0 0 13px rgba(25,111,255,.26));
  pointer-events:none
}
 /* IVI appears as an in-car display window over the inspection view. */
 .ah-region-map.is-interior .ah-car-model {
  opacity:.7;
  visibility:visible;
  transform:none;
  filter:saturate(.76) brightness(.8);
  pointer-events:none
}
 .ah-region-map.is-interior .ah-3d-wires,.ah-region-map.is-interior .ah-3d-callouts {
  opacity:.34;
  visibility:visible;
  pointer-events:none
}
 .ah-region-map.is-interior .ah-orbit-hint {
  display:none
}
 .ah-interior-view {
  position:absolute;
  inset:50% auto auto 50%;
  align-self:auto;
  width:min(390px,calc(100% - 86px));
  height:auto;
  min-height:229px;
  padding:0;
  overflow:hidden;
  border:1px solid #7b8798;
  border-radius:7px;
  background:linear-gradient(145deg,#212c3a,#090d13 12%,#04070b 90%);
  box-shadow:inset 0 1px rgba(255,255,255,.24),0 0 0 4px rgba(7,10,15,.88),0 22px 55px rgba(0,0,0,.72);
  transform:translate(-50%,-46%) scale(.94)
}
 .ah-interior-view:before {
  content:'';
  position:absolute;
  z-index:4;
  left:18px;
  right:18px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#d7dce3 42%,#6f7987 70%,transparent);
  opacity:.65
}
 .ah-interior-view:after {
  display:none
}
 .ah-region-map.is-interior .ah-interior-view {
  transform:translate(-50%,-50%) scale(1)
}
 .ah-cockpit-header {
  position:relative;
  inset:auto;
  display:flex;
  padding:10px 12px 9px;
  border-bottom:1px solid #283546;
  background:linear-gradient(180deg,#161e27,#0b1017)
}
 .ah-cockpit-header span {
  font-size:9px;
  color:#eef3fb
}
.ah-cockpit-header small {
  font-size:7px;
  color:#7f95b5
}
.ah-cockpit-header button {
  padding:5px 8px;
  border:1px solid #4e5c70;
  border-radius:4px;
  background:linear-gradient(145deg,#303946,#111720);
  box-shadow:inset 0 1px rgba(255,255,255,.14);
  color:#d9e5f4;
  font-size:8px
}
 .ah-ivi-nav-stage {
  position:relative;
  height:182px;
  overflow:hidden;
  background:radial-gradient(circle at 66% 45%,rgba(19,47,87,.5),transparent 34%),linear-gradient(145deg,#08111d,#020509)
}
 .ah-ivi-nav-stage:before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:24px 24px;
  mask-image:linear-gradient(90deg,#000,transparent 72%)
}
 .ah-ivi-nav-stage svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}
.ah-ivi-nav-stage .minor-road {
  fill:none;
  stroke:#26364b;
  stroke-width:2
}
.ah-ivi-nav-stage .major-road {
  fill:none;
  stroke:#526175;
  stroke-width:5;
  opacity:.6
}
.ah-ivi-nav-stage .route-shadow {
  fill:none;
  stroke:#0b3466;
  stroke-width:8;
  opacity:.8
}
.ah-ivi-nav-stage .route {
  fill:none;
  stroke:#2777ff;
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:10 5;
  filter:drop-shadow(0 0 4px #1c8fff);
  animation:ah-route-flow 1.2s linear infinite
}
.ah-ivi-nav-stage .origin {
  fill:#c8d9f4;
  stroke:#286fd9;
  stroke-width:2
}
.ah-ivi-nav-stage .destination {
  fill:#1c8fff;
  stroke:#d4e5ff;
  stroke-width:2;
  filter:drop-shadow(0 0 5px #1c8fff)
}
 .ah-ivi-position {
  position:absolute;
  left:45%;
  top:52%;
  width:18px;
  height:18px;
  border:1px solid #d5e7ff;
  border-radius:50%;
  background:#1c8fff;
  box-shadow:0 0 0 4px rgba(28,143,255,.18),0 0 12px #1c8fff;
  transform:rotate(38deg)
}
.ah-ivi-position i {
  position:absolute;
  left:5px;
  top:4px;
  width:6px;
  height:8px;
  border-top:5px solid #fff;
  border-left:3px solid transparent;
  border-right:3px solid transparent
}
 .ah-real-ivi-readout {
  right:12px;
  bottom:12px;
  width:174px;
  padding:10px 11px;
  border-color:#536b8c;
  border-radius:5px;
  background:linear-gradient(145deg,rgba(16,30,50,.96),rgba(3,8,15,.94));
  box-shadow:inset 0 1px rgba(231,241,255,.13),0 10px 28px rgba(0,0,0,.45);
  backdrop-filter:none
}
 @media(min-width:1650px) {
  .ah-interior-view {
    width:480px;
    min-height:270px
  }
  .ah-ivi-nav-stage {
    height:222px
  }
  
}
 @media(max-width:767px) {
  .ah-region-map.is-interior .ah-3d-callouts {
    opacity:.08
  }
  .ah-interior-view {
    width:calc(100% - 26px);
    min-height:220px;
    border-radius:6px
  }
  .ah-ivi-nav-stage {
    height:176px
  }
  .ah-real-ivi-readout {
    right:8px;
    bottom:8px;
    width:158px;
    padding:8px
  }
  .ah-real-ivi-readout>div {
    gap:3px
  }
  .ah-real-ivi-readout b {
    font-size:5px
  }
  
}
 /* Driver-view IVI: show the whole cockpit and keep navigation installed in the dashboard. */
 .ah-interior-view {
  width:min(570px,calc(100% - 12px));
  min-height:0;
  padding:0;
  border:1px solid #697482;
  border-radius:9px;
  background:#020305;
  box-shadow:inset 0 1px rgba(255,255,255,.25),0 0 0 4px rgba(4,7,10,.94),0 28px 68px rgba(0,0,0,.82)
}
 .ah-interior-view:before {
  left:34px;
  right:34px
}
.ah-ivi-side-vent,.ah-ivi-controls {
  display:none
}
 .ah-cockpit-header {
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  top:0;
  height:48px;
  margin:0;
  padding:10px 12px;
  border:0;
  border-radius:8px 8px 0 0;
  background:linear-gradient(180deg,rgba(2,5,9,.92),rgba(2,5,9,.5),transparent);
  box-shadow:none
}
 .ah-ivi-nav-stage {
  height:auto;
  aspect-ratio:16/9;
  border:0;
  border-radius:8px;
  background-image:linear-gradient(90deg,rgba(0,0,0,.08),transparent 42%),url("ivi-dashboard-stylized.png");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  box-shadow:inset 0 0 38px rgba(0,0,0,.24)
}
 .ah-ivi-nav-stage:before {
  display:none
}
.ah-ivi-nav-stage>svg,.ah-ivi-position {
  display:none
}
.ah-real-ivi-readout {
  right:10px;
  bottom:9px;
  width:155px;
  padding:8px 9px;
  background:rgba(3,9,17,.82);
  border-color:rgba(91,125,171,.65);
  box-shadow:inset 0 1px rgba(255,255,255,.1),0 8px 24px rgba(0,0,0,.44);
  backdrop-filter:blur(5px)
}
 @media(max-width:767px) {
  .ah-interior-view {
    width:calc(100% - 10px);
    min-height:0;
    padding:0
  }
  .ah-ivi-nav-stage {
    height:auto
  }
  .ah-cockpit-header {
    height:40px;
    padding:7px 9px
  }
  .ah-real-ivi-readout {
    right:6px;
    bottom:6px;
    width:138px;
    padding:6px 7px
  }
  .ah-real-ivi-readout>strong {
    font-size:11px
  }
  .ah-real-ivi-readout>div {
    margin-top:5px;
    padding-top:5px
  }
  
}
 .ah-region-map.is-xray .ah-3d-callout:not([aria-pressed=true]) {
  opacity:.52
}
 .ah-region-map.is-xray .ah-3d-hotspot:not([aria-pressed=true]) {
  opacity:.38
}
 /* T-Box: a dedicated instrument cluster installed in the dash. */
 .ah-cluster-stage {
  display:none;
  position:relative;
  aspect-ratio:16/9;
  padding:42px 34px 20px;
  background:radial-gradient(ellipse at center,#182131 0%,#05080d 51%,#000 78%)
}
 .ah-interior-view[data-view=cluster] .ah-ivi-nav-stage {
  display:none
}
.ah-interior-view[data-view=cluster] .ah-cluster-stage {
  display:block
}
 /* T-Box: close driver view with the cluster installed in the dash. */
 .ah-cluster-stage {
  position:relative;
  aspect-ratio:1672/941;
  padding:0;
  overflow:hidden;
  background:#020407 url("ev6-cluster-cockpit.jpg") center/cover no-repeat
}
 .ah-cluster-stage:before {
  content:'';
  position:absolute;
  inset:0;
  height:auto;
  border:0;
  border-radius:0;
  background:linear-gradient(180deg,rgba(0,0,0,.26),transparent 24% 72%,rgba(0,0,0,.3)),radial-gradient(ellipse at center,transparent 53%,rgba(0,0,0,.28));
  box-shadow:inset 0 0 26px rgba(0,0,0,.5);
  pointer-events:none
}
 .ah-cluster-security {
  position:absolute;
  z-index:2;
  left:50%;
  top:41%;
  display:flex;
  align-items:center;
  gap:7px;
  padding:5px 8px;
  border:1px solid rgba(65,125,216,.48);
  border-radius:3px;
  background:rgba(2,9,19,.78);
  box-shadow:inset 0 1px rgba(191,218,255,.1),0 5px 18px rgba(0,0,0,.5);
  transform:translateX(-50%);
  white-space:nowrap
}
 .ah-cluster-security i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:#2f7eff;
  box-shadow:0 0 8px #1c8fff
}
 .ah-cluster-security span {
  color:#c6d9f5;
  font:6px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.55px
}
 .ah-cluster-security b {
  padding-left:7px;
  border-left:1px solid #30415b;
  color:#6f9de2;
  font:500 5px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.45px
}
 @media(max-width:767px) {
  .ah-cluster-stage {
    padding:0
  }
  .ah-cluster-security {
    top:42%;
    padding:4px 6px
  }
  .ah-cluster-security b {
    display:none
  }
  
}
 /* Keep the vehicle shell and embedded hardware readable together. */
 .ah-region-map.is-xray:before,.ah-region-map.is-xray:after {
  display:none
}
 /* Challenges arrival: show a useful first frame immediately, then hand off to WebGL. */
 .ah-3d-loading {
  position:relative;
  display:block;
  overflow:hidden;
  background:#02060d;
  color:#73829a
}
 .ah-3d-loading:after {
  content:'';
  position:absolute;
  z-index:2;
  inset:auto 16% 4%;
  height:24%;
  background:radial-gradient(ellipse,rgba(37,108,255,.2),transparent 68%);
  filter:blur(10px)
}
 .ah-3d-loading>small {
  position:absolute;
  z-index:4;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  color:#64738a;
  font:8px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:1.25px;
  white-space:nowrap
}
 .ah-arrival-road {
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 70%,#101d34 0,#030508 38%,#000 72%)
}
 .ah-arrival-road:before,.ah-arrival-road:after,.ah-arrival-road i {
  content:'';
  position:absolute;
  top:58%;
  height:1px;
  background:linear-gradient(90deg,transparent,#2a6fdc55,transparent);
  transform-origin:center
}
 .ah-arrival-road:before {
  left:-12%;
  width:62%;
  transform:rotate(-24deg)
}
.ah-arrival-road:after {
  right:-12%;
  width:62%;
  transform:rotate(24deg)
}
 .ah-arrival-road i {
  left:50%;
  width:36%;
  opacity:.45
}
.ah-arrival-road i:first-child {
  transform:translateX(-112%) rotate(-70deg)
}
.ah-arrival-road i:nth-child(2) {
  transform:translateX(12%) rotate(70deg)
}
.ah-arrival-road i:nth-child(3) {
  top:78%;
  width:60%;
  transform:translateX(-50%)
}
 .ah-loader-scan {
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:116px;
  height:46px;
  border:1px solid #1d3558;
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 32px rgba(27,101,255,.11)
}
.ah-loader-scan:before {
  content:'';
  position:absolute;
  left:50%;
  top:-18px;
  width:1px;
  height:82px;
  background:linear-gradient(transparent,#3791ff,transparent);
  animation:ah-loader-sweep 720ms ease-in-out infinite alternate
}
.ah-loader-scan:after {
  content:'';
  position:absolute;
  left:12px;
  right:12px;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,#2a6fdc,transparent)
}
 .ah-challenges-loading .ah-challenge-list {
  opacity:0;
  visibility:hidden
}
.ah-challenges-entering .ah-challenge-list {
  animation:ah-problems-arrive 260ms 180ms cubic-bezier(.2,.7,.2,1) both
}
.ah-challenges-arrived .ah-challenge-list {
  opacity:1;
  visibility:visible
}
 .ah-challenges-entering .ah-challenge-console .ah-car-model {
  animation:ah-car-drive-in 420ms cubic-bezier(.2,.74,.25,1) both
}
 .ah-challenges-entering .ah-challenge-console .ah-console-copy,.ah-challenges-entering .ah-challenge-console .ah-clock {
  animation:ah-instrument-wake 260ms 100ms ease-out both
}
 .ah-challenges-entering .ah-challenge-console .ah-3d-callouts,.ah-challenges-entering .ah-challenge-console .ah-3d-wires,.ah-challenges-entering .ah-challenge-console .ah-orbit-hint {
  opacity:0!important
}
 @keyframes ah-car-drive-in {
  0% {
    opacity:.16;
    transform:translateY(62%) scale(.72);
    filter:blur(2px) brightness(.58)
  }
  68% {
    opacity:1;
    transform:translateY(-2.5%) scale(1.015);
    filter:blur(0) brightness(1.08)
  }
  100% {
    opacity:1;
    transform:none;
    filter:none
  }
  
}
 @keyframes ah-instrument-wake {
  0% {
    opacity:.35
  }
  100% {
    opacity:1
  }
  
}
 .ah-challenge-list {
  position:relative
}
.ah-problem-loading {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:82px;
  color:#738198;
  font:10px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.8px
}
.ah-problem-loading i {
  width:28px;
  height:2px;
  overflow:hidden;
  background:#17243a
}
.ah-problem-loading i:after {
  content:'';
  display:block;
  width:45%;
  height:100%;
  background:#328eff;
  box-shadow:0 0 8px #1c8fff;
  animation:ah-data-link 850ms ease-in-out infinite alternate
}
 .ah-challenge-results {
  animation:ah-problems-arrive 360ms cubic-bezier(.2,.7,.2,1) both
}
.ah-challenges-entering .ah-challenge-results {
  animation-delay:200ms
}
.ah-challenge-results .ah-track-section {
  animation:ah-track-arrive 320ms var(--ah-track-delay,0ms) ease-out both
}
.ah-challenges-entering .ah-challenge-results .ah-track-section {
  animation-delay:calc(220ms + var(--ah-track-delay,0ms))
}
.ah-challenge-results .ah-track-section:nth-of-type(2) {
  --ah-track-delay:55ms
}
.ah-challenge-results .ah-track-section:nth-of-type(3) {
  --ah-track-delay:110ms
}
.ah-challenge-results .ah-track-section:nth-of-type(4) {
  --ah-track-delay:165ms
}
.ah-challenge-results .ah-track-section:nth-of-type(n+5) {
  --ah-track-delay:210ms
}
 @keyframes ah-loader-sweep {
  to {
    transform:translateX(34px);
    opacity:.35
  }
  
}
@keyframes ah-data-link {
  to {
    transform:translateX(125%)
  }
  
}
@keyframes ah-problems-arrive {
  0% {
    opacity:0;
    transform:translateY(12px)
  }
  100% {
    opacity:1;
    transform:none
  }
  
}
@keyframes ah-track-arrive {
  0% {
    opacity:0;
    transform:translateY(8px)
  }
  100% {
    opacity:1;
    transform:none
  }
  
}
 @media(prefers-reduced-motion:reduce) {
  .ah-challenges-entering .ah-challenge-console .ah-car-model,.ah-challenges-entering .ah-challenge-console .ah-console-copy,.ah-challenges-entering .ah-challenge-console .ah-clock,.ah-challenge-results,.ah-challenge-results .ah-track-section,.ah-problem-loading i:after {
    animation:none
  }
  
}
 .ah-region-map.is-xray .ah-orbit-hint {
  font-size:0
}
.ah-region-map.is-xray .ah-orbit-hint span {
  display:none
}
.ah-region-map.is-xray .ah-orbit-hint:before {
  content:'VEHICLE NETWORK / LIVE VIEW';
  margin:0;
  color:#789cda;
  font:8px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:1px
}
 /* Transparent-body mode keeps track cards wired directly to circular points. */
 .ah-region-map.is-xray .ah-car-model {
  opacity:.98;
  filter:saturate(1.02) brightness(.98) contrast(1.08)
}
 .ah-region-map.is-xray .ah-3d-wires,.ah-region-map.is-xray .ah-3d-hotspot {
  opacity:1!important;
  visibility:visible!important
}
 .ah-region-map.is-xray .ah-3d-hotspot,.ah-region-map.is-xray .ah-3d-hotspot[data-region] {
  width:13px;
  min-width:13px;
  height:13px;
  padding:0;
  border:2px solid #b9d8ff;
  border-radius:50%;
  background:#1c8fff;
  box-shadow:0 0 0 4px rgba(2,8,18,.82),0 0 14px rgba(28,108,255,.78);
  transform:translate(-50%,-50%)
}
 .ah-region-map.is-xray .ah-3d-hotspot:before {
  display:none
}
.ah-region-map.is-xray .ah-3d-hotspot:after {
  inset:3px;
  background:#fff;
  box-shadow:0 0 5px #fff
}
 .ah-region-map.is-xray:is([data-interior=can],[data-interior=vector]) .ah-3d-callout:not([aria-pressed=true]) {
  opacity:.42
}
 .ah-region-map.is-xray:is([data-interior=can],[data-interior=vector]) .ah-3d-callout[aria-pressed=true] {
  border-color:#62a1ff;
  background:linear-gradient(145deg,rgba(26,62,118,.98),rgba(5,16,36,.96));
  box-shadow:inset 0 1px rgba(226,240,255,.28),0 0 0 1px rgba(45,125,255,.32),0 0 26px rgba(20,96,255,.38)
}
 .ah-region-map.is-xray:is([data-interior=can],[data-interior=vector]) .ah-3d-hotspot:not([aria-pressed=true]) {
  width:7px;
  min-width:7px;
  height:7px;
  border-color:#49617e;
  background:#0b1524;
  box-shadow:none;
  opacity:.2!important
}
 .ah-region-map.is-xray:is([data-interior=can],[data-interior=vector]) .ah-3d-hotspot:not([aria-pressed=true]):after {
  inset:2px;
  background:#6682a6;
  box-shadow:none
}
 .ah-region-map.is-xray:is([data-interior=can],[data-interior=vector]) .ah-orbit-hint:before {
  content:'CAN SYSTEM / TRANSPARENT BODY'
}
 /* IDS is one selected inspection point; unrelated track anchors stay out of view. */
 .ah-region-map.is-xray[data-interior=ids] .ah-3d-hotspot:not([aria-pressed=true]) {
  opacity:0!important;
  visibility:hidden!important
}
