/* LYFE situatiebeeld — HUD boven de kaart. Vorm uit BEELDTAAL.md §5:
   chips 14 px, knoppen pil, één schaduw, geen kaart-op-kaart. */
/* De component brengt zijn eigen vorm-tokens mee, zodat hij ook past in een
   pagina die tokens.css niet op :root heeft staan (de huidige homepage). */
.lyfe-sit{
  position:relative;overflow:hidden;background:var(--map-sea);isolation:isolate;
  --font-display:"Urbanist",ui-sans-serif,system-ui,sans-serif;
  --font-body:"DM Sans",ui-sans-serif,system-ui,sans-serif;
  --font-data:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --radius-chip:14px; --radius-card:16px; --radius-button:999px;
  --shadow-soft:0 8px 24px rgba(10,30,40,.14);
}
.lyfe-sit-map{position:absolute;inset:0}
.lyfe-sit-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}
.lyfe-sit-hud{position:absolute;inset:0;z-index:3;pointer-events:none;font-family:var(--font-display)}
.lyfe-sit-hud > *{pointer-events:auto}

.lyfe-sit-boat,.lyfe-sit-chip,.lyfe-sit-foot .lyfe-sit-scale{
  background:color-mix(in srgb,var(--surface) 90%,transparent);
  border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);
  border-radius:var(--radius-chip);
  box-shadow:var(--shadow-soft);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.lyfe-sit-boat{position:absolute;left:16px;top:16px;display:grid;gap:2px;padding:10px 14px;max-width:min(340px,calc(100% - 32px))}
.lyfe-sit-name{display:flex;align-items:center;gap:8px;font-weight:800;font-size:17px;letter-spacing:-.01em;color:var(--ink)}
.lyfe-sit-name i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 20%,transparent)}
.lyfe-sit-boat.is-stale .lyfe-sit-name i{background:var(--ink-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink-3) 20%,transparent)}
.lyfe-sit-state{font-family:var(--font-body);font-size:12.5px;color:var(--ink-2)}
.lyfe-sit-state b{color:var(--ink);font-weight:600}
.lyfe-sit-state b.bad{color:var(--alarm);text-transform:capitalize}
.lyfe-sit-fresh{font-family:var(--font-body);font-size:11.5px;color:var(--ink-3)}

.lyfe-sit-chips{position:absolute;left:16px;right:16px;bottom:56px;display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;pointer-events:none}
.lyfe-sit-chip{display:grid;gap:1px;min-width:92px;padding:8px 12px;pointer-events:auto}
.lyfe-sit-chip .lyfe-data{font-size:20px;line-height:1.15;color:var(--ink)}
.lyfe-sit-chip.warn .lyfe-data{color:var(--warn)}

