html,
body {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  background: #f3f6ff;
  color: #0f2557;
}

@media (prefers-color-scheme: dark) {
  body {
    background: #0f2557;
    color: #e8edf7;
  }

  /* Map control buttons (navigation + draw tools) */
  .maplibregl-ctrl-group {
    background: #111a2e !important;
    box-shadow:
      0 0 0 1px rgba(232, 237, 247, 0.12),
      0 2px 8px rgba(0, 0, 0, 0.5) !important;
  }
  .maplibregl-ctrl-group button + button {
    border-top-color: rgba(232, 237, 247, 0.1) !important;
  }
  .maplibregl-ctrl-group button:hover {
    background-color: rgba(0, 0, 0, 0.15) !important;
  }

  /* Attribution control */
  .maplibregl-ctrl-attrib {
    background-color: rgba(17, 26, 46, 0.85) !important;
  }
  .maplibregl-ctrl-attrib-inner,
  .maplibregl-ctrl-attrib-inner a {
    color: rgba(232, 237, 247, 0.55) !important;
  }
  .maplibregl-ctrl-attrib button {
    filter: invert(1);
  }

  /* Scale control */
  .maplibregl-ctrl-scale {
    background-color: rgba(17, 26, 46, 0.8) !important;
    border-color: rgba(232, 237, 247, 0.3) !important;
    color: rgba(232, 237, 247, 0.8) !important;
  }
}

.root {
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media print {
  * {
    height: auto !important;
    overflow: visible !important;
  }
}
