/* ═══════════════════════════════════════════════════════════════════
   pp-swiat.css (w051) — SKÓRA ŚWIATA PODSTAWY
   Strony pp nie ładują pm-skin.css (i słusznie — to skórka PR pełna
   twardych nadpisań), więc rodziny pmS-* i pmC-* były tu nagie.
   Ten arkusz ubiera je w Czarny Lód: chipy paska, popover operacji,
   rail zegara, tryb skupienia i centrum dowodzenia. Zero !important —
   ładowany po commonach, wygrywa kolejnością. Estetyka 1:1 z PR
   (ścięty narożnik chipa, mono, szron/sygnał), własne życie pp.
   ═══════════════════════════════════════════════════════════════════ */

/* ── chipy paska głównego (TRYB NAUKI · KONTO) ── */
.pmS-chip {
  appearance: none; -webkit-appearance: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: 7px;
  font: 800 10.5px/1 var(--font-mono, monospace); letter-spacing: .16em;
  color: var(--text-mid); background: rgba(12, 18, 32, .72);
  border: 1px solid rgb(var(--barwa-szron) / .3); border-radius: 0;
  clip-path: polygon(0 6px, 6px 0, 100% 0, 100% 100%, 0 100%);
  padding: 9px 13px;
  transition: color var(--ruch-szybko), border-color var(--ruch-szybko),
    background var(--ruch-szybko), box-shadow var(--ruch-szybko);
}
.pmS-chip:hover, .pmS-chip[aria-expanded="true"] {
  color: rgb(var(--barwa-blysk));
  border-color: rgb(var(--barwa-sygnal) / .6);
  background: rgb(var(--barwa-sygnal) / .09);
  box-shadow: 0 0 16px rgb(var(--barwa-sygnal) / .14);
}
.pmS-chip:focus-visible { outline: 2px solid rgb(var(--barwa-sygnal) / .6); outline-offset: 2px; }

/* ── popover operacji czasowej ── */
.pmS-pop {
  min-width: 232px; max-width: min(320px, calc(100vw - 16px));
  background: rgba(8, 11, 20, .93);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid rgb(var(--barwa-szron) / .3); border-radius: 10px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .55),
    inset 0 0 0 1px rgb(var(--barwa-szron) / .08);
  padding: 13px 14px 14px;
}
.pmS-pop-h {
  font: 800 10px/1 var(--font-mono, monospace); letter-spacing: .2em;
  color: rgb(var(--barwa-blysk)); margin: 0 0 11px;
  padding-bottom: 9px; border-bottom: 1px dashed rgb(var(--barwa-szron) / .18);
}
.pmS-pop-row { display: flex; gap: 8px; flex-wrap: wrap; }
.pmS-pop-l {
  display: flex; align-items: center; gap: 8px; margin-top: 11px;
  font: 600 10px/1.4 var(--font-mono, monospace); letter-spacing: .1em;
  color: var(--text-mid); cursor: pointer;
}
.pmS-pop-l input { accent-color: #22D3EE; }
.pmS-btn {
  appearance: none; -webkit-appearance: none; cursor: pointer;
  background: rgb(var(--barwa-szron) / .06);
  border: 1px solid rgb(var(--barwa-szron) / .3); border-radius: 8px;
  color: rgb(var(--barwa-blysk));
  font: 800 11px/1 var(--font-mono, monospace); letter-spacing: .1em;
  padding: 8px 12px;
  transition: background var(--ruch-szybko), border-color var(--ruch-szybko),
    box-shadow var(--ruch-szybko);
}
.pmS-btn:hover {
  background: rgb(var(--barwa-sygnal) / .12);
  border-color: rgb(var(--barwa-blysk));
  box-shadow: 0 0 14px rgb(var(--barwa-sygnal) / .18);
}
.pmS-btn:focus-visible { outline: 2px solid rgb(var(--barwa-sygnal) / .6); outline-offset: 2px; }
.pmS-btn.pmS-danger {
  color: #FCA5A5; border-color: rgba(200, 107, 139, .5);
  background: rgba(200, 107, 139, .07);
}
.pmS-btn.pmS-danger:hover {
  background: rgba(200, 107, 139, .16); border-color: rgba(200, 107, 139, .8);
  box-shadow: 0 0 14px rgba(200, 107, 139, .2);
}

/* ── rail operacji na zegarze poligonu ── */
#pm-clock.pmS-oprun { flex-direction: column; gap: 1px; }
#pmS-rail {
  font: 800 8.5px/1 var(--font-mono, monospace); letter-spacing: .06em;
  color: rgb(var(--barwa-blysk)); text-shadow: 0 0 8px rgb(var(--barwa-sygnal) / .6);
}
#pm-clock.pmS-oprun.paused #pmS-rail { color: var(--text-light); text-shadow: none; }
#pm-clock.pmS-oprun.last #pmS-rail { color: #FCA5A5; text-shadow: 0 0 8px rgba(200, 107, 139, .6); }
#pm-clock.pmS-oprun.last { border-color: rgba(200, 107, 139, .6); }

