/*
 * OptiWake P40 compact map profile.
 * One profile for boat symbols, labels and desktop map controls.
 */

:root {
  --ow-map-boat-scale: 0.78;
  --ow-map-label-font-size: 9px;
}

/* LIVE: keep the geographic anchor while reducing the visual sail. */
.ow-live-standard-boat-svg-r2j {
  scale: var(--ow-map-boat-scale) !important;
  transform-origin: 39px 46px !important;
}

.ow-live-standard-label-r2j,
.leaflet-tooltip.tracker-label,
.leaflet-tooltip.ow-tracker-map-label {
  font-size: var(--ow-map-label-font-size) !important;
}

.ow-live-standard-label-r2j {
  padding: 2px 5px !important;
}

.leaflet-tooltip.tracker-label,
.leaflet-tooltip.ow-tracker-map-label {
  padding: 2px 5px !important;
  border-radius: 7px !important;
}

/* REPLAY: transform is used for heading, so scale is kept independent. */
.ow-rv4e-boat-svg {
  scale: var(--ow-map-boat-scale) !important;
  transform-origin: 75px 108px !important;
}

.ow-rv4e-label {
  padding: 1px 5px !important;
  font-size: var(--ow-map-label-font-size) !important;
  box-shadow: 0 1px 5px rgba(15, 23, 42, 0.15) !important;
}

/* Legacy Race Lab renderer remains compact if it becomes the fallback. */
.ow-rlb-boat,
.ow-rlb-svg {
  width: 48px !important;
  height: 45px !important;
}

.ow-rlb-label {
  top: -10px !important;
  padding: 2px 5px !important;
  font-size: var(--ow-map-label-font-size) !important;
}

@media (min-width: 901px) {
  :root {
    --opti-sidebar-width: 280px !important;
  }

  .app-sidebar {
    font-size: 10px !important;
  }

  .app-sidebar .app-view-panel {
    padding: 6px !important;
  }

  .app-sidebar .app-module-card,
  .app-sidebar .training-panel,
  .app-sidebar .settings-section {
    margin-bottom: 6px !important;
    padding: 7px !important;
    border-radius: 9px !important;
  }

  .app-sidebar h2 {
    margin-bottom: 5px !important;
    font-size: 12px !important;
  }

  .app-sidebar h3,
  .app-sidebar legend {
    font-size: 10px !important;
  }

  .app-sidebar label,
  .app-sidebar p {
    font-size: 9px !important;
  }

  .app-sidebar input,
  .app-sidebar select,
  .app-sidebar textarea {
    min-height: 28px !important;
    padding: 4px 6px !important;
    font-size: 9px !important;
  }

  .app-sidebar button,
  .app-sidebar .simulator-button {
    min-height: 29px !important;
    padding: 5px 7px !important;
    font-size: 9px !important;
  }

  #ow-analysis-v2-toolbar {
    left: calc(var(--opti-sidebar-width) + 16px) !important;
    bottom: 12px !important;
    gap: 8px !important;
  }

  .ow-analysis-v2-btn {
    height: 38px !important;
    min-width: 148px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-size: 11px !important;
  }

  .racelab-time-controls {
    bottom: 10px !important;
    gap: 3px !important;
    min-height: 40px !important;
    padding: 4px 6px !important;
    border-radius: 12px !important;
  }

  .racelab-control-button {
    height: 30px !important;
    min-width: 34px !important;
    padding: 0 7px !important;
    border-radius: 8px !important;
    font-size: 10px !important;
  }

  #ow-race-lite-panel {
    right: 12px !important;
    bottom: 12px !important;
  }

  #ow-race-lite-panel .ow-race-lite-box {
    width: 330px !important;
  }

  #ow-race-lite-panel .ow-race-lite-toggle {
    padding: 6px 9px !important;
    font-size: 10px !important;
  }

  #ow-race-lite-panel .ow-race-lite-head {
    padding: 7px 9px !important;
    font-size: 10px !important;
  }

  #ow-race-lite-panel table {
    font-size: 9px !important;
  }

  #ow-race-lite-panel th,
  #ow-race-lite-panel td {
    padding: 4px 5px !important;
  }
}
