#hud {
  position: fixed;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  display: none;
  --edge: clamp(10px, 2vw, 26px);
  font-family: var(--font-body);
}

.brass-strip {
  background:
    repeating-linear-gradient(96deg, rgba(255, 240, 180, .06) 0 2px, transparent 2px 7px),
    linear-gradient(168deg, #C39A40, #8A6020 46%, #6B4A18 78%, var(--brass));
  box-shadow:
    inset 0 2px 0 rgba(248, 224, 144, .55),
    inset 0 -4px 9px rgba(0, 0, 0, .5),
    0 8px 18px rgba(0, 0, 0, .5);
  border: 1px solid rgba(50, 32, 10, .85);
}
.walnut-plate {
  background:
    repeating-linear-gradient(91deg, rgba(0, 0, 0, .16) 0 1px, transparent 1px 7px),
    linear-gradient(160deg, #7A4E2C, #46291588 58%, #34200F);
  box-shadow:
    inset 0 2px 0 rgba(220, 170, 110, .4),
    inset 0 -6px 13px rgba(0, 0, 0, .6),
    0 9px 20px rgba(0, 0, 0, .55);
  border: 1px solid #2A1810;
}
.hud-gem {
  --gem-c: var(--gem-gold);
  position: absolute;
  width: clamp(11px, 1.2vw, 15px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 30%, #fff 8%, var(--gem-c) 50%, rgba(0, 0, 0, .5));
  box-shadow:
    0 0 10px var(--gem-c), 0 0 20px var(--gem-c),
    inset 0 -2px 4px rgba(0, 0, 0, .4), inset 0 2px 4px rgba(255, 255, 255, .7);
  border: 2px solid var(--brass-lo);
  animation: gemShimmer 3.4s var(--zen-ease) infinite;
}
.hud-gem.focal {
  width: clamp(14px, 1.6vw, 20px);
  box-shadow:
    0 0 14px var(--gem-c), 0 0 30px var(--gem-c), 0 0 48px var(--gem-c),
    inset 0 -2px 4px rgba(0, 0, 0, .4), inset 0 2px 4px rgba(255, 255, 255, .8);
}
.hud-gem.focal::after {
  content: '';
  position: absolute;
  inset: -70%;
  border-radius: 50%;
  border: 1px solid var(--gem-c);
  opacity: .35;
  animation: gemHalo 3.6s var(--zen-ease) infinite;
}
#hud .lbl {
  font-family: var(--font-body);
  font-weight: 800;
  font-size: clamp(8px, .85vw, 10px);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: .92;
}
#hud .num {
  font-family: var(--font-head);
  font-weight: 700;
  color: var(--cream-warm);
  text-shadow: 0 2px 0 rgba(0, 0, 0, .5), 0 0 12px rgba(255, 200, 100, .45);
  font-variant-numeric: tabular-nums;
}

#hud .tl {
  position: absolute;
  top: max(var(--edge), env(safe-area-inset-top));
  left: max(var(--edge), env(safe-area-inset-left));
  display: flex;
  align-items: flex-start;
  gap: clamp(8px, 1.25vw, 16px);
}

