/* ENRgy Maps — jetons communs (coque + observatoire). Aucune police externe : l'app doit marcher hors ligne. */
:root{
  --bg:#f3f5f8; --surface:#ffffff; --surface2:#e9eef4; --fg:#142033; --muted:#55627a; --line:#cfd8e3;
  --accent:#1f5fae; --accent-fg:#ffffff; --accent-soft:#dbe7f6; --focus:#1f5fae;
  --obs-bg:#dde9f7; --obs-fg:#102c52; --obs-edge:#1f5fae;
  --sim-bg:#f7e6c8; --sim-fg:#4d3304; --sim-edge:#b26d00;
  --warn-bg:#b3261e; --warn-fg:#ffffff;
  --nodata:#d9dee5; --nodata-line:#9aa5b4; --zone-stroke:#ffffff; --sea:#eef3f9;
  /* rampe bleue de la carte : q0 clair → q5 foncé */
  --q0:#e3eefa; --q1:#bcd6f1; --q2:#8cb8e4; --q3:#5a95d0; --q4:#2f6fb4; --q5:#0f437f;
  /* filières */
  --cat-solar:#e8a400; --cat-wind_onshore:#2aa198; --cat-wind_offshore:#137a8a; --cat-wind_unspecified:#1f8f91; --cat-hydro_unspecified:#2c66b8;
  --cat-hydro_run_of_river:#3d7fd9; --cat-hydro_reservoir:#1f4f9a; --cat-hydro_pumped_storage:#7f9fc4;
  --cat-battery_storage:#9db3c9; --cat-biomass:#5e9b3c; --cat-geothermal:#b0723a; --cat-marine:#2e8fb8;
  --cat-other_renewable:#8cbf5a; --cat-nuclear:#8155c6; --cat-gas:#d9722a; --cat-coal_derived_gas:#6b5a4c;
  --cat-hard_coal:#3a3f46; --cat-lignite:#7a5537; --cat-oil:#a3402b; --cat-oil_shale:#7d2f22;
  --cat-peat:#8d6e52; --cat-waste:#9a8f7e; --cat-other:#8c9296;
  --load-line:#142033;
  --f-ui:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --f-display:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --f-mono:"Cascadia Mono",Consolas,ui-monospace,"SFMono-Regular",monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0d1420; --surface:#141d2c; --surface2:#1b2738; --fg:#e6edf6; --muted:#9fb0c6; --line:#2a3a51;
  --accent:#7fb3f0; --accent-fg:#071426; --accent-soft:#1d3555; --focus:#9cc6ff;
  --obs-bg:#15304f; --obs-fg:#d9e8fb; --obs-edge:#7fb3f0;
  --sim-bg:#3d2c0c; --sim-fg:#f6dfae; --sim-edge:#e0a138;
  --warn-bg:#c9372c; --warn-fg:#ffffff;
  --nodata:#2a3444; --nodata-line:#55657c; --zone-stroke:#0d1420; --sea:#101a29;
  --q0:#1b2c44; --q1:#1f4170; --q2:#2b5f9e; --q3:#4383c8; --q4:#74aee6; --q5:#b8dbff;
  --cat-solar:#f2b705; --cat-wind_onshore:#3cc9b6; --cat-wind_offshore:#2aa3b8; --cat-wind_unspecified:#33b6b7; --cat-hydro_unspecified:#5389e6; --cat-hydro_run_of_river:#6aa5ff;
  --cat-hydro_reservoir:#4170c9; --cat-hydro_pumped_storage:#9cb8da; --cat-battery_storage:#b6c7d8;
  --cat-biomass:#82c65c; --cat-geothermal:#d39257; --cat-marine:#53b4dc; --cat-other_renewable:#a8d47a;
  --cat-nuclear:#a583e6; --cat-gas:#f0913f; --cat-coal_derived_gas:#a18b78; --cat-hard_coal:#8e969e;
  --cat-lignite:#a77d5a; --cat-oil:#d26c56; --cat-oil_shale:#b65746; --cat-peat:#b3967a; --cat-waste:#c0b5a3;
  --cat-other:#a8adb1; --load-line:#f4f7fb;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0d1420; --surface:#141d2c; --surface2:#1b2738; --fg:#e6edf6; --muted:#9fb0c6; --line:#2a3a51;
  --accent:#7fb3f0; --accent-fg:#071426; --accent-soft:#1d3555; --focus:#9cc6ff;
  --obs-bg:#15304f; --obs-fg:#d9e8fb; --obs-edge:#7fb3f0;
  --sim-bg:#3d2c0c; --sim-fg:#f6dfae; --sim-edge:#e0a138;
  --warn-bg:#c9372c; --warn-fg:#ffffff;
  --nodata:#2a3444; --nodata-line:#55657c; --zone-stroke:#0d1420; --sea:#101a29;
  --q0:#1b2c44; --q1:#1f4170; --q2:#2b5f9e; --q3:#4383c8; --q4:#74aee6; --q5:#b8dbff;
  --cat-solar:#f2b705; --cat-wind_onshore:#3cc9b6; --cat-wind_offshore:#2aa3b8; --cat-wind_unspecified:#33b6b7; --cat-hydro_unspecified:#5389e6; --cat-hydro_run_of_river:#6aa5ff;
  --cat-hydro_reservoir:#4170c9; --cat-hydro_pumped_storage:#9cb8da; --cat-battery_storage:#b6c7d8;
  --cat-biomass:#82c65c; --cat-geothermal:#d39257; --cat-marine:#53b4dc; --cat-other_renewable:#a8d47a;
  --cat-nuclear:#a583e6; --cat-gas:#f0913f; --cat-coal_derived_gas:#a18b78; --cat-hard_coal:#8e969e;
  --cat-lignite:#a77d5a; --cat-oil:#d26c56; --cat-oil_shale:#b65746; --cat-peat:#b3967a; --cat-waste:#c0b5a3;
  --cat-other:#a8adb1; --load-line:#f4f7fb;
  color-scheme:dark}

*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--f-ui);font-size:14px;line-height:1.45}
button,select,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mono,.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
