/* css/25-perf-mode.css — PERFORMANCE MODE flat-glass overrides (body.perf).
   Split from the index.html <style> block (REFACTOR-PLAN Phase 2). Load order = cascade order; do not reorder. */
/* =====================================================================
   PERFORMANCE MODE — flat glass (perf audit P3)
   ~30 backdrop-filter surfaces recomposite everything behind them on every
   frame that moves. On Drive several sit directly over the live MapLibre
   canvas at once (.dpanel, .hudstats, .mapctl, .recenter, nav.dock, the camera
   tile labels) -- during a patrol that's every frame, and it is likely the
   single largest sustained GPU cost in the app (docs/PERFORMANCE.md P3).

   togglePerfMode() already exists, already flips S.perf and persists it
   (localStorage 'baseer.perf') -- it just never set the `body.perf` class
   this block reads. That is the only JS-side change (see togglePerfMode()
   and the boot restore near the end of the inline script). With perf mode
   off -- the client demo default -- none of these rules match, so nothing
   here changes what ships today.

   Every surface keeps its background on the SAME two-token glass system
   it already uses (--glass / --glass-solid), just without the blur: the
   0.55-alpha --glass token reads thin/smudgy with no blur behind it over a
   moving satellite tile, so those surfaces move to the already-opaque
   --glass-solid (0.80) rather than a new colour. .camstatus
   (Cameras) use a near-identical hand-rolled dark rgba() and are folded
   into the same token for the same reason. The two low-alpha tinted chips
   (.pileup amber queue / .oos out-of-sector) keep their own hue -- that's
   the colour coding they exist for -- and are just made more opaque. The
   lighter modal scrims (.sheet / .dlg) get the same treatment so a header
   sheet or dialog doesn't go see-through over whatever screen is behind it.
   ===================================================================== */
body.perf .glass,
body.perf .toast,
body.perf .panel,
body.perf .startcard,
body.perf .sumheroes .t,
body.perf .sumcard,
body.perf .sumchips .c,
body.perf #view-drive #cardSlot .inc-card,
body.perf #view-drive #list .inc-card{
  background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}
/* client pass (14 Sep): the left column has no surface of its own any more
   (css/06), so perf mode has nothing to make opaque here -- .dpanel and the
   portrait .dp-head/.dp-body must stay transparent in perf mode too, or the
   panel the client asked us to remove comes back as a solid slab. */
/* already on --glass-solid: only the blur needs to go */
body.perf .sheet .box,
body.perf .mapctl .iconbtn,
body.perf .recenter,
body.perf .bpop .maplibregl-popup-content,
body.perf .hstat,
body.perf nav.dock,
body.perf .sm-chip,
body.perf .sm-legend,
body.perf .dlg .box,
body.perf .tile .lab,
body.perf .tile .camx{
  -webkit-backdrop-filter:none;backdrop-filter:none}
/* near-opaque scrims already read fine without the blur */
body.perf .calcveil,
body.perf #inboxSheet,
body.perf #incSheet .media .vctl{
  -webkit-backdrop-filter:none;backdrop-filter:none}
/* Cameras: same dark hand-rolled rgba() as --glass-solid, folded into the token */
body.perf .carpane,
body.perf .tile .playg{
  background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}
/* own tint kept (it's the colour coding), just opaque enough without blur */
body.perf .pileup{background:rgba(255,159,67,.34);-webkit-backdrop-filter:none;backdrop-filter:none}
body.perf .oos{background:rgba(255,159,67,.36);-webkit-backdrop-filter:none;backdrop-filter:none}
/* the two lighter full-screen scrims get a small opacity bump so they don't
   go see-through once the blur is gone */
body.perf .sheet{background:rgba(7,10,11,.86);-webkit-backdrop-filter:none;backdrop-filter:none}
body.perf .dlg{background:rgba(7,10,11,.88);-webkit-backdrop-filter:none;backdrop-filter:none}

/* the panel surface is gone for good (css/06); perf mode keeps it gone. */
body.perf .dpanel,
body.perf .dpanel.ghost{background:transparent;border-color:transparent;box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none}
