


.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; }