/* ── TRYB SKUPIENIA: poligon cichnie, zostaje nauka ── */
body.pmS-focus #pm-eggs, body.pmS-focus #pm-music, body.pmS-focus #pm-game-btn,
body.pmS-focus #pm-od-btn, body.pmS-focus #pm-bootbtn, body.pmS-focus #pm-fx,
body.pmS-focus #pm-kalk, body.pmS-focus .pp-znajdzka, body.pmS-focus .task-wm {
  opacity: .1; pointer-events: none;
  transition: opacity var(--ruch-zwykle);
}
body.pmS-focus #pm-cross { display: none; }

/* ── status terenu ── */
.pmt-status {
  display: inline-block;
  font: 700 10.5px/1 var(--font-mono, monospace); letter-spacing: .16em;
  color: var(--text-mid); border: 1px solid rgb(var(--barwa-szron) / .3);
  padding: 7px 11px; border-radius: var(--sc-s, 6px);
  background: rgba(10, 16, 30, .55);
}

/* ── CENTRUM DOWODZENIA ── */
#dow-centrum { margin-top: 18px; }
#dow-centrum [role="tablist"] { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }
.pmC-tab {
  appearance: none; -webkit-appearance: none; cursor: pointer;
  font: 800 11px/1 var(--font-mono, monospace); letter-spacing: .14em;
  color: var(--text-mid); background: rgba(12, 18, 32, .6);
  border: 1px solid rgb(var(--barwa-szron) / .22); border-radius: 8px;
  padding: 9px 13px;
  transition: color var(--ruch-szybko), border-color var(--ruch-szybko),
    background var(--ruch-szybko);
}
.pmC-tab:hover { color: var(--text); border-color: rgb(var(--barwa-sygnal) / .45); }
.pmC-tab[aria-selected="true"] {
  color: rgb(var(--barwa-blysk));
  border-color: rgb(var(--barwa-sygnal) / .65);
  background: rgb(var(--barwa-sygnal) / .1);
  box-shadow: inset 0 -2px 0 rgb(var(--barwa-sygnal) / .55);
}
.pmC-tab:focus-visible { outline: 2px solid rgb(var(--barwa-sygnal) / .6); outline-offset: 2px; }
.pmC-pane {
  border: 1px solid rgb(var(--barwa-szron) / .16); border-radius: var(--r-md, 12px);
  background: linear-gradient(180deg, rgba(14, 20, 36, .72), rgba(9, 13, 24, .72));
  padding: 15px 17px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}
