


.sc { margin: 2px 0 8px; font-size: var(--cs-2); }
.sc-glowa { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin: 0 28px 8px 0; }
.sc-tytul { margin: 0; font-size: var(--cs-4); letter-spacing: .04em; margin-right: auto; }
.sc-dot { display: inline-block; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--own, var(--accent)); box-shadow: 0 0 0 1px rgba(0,0,0,.45); }
.sc-ja, .sc-btn, .sc-ak, .sc-tab {
  font: inherit; color: var(--txt); cursor: pointer; border: 1px solid var(--pv-line); border-radius: 6px;
  background: var(--pv-color-rail-tintA045); touch-action: manipulation;
}
.sc-ja { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; min-height: 32px; }
.sc-ja b { color: var(--ownT, var(--txt)); }
.sc-ja small { color: var(--txt-dim); font-size: var(--cs-1); }
.sc-btn { padding: 4px 10px; min-height: 32px; }
.sc-btn:hover, .sc-ak:hover, .sc-tab:hover, .sc-ja:hover { border-color: var(--accent); }
.sc-prime { border-color: var(--accent); color: var(--accent); }
.sc-tabs { display: flex; gap: 4px; flex-wrap: wrap; margin: 0 0 8px; border-bottom: 1px solid var(--pv-line); padding-bottom: 6px; }
.sc-tab { padding: 4px 11px; min-height: 32px; display: inline-flex; align-items: center; gap: 5px; }
.sc-tab small { color: var(--txt-dim); font-variant-numeric: tabular-nums; }
.sc-tab.on { border-color: var(--accent); color: var(--accent); background: var(--pv-color-rail-tintA14); }
.sc-alarm { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--pv-color-signal-danger, #ff6b8a); box-shadow: 0 0 8px var(--pv-color-signal-danger, #ff6b8a); }
.sc-opis, .sc-komunikat { margin: 0 0 8px; color: var(--txt-dim); }
.sc-komunikat { padding: 8px 10px; border: 1px dashed var(--pv-line); border-radius: 6px; }
.sc-h4 { margin: 12px 0 6px; font-size: var(--cs-2); letter-spacing: .06em; text-transform: uppercase; color: var(--txt-dim); }


.sc-lista { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.sc-g {
  display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; grid-template-areas: "dot kto akcje" "dot stan akcje";
  align-items: center; gap: 2px 8px;
  padding: 5px 8px; border: 1px solid var(--pv-line); border-left: 3px solid var(--own, var(--pv-line)); border-radius: 6px;
  background: var(--pv-color-rail-tintA045);
}
.sc-g-blisko { background: var(--pv-color-rail-tintA07); }
.sc-kto { display: flex; flex-direction: column; min-width: 0; }
.sc-kto b { color: var(--ownT, var(--txt)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-kto small { color: var(--txt-dim); font-size: var(--cs-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-emb { display: flex; width: 22px; }
.sc-g:has(.sc-emb) { grid-template-columns: 22px minmax(0, 1fr) auto; }
.sc-stan { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.sc-kiedy { color: var(--txt-dim); font-size: var(--cs-1); white-space: nowrap; }
.sc-on { font-style: normal; color: var(--pv-color-signal-ok, #7fe8a8); display: inline-flex; align-items: center; gap: 4px; }
.sc-on::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 6px currentColor; }
.sc-chip { display: inline-block; padding: 0 7px; border-radius: 9px; border: 1px solid var(--pv-line); font-size: var(--cs-1); white-space: nowrap; }
.sc-rk { color: var(--txt); border-color: var(--txt-dim); font-weight: 600; }
.sc-rel-wojna, .sc-rel-wrogi { color: var(--pv-color-signal-danger, #ff6b8a); border-color: currentColor; }
.sc-rel-przyjazny { color: var(--pv-color-signal-ok, #7fe8a8); border-color: currentColor; }
.sc-rel-neutralny { color: var(--txt-dim); }
.sc-rk-wielkie { color: var(--accent); border-color: currentColor; }
.sc-akcje { display: flex; gap: 4px; }
.sc-ak { width: 32px; height: 32px; padding: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; }
.sc-ak-raid { color: var(--pv-color-signal-danger, #ff6b8a); }
@media (pointer: coarse) { .sc-ak { width: 40px; height: 40px; } }

.sc-g > .sc-dot, .sc-g > .sc-emb { grid-area: dot; }
.sc-g > .sc-kto { grid-area: kto; }
.sc-g > .sc-stan { grid-area: stan; justify-content: flex-start; }
.sc-g > .sc-akcje { grid-area: akcje; }


.sc-g > .kt-karta { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 4px; margin-top: 4px; padding-top: 6px; border-top: 1px dashed var(--pv-line); }
.kt-chip-postep { color: var(--txt); font-weight: 600; border-color: var(--txt-dim); }
.kt-chip-ok { color: var(--pv-color-signal-ok, #7fe8a8); border-color: currentColor; font-weight: 600; }

.kt-ocena { color: var(--txt); font-size: var(--cs-1); font-variant-numeric: tabular-nums; }
.kt-deficyt { color: var(--accent); font-size: var(--cs-1); font-weight: 600; }

.kt-domyslny { margin: 0 0 8px; padding: 6px 8px; border: 1px solid var(--pv-line); border-radius: 6px; background: var(--pv-color-rail-tintA045); }
.kt-domyslny > small { display: block; color: var(--txt-dim); font-size: var(--cs-1); margin-bottom: 4px; }
.kt-protokoly { display: flex; flex-wrap: wrap; gap: 4px; }
.kt-btn {
  font: inherit; font-size: var(--cs-1); color: var(--txt); cursor: pointer; touch-action: manipulation;
  border: 1px solid var(--pv-line); border-radius: 6px; background: var(--pv-color-rail-tintA045);
  padding: 3px 8px; min-height: 30px;
}
.kt-btn:hover { border-color: var(--accent); }

.kt-btn.on { border-width: 2px; font-weight: 700; box-shadow: inset 0 0 0 1px currentColor; }
.kt-btn[data-kt-protokol="proaktywny"].on, .kt-btn[data-kt-domyslny="proaktywny"].on { color: var(--pv-color-signal-ok, #7fe8a8); border-color: currentColor; background: color-mix(in srgb, var(--pv-color-signal-ok, #7fe8a8) 26%, transparent); }
.kt-btn[data-kt-protokol="ostrozny"].on, .kt-btn[data-kt-domyslny="ostrozny"].on { color: var(--accent); border-color: currentColor; background: var(--pv-color-rail-tintA14); }
.kt-btn[data-kt-protokol="agresywny"].on, .kt-btn[data-kt-domyslny="agresywny"].on { color: var(--pv-color-signal-danger, #ff6b8a); border-color: currentColor; background: color-mix(in srgb, var(--pv-color-signal-danger, #ff6b8a) 26%, transparent); }
@media (pointer: coarse) { .kt-btn { min-height: 36px; padding: 4px 10px; } }


.sc-picker { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 0 0 10px; padding: 8px; border: 1px solid var(--pv-line); border-radius: 6px; }
.sc-sw { width: 28px; height: 28px; border-radius: 50%; border: 2px solid rgba(0,0,0,.35); background: var(--sw); cursor: pointer; padding: 0; font: inherit; font-size: var(--cs-1); font-weight: 700; color: #111; }
.sc-sw.on { outline: 2px solid var(--txt); outline-offset: 2px; }
.sc-wlasny { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px 2px 2px; border: 1px solid var(--pv-line); border-radius: 16px; cursor: pointer; color: var(--txt-dim); }
.sc-wlasny.on { border-color: var(--accent); color: var(--txt); }
.sc-wlasny input { width: 26px; height: 26px; border: 0; padding: 0; background: none; cursor: pointer; }
.sc-picker-opis { flex-basis: 100%; color: var(--txt-dim); font-size: var(--cs-1); }


.sc-host .rp-row, .sc-host .ar-row { border-bottom-color: var(--pv-line); }
.sc-host .rp-btn, .sc-host .ar-btn { background: var(--pv-color-rail-tintA07); color: var(--txt); border-color: var(--pv-line); min-height: 28px; }
.sc-host .rp-chip, .sc-host .ar-chip { background: var(--pv-color-rail-tintA07); }
.sc-host .rp-okno { background: var(--pv-color-rail-tintA045); }


body.sc-alarm-on #pv-dock button[data-id="social"], body.sc-alarm-on #hud4-nav .h4n-wpis[data-id="social"],
body.sc-alarm-on .pv-dm-tile[data-id="social"], body.sc-alarm-on #pv-dock-more-btn { position: relative; }
body.sc-alarm-on #pv-dock button[data-id="social"]::after, body.sc-alarm-on #hud4-nav .h4n-wpis[data-id="social"]::after,
body.sc-alarm-on .pv-dm-tile[data-id="social"]::after, body.sc-alarm-on #pv-dock-more-btn::after {
  content: ''; position: absolute; top: 4px; right: 6px; width: 8px; height: 8px; border-radius: 50%;
  background: var(--pv-color-signal-danger, #ff6b8a); box-shadow: 0 0 8px var(--pv-color-signal-danger, #ff6b8a);
}


#regionmap .rm-e.obcy.wl .rm-e-pkt { border: 3px solid var(--own); box-shadow: 0 0 12px var(--own), inset 0 0 0 1px rgba(0,0,0,.5); }
#regionmap .rm-e.obcy.wl .rm-e-txt { color: var(--ownT); }
#regionmap .rm-e.obcy.wl .rm-e-txt i { opacity: .85; }

#regionmap .rm-e-own {
  position: absolute; left: 0; top: -21px; transform: translateX(-50%); display: none;
  font-size: 10px; font-weight: 700; letter-spacing: .06em; line-height: 1; padding: 2px 4px; border-radius: 4px;
  color: var(--ownT); background: rgba(3,5,11,.78); border: 1px solid var(--own); pointer-events: none; white-space: nowrap;
}
#regionmap .rm-e.wl.bez-txt .rm-e-own { display: block; }
#regionmap.rm-mierz .rm-e-own { display: none !important; }
body.wl-off #regionmap .rm-e-own { display: none; }
#regionmap .rm-e.rm-cel .rm-e-pkt { animation: rmCelPuls 1s ease-out 3; }
@keyframes rmCelPuls { 0% { box-shadow: 0 0 0 0 var(--own, #ffd166); } 70% { box-shadow: 0 0 0 14px transparent; } 100% { box-shadow: 0 0 12px var(--own, #ffd166); } }
@media (prefers-reduced-motion: reduce) { #regionmap .rm-e.rm-cel .rm-e-pkt { animation: none; outline: 2px solid var(--own, #ffd166); } }


#regionmap .rm-legenda {
  align-self: center; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 6px;
  margin-top: 6px; max-width: min(760px, 100%); padding: 4px 10px; border-radius: 14px; background: rgba(3,5,11,.66);
  font-size: var(--cs-1); pointer-events: auto; position: relative; z-index: 4;
}
#regionmap .rm-lg-tyt { color: rgba(232,237,246,.6); letter-spacing: .08em; text-transform: uppercase; margin-right: 2px; }
#regionmap .rm-lg { display: inline-flex; align-items: center; gap: 4px; padding: 1px 7px 1px 4px; border-radius: 9px; border: 1px solid var(--own, rgba(255,255,255,.2)); }
#regionmap .rm-lg b { color: var(--ownT, #e8edf6); font-weight: 600; }
#regionmap .rm-lg small { color: rgba(232,237,246,.65); }
#regionmap .rm-lg-ja { border-color: rgba(255,209,102,.7); }
#regionmap .rm-lg-ja b { color: #ffd166; }
#regionmap .rm-zb.rm-wl.on { color: var(--accent, #ffd166); border-color: rgba(255,209,102,.55); }


#regionmap .rm-karta {
  position: fixed; z-index: 9; min-width: 170px; max-width: 230px; padding: 7px 9px; border-radius: 8px;
  background: rgba(6,8,14,.97); border: 1px solid var(--own, rgba(255,255,255,.2)); border-left-width: 3px;
  box-shadow: 0 6px 22px rgba(0,0,0,.6); color: #e8edf6; font-size: var(--cs-1); line-height: 1.35; pointer-events: none;
}
#regionmap .rm-karta.przypiety { pointer-events: auto; }
#regionmap .rmk-glowa { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; font-size: var(--cs-2); }
#regionmap .rmk-glowa b { color: var(--ownT, #e8edf6); margin-right: auto; }
#regionmap .rmk-w { margin: 1px 0; }
#regionmap .rmk-dim { color: rgba(232,237,246,.62); }
#regionmap .rmk-akcje { display: flex; align-items: center; gap: 6px; margin-top: 7px; }
#regionmap .rmk-akcje .sc-btn { color: #e8edf6; background: rgba(140,165,210,.08); border-color: rgba(140,165,210,.25); min-height: 30px; }
#regionmap .rmk-x { margin-left: auto; width: 28px; height: 28px; border-radius: 6px; border: 1px solid rgba(140,165,210,.25); background: none; color: #e8edf6; cursor: pointer; font-size: 16px; line-height: 1; }


.hud-chip .sc-kropki { display: inline-flex; align-items: center; gap: 2px; width: auto; padding: 0 4px; }
.hud-chip .sc-kropki .sc-dot { width: 7px; height: 7px; }



#regionmap .rm-e.cykl-uspiony .rm-e-pkt { filter: grayscale(1) brightness(.85); opacity: .6; }
#regionmap .rm-e.cykl-uspiony .rm-e-txt { color: var(--txt-dim, #8a94a6); }

#regionmap .rm-e.cykl-npc .rm-e-pkt { filter: grayscale(1); opacity: .7; box-shadow: none; border: 2px dashed #9aa4b6; background: transparent; }
#regionmap .rm-e.cykl-npc .rm-e-txt { color: #aeb6c6; }

#regionmap .rm-e.cykl-ruina .rm-e-pkt { background: transparent; box-shadow: none; border: 2px dotted #8b8f99; opacity: .7; }
#regionmap .rm-e.cykl-ruina .rm-e-txt { color: #8b8f99; }
#regionmap .rm-cykl { display: inline-block; margin-left: 6px; padding: 0 5px; border-radius: 4px; font-size: 10px; font-weight: 700; letter-spacing: .05em;
  line-height: 15px; color: #c9d0dc; background: rgba(3,5,11,.7); border: 1px solid rgba(154,164,182,.55); vertical-align: middle; }
#regionmap .rm-cykl-npc { border-style: dashed; }
#regionmap .rm-cykl-ruina { border-style: dotted; }


.aw { display: block; flex: none; overflow: visible; filter: drop-shadow(0 1px 1.5px rgba(0,0,0,.55)); }
.sc-g > .sc-aw { grid-area: dot; }
.sc-ja .sc-aw { margin-right: 2px; }
.rmk-glowa .rmk-aw { flex: none; }
.hud-chip .sc-kropki .sc-aw-mini { margin: 0 -1px; }
.sys-aw { display: inline-block; vertical-align: -6px; margin-right: 6px; }
.cz-aw { display: inline-block; vertical-align: -5px; margin-right: 5px; }
.cz-gracz .cz-aw { margin: 0; }
.rm-lg .rm-aw { margin-right: 1px; }

#regionmap .rm-e > .rm-aw { position: absolute; left: 0; top: -28px; transform: translateX(-50%); pointer-events: none; }
#regionmap .rm-e.wl .rm-e-own { left: 13px; top: -24px; transform: none; }
#regionmap.rm-mierz .rm-e > .rm-aw, body.wl-off #regionmap .rm-e > .rm-aw { display: none; }
#regionmap .rm-e.daleko > .rm-aw { opacity: .7; }

.sc-aw-wybor { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--pv-line); }
.sc-aw-tyt { flex-basis: 100%; font-size: var(--cs-1); color: var(--txt-dim); text-transform: uppercase; letter-spacing: .06em; }
.sc-aw-opt { padding: 3px; border: 2px solid transparent; border-radius: 8px; background: transparent; cursor: pointer; line-height: 0; }
.sc-aw-opt:hover { background: var(--pv-color-rail-tintA045); }
.sc-aw-opt.on { border-color: var(--accent); background: var(--pv-color-rail-tintA045); }
.sc-aw-opt:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
@media (pointer: coarse) { .sc-aw-opt { padding: 5px; } }


.rm-poi { --k: #9fd3ff; }
.rm-poi-gniazdo { --k: #ff7a8d; } .rm-poi-wrak { --k: #d8b36a; } .rm-poi-anomalia { --k: #b896ff; } .rm-poi-stacja { --k: #6fe0a6; }
.rm-poi-konwoj { --k: var(--own, #8fb8ff); }
#regionmap .rm-poi, .poi-karta .rm-poi {
  position: absolute; top: 0; left: 0; width: 22px; height: 22px; margin: -11px 0 0 -11px; padding: 0; border-radius: 50%;
  display: grid; place-items: center; color: var(--k); background: rgba(8,12,22,.9); border: 2px solid var(--k); cursor: pointer; pointer-events: auto;
  box-shadow: 0 1px 4px rgba(0,0,0,.6); touch-action: none; font: inherit; z-index: 3;
}
#regionmap .rm-poi svg, .poi-karta .rm-poi svg { display: block; pointer-events: none; }
.poi-karta .rm-poi.stat { position: relative; margin: 0; flex: none; width: 34px; height: 34px; cursor: default; }
.rm-poi-konwoj { width: 18px !important; height: 18px !important; margin: -9px 0 0 -9px !important; border-style: dashed !important; }

.rm-poi-r { position: absolute; right: -4px; top: -4px; width: 8px; height: 8px; border-radius: 50%; background: #6fe0a6; border: 1.5px solid #0b0f1a; }
.rm-poi.r1 .rm-poi-r { background: #ffd166; } .rm-poi.r2 .rm-poi-r { background: #ff9a52; } .rm-poi.r3 .rm-poi-r { background: #ff4d6a; }
.rm-poi-konwoj .rm-poi-r { display: none; }

.rm-poi.ev::after { content: ''; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid var(--k); pointer-events: none; }
.rm-poi.ev-trwa::after { animation: rmPoiPuls 1.6s ease-out infinite; }
.rm-poi.ev-zapowiedz::after { border-style: dashed; opacity: .75; }
@keyframes rmPoiPuls { from { transform: scale(.8); opacity: .95; } to { transform: scale(1.5); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .rm-poi.ev-trwa::after { animation: none; } }
@media (pointer: coarse) { #regionmap .rm-poi { width: 30px; height: 30px; margin: -15px 0 0 -15px; } #regionmap .rm-poi svg { width: 18px; height: 18px; } }
#regionmap .rm-poi:hover, #regionmap .rm-poi:focus-visible { z-index: 9; background: rgba(20,28,46,.98); outline: 2px solid var(--k); outline-offset: 2px; }
body:not(.wl-off) #regionmap.rm-mierz .rm-poi { visibility: hidden; }

.poi-karta { display: flex; flex-direction: column; gap: 8px; }
.poi-g { display: flex; align-items: center; gap: 10px; }
.poi-g h3 { margin: 0; font-size: var(--cs-4); } .poi-g small { color: var(--txt-dim); }
.poi-timer { margin-left: auto; font-variant-numeric: tabular-nums; color: var(--accent); font-weight: 700; white-space: nowrap; }
.poi-opis { margin: 0; color: var(--txt-dim); }
.poi-w { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .poi-w > b { min-width: 64px; color: var(--txt-dim); font-weight: 600; }
.poi-pipy { display: inline-flex; gap: 3px; } .poi-pipy i { width: 10px; height: 6px; border-radius: 2px; background: var(--pv-line); }
.poi-pipy.r1 i.on { background: #ffd166; } .poi-pipy.r2 i.on { background: #ff9a52; } .poi-pipy.r3 i.on { background: #ff4d6a; } .poi-pipy.r0 i { background: #6fe0a6; opacity: .5; }
.poi-ev { padding: 8px 10px; border: 1px solid var(--pv-line); border-left: 3px solid var(--accent); border-radius: 6px; background: var(--pv-color-rail-tintA045); }
.poi-ev.ev-zapowiedz { border-left-style: dashed; }
.poi-ev-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; } .poi-faza { font-size: var(--cs-1); color: var(--accent); text-transform: uppercase; letter-spacing: .06em; }
.poi-ev p { margin: 4px 0 6px; }
.poi-uc ul { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.poi-uc li { display: flex; align-items: center; gap: 6px; } .poi-uc li small { margin-left: auto; color: var(--txt-dim); } .poi-uc li.ja b { color: var(--accent); } .poi-uc em { font-style: normal; color: var(--accent); font-size: var(--cs-1); }
.poi-ak { display: flex; flex-wrap: wrap; gap: 6px; }