.lap-clock {
  position: relative;
  width: clamp(76px, 9.7vw, 124px);
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: conic-gradient(from -40deg,
    #F8E090, #C39A40 14%, #6B4A18 30%, #D8AE56 48%,
    #8A6020 64%, #F8E090 80%, #9C7228 92%, #F8E090);
  box-shadow:
    inset 0 0 0 2px rgba(60, 40, 12, .85),
    inset 0 2px 4px rgba(255, 240, 180, .5),
    inset 0 -6px 12px rgba(0, 0, 0, .55),
    0 10px 24px rgba(0, 0, 0, .55),
    0 0 26px rgba(255, 200, 90, .28);
}
.lap-clock .dial {
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 36%, #2A1A30, #140A1A 78%);
  box-shadow: inset 0 4px 12px rgba(0, 0, 0, .7), inset 0 -2px 4px rgba(255, 210, 120, .12);
}
.lap-clock .ticks { position: absolute; inset: 9%; border-radius: 50%; }
.lap-clock .ticks i {
  position: absolute;
  top: 5%;
  left: 50%;
  width: 2px;
  height: 8%;
  margin-left: -1px;
  background: rgba(255, 224, 154, .55);
  transform-origin: 50% 560%;
  border-radius: 1px;
}
.lap-clock .face { position: relative; text-align: center; z-index: 2; }
.lap-clock .face .num { font-size: clamp(19px, 2.4vw, 30px); line-height: .9; }
.lap-clock .face .num small { font-size: .56em; color: #E0C79E; font-weight: 600; }
.lap-clock .face .lbl { margin-top: 2px; }
.lap-clock .hud-gem { top: 4%; left: 50%; transform: translateX(-50%); }

.pos-placard {
  position: relative;
  width: clamp(72px, 7.5vw, 96px);
  padding: clamp(8px, 1.5vh, 13px) 12px clamp(9px, 1.7vh, 14px);
  border-radius: 13px;
  text-align: center;
  margin-top: 8px;
}
.pos-placard::before {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 8px;
  border: 1.5px solid rgba(220, 170, 110, .32);
  box-shadow: inset 0 1px 0 rgba(220, 170, 110, .25), inset 0 -2px 5px rgba(0, 0, 0, .45);
  pointer-events: none;
}
.pos-placard .lbl { font-size: clamp(7px, .8vw, 9px); }
.pos-placard .pos {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(24px, 3.6vw, 42px);
  line-height: .9;
  color: var(--gem-gold);
  text-shadow: 0 2px 0 rgba(0, 0, 0, .55), 0 0 18px rgba(255, 208, 90, .6);
}
.pos-placard .pos small { font-size: .4em; color: #E0C79E; }
.pos-placard .hud-gem.focal { top: -8px; right: -7px; }

.standings {
  position: absolute;
  top: calc(max(var(--edge), env(safe-area-inset-top)) + clamp(86px, 11vw, 140px));
  left: max(var(--edge), env(safe-area-inset-left));
  width: clamp(140px, 13.8vw, 176px);
  padding: 10px 13px 12px;
  border-radius: 12px;
}
.standings::before {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 7px;
  border: 1.5px solid rgba(220, 170, 110, .30);
  box-shadow: inset 0 1px 0 rgba(220, 170, 110, .22), inset 0 -2px 5px rgba(0, 0, 0, .45);
  pointer-events: none;
}
.standings > .lbl { display: block; margin-bottom: 7px; padding-left: 2px; }
.standings .hud-gem { top: -7px; left: 13px; }
#stand-list { position: relative; }
.stand-row {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 24px;
  padding: 0 6px;
  border-radius: 7px;
  background: linear-gradient(150deg, rgba(20, 12, 28, .5), rgba(10, 6, 16, .35));
  box-shadow: inset 0 1px 0 rgba(220, 170, 110, .12), inset 0 -1px 2px rgba(0, 0, 0, .4);
  will-change: transform;
  transition: transform .5s cubic-bezier(.34, 1.4, .5, 1);
}
.stand-row .rk {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 10px;
  color: #2A1A06;
  background: radial-gradient(circle at 38% 30%, #FBE9A6, var(--brass) 78%);
  box-shadow: inset 0 -1px 2px rgba(90, 60, 16, .6), 0 1px 2px rgba(0, 0, 0, .5);
}
.stand-row .nm {
  font-size: 12px;
  font-weight: 700;
  color: var(--cream-warm);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .55);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.stand-row.you {
  background: linear-gradient(150deg, rgba(255, 200, 90, .22), rgba(184, 137, 58, .14));
  box-shadow: inset 0 0 0 1px rgba(255, 208, 90, .4), inset 0 -1px 2px rgba(0, 0, 0, .4), 0 0 10px rgba(255, 200, 90, .22);
}
.stand-row.you .nm { color: var(--gold-hot); text-shadow: 0 0 8px rgba(255, 200, 90, .5); }
.stand-row.you .rk {
  background: radial-gradient(circle at 38% 30%, #FFF6D8, var(--gem-gold) 70%);
  box-shadow: inset 0 -1px 2px rgba(150, 90, 16, .5), 0 0 8px rgba(255, 208, 90, .5);
}
.stand-row.p1 .rk { background: radial-gradient(circle at 38% 30%, #FFF6D8, var(--gem-gold) 70%); }
.stand-row.p2 .rk { background: radial-gradient(circle at 38% 30%, #E8FBFF, var(--gem-aqua) 75%); }
.stand-row.p3 .rk { background: radial-gradient(circle at 38% 30%, #EFFFF6, var(--gem-emerald) 75%); }
.stand-row.surge { animation: standSurge .5s ease; }
@keyframes standSurge { 0% { filter: brightness(2); } 100% { filter: brightness(1); } }

#hud .tr {
  position: absolute;
  top: calc(max(var(--edge), env(safe-area-inset-top)) + clamp(44px, 7.8vh, 56px));
  right: max(var(--edge), env(safe-area-inset-right));
  display: flex;
  align-items: stretch;
  border-radius: 14px;
  overflow: hidden;
  padding: 2px;
}
.tseg {
  position: relative;
  padding: clamp(7px, 1.5vh, 11px) clamp(12px, 1.6vw, 20px) clamp(8px, 1.7vh, 12px);
  min-width: clamp(66px, 7.5vw, 96px);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 3px;
  justify-content: center;
}
.tseg + .tseg::before {
  content: '';
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 18%;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(40, 24, 8, .8), transparent);
  box-shadow: 1px 0 0 rgba(255, 224, 154, .25);
}
.tseg .lbl { font-size: clamp(7px, .8vw, 9px); }
.tseg .num { font-size: clamp(15px, 1.9vw, 24px); line-height: 1; }
.tseg.best .num {
  font-size: clamp(13px, 1.5vw, 19px);
  color: var(--gem-emerald);
  text-shadow: 0 2px 0 rgba(0, 0, 0, .5), 0 0 12px rgba(92, 224, 160, .5);
}

.topbar {
  position: fixed;
  top: max(clamp(10px, 2vw, 26px), env(safe-area-inset-top));
  right: max(clamp(10px, 2vw, 26px), env(safe-area-inset-right));
  z-index: 22;
  display: flex;
  gap: 10px;
}
.iconbtn {
  pointer-events: auto;
  position: relative;
  width: clamp(38px, 3.3vw, 42px);
  aspect-ratio: 1;
  border-radius: 50%;
  cursor: pointer;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--cream-warm);
  background:
    repeating-radial-gradient(circle at 46% 40%, rgba(0, 0, 0, .10) 0 2px, transparent 2px 5px),
    radial-gradient(circle at 42% 34%, #8A5A30, #4A2C14 78%);
  box-shadow:
    0 0 0 2px var(--brass-lo),
    inset 0 2px 3px rgba(255, 210, 150, .35),
    inset 0 -4px 8px rgba(0, 0, 0, .6),
    0 6px 14px rgba(0, 0, 0, .5);
  transition: transform var(--engine-dur) var(--engine-ease);
}
.iconbtn:hover { transform: scale(1.08); }
#btn-quit {
  color: var(--gem-ruby);
  text-shadow: 0 0 8px rgba(255, 122, 122, .5), 0 1px 1px rgba(0, 0, 0, .6);
  background:
    repeating-radial-gradient(circle at 46% 40%, rgba(0, 0, 0, .10) 0 2px, transparent 2px 5px),
    radial-gradient(circle at 42% 34%, #7A3A2A, #3E1C12 80%);
}

#speedo {
  position: fixed;
  left: 50%;
  bottom: 0;
  display: none;
  transform: translateX(-50%);
  width: clamp(190px, 23.4vw, 300px);
  aspect-ratio: 2 / 1;
  z-index: 10;
  pointer-events: none;
  --speed: 0;
}
#speedo .bezel {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  clip-path: inset(0 0 50% 0);
  background: conic-gradient(from -40deg,
    #F8E090, #C39A40 14%, #6B4A18 30%, #D8AE56 48%,
    #8A6020 64%, #F8E090 80%, #9C7228 92%, #F8E090);
  box-shadow:
    inset 0 0 0 2px rgba(60, 40, 12, .85),
    inset 0 2px 4px rgba(255, 240, 180, .5),
    inset 0 -6px 12px rgba(0, 0, 0, .55),
    0 10px 24px rgba(0, 0, 0, .55),
    0 0 26px rgba(255, 200, 90, .28);
}
#speedo .dial {
  position: absolute;
  left: 7.3%;
  top: 7.3%;
  width: 85.4%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 30%, #2A1A30, #120818 80%);
  box-shadow: inset 0 6px 16px rgba(0, 0, 0, .7), inset 0 -3px 6px rgba(255, 210, 120, .12);
  clip-path: inset(0 0 50% 0);
}
#speedo .arc {
  position: absolute;
  left: 12%;
  top: 12%;
  width: 76%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(from 180deg,
    rgba(255, 208, 90, 0) 0deg,
    var(--gem-gold) 8deg,
    var(--brass-hi) 95deg,
    var(--gem-gold) 180deg,
    transparent 180.1deg);
  -webkit-mask: radial-gradient(circle, transparent 41%, #000 42%, #000 47%, transparent 48%);
  mask: radial-gradient(circle, transparent 41%, #000 42%, #000 47%, transparent 48%);
  clip-path: inset(0 0 50% 0);
  opacity: .92;
  filter: drop-shadow(0 0 6px rgba(255, 200, 100, .4));
}
#speedo .ticks {
  position: absolute;
  left: 12%;
  top: 12%;
  width: 76%;
  aspect-ratio: 1;
}
#speedo .ticks i {
  position: absolute;
  left: 50%;
  top: 0;
  width: 2px;
  height: 6%;
  margin-left: -1px;
  background: rgba(255, 236, 196, .75);
  transform-origin: 50% 833%;
  border-radius: 1px;
}
#speedo .ticks i.maj { height: 8.5%; width: 3px; background: #FFF1C8; }
#speedo .readout {
  position: absolute;
  left: 50%;
  bottom: 26%;
  transform: translateX(-50%);
  text-align: center;
  z-index: 2;
}
#speedo .readout .num { font-size: clamp(20px, 2.4vw, 30px); line-height: .9; }
#speedo .readout .lbl { font-size: clamp(7px, .75vw, 9px); margin-top: 1px; }
#speedo .needle {
  position: absolute;
  left: 50%;
  bottom: 17.3%;
  width: 4px;
  height: 39.3%;
  margin-left: -2px;
  transform-origin: 50% 100%;
  transform: rotate(calc(-90deg + var(--speed) * 180deg));
  background: linear-gradient(180deg, var(--gem-gold), #C24A2A 80%);
  border-radius: 3px 3px 1px 1px;
  box-shadow: 0 0 8px rgba(255, 200, 90, .55);
  transition: transform .12s linear;
  z-index: 3;
}
#speedo .hub {
  position: absolute;
  left: 50%;
  bottom: 11.3%;
  width: 12%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle at 42% 34%, #FBE6B8, #D89A3A 50%, #8A5616 92%);
  box-shadow:
    0 0 11px rgba(255, 200, 90, .5), 0 0 22px rgba(255, 194, 90, .25),
    inset 0 -3px 6px rgba(120, 70, 10, .6), inset 0 2px 4px rgba(255, 235, 190, .55);
  border: 2px solid var(--brass-lo);
  z-index: 4;
}

#boost-pip {
  position: fixed;
  right: max(clamp(10px, 2vw, 26px), env(safe-area-inset-right));
  bottom: max(clamp(10px, 2vw, 26px), env(safe-area-inset-bottom));
  z-index: 10;
  pointer-events: none;
  width: clamp(52px, 5.8vw, 74px);
  height: clamp(140px, 26vh, 208px);
  border-radius: 18px;
  padding: clamp(7px, .8vw, 10px);
  display: none;
  flex-direction: column;
  align-items: center;
  opacity: .55;
  background: conic-gradient(from -40deg,
    #F8E090, #C39A40 14%, #6B4A18 30%, #D8AE56 48%,
    #8A6020 64%, #F8E090 80%, #9C7228 92%, #F8E090);
  box-shadow:
    inset 0 0 0 2px rgba(60, 40, 12, .85),
    inset 0 2px 4px rgba(255, 240, 180, .5),
    inset 0 -6px 12px rgba(0, 0, 0, .55),
    0 10px 24px rgba(0, 0, 0, .55);
  transition: opacity .25s var(--zen-ease);
}
#boost-pip.shown { display: flex; }
#boost-pip .cap {
  width: 62%;
  height: clamp(9px, 1.9vh, 14px);
  margin-bottom: 7px;
  border-radius: 6px 6px 3px 3px;
  background: linear-gradient(180deg, #F8E090, #8A6020);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 2px 4px rgba(0, 0, 0, .5);
}
#boost-pip .vial {
  position: relative;
  width: 52%;
  flex: 1;
  border-radius: 11px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(10, 6, 16, .9), rgba(20, 12, 28, .95));
  box-shadow: inset 0 4px 10px rgba(0, 0, 0, .7), inset 0 0 0 1.5px rgba(60, 40, 12, .9);
}
#boost-pip .vfill {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 26%;
  background: linear-gradient(0deg, var(--firefly), #FFD98A 40%, var(--gem-aqua) 92%);
  box-shadow: 0 0 18px rgba(255, 200, 90, .7), 0 0 30px rgba(88, 214, 224, .4);
  border-radius: 0 0 9px 9px;
  transition: height .3s var(--zen-ease);
}
#boost-pip .vfill::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0 13px, rgba(10, 6, 16, .35) 13px 15px),
    linear-gradient(100deg, rgba(255, 255, 255, .55), transparent 42%);
}
#boost-pip .tag {
  margin-top: 8px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(9px, 1vw, 12px);
  letter-spacing: .12em;
  color: var(--firefly);
  text-shadow: 0 0 10px rgba(255, 200, 90, .7);
}
#boost-pip.on {
  opacity: 1;
  animation: boostReady 1.2s var(--zen-ease) infinite;
}
#boost-pip.on .vfill { height: 92%; }
@keyframes boostReady { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.22); } }

