/* ── DIVESHACK DEPTH GAUGE — matches brand guidelines exactly ── */
#depth-gauge {
  position: fixed;
  top: 0; right: 0;
  width: 37px;
  height: 100vh;
  z-index: 200;
  background: #0a1829;
  border-left: 1px solid rgba(30,115,190,0.3);
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  user-select: none;
}

/* ── Header ── */
.gauge-header {
  width: 100%;
  padding: 0.55rem 0;
  text-align: center;
  border-bottom: 1px solid rgba(30,115,190,0.25);
  background: rgba(0,191,255,0.04);
  flex-shrink: 0;
}
.gauge-lbl {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.42rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #5b7a99;
}
.gauge-readout {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.72rem;
  font-weight: 600;
  color: #00bfff;
  line-height: 1;
  margin-top: 0.18rem;
  transition: color 0.4s;
}
.gauge-bar-lbl {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.38rem;
  color: #5b7a99;
  margin-top: 0.12rem;
}

/* ── Track ── */
.gauge-track {
  position: relative;
  flex: 1;
  width: 100%;
  overflow: hidden;
}

/* Static zone colour strips on left edge */
.gauge-zones {
  position: absolute;
  left: 0; top: 0;
  width: 5px;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.gz-safe  { flex: 0 0 20%; background: #00d68f; }
.gz-ow    { flex: 0 0 10%; background: #25a0e8; }
.gz-adv   { flex: 0 0 20%; background: #1e73be; }
.gz-deep  { flex: 0 0 17%; background: #f59500; }
.gz-tec   { flex: 0 0 33%; background: #e8304a; }

/* Tick marks */
.gauge-ticks {
  position: absolute;
  left: 7px; top: 0;
  width: calc(100% - 7px);
  height: calc(100% - 10px);
  pointer-events: none;
}
.gt {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  gap: 2px;
  transform: translateY(-50%);
}
.gt-line { height: 1px; background: rgba(255,255,255,0.25); flex-shrink: 0; width: 5px; }
.gt.major .gt-line { width: 9px; background: rgba(255,255,255,0.55); }
.gt-lbl {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.38rem;
  color: rgba(255,255,255,0.38);
  white-space: nowrap;
  line-height: 1;
}
.gt.major .gt-lbl { color: rgba(255,255,255,0.7); }

/* Moving needle */
.gauge-needle {
  position: absolute;
  left: 0; top: 0;
  width: 100%;
  transition: top 0.12s linear;
  pointer-events: none;
}
.needle-body { display: flex; align-items: center; }
.needle-tip {
  width: 0; height: 0;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 6px solid #00bfff;
  flex-shrink: 0;
  transition: border-left-color 0.4s;
}
.needle-rule {
  flex: 1;
  height: 1px;
  background: rgba(0,191,255,0.35);
}

/* Zone name label at bottom */
.gauge-zone-name {
  width: 100%;
  padding: 0.5rem 4px;
  text-align: center;
  font-family: 'Roboto Mono', monospace;
  font-size: 0.38rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #00d68f;
  transition: color 0.4s;
  border-top: 1px solid rgba(30,115,190,0.2);
  flex-shrink: 0;
}

/* Legacy classes — hidden, replaced by JS injection */
.gauge-label, .gauge-depth-val, .gauge-m, .gauge-bar { display: none; }

@media (max-width: 900px) {
  #depth-gauge { display: none; }
}
@media print {
  #depth-gauge { display: none !important; }
}
