  :root{
    --anomaly:#d98cff;
    --bg:#070b12; --panel:rgba(12,18,28,.9); --panel-border:rgba(120,160,200,.18);
    --text:#dfe9f4; --muted:#8aa0b8; --faint:#5d7088;
    --shadow-fleet:#ff3b3b; --sanctioned:#ff9e2c; --watchlist:#ffd23f; --unlisted:#7d8ea3; --good-side:#3ddc97;
    --strait:#4aa3ff; --port:#ffb347;
    --header-height:56px;
  }
  *{box-sizing:border-box}
  html,body{height:100%;width:100%;margin:0;padding:0;overflow:hidden;
    background:var(--bg);color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
  #map{position:absolute;inset:0}
  a{color:#8cc8ff}

  /* --- Titelrad (samma fyr som översiktsläget) --- */
  #brand{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:5;
    display:flex;align-items:center;gap:9px;pointer-events:none;white-space:nowrap}
  #brand h1{font-size:18px;letter-spacing:3px;margin:0;font-weight:600;
    text-shadow:0 0 12px rgba(255,59,59,.45)}
  #brand .mode{font-size:11px;letter-spacing:2px;color:var(--shadow-fleet);font-weight:700;
    border:1px solid rgba(255,59,59,.5);border-radius:6px;padding:2px 6px}
  .fyr svg{display:block;overflow:visible}
  .fyr .tower,.fyr .base{fill:#cfe8f2}
  .fyr .house{fill:#9ab4c6}
  .fyr .lamp{fill:#fff0f0;filter:drop-shadow(0 0 4px var(--shadow-fleet)) drop-shadow(0 0 7px var(--shadow-fleet));
    animation:flash 4.5s infinite}
  @keyframes flash{0%{opacity:1} 6%{opacity:1} 7%{opacity:.12}
    20%{opacity:.12} 21%{opacity:1} 28%{opacity:1} 29%{opacity:.12} 100%{opacity:.12}}

  #toggle{position:absolute;top:14px;left:14px;z-index:6;width:36px;height:36px;
    border-radius:9px;border:1px solid var(--panel-border);background:var(--panel);
    color:var(--text);cursor:pointer;font-size:17px;backdrop-filter:blur(10px)}
  #backdrop{position:absolute;inset:0;z-index:3;background:rgba(0,0,0,.5);
    opacity:0;pointer-events:none;transition:opacity .25s ease}
  #backdrop.show{opacity:1;pointer-events:auto}
  @media (min-width:641px){ #backdrop{display:none} }

  /* --- Vänsterpanel: flöde, legend, källor --- */
  #panel{position:absolute;top:calc(var(--header-height) + 4px);left:14px;bottom:14px;z-index:4;
    width:340px;display:flex;flex-direction:column;background:var(--panel);
    border:1px solid var(--panel-border);border-radius:12px;backdrop-filter:blur(10px);
    transition:transform .25s ease,opacity .25s ease;overflow:hidden}
  #panel.collapsed{transform:translateX(calc(-100% - 20px));opacity:0;pointer-events:none}
  #panel .scroll{overflow-y:auto;flex:1;padding-bottom:8px}
  .sec{padding:10px 14px;border-bottom:1px solid var(--panel-border)}
  .sec h2{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);
    margin:0 0 8px;font-weight:600;display:flex;align-items:center;justify-content:space-between}
  .sec h2 .n{color:var(--text);letter-spacing:0}
  .nav{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--panel-border)}
  .nav a{flex:1;text-align:center;font-size:12px;font-weight:600;text-decoration:none;
    color:var(--text);padding:7px 6px;border-radius:8px;border:1px solid var(--panel-border);
    background:rgba(28,110,164,.14)}
  .nav a:hover{background:rgba(28,110,164,.30)}

  .legend label{display:flex;align-items:center;gap:8px;font-size:13px;padding:3px 0;cursor:pointer}
  .legend .sw{width:11px;height:11px;border-radius:50%;flex:none}
  .legend .cnt{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}
  .legend-ring{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:3px 0}
  .legend-ring .ring-sw{width:11px;height:11px;border-radius:50%;flex:none;border:2px solid var(--anomaly);box-sizing:border-box}
  .legend .zone-sw{width:14px;height:9px;border-radius:2px;flex:none}
  .hint{font-size:11px;color:var(--faint);line-height:1.4;margin-top:6px}

  .summary{display:grid;grid-template-columns:1fr auto auto;gap:2px 10px;font-size:12px}
  .summary .h{color:var(--faint);font-size:10px;text-transform:uppercase;letter-spacing:1px}
  .summary .r{text-align:right;font-variant-numeric:tabular-nums}
  .summary .red{color:var(--shadow-fleet)}

  .feed-tools{display:flex;gap:6px;margin-bottom:8px}
  .chip{appearance:none;font-size:11px;padding:4px 8px;border-radius:12px;cursor:pointer;
    border:1px solid var(--panel-border);background:transparent;color:var(--muted)}
  .chip.on{background:rgba(255,59,59,.16);border-color:rgba(255,59,59,.5);color:var(--text)}
  .ev{padding:8px 0;border-top:1px solid rgba(120,160,200,.08);font-size:13px;line-height:1.4;cursor:pointer}
  .ev:first-child{border-top:none}
  .ev:hover .ev-name{text-decoration:underline}
  .ev .ev-top{display:flex;align-items:baseline;gap:6px}
  .ev .dot{width:8px;height:8px;border-radius:50%;flex:none;transform:translateY(-1px)}
  .ev .ev-name{font-weight:700}
  .ev .ev-time{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}
  .ev .ev-sub{color:var(--muted);font-size:12px;margin-top:2px}
  .ev .live{color:#6dffa8;font-size:10px;font-weight:700;letter-spacing:1px}
  .empty{color:var(--muted);font-size:12px;line-height:1.5}
  .conf{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;
    letter-spacing:.4px;text-transform:uppercase;border:1px solid;vertical-align:1px}
  .conf-high{color:#ff8a8a;border-color:rgba(255,138,138,.55);background:rgba(255,59,59,.12)}
  .conf-medium{color:#ffc46b;border-color:rgba(255,196,107,.5);background:rgba(255,158,44,.1)}
  .conf-low{color:#9fb0c3;border-color:rgba(159,176,195,.35)}
  .ev .ev-anom{color:var(--anomaly);font-weight:700;font-size:12px;flex:none}

  .attrib{font-size:11px;color:var(--muted);line-height:1.5}
  .attrib p{margin:0 0 6px}
  .disclaimer{font-size:11px;color:#c9a96a;line-height:1.45;background:rgba(255,179,71,.07);
    border:1px solid rgba(255,179,71,.2);border-radius:8px;padding:8px 10px;margin-bottom:8px}

  /* --- Profilpanel (höger / bottenark på mobil) --- */
  #profile{position:absolute;top:calc(var(--header-height) + 4px);right:14px;bottom:14px;z-index:4;
    width:360px;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;
    backdrop-filter:blur(10px);display:none;flex-direction:column;overflow:hidden}
  #profile.open{display:flex}
  #profile .ph{padding:12px 14px 10px;border-bottom:1px solid var(--panel-border);position:relative}
  #profile .ph h3{margin:0 30px 4px 0;font-size:17px;line-height:1.25}
  #profile .close{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:7px;
    border:1px solid var(--panel-border);background:transparent;color:var(--text);cursor:pointer;font-size:14px}
  #profile .body{overflow-y:auto;flex:1;padding:4px 14px 14px}
  .badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;
    color:#0b0f16;letter-spacing:.3px}
  .kv{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:13px;margin:6px 0}
  .kv dt{color:var(--muted)}
  .kv dd{margin:0;font-variant-numeric:tabular-nums;word-break:break-word}
  .uncertain{color:#c9a96a;font-size:11px}
  .psec{margin-top:12px}
  .psec h4{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);
    margin:0 0 6px;font-weight:600}
  .listing{font-size:12px;line-height:1.45;padding:6px 8px;border-radius:8px;
    background:rgba(255,255,255,.03);border:1px solid rgba(120,160,200,.1);margin-bottom:6px}
  .listing.removed{opacity:.55}
  .listing b{font-size:13px}
  .pbtns{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
  .pbtn{appearance:none;font-size:12px;padding:6px 10px;border-radius:8px;cursor:pointer;
    border:1px solid var(--panel-border);background:rgba(28,110,164,.14);color:var(--text)}
  .pbtn:hover{background:rgba(28,110,164,.3)}
  .pbtn.on{border-color:rgba(255,59,59,.55);background:rgba(255,59,59,.14)}

  /* Statusrad nere till höger */
  #status{position:absolute;right:56px;bottom:10px;z-index:2;font-size:11px;color:var(--muted);
    background:rgba(7,11,18,.7);padding:3px 8px;border-radius:6px;pointer-events:none}
  #profile.open ~ #status{display:none}

  .maplibregl-popup-content{background:#0e1622;color:var(--text);border:1px solid var(--panel-border);
    border-radius:8px;padding:6px 10px;font-size:12px}
  .maplibregl-popup-tip{border-top-color:#0e1622 !important;border-bottom-color:#0e1622 !important}
  .maplibregl-ctrl-attrib{font-size:10px}

  @media (max-width:640px){
    #brand h1{font-size:15px;letter-spacing:2px}
    #brand .mode{display:none}
    #panel{left:0;right:0;width:auto;top:0;bottom:0;border-radius:0;z-index:7;padding-top:50px}
    #panel.collapsed{transform:translateX(-100%)}
    #toggle{z-index:8}
    #profile{left:0;right:0;bottom:0;top:auto;width:auto;max-height:62%;border-radius:14px 14px 0 0;z-index:6}
    #status{right:10px;bottom:auto;top:56px}
  }

  #loading-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;
    background:var(--bg);color:#94a3b8;font-size:.9rem}

  /* --- Om skuggflottan (text för läsare och sökmotorer) --- */
  .about p{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 6px}
  .about p:last-child{margin-bottom:0}