#hud .hud-map {
  position: absolute;
  left: max(var(--edge), env(safe-area-inset-left));
  bottom: max(var(--edge), env(safe-area-inset-bottom));
  width: clamp(150px, 16.5vw, 212px);
  aspect-ratio: 212 / 150;
  transform: rotate(-2.5deg);
}
.hud-map .sheet {
  position: absolute;
  inset: 9% 5%;
  border-radius: 8px;
  background: radial-gradient(120% 120% at 30% 20%, #F2DBA6, #D8B978 60%, #BE9B58 100%);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .5), inset 0 0 24px rgba(120, 80, 30, .4);
}
.hud-map .sheet::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 8px;
  background:
    radial-gradient(circle at 78% 74%, rgba(120, 70, 20, .28), transparent 30%),
    radial-gradient(circle at 18% 64%, rgba(120, 70, 20, .20), transparent 26%);
  mix-blend-mode: multiply;
}
.hud-map .roll {
  position: absolute;
  top: 4%;
  bottom: 4%;
  width: 10.4%;
  border-radius: 11px;
  background: linear-gradient(90deg, #5A3A1E, #8A5A30 45%, #5A3A1E);
  box-shadow: inset 0 2px 3px rgba(255, 210, 150, .4), inset 0 -3px 5px rgba(0, 0, 0, .5), 0 4px 10px rgba(0, 0, 0, .5);
  z-index: 2;
}
.hud-map .roll-l { left: 0; }
.hud-map .roll-r { right: 0; }
.hud-map .roll::before,
.hud-map .roll::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(180deg, #F8E090, #8A6020);
}
.hud-map .roll::before { top: 6px; }
.hud-map .roll::after { bottom: 6px; }
.hud-map .map-label {
  position: absolute;
  left: 50%;
  top: 13%;
  transform: translateX(-50%);
  font-family: var(--font-head);
  font-weight: 600;
  font-size: clamp(8px, .8vw, 10px);
  letter-spacing: .16em;
  color: #5A3A18;
  text-transform: uppercase;
  opacity: .8;
  white-space: nowrap;
  z-index: 1;
}
.hud-map svg {
  position: absolute;
  left: 11%;
  top: 22%;
  width: 78%;
  height: 66%;
  z-index: 1;
}
.hud-map .map-track {
  fill: none;
  stroke: #5A3A18;
  stroke-width: 2.4;
  stroke-dasharray: 5 5;
  opacity: .85;
}
.hud-map .map-pin { filter: drop-shadow(0 0 4px currentColor); }

#countdown {
  text-shadow:
    0 4px 0 rgba(0, 0, 0, .7),
    0 8px 0 rgba(0, 0, 0, .5),
    0 12px 0 rgba(0, 0, 0, .25),
    0 0 60px rgba(255, 200, 90, .5),
    0 0 120px rgba(255, 194, 90, .25);
}
#countdown::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(220px, 30vw, 380px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 194, 90, .28), rgba(255, 194, 90, .08) 45%, transparent 70%);
  filter: blur(6px);
  opacity: inherit;
  z-index: -1;
}