.pmC-xplog { border-left: 2px solid rgb(var(--barwa-sygnal) / .45); padding-left: 13px; }
.pmC-xrows { display: flex; flex-direction: column; gap: 7px; }
.pmC-xr {
  display: flex; gap: 12px; align-items: baseline;
  font: 600 11.5px/1.45 var(--font-mono, monospace); letter-spacing: .04em;
  color: var(--text-mid);
}
.pmC-xk { font: 800 13px/1 var(--font-mono, monospace); letter-spacing: .06em; }
.pmC-lupy {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
}
.pmC-lup {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 13px; border: 1px dashed rgb(var(--barwa-szron) / .3);
  border-radius: 9px; background: rgba(10, 16, 30, .5);
  font: 700 11px/1.35 var(--font-mono, monospace); letter-spacing: .1em;
  color: var(--text);
}
.pmC-lup b {
  font-size: 16px; line-height: 1; color: rgb(var(--barwa-blysk));
  text-shadow: 0 0 10px rgb(var(--barwa-sygnal) / .5);
}
.pmC-lup i { font-style: normal; color: #FCD34D; }

@media (max-width: 560px) {
  .pmC-lupy { grid-template-columns: 1fr; }
  .pmS-pop { max-width: calc(100vw - 12px); }
}

/* ── (w053) WERBUNEK: panel systemu kont ── */
.pmW-tlo {
  position: fixed; inset: 0; z-index: 1500;
  background: rgba(4, 7, 14, .78);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  display: grid; place-items: center; padding: 16px;
}
.pmW-panel {
  width: min(440px, 100%);
  background: rgba(9, 13, 23, .96);
  border: 1px solid rgb(var(--barwa-szron) / .32); border-radius: 12px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .6);
  padding: 16px 18px 18px;
}
.pmW-h {
  display: flex; align-items: center; justify-content: space-between;
  font: 800 11px/1 var(--font-mono, monospace); letter-spacing: .2em;
  color: rgb(var(--barwa-blysk)); margin: 0 0 13px;
  padding-bottom: 11px; border-bottom: 1px dashed rgb(var(--barwa-szron) / .2);
}
.pmW-x {
  appearance: none; background: none; cursor: pointer;
  border: 1px solid rgb(var(--barwa-szron) / .3); border-radius: 7px;
  color: var(--text-mid); font: 800 11px/1 var(--font-mono, monospace);
  padding: 5px 8px;
}
.pmW-x:hover { color: rgb(var(--barwa-blysk)); border-color: rgb(var(--barwa-sygnal) / .6); }
.pmW-prze { display: flex; gap: 8px; margin: 0 0 12px; flex-wrap: wrap; }
.pmW-karta {
  appearance: none; cursor: pointer; flex: 1 1 auto;
  font: 800 10.5px/1 var(--font-mono, monospace); letter-spacing: .16em;
  color: var(--text-mid); background: rgba(12, 18, 32, .6);
  border: 1px solid rgb(var(--barwa-szron) / .22); border-radius: 8px;
  padding: 10px 12px;
}
.pmW-karta.on {
  color: rgb(var(--barwa-blysk)); border-color: rgb(var(--barwa-sygnal) / .65);
  background: rgb(var(--barwa-sygnal) / .1);
}
.pmW-opis { font: 500 13px/1.65 var(--font-body, sans-serif); color: var(--text-mid); margin: 0 0 13px; }
.pmW-form { display: flex; flex-direction: column; gap: 10px; }
.pmW-pole {
  width: 100%; box-sizing: border-box;
  background: rgba(6, 10, 18, .85); color: var(--text);
  border: 1px solid rgb(var(--barwa-szron) / .28); border-radius: 8px;
  font: 600 13px/1.4 var(--font-mono, monospace); padding: 11px 13px;
}
.pmW-pole:focus { outline: none; border-color: rgb(var(--barwa-sygnal) / .7); box-shadow: 0 0 0 3px rgb(var(--barwa-sygnal) / .12); }
.pmW-go { width: 100%; padding: 12px; font-size: 12px; }
.pmW-blad {
  font: 700 11px/1.5 var(--font-mono, monospace); color: #FCA5A5;
  border: 1px solid rgba(200, 107, 139, .4); border-radius: 8px;
  background: rgba(200, 107, 139, .08); padding: 9px 12px;
}
.pmW-blad a { color: rgb(var(--barwa-blysk)); }
.pmW-klucz {
  font: 800 20px/1.3 var(--font-mono, monospace); letter-spacing: .22em;
  color: #FCD34D; text-align: center; text-shadow: 0 0 16px rgba(252, 211, 77, .4);
  border: 1px dashed rgba(252, 211, 77, .5); border-radius: 10px;
  background: rgba(252, 211, 77, .06); padding: 15px 10px; margin: 0 0 13px;
  user-select: all; -webkit-user-select: all;
}

/* ── (w053) FORUM DZIAŁU ── */
.pmF-karta {
  border: 1px solid rgb(var(--barwa-szron) / .16); border-radius: var(--r-md, 12px);
  background: linear-gradient(180deg, rgba(14, 20, 36, .72), rgba(9, 13, 24, .72));
  padding: 16px 18px;
}
.pmF-pas { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 0 0 13px; }
.pmF-watek {
  appearance: none; cursor: pointer; width: 100%; text-align: left;
  display: flex; flex-direction: column; gap: 4px;
  background: rgba(10, 16, 30, .55);
  border: 1px solid rgb(var(--barwa-szron) / .18); border-radius: 9px;
  padding: 12px 14px; margin: 0 0 8px;
  transition: border-color var(--ruch-szybko), background var(--ruch-szybko);
}
.pmF-watek:hover { border-color: rgb(var(--barwa-sygnal) / .5); background: rgb(var(--barwa-sygnal) / .06); }
.pmF-wt { font: 700 13.5px/1.4 var(--font-body, sans-serif); color: var(--text); }
.pmF-wm { font: 600 10px/1 var(--font-mono, monospace); letter-spacing: .1em; color: var(--text-light); }
.pmF-post {
  display: flex; flex-direction: column; gap: 5px;
  border-left: 2px solid rgb(var(--barwa-sygnal) / .4);
  background: rgba(10, 16, 30, .45); border-radius: 0 9px 9px 0;
  padding: 11px 14px; margin: 0 0 9px;
}
.pmF-post.pmF-ukryty { opacity: .45; font: 600 11px/1 var(--font-mono, monospace); color: var(--text-light); }
.pmF-pm { font: 700 10px/1 var(--font-mono, monospace); letter-spacing: .12em; color: rgb(var(--barwa-blysk)); }
.pmF-pt { font: 500 13.5px/1.65 var(--font-body, sans-serif); color: var(--text); white-space: pre-wrap; }
.pmF-obszar { min-height: 96px; resize: vertical; font-family: var(--font-body, sans-serif); }

