/* UIMIN: wspólny schemat okien — siatka 8 px, nagłówek (tytuł po lewej, X w rogu), ta sama typografia tytułu.
   Okna dopisują się tu stopniowo; reguły o niższym priorytecie w ich własnych plikach nie są ruszane. */
:root { --win-x: 10px; --win-title: 800 17px Bahnschrift, sans-serif; --win-title-ls: .24em; }
.fu-box .win-x, .tr-box .win-x, .rt-box .win-x { top: var(--win-x); right: var(--win-x); }
.fu-box h2, .rt-head h2, .tr-header h2 { margin: 0; font: var(--win-title); letter-spacing: var(--win-title-ls); text-transform: uppercase; color: #e6e0c4; }
.fu-box h2 { margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
/* etap 2: warsztat, dziennik i usługi — ten sam tytuł */
.bn-top h2, .qj-head h2, .sv-who h2 { margin: 0; font: var(--win-title); letter-spacing: var(--win-title-ls); text-transform: uppercase; color: #e6e0c4; }

/* etap 3: raport z wyprawy i karta zadania — ten sam tytuł (menu pauzy i ustawień zostają wyśrodkowane, decyzja do Topka) */
#report h2, .qd-who h2 { font: var(--win-title); letter-spacing: var(--win-title-ls); }

/* etap 4 (tnięcie tekstu): opis wiersza trasy i opis wpisu kodeksu w dymku po najechaniu */
.rt-row { position: relative; }
.rt-row:hover .sv-tip { display: flex; }
.sv-tip.rt-tip { white-space: normal; width: 300px; text-align: left; }
.cd-desc { position: relative; }
.cd-desc:hover .sv-tip { display: flex; }
.sv-tip.cd-tip { white-space: normal; width: 300px; text-align: left; font-weight: 400; }
.rc-scrap { position: relative; display: inline-flex; align-items: center; gap: 3px; cursor: help; }
.rc-scrap img { width: 22px; height: 22px; }
.rc-scrap:hover .sv-tip { display: flex; }
/* etap 4: towarzysz — wyjaśnienie w dymku przy nagłówku „Twój plecak” */
.cw-box h4 { position: relative; cursor: help; }
.cw-box h4:hover .sv-tip { display: flex; }
.sv-tip.cw-tip { white-space: normal; width: 280px; text-align: left; font-weight: 400; text-transform: none; letter-spacing: 0; }

/* UIMIN2: stany jednym wzorcem — zablokowane (kłódka, przygaszenie), brak środków (czerwona liczba, akcja przygaszona), gotowe (zielony puls), aktywne (jasna ramka), nowe (kropka) */
@keyframes winShake { 0%,100% { transform: translateX(0); } 20% { transform: translateX(-5px); } 40% { transform: translateX(5px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(2px); } }
.sv-row.shake { animation: winShake .32s ease-out; }
.rc-cat { position: relative; display: inline-flex; cursor: help; }
.rc-cat img { width: 26px; height: 26px; }
.rc-cat:hover .sv-tip { display: flex; }
/* EVENTS3: opis karty perku w całości (najwyżej trzy linie, dane są krótkie) */

/* UIMIN2: stany jednym wzorcem (wspólne dla okien; istniejące klasy stanu z ich plików): */
/* zablokowane: przygaszenie i kłódka w rogu */
.sv-row.locked, .tr-row.locked, .ck-row.off.lock, .st-locked { opacity: .45; filter: grayscale(.5); position: relative; }
.sv-row.locked::after, .tr-row.locked::after, .st-locked::after { content: ''; position: absolute; right: 8px; top: 8px; width: 9px; height: 7px; background: #c9c5ad; border-radius: 1px; box-shadow: 0 -5px 0 -2px transparent, inset 0 0 0 2px transparent; }
.sv-row.locked::before, .tr-row.locked::before, .st-locked::before { content: ''; position: absolute; right: 10px; top: 3px; width: 5px; height: 5px; border: 2px solid #c9c5ad; border-bottom: none; border-radius: 5px 5px 0 0; }
/* brak środków: czerwona liczba i przygaszona akcja (ta sama czerwień co w kosztach) */
.is-short b, .is-short .num { color: #ff7a5c; }
.is-short button:disabled, .is-short .off { opacity: .45; cursor: not-allowed; }
/* gotowe do odbioru: zielony puls */
@keyframes winReady { 0%, 100% { box-shadow: 0 0 0 0 rgba(143,211,106,.0); } 50% { box-shadow: 0 0 0 3px rgba(143,211,106,.45); } }
.rc-row.due, .st-ready { animation: winReady 1.8s ease-in-out infinite; }
/* aktywne / wybrane: jasna ramka */
.bn-row.on, .cd-list button.cur, .st-active { outline: 1px solid #e6e0c4; outline-offset: -1px; }
.nt-tabs button { position: relative; }
/* plakietka z liczbą nagród do odbioru na zakładce: styl w css/notes.css (kropka stąd nakładała się na nią i dawała zieloną plamę) */

/* EVENTS3: ikona profesji przy nazwie (plecak, podgląd drużyny) */
.tm-pi, .bp-pi { width: 16px; height: 16px; vertical-align: middle; margin-right: 4px; }