body.touch-mode #hud .hud-map { display: none; }
body.touch-mode #boost-pip {
  left: max(clamp(10px, 2vw, 26px), env(safe-area-inset-left));
  right: auto;
  bottom: clamp(150px, 46vh, 300px);
  height: clamp(96px, 20vh, 150px);
}

@media (orientation: landscape) and (max-height: 480px) {
  .standings { display: none; }
  #speedo { width: clamp(150px, 22vw, 190px); }
  #boost-pip { height: 120px; }
}

@media (prefers-reduced-motion: reduce) {
  .hud-gem, .hud-gem.focal::after, #boost-pip.on { animation: none !important; }
}

/* ── Play.fun safe-area bridge: when the game runs inside Play.fun's mobile frame,
   the SDK sets --ogp-safe-top/bottom-inset. Fold them into the in-race edge UI so
   nothing hides under the Play.fun header or Safari bars. 0px fallback = standalone. ── */
#hud .tl { top: max(var(--edge), env(safe-area-inset-top), var(--ogp-safe-top-inset, 0px)); }
#hud .tr { top: calc(max(var(--edge), env(safe-area-inset-top), var(--ogp-safe-top-inset, 0px)) + clamp(44px, 7.8vh, 56px)); }
#hud .standings { top: calc(max(var(--edge), env(safe-area-inset-top), var(--ogp-safe-top-inset, 0px)) + clamp(86px, 11vw, 140px)); }
#hud .hud-map { bottom: max(var(--edge), env(safe-area-inset-bottom), var(--ogp-safe-bottom-inset, 0px)); }
#speedo { bottom: var(--ogp-safe-bottom-inset, 0px); }