/* ── (w058) TECZKA OPERATORA ── */
#pp-teczka {
  position: fixed; inset: 0; z-index: 1600;
  background: rgba(3, 6, 12, .84);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  display: grid; place-items: start center;
  overflow-y: auto; padding: 26px 14px 40px;
}
.pmT-panel {
  width: min(1000px, 100%);
  background: linear-gradient(180deg, rgba(10, 15, 27, .97), rgba(7, 10, 19, .97));
  border: 1px solid rgb(var(--barwa-szron) / .3); border-radius: 14px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .65), inset 0 0 0 1px rgb(var(--barwa-szron) / .06);
  padding: 18px 22px 24px;
}
.pmT-h {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  font: 800 11px/1 var(--font-mono, monospace); letter-spacing: .22em;
  color: rgb(var(--barwa-blysk));
  border-bottom: 1px dashed rgb(var(--barwa-szron) / .2);
  padding-bottom: 12px; margin-bottom: 14px;
}
.pmT-hp { display: flex; gap: 8px; align-items: center; }
.pmT-imie { margin: 0 0 14px; }
.pmT-imie .pmW-pole { max-width: 320px; border-style: dashed; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.pmT-prof { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.pmT-hex {
  width: 76px; height: 84px; flex: 0 0 auto;
  display: grid; place-items: center;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: linear-gradient(180deg, rgb(var(--barwa-sygnal) / .16), rgba(10, 16, 30, .8));
  border: 2px solid rgb(var(--barwa-sygnal) / .7);
}
.pmT-hex b { font: 800 30px/1 var(--font-mono, monospace); color: rgb(var(--barwa-blysk)); text-shadow: 0 0 18px rgb(var(--barwa-sygnal) / .6); }
.pmT-hex.pmT-r-sztab { border-color: #FCD34D; background: linear-gradient(180deg, rgba(252, 211, 77, .14), rgba(10, 16, 30, .8)); }
.pmT-hex.pmT-r-general { border-color: #FCA5A5; box-shadow: 0 0 22px rgba(200, 107, 139, .35); }
.pmT-kick { display: block; font: 800 9.5px/1 var(--font-mono, monospace); letter-spacing: .24em; color: var(--text-light); margin-bottom: 7px; }
.pmT-stop h2 { margin: 0 0 8px; font: 800 30px/1 var(--font-head, sans-serif); letter-spacing: .04em; color: var(--text); }
.pmT-xp { font: 600 12px/1.5 var(--font-mono, monospace); color: var(--text-mid); }
.pmT-xp b { color: rgb(var(--barwa-blysk)); font-size: 15px; }
.pmT-aw { margin-left: auto; text-align: right; display: flex; flex-direction: column; gap: 6px; }
.pmT-proc { font: 800 22px/1 var(--font-mono, monospace); color: rgb(var(--barwa-blysk)); }
.pmT-do { font: 700 10px/1 var(--font-mono, monospace); letter-spacing: .14em; color: var(--text-mid); }
.pmT-szczeble { display: flex; gap: 4px; margin: 16px 0 6px; flex-wrap: wrap; }
.pmT-szczeble i {
  flex: 1 1 0; min-width: 26px; height: 14px;
  display: grid; place-items: center; font-style: normal; font-size: 11px;
  background: rgba(12, 18, 32, .7); border: 1px solid rgb(var(--barwa-szron) / .18);
  color: var(--text-light);
}
.pmT-szczeble i.on { color: rgb(var(--barwa-blysk)); border-color: rgb(var(--barwa-sygnal) / .55); background: rgb(var(--barwa-sygnal) / .1); text-shadow: 0 0 8px rgb(var(--barwa-sygnal) / .6); }
.pmT-podpis { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font: 700 10px/1 var(--font-mono, monospace); letter-spacing: .16em; color: var(--text-mid); margin: 0 0 14px; }
.pmT-liczniki { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }
.pmT-liczniki span {
  font: 700 10.5px/1 var(--font-mono, monospace); letter-spacing: .1em; color: var(--text-mid);
  border: 1px solid rgb(var(--barwa-szron) / .22); border-radius: 7px;
  background: rgba(10, 16, 30, .55); padding: 9px 12px;
}
.pmT-liczniki b { color: rgb(var(--barwa-blysk)); }
.pmT-cel {
  font: 700 11px/1.5 var(--font-mono, monospace); letter-spacing: .08em; color: var(--text-mid);
  border: 1px dashed rgb(var(--barwa-szron) / .3); border-radius: 9px; padding: 11px 14px; margin: 0 0 14px;
}
.pmT-cel b { color: rgb(var(--barwa-blysk)); letter-spacing: .16em; }
.pmT-prog { border: 1px dashed rgb(var(--barwa-sygnal) / .4); border-radius: 11px; padding: 14px 16px; margin: 0 0 16px; }
.pmT-wynik { font: 800 40px/1 var(--font-mono, monospace); color: rgb(var(--barwa-blysk)); text-shadow: 0 0 22px rgb(var(--barwa-sygnal) / .5); margin: 4px 0 10px; }
.pmT-pas { height: 7px; border-radius: 999px; background: rgba(12, 18, 32, .8); border: 1px solid rgb(var(--barwa-szron) / .2); overflow: hidden; margin: 0 0 9px; }
.pmT-pas i { display: block; height: 100%; background: linear-gradient(90deg, rgb(var(--barwa-sygnal) / .9), rgb(var(--barwa-blysk))); }
.pmT-nota { font: 600 10px/1.6 var(--font-mono, monospace); letter-spacing: .04em; color: var(--text-light); }
.pmT-kafle { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin: 0 0 18px; }
.pmT-kafel {
  display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center;
  border: 1px solid rgb(var(--barwa-szron) / .18); border-radius: 10px;
  background: rgba(10, 16, 30, .5); padding: 14px 10px; opacity: .38;
}
.pmT-kafel.on { opacity: 1; border-color: rgb(var(--barwa-sygnal) / .5); }
.pmT-kafel b { font-size: 22px; color: rgb(var(--barwa-blysk)); }
.pmT-kafel.on b { text-shadow: 0 0 14px rgb(var(--barwa-sygnal) / .6); }
.pmT-kn { font: 800 10px/1.3 var(--font-mono, monospace); letter-spacing: .14em; color: var(--text); }
.pmT-ko { font: 600 10px/1.4 var(--font-mono, monospace); color: var(--text-light); }
.pmT-tozs { border-top: 1px dashed rgb(var(--barwa-szron) / .2); padding-top: 14px; }
.pmT-godla, .pmT-ramki { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 10px; }
.pmT-godlo {
  appearance: none; cursor: pointer; width: 46px; height: 46px;
  display: grid; place-items: center; font: 800 18px/1 var(--font-mono, monospace);
  color: var(--text-mid); background: rgba(12, 18, 32, .6);
  border: 1px solid rgb(var(--barwa-szron) / .22); border-radius: 9px;
}
.pmT-godlo.on { color: rgb(var(--barwa-blysk)); border-color: #FCD34D; box-shadow: 0 0 12px rgba(252, 211, 77, .3); }
.pmT-godlo.brak { opacity: .3; cursor: not-allowed; }
.pmT-ramka {
  appearance: none; cursor: pointer;
  font: 800 10px/1 var(--font-mono, monospace); letter-spacing: .14em;
  color: var(--text-mid); background: rgba(12, 18, 32, .6);
  border: 1px solid rgb(var(--barwa-szron) / .25); border-radius: 8px; padding: 10px 13px;
}
.pmT-ramka.on { color: rgb(var(--barwa-blysk)); border-color: rgb(var(--barwa-sygnal) / .65); background: rgb(var(--barwa-sygnal) / .1); }
.pmT-ramka.pmT-r-sztab.on { border-color: #FCD34D; color: #FCD34D; }
.pmT-ramka.pmT-r-general.on { border-color: #FCA5A5; color: #FCA5A5; }
.pmT-ramka.brak { opacity: .35; cursor: not-allowed; }
#pm-odz-btn .pm-prof-hex[data-ramka="sztab"] { border-color: #FCD34D; }
#pm-odz-btn .pm-prof-hex[data-ramka="general"] { border-color: #FCA5A5; box-shadow: 0 0 14px rgba(200, 107, 139, .4); }
@media (max-width: 640px) {
  .pmT-aw { margin-left: 0; text-align: left; }
  .pmT-wynik { font-size: 32px; }
}
