/* Style widokow gry (osada, budowa, mapa, poczta, gracze, wybor nacji). */

/* --- profil ---------------------------------------------------------------- */
.facts { display: grid; grid-template-columns: auto 1fr; gap: .55rem 1rem; margin: 0; }
.facts dt { color: var(--muted); font-weight: 400; }
.facts dd { margin: 0; font-weight: 600; text-align: right; color: var(--forest-800); }
.rename-form { display: flex; gap: .4rem; justify-content: flex-end; }
.rename-form input[type="text"] { max-width: 11rem; }
@media (max-width: 575px) {
  .rename-form { justify-content: flex-start; }
  .rename-form input[type="text"] { max-width: none; flex: 1; }
}

.locations-sub { font-size: .95rem; font-weight: 700; color: var(--forest-800); margin: 1rem 0 .5rem; }

.settings-email { overflow-wrap: anywhere; }
.settings-soon { color: var(--muted); padding-left: 1.2rem; }

/* --- magazyn --------------------------------------------------------------- */
.stock + .stock { margin-top: 1rem; }
.stock-head { display: flex; justify-content: space-between; font-size: .92rem; margin-bottom: .3rem; }
.meter { height: 9px; border-radius: 5px; background: #ece4cc; overflow: hidden; }
.meter i { display: block; height: 100%; border-radius: 5px; }
.meter .wood { background: #b5793c; } .meter .stone { background: #8e9aa3; } .meter .food { background: #86ad33; }

/* --- kolejka --------------------------------------------------------------- */
.queue-row {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: .6rem .8rem; border-radius: 8px; background: #f7f2e3; margin-bottom: .5rem;
}
.queue-what { display: flex; flex-wrap: wrap; align-items: baseline; gap: .1rem .7rem; min-width: 0; }
.queue-what .levels { color: var(--forest-800); }
.queue-what .arrow { color: var(--gold-dark); }
.queue-what .queue-end { color: var(--muted); }
.queue-row .timer { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--gold-dark); white-space: nowrap; }

/* --- budynki --------------------------------------------------------------- */
.building {
  background: #fff; border: 1px solid #e7dfca; border-radius: 12px; padding: 1.2rem 1.3rem;
  height: 100%; display: flex; flex-direction: column;
  transition: box-shadow .15s ease, transform .15s ease;
}
.building:hover { box-shadow: 0 12px 26px rgba(28, 50, 38, .12); transform: translateY(-2px); }
.building-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .5rem; }
.building-head h3 { font-size: 1.15rem; font-weight: 700; margin: 0; color: var(--forest-800); }
.building-head h3 a { color: inherit; text-decoration: none; border-bottom: 1px dashed transparent; }
.building-head h3 a:hover, .building-head h3 a:focus { border-bottom-color: currentColor; }
.building.is-selected { outline: 2px solid var(--gold); outline-offset: -2px; }
.building-detail .desc { color: var(--muted); }
.building .desc { color: var(--muted); flex: 1; }
.building .effect { background: #f1f6e6; color: #34521a; border-radius: 8px; padding: .4rem .7rem; font-size: .9rem; font-weight: 600; margin: .3rem 0 .2rem; }
.building .reqs-title { font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-top: .5rem; }
.building .reqs { list-style: none; margin: .3rem 0 .2rem; padding: 0; font-size: .92rem; }
.building .reqs li.ok { color: #2f5d18; }
.building .reqs li.missing { color: #a5321f; font-weight: 600; }
.building .reqs .mark { display: inline-block; width: 1.1rem; }
.building .reqs .have { font-weight: 400; opacity: .85; }
.building .cost-title { font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-top: .5rem; }
.building .cost { display: flex; flex-wrap: wrap; gap: .3rem 1rem; margin: .4rem 0 1rem; font-size: .92rem; }
.building .cost .short { color: #a5321f; font-weight: 600; }
.building-foot { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #efe8d5; padding-top: .8rem; }

/* --- zadania (karta uzywa bazowych stylow .building; te reguly tylko dopisuja/zmieniaja) ------------------- */
.quest.done { border-color: var(--gold); }
.quest-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .6rem; margin-bottom: .4rem; }
.quest-name { font-size: 1.1rem; font-weight: 700; margin: 0; color: var(--forest-800); font-family: Georgia, serif; }
.quest-story { color: var(--muted); font-style: italic; flex: 1; }
.quest .reqs { margin-top: auto; }

/* --- premium (karta oferty uzywa bazowych stylow .building) ------------------------------------------------- */
.coins-balance { font-family: Georgia, serif; font-size: 1.3rem; font-weight: 700; color: var(--gold-dark); background: #fbf3dc; border: 1px solid #e6cd8a; border-radius: 999px; padding: .3rem 1rem; }
.coins-big { font-family: Georgia, serif; font-size: 1.8rem; font-weight: 700; color: var(--gold-dark); margin-bottom: .3rem; }
.premium-offer.is-active { border-color: var(--gold); }
.premium-history { list-style: none; margin: 0; padding: 0; font-size: .92rem; }
.premium-history li { padding: .45rem 0; border-bottom: 1px solid #efe8d5; }
.premium-history li:last-child { border-bottom: 0; }
.premium-history small { display: block; color: var(--muted); }
.premium-history .plus { color: #2f5d18; font-weight: 700; }
.premium-history .minus { color: #a5321f; font-weight: 700; }
.queue-premium-hint { font-size: .88rem; margin: -.3rem 0 .8rem; }

/* --- zwiadowcy / ekspedycje -------------------------------------------------- */
.expedition .exp-status { color: var(--muted); }
.expedition.ok .exp-status, .expedition.returning .exp-status { color: #2f5d18; font-weight: 600; }
.expedition.lost .exp-status { color: #a5321f; font-weight: 600; }
.expedition .exp-loot { display: block; color: var(--gold-dark); }

/* --- mapa ------------------------------------------------------------------ */
.map-wrap { max-width: 560px; margin: 0 auto; }
.map-axis-y, .map-row { display: grid; grid-template-columns: 2.2rem repeat(11, 1fr); gap: 3px; margin-bottom: 3px; }
/* "Duza mapa" (Premium): 21 x 21 w tej samej szerokosci - pola dwa razy mniejsze */
.map-wrap.big .map-axis-y, .map-wrap.big .map-row { grid-template-columns: 1.8rem repeat(21, 1fr); gap: 2px; margin-bottom: 2px; }
.map-wrap.big .map-cell { border-radius: 2px; }
.map-wrap.big .map-axis-y span, .map-wrap.big .map-axis-x { font-size: .52rem; }
.map-view-switch .chip { font-size: .65rem; padding: 0 .4rem; }
.map-axis-y span, .map-axis-x { font-size: .68rem; color: var(--muted); text-align: center; align-self: center; font-variant-numeric: tabular-nums; }
.map-cell {
  aspect-ratio: 1; border-radius: 4px; background: #e6edd8; border: 1px solid #d3dcc0;
  display: flex; align-items: center; justify-content: center; position: relative;
}
.map-cell:nth-child(odd) { background: #dde6cb; }
.map-cell.off { background: repeating-linear-gradient(45deg, #d8d2c0, #d8d2c0 4px, #cfc8b3 4px, #cfc8b3 8px); border-color: #c4bca5; }
.app-main a.map-cell:not(.btn) { text-decoration: none; cursor: pointer; }
a.map-cell:hover, a.map-cell:focus, .map-cell.has-city:hover, .map-cell.has-city:focus { outline: 2px solid var(--forest-800); outline-offset: -2px; }
.city-info .city-name { font-family: Georgia, serif; font-size: 1.35rem; font-weight: 700; color: var(--forest-800); margin: -.3rem 0 .8rem; overflow-wrap: anywhere; }
.map-cell.fog, .map-cell.fog:nth-child(odd) { background: #b9bdb3; border-color: #a9ada3; }
.lg.fog { background: #b9bdb3; border-radius: 3px; }
.map-watch { font-size: .92rem; }
/* przynaleznosc pola (tlo: nacja wlasciciela, domyslnie kraina) i pole przejete przez osade (ramka): Germanie bursztyn, Galowie niebieski, Wikingowie fiolet, Slowianie morski */
.map-cell.own-1, .map-cell.own-1:nth-child(odd), .lg.own-1 { background-color: #efe2c2; }
.map-cell.own-2, .map-cell.own-2:nth-child(odd), .lg.own-2 { background-color: #d6e4ef; }
.map-cell.own-3, .map-cell.own-3:nth-child(odd), .lg.own-3 { background-color: #e3dcef; }
.map-cell.own-4, .map-cell.own-4:nth-child(odd), .lg.own-4 { background-color: #d3ebe5; }
.map-cell[class*="own-"]:nth-child(odd) { background-image: linear-gradient(rgba(0, 0, 0, .035), rgba(0, 0, 0, .035)); }
.map-cell.terr-1, .lg.terr-1 { box-shadow: inset 0 0 0 2px #b8862f; }
.map-cell.terr-2, .lg.terr-2 { box-shadow: inset 0 0 0 2px #3f7fb5; }
.map-cell.terr-3, .lg.terr-3 { box-shadow: inset 0 0 0 2px #6f55a8; }
.map-cell.terr-4, .lg.terr-4 { box-shadow: inset 0 0 0 2px #2f8c7c; }
.map-cell.terr-x, .map-cell.terr-x:nth-child(odd), .lg.terr-x { box-shadow: inset 0 0 0 2px #a5321f; background-image: repeating-linear-gradient(45deg, rgba(165, 50, 31, .2) 0 3px, transparent 3px 6px); }
.lg.own, .lg.terr { border-radius: 3px; }
.lg.terr { background-color: #fff; margin-left: -.25rem; }
.map-legend-nations { margin-top: .5rem; }
.map-legend-note { font-size: .8rem; color: var(--muted); text-align: center; margin: .6rem 0 0; }
/* zakladka "Swiat": miniatura (bloki w kolorach nacji, mocniejsze niz tla pol, zeby granice byly czytelne) */
.world-map { display: block; width: 100%; max-width: 560px; margin: 0 auto; aspect-ratio: 1; border: 1px solid #c9c2ab; border-radius: 6px; cursor: crosshair; background: #e6edd8; }
.world-map .w-1 { fill: #d9b46a; } .world-map .w-2 { fill: #7fb0d8; } .world-map .w-3 { fill: #a594cf; } .world-map .w-4 { fill: #6fbfae; }
.world-map .w-x { fill: #c56b5a; }
.world-map .world-fog { fill: #4d5148; opacity: .55; pointer-events: none; }
.lg.world-fog-sw { background: #8a8a7c; border-radius: 3px; }
.world-discovered { text-align: center; font-size: .92rem; margin: .4rem 0 0; }
.world-map .discovered-edge { fill: none; stroke: #fffbe9; stroke-width: 2; pointer-events: none; }
.world-map .loc-dot { fill: #6b2d1f; stroke: var(--gold); stroke-width: 2; }
.world-map .my-city { fill: var(--forest-800); stroke: #fff; stroke-width: 1.5; }
.world-map .my-city.active { fill: #c0392b; stroke: #fff; stroke-width: 1.5; }
.lg.my-dot { background: var(--forest-800); border: 2px solid #fff; box-shadow: 0 0 0 1px #c9c2ab; }
.lg.my-dot.active { background: #c0392b; border: 2px solid #fff; }
.w-sw.w-1 { background: #d9b46a; } .w-sw.w-2 { background: #7fb0d8; } .w-sw.w-3 { background: #a594cf; } .w-sw.w-4 { background: #6fbfae; } .w-sw.w-x { background: #c56b5a; }
.world-stats .lg { display: inline-block; width: .9rem; height: .9rem; margin-right: .5rem; vertical-align: -2px; border-radius: 3px; }
.world-stats td, .world-stats th { white-space: nowrap; padding-left: .5rem; padding-right: .5rem; }
.world-stats td:first-child { white-space: normal; }
.world-stats tr.highlight td { font-weight: 600; }
.world-stats .lg.loc-mark { transform: rotate(45deg) scale(.75); }
.world-stats .gain { color: #2f5d18; font-weight: 600; } .world-stats .loss { color: #a5321f; font-weight: 600; }
.map-tabs .nav-link { color: var(--forest-800); border-radius: 999px; padding: .3rem 1rem; }
.map-tabs .nav-link.active { background: var(--forest-800); color: var(--gold); }
.map-cell.has-loc::after { content: ""; width: 80%; height: 80%; background: url(/img/map/loc-ruins.svg) center / contain no-repeat; }
/* ikony specjalnych miejsc (img/map/, rysowane do rozmiaru pola 23-45 px) - na mapie, w legendzie i w tabeli Swiata */
.map-cell.loc-bandits::after, .lg.loc-bandits { background-image: url(/img/map/loc-bandits.svg); }
.map-cell.loc-mine::after, .lg.loc-mine { background-image: url(/img/map/loc-mine.svg); }
.map-cell.loc-ruins::after, .lg.loc-ruins { background-image: url(/img/map/loc-ruins.svg); }
.lg.loc-mark { background: #6b2d1f; border: 2px solid var(--gold); transform: rotate(45deg) scale(.8); border-radius: 0; }
.lg.loc-icon, .map-legend .lg.loc-icon { width: 1.25rem; height: 1.25rem; vertical-align: -5px; border-radius: 0; background-position: center; background-size: contain; background-repeat: no-repeat; }
.expedition-risk { color: #a5321f; font-weight: 600; font-size: .9rem; }
.map-cell.center { outline: 2px dashed var(--gold-dark); outline-offset: -2px; }
.map-cell.has-city i { width: 82%; height: 82%; background: url(/img/map/village-other.svg) center / contain no-repeat; }
.map-cell.has-city.mine i { background-image: url(/img/map/village-mine.svg); }
.map-legend { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; justify-content: center; margin-top: 1rem; font-size: .88rem; color: var(--muted); }
.map-legend .lg { display: inline-block; width: .9rem; height: .9rem; margin-right: .4rem; vertical-align: -2px; border-radius: 50%; }
.map-legend .lg.mine, .map-legend .lg.other { width: 1.25rem; height: 1.25rem; vertical-align: -5px; border-radius: 0; background: url(/img/map/village-mine.svg) center / contain no-repeat; }
.map-legend .lg.other { background-image: url(/img/map/village-other.svg); }
.lg.center { border: 2px dashed var(--gold-dark); border-radius: 3px; }

.dpad { display: grid; grid-template-columns: repeat(3, 3.2rem); grid-template-rows: repeat(3, 2.6rem); gap: .4rem; justify-content: center; }
.dpad-up { grid-column: 2; grid-row: 1; } .dpad-left { grid-column: 1; grid-row: 2; }
.dpad-home { grid-column: 2; grid-row: 2; } .dpad-right { grid-column: 3; grid-row: 2; } .dpad-down { grid-column: 2; grid-row: 3; }
.coords-form { display: flex; align-items: center; justify-content: center; gap: .35rem; }
.coords-form input { width: 5.2rem; text-align: center; }
.coords-sep { font-weight: 700; color: var(--muted); }
.dpad .btn { display: flex; align-items: center; justify-content: center; padding: 0; }
.near-row { display: flex; justify-content: space-between; padding: .5rem 0; border-bottom: 1px solid #efe8d5; }
.near-row:last-child { border-bottom: 0; }

/* --- poczta ---------------------------------------------------------------- */
.panel-form { max-width: 40rem; }
.mail-meta { display: grid; gap: .3rem; padding-bottom: .9rem; margin-bottom: 1rem; border-bottom: 1px solid #efe8d5; }
.mail-body { white-space: normal; overflow-wrap: anywhere; line-height: 1.7; }

/* --- wybor nacji ----------------------------------------------------------- */
.race-choice {
  background: #fff; border: 1px solid #e7dfca; border-top: 5px solid var(--gold); border-radius: 12px;
  padding: 1.4rem; height: 100%; display: flex; flex-direction: column;
}
.race-choice h3 { font-size: 1.3rem; font-weight: 700; color: var(--forest-800); }
.race-choice p { color: var(--muted); flex: 1; }
.nation-bonus { color: var(--forest-800); background: #f1f6e6; border-radius: 8px; padding: .35rem .6rem; font-size: .9rem; font-weight: 600; margin-bottom: .7rem; }
.bonus-text { color: #2f5d18; }
.race-choice .zone { color: var(--gold-dark); font-size: .85rem; margin-bottom: 1rem; }
.race-choice.r2 { border-top-color: #6fb3d2; } .race-choice.r3 { border-top-color: #c56b5a; } .race-choice.r4 { border-top-color: var(--moss); }

@media (max-width: 575px) {
  .map-axis-y, .map-row { grid-template-columns: 1.6rem repeat(11, 1fr); gap: 2px; }
  .map-axis-y span, .map-axis-x { font-size: .55rem; }
  .facts { grid-template-columns: 1fr; }
  .facts dd { text-align: left; margin-bottom: .3rem; }
}
@media (prefers-reduced-motion: reduce) { .building { transition: none; } }

/* --- poczta: powiadomienia z gry -------------------------------------------- */
.note { padding: 1rem 1.3rem; background: #fff; border: 1px solid #e7dfca; border-radius: 10px; box-shadow: 0 1px 2px rgba(28, 50, 38, .05); }
.note + .note { margin-top: .6rem; }
.note.unread { background: #fbf3dc; border-color: #e6cd8a; }
.note-top { display: flex; justify-content: space-between; gap: 1rem; color: var(--forest-800); }
.note-body { margin: .4rem 0 .3rem; line-height: 1.6; }

/* --- poczta: lista rozmow i rozmowa --------------------------------------- */
.conv-list { list-style: none; margin: 0; padding: 0; }
.conv-list li + li { border-top: 1px solid #efe8d5; }
.app-main a.conv:not(.btn) { display: flex; align-items: center; gap: .9rem; padding: .9rem 1.2rem; color: var(--ink); text-decoration: none; }
.app-main a.conv:not(.btn):hover { background: #faf6ea; color: var(--ink); }
.conv.unread { background: #fbf3dc; }
.avatar { flex: none; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--forest-800); color: var(--gold);
  display: flex; align-items: center; justify-content: center; font-family: Georgia, serif; font-weight: 700; font-size: 1.1rem; }
.conv-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.conv-top { display: flex; justify-content: space-between; gap: 1rem; }
.conv-time { color: var(--muted); font-size: .82rem; white-space: nowrap; }
.conv-preview { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conv.unread .conv-preview { color: var(--ink); font-weight: 600; }
.conv .badge-new { background: var(--gold); color: #24190a; font-weight: 700; }

.thread-panel { padding: 0; overflow: hidden; }
.thread { max-height: 58vh; min-height: 12rem; overflow-y: auto; padding: 1.2rem 1.3rem; background: #faf7ee; }
.thread-note { text-align: center; color: var(--muted); font-size: .82rem; margin-bottom: .8rem; }
.thread-day { text-align: center; margin: .8rem 0; font-size: .78rem; color: var(--muted); }
.thread-day span { background: #ece4cc; border-radius: 999px; padding: .15rem .8rem; }
.bubble-row { display: flex; margin-bottom: .7rem; }
.bubble-row.mine { justify-content: flex-end; }
.bubble { max-width: min(34rem, 85%); border-radius: 14px; padding: .6rem .9rem; overflow-wrap: anywhere;
  background: #fff; border: 1px solid #e7dfca; border-bottom-left-radius: 4px; }
.bubble-row.mine .bubble { background: #f4e2b0; border-color: #e6cd8a; border-bottom-left-radius: 14px; border-bottom-right-radius: 4px; }
.bubble.is-new { box-shadow: 0 0 0 2px var(--gold); }
.bubble-topic { font-weight: 700; font-size: .92rem; margin-bottom: .15rem; color: var(--forest-800); }
.bubble-meta { display: flex; align-items: center; gap: .6rem; font-size: .75rem; color: var(--muted); margin-top: .3rem; }
.inline-form { display: inline; margin: 0; }
.link-button { background: none; border: 0; padding: 0; color: #8a6210; cursor: pointer; font-size: .75rem; text-decoration: underline; }
.reply-form { padding: 1rem 1.3rem 1.2rem; border-top: 1px solid #e7dfca; background: #fff; }
@media (max-width: 575px) { .thread { max-height: 52vh; padding: .9rem; } .bubble { max-width: 92%; } }

/* Koszary: tabela jednostek z formularzem szkolenia w wierszu */
.army-table td, .army-table th { vertical-align: middle; }
.army-strong { color: #2e7d32; }
.army-weak { color: #b23c17; }
.army-train { display: flex; gap: .4rem; align-items: center; flex-wrap: nowrap; }
.army-train input[type=number] { width: 4.5rem; }

/* panel "Produkcja surowcow" na stronie osady */
.production-panel .dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; margin-right: .3rem; }
.production-panel .prod-next small { color: #2e7d32; font-weight: 600; }

.production-panel .prod-upkeep { color: #a5321f; font-weight: 600; }

/* nagroda za zadanie (lista zadan i wykonane) */
.quest-reward { font-size: .9rem; color: var(--gold-dark); font-weight: 600; }

/* walka: panel ataku na mapie, niskie oddanie na stronie osady */
.attack-panel .attack-unit { margin-bottom: .5rem; }
.attack-panel .attack-unit input { max-width: 7rem; }
.loyalty-low { color: #a5321f; font-weight: 600; }

/* Koszary: karty jednostek (zamiast szerokiej tabeli) */
.unit-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: .4rem; margin: .4rem 0 .8rem; }
.unit-stats div { background: var(--cream, #faf5e8); border-radius: 8px; padding: .35rem .2rem; text-align: center; }
.unit-stats dt { font-size: .68rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); margin: 0; }
.unit-stats dd { font-size: 1.05rem; font-weight: 700; margin: 0; color: var(--forest-800); }
.unit-mods { font-size: .9rem; }
.unit-foot { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; }
.section-title { font-size: 1.2rem; margin: 0 0 .8rem; }
@media (max-width: 420px) { .unit-stats { grid-template-columns: repeat(3, 1fr); } }

/* strona administratora (admin.tpl, admin_server.tpl) */
.admin-stats .chip { margin: 0 .3rem .3rem 0; }
.admin-table td { vertical-align: top; font-size: .9rem; }
.admin-table tr.inactive td { opacity: .6; }
.admin-city + .admin-city { margin-top: .4rem; }
.admin-total { margin-top: .4rem; font-weight: 600; }
.admin-when { white-space: nowrap; }
.admin-email { word-break: break-all; }
.admin-sort { color: inherit; white-space: nowrap; }
.admin-sort.active, .admin-sort:hover { color: var(--gold-dark); text-decoration: none; }
.admin-ip { font-family: SFMono-Regular, Menlo, Consolas, monospace; font-size: .85em; }
.admin-ips summary { cursor: pointer; font-size: .8em; color: var(--muted); }
.admin-ips li { white-space: normal; font-size: .85em; margin-top: .25rem; }
.admin-kv th { width: 40%; text-transform: none; letter-spacing: 0; font-size: .85rem; border-bottom: 1px solid #efe8d5; }
.admin-kv td { word-break: break-word; }

/* Obrona (obrona.tpl) */
.defense-power { font-size: 2.4rem; font-weight: 700; color: var(--forest-800, #1d2a22); margin: 0; line-height: 1.1; }
.defense-building + .defense-building { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #efe8d5; }

/* dzialy budynkow na stronie budowy (build.tpl, buildings_lib.php); scroll-margin - naglowek nie chowa sie pod przyklejonym menu */
.build-group-title { scroll-margin-top: 130px; margin-top: .4rem; padding-bottom: .3rem; border-bottom: 2px solid #e7dfca; }

/* dokumenty prawne (legal.tpl) i usuwanie konta */
.legal-doc { max-width: 860px; margin: 0 auto; }
.legal-doc h1 { font-size: 1.8rem; }
.legal-doc h2 { font-size: 1.15rem; margin-top: 1.6rem; }
.legal-doc li { margin-bottom: .35rem; }
.legal-table td { vertical-align: top; font-size: .9rem; }
.settings-delete h2 { color: #a5321f; }

/* logowanie: "Zaloguj przez Bies Games" (portal studia, sso.php) */
.btn-portal { background: #16152a; color: #fff; font-weight: 600; }
.btn-portal:hover, .btn-portal:focus { background: #2a2848; color: #fff; }
.login-or { text-align: center; margin: 1rem 0 .8rem; color: var(--muted); font-size: .85rem; position: relative; }
.movements-panel .move-danger .queue-what { color: #a12a1f; font-weight: 600; }
.pioneer-preview { display: block; margin-top: .25rem; }
.pioneer-bar { display: block; height: 6px; max-width: 240px; background: rgba(0,0,0,.1); border-radius: 3px; overflow: hidden; margin-bottom: .15rem; }
.pioneer-bar > span { display: block; height: 100%; background: var(--gold-dark); }