.lyfe-sit-foot{position:absolute;left:16px;right:16px;bottom:16px;display:flex;gap:10px;align-items:center;pointer-events:none}
.lyfe-sit-scale{display:inline-flex;align-items:center;gap:8px;padding:6px 10px}
.lyfe-sit-scale b{display:block;height:2px;min-width:20px;background:var(--ink);border-radius:2px}
.lyfe-sit-scale span{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.lyfe-sit-source{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:color-mix(in srgb,var(--surface) 82%,transparent);border-radius:var(--radius-button);padding:4px 9px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lyfe-sit-foot{overflow:hidden}
.lyfe-sit-note{margin-left:2px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 55%,transparent);text-shadow:0 1px 6px color-mix(in srgb,var(--surface) 70%,transparent)}

.lyfe-sit-hud.bare .lyfe-sit-chips{display:none}
.lyfe-sit .maplibregl-ctrl-attrib{font-family:var(--font-body);font-size:10px}
.lyfe-sit .maplibregl-ctrl-bottom-left{z-index:1}

@media (max-width:640px){
  /* Eén schermbreedte is smal: het kaartje kleiner, de chips op één rij die je
     opzij schuift in plaats van een blok dat over de kaart heen wikkelt. */
  .lyfe-sit-boat{left:10px;top:10px;padding:8px 11px;max-width:calc(100% - 82px)}
  .lyfe-sit-name{font-size:15px}
  .lyfe-sit-state{font-size:12px}
  .lyfe-sit-fresh{font-size:10.5px}
  .lyfe-sit-chips{
    left:0;right:0;bottom:44px;padding:0 10px;gap:6px;
    flex-wrap:nowrap;overflow-x:auto;pointer-events:auto;
    scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;
  }
  .lyfe-sit-chips::-webkit-scrollbar{display:none}
  .lyfe-sit-chip{flex:0 0 auto;min-width:0;padding:6px 10px}
  .lyfe-sit-chip .lyfe-data{font-size:16px}
  .lyfe-sit-foot{left:10px;right:44px;bottom:9px;gap:6px}
  .lyfe-sit-scale{padding:4px 8px}
  .lyfe-sit-scale span{font-size:9.5px}
  .lyfe-sit-source{font-size:9px;padding:4px 8px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .lyfe-sit-scale{flex:0 0 auto}
  .lyfe-sit-note{display:none}
  .lyfe-sit .maplibregl-ctrl-attrib{font-size:9px}
  .lyfe-sit .maplibregl-ctrl-bottom-right{bottom:34px}
}

/* Nachtstand op blokniveau. tokens.css zet de nachtkleuren alleen op :root
   ([data-theme="night"] op html), maar een licht blok op een donkere pagina —
   zoals het vlootblok op de homepage — moet los kunnen schakelen.
   Waarden gelijk aan BEELDTAAL.md §3 / tokens.css; staat in NAAR-BREIN.md als
   voorstel om de selector in het brein te verbreden zodat deze kopie weg kan. */
.lyfe-sit[data-theme="night"]{
  --ground:#0E161B; --surface:#152028;
  --ink:#E6ECEE; --ink-2:#A7B5BC; --ink-3:#7A8A92; --line:#26343C;
  --accent:#3EC1CC; --accent-soft:#163A40; --ok:#4CBF7E;
  --alarm:#FF5A5A; --warn:#F2A65A; --anchor:#4FD1E0;
  --map-sea:#0C3242; --map-sea-deep:#06202C; --map-shallow:#1E5A6B;
  --map-land:#2C3E49; --map-land-edge:#546875; --map-vessel:#ECF2F4;
}
.lyfe-sit[data-theme="day"]{
  --ground:#F3F5F4; --surface:#FFFCF6;
  --ink:#12283A; --ink-2:#4C6273; --ink-3:#7F929F; --line:#D9E0E2;
  --accent:#0F7C86; --accent-soft:#DDEFF0; --ok:#2F9A63;
  --alarm:#DF3F3F; --warn:#E28B2E; --anchor:#17BBCB;
  --map-sea:#2FB4BF; --map-sea-deep:#1E9AA8; --map-shallow:#8ADFDD;
  --map-land:#EDE2C3; --map-land-edge:#DCCB9F; --map-vessel:#FFFCF6;
}

/* Kaartje van een aangeklikt AIS-doel. Rechtsboven, onder de zoomknoppen. */
.lyfe-sit-target{
  position:absolute;right:16px;top:88px;z-index:4;
  min-width:190px;max-width:min(260px,calc(100% - 32px));
  padding:10px 12px 9px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);
  border-radius:var(--radius-chip);box-shadow:var(--shadow-soft);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.lyfe-sit-tname{font-family:var(--font-display);font-weight:800;font-size:14px;letter-spacing:-.01em;color:var(--ink);padding-right:18px;text-transform:uppercase}
.lyfe-sit-trows{margin-top:6px;display:grid;gap:3px}
.lyfe-sit-trows div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.lyfe-sit-trows span{font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.lyfe-sit-trows b{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600;color:var(--ink)}
.lyfe-sit-close{
  position:absolute;right:6px;top:5px;appearance:none;border:0;background:transparent;
  color:var(--ink-3);font:400 18px/1 var(--font-display);cursor:pointer;padding:2px 6px;border-radius:999px;
}
.lyfe-sit-close:hover{color:var(--ink)}
.lyfe-sit-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lyfe-sit-map{cursor:default}

@media (max-width:640px){
  .lyfe-sit-target{right:10px;top:auto;bottom:96px;left:10px;max-width:none;min-width:0}
  .lyfe-sit-trows{grid-template-columns:1fr 1fr;gap:3px 14px}
}
